class CheckLocalhostCluster(object):
    def setup_method(self, method):
        self.cluster = LocalhostCluster()

    def check_size(self):
        len(self.cluster) >= 2 ** 31 - 1

    def check_request_free(self):
        available = self.cluster.num_available_nodes()
        initial_size = len(self.cluster)

        # Should be able to allocate arbitrarily many nodes
        slots = self.cluster.request(100)
        assert(len(slots) == 100)
        for slot in slots:
            assert(slot.account.hostname == 'localhost')
            assert(slot.account.user is None)
            assert(slot.account.ssh_args is None)

        assert(self.cluster.num_available_nodes() == (available - 100))
        assert len(self.cluster) == initial_size  # This shouldn't change

        self.cluster.free(slots)

        assert(self.cluster.num_available_nodes() == available)
Exemple #2
0
class CheckLocalhostCluster(object):
    def setup_method(self, _):
        self.cluster = LocalhostCluster(is_type_based=False)

    def check_size(self):
        len(self.cluster) >= 2**31 - 1

    def check_pickleable(self):
        cluster = LocalhostCluster(is_type_based=False)
        pickle.dumps(cluster)

    def check_request_free(self):
        available = self.cluster.num_available_nodes()
        initial_size = len(self.cluster)

        # Should be able to allocate arbitrarily many nodes
        nodes = self.cluster.alloc(Service.setup_cluster_spec(num_nodes=100))
        assert (len(nodes) == 100)
        for i, node in enumerate(nodes):
            assert node.account.hostname == 'localhost%d' % i
            assert node.account.ssh_hostname == 'localhost'
            assert node.account.ssh_config.hostname == 'localhost'
            assert node.account.ssh_config.port == 22
            assert node.account.user is None

        assert (self.cluster.num_available_nodes() == (available - 100))
        assert len(self.cluster) == initial_size  # This shouldn't change

        self.cluster.free(nodes)

        assert (self.cluster.num_available_nodes() == available)
Exemple #3
0
class CheckLocalhostCluster(object):
    def setup_method(self, method):
        self.cluster = LocalhostCluster()

    def check_size(self):
        len(self.cluster) >= 2**31 - 1

    def check_request_free(self):
        available = self.cluster.num_available_nodes()
        initial_size = len(self.cluster)

        # Should be able to allocate arbitrarily many nodes
        slots = self.cluster.request(100)
        assert (len(slots) == 100)
        for slot in slots:
            assert (slot.account.hostname == 'localhost')
            assert (slot.account.user is None)
            assert (slot.account.ssh_args is None)

        assert (self.cluster.num_available_nodes() == (available - 100))
        assert len(self.cluster) == initial_size  # This shouldn't change

        self.cluster.free(slots)

        assert (self.cluster.num_available_nodes() == available)
Exemple #4
0
class CheckLocalhostCluster(object):
    def setup_method(self, method):
        self.cluster = LocalhostCluster()

    def check_request_free(self):
        available = self.cluster.num_available_nodes()

        # Should be able to allocate arbitrarily many nodes
        slots = self.cluster.request(100)
        assert (len(slots) == 100)
        for slot in slots:
            assert (slot.account.hostname == 'localhost')
            assert (slot.account.user == None)
            assert (slot.account.ssh_args == None)

        assert (self.cluster.num_available_nodes() == (available - 100))

        self.cluster.free(slots)

        assert (self.cluster.num_available_nodes() == available)
Exemple #5
0
class CheckLocalhostCluster(object):
    def setup_method(self, method):
        self.cluster = LocalhostCluster()

    def check_request_free(self):
        available = self.cluster.num_available_nodes()

        # Should be able to allocate arbitrarily many nodes
        slots = self.cluster.request(100)
        assert(len(slots) == 100)
        for slot in slots:
            assert(slot.account.hostname == 'localhost')
            assert(slot.account.user == None)
            assert(slot.account.ssh_args == None)

        assert(self.cluster.num_available_nodes() == (available - 100))

        self.cluster.free(slots)

        assert(self.cluster.num_available_nodes() == available)