示例#1
0
    def check_allocate_free(self):
        cluster = JsonCluster(
            {"nodes": [
                {"ssh_config": {"host": "localhost1"}},
                {"ssh_config": {"host": "localhost2"}},
                {"ssh_config": {"host": "localhost3"}}]})

        assert len(cluster) == 3
        assert(cluster.num_available_nodes() == 3)

        nodes = cluster.alloc(Service.setup_node_spec(num_nodes=1))
        nodes_hostnames = self.cluster_hostnames(nodes)
        assert len(cluster) == 3
        assert(cluster.num_available_nodes() == 2)

        nodes2 = cluster.alloc(Service.setup_node_spec(num_nodes=2))
        nodes2_hostnames = self.cluster_hostnames(nodes2)
        assert len(cluster) == 3
        assert(cluster.num_available_nodes() == 0)

        assert(nodes_hostnames.isdisjoint(nodes2_hostnames))

        cluster.free(nodes)
        assert(cluster.num_available_nodes() == 1)

        cluster.free(nodes2)
        assert(cluster.num_available_nodes() == 3)
示例#2
0
    def check_allocate_free(self):
        cluster = JsonCluster(
            {"nodes": [
                {"ssh_config": {"host": "localhost1"}},
                {"ssh_config": {"host": "localhost2"}},
                {"ssh_config": {"host": "localhost3"}}]})

        assert len(cluster) == 3
        assert(cluster.num_available_nodes() == 3)

        nodes = cluster.alloc(Service.setup_cluster_spec(num_nodes=1))
        nodes_hostnames = self.cluster_hostnames(nodes)
        assert len(cluster) == 3
        assert(cluster.num_available_nodes() == 2)

        nodes2 = cluster.alloc(Service.setup_cluster_spec(num_nodes=2))
        nodes2_hostnames = self.cluster_hostnames(nodes2)
        assert len(cluster) == 3
        assert(cluster.num_available_nodes() == 0)

        assert(nodes_hostnames.isdisjoint(nodes2_hostnames))

        cluster.free(nodes)
        assert(cluster.num_available_nodes() == 1)

        cluster.free(nodes2)
        assert(cluster.num_available_nodes() == 3)
示例#3
0
 def check_node_names(self):
     cluster = JsonCluster(
         {"nodes": [
             {"ssh_config": {"host": "localhost1"}},
             {"ssh_config": {"host": "localhost2"}},
             {"ssh_config": {"host": "localhost3"}}]})
     hosts = set(["localhost1", "localhost2", "localhost3"])
     nodes = cluster.alloc(cluster.available())
     assert hosts == set(node.name for node in nodes)
示例#4
0
 def check_node_names(self):
     cluster = JsonCluster({
         "nodes": [{
             "ssh_config": {
                 "host": "localhost1"
             }
         }, {
             "ssh_config": {
                 "host": "localhost2"
             }
         }, {
             "ssh_config": {
                 "host": "localhost3"
             }
         }]
     })
     hosts = set(["localhost1", "localhost2", "localhost3"])
     nodes = cluster.alloc(cluster.available())
     assert hosts == set(node.name for node in nodes)
示例#5
0
 def check_exhausts_supply(self):
     cluster = JsonCluster(self.single_node_cluster_json)
     with pytest.raises(RuntimeError):
         cluster.alloc(Service.setup_node_spec(num_nodes=2))
示例#6
0
 def check_exhausts_supply(self):
     cluster = JsonCluster(self.single_node_cluster_json)
     with pytest.raises(InsufficientResourcesError):
         cluster.alloc(Service.setup_cluster_spec(num_nodes=2))
示例#7
0
 def check_exhausts_supply(self):
     cluster = JsonCluster(self.single_node_cluster_json)
     with pytest.raises(InsufficientResourcesError):
         cluster.alloc(Service.setup_cluster_spec(num_nodes=2))