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)
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)
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)
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)
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))
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))