def stop_blueprint(self, names): """ Stops nodes of the given blueprint at this facility :param names: the name(s) of the target blueprint(s) :type names: ``str`` or ``list`` of ``str`` You can use the following setting to prevent plumbery from stopping a node:: - sql: domain: *vdc1 ethernet: *data nodes: - slaveSQL: running: always """ nodes = PlumberyNodes(self) for name in self.expand_blueprint(names): blueprint = self.get_blueprint(name) if 'nodes' not in blueprint: continue nodes.stop_blueprint(blueprint)
class TestPlumberyNodes(unittest.TestCase): def setUp(self): self.nodes = PlumberyNodes(FakeFacility()) def tearDown(self): self.nodes = None def test_build_blueprint(self): domain = FakeDomain() self.nodes.build_blueprint(fakeBlueprint, domain) def test_destroy_blueprint(self): self.nodes.destroy_blueprint(fakeBlueprint) def test_get_node(self): self.nodes.get_node("stackstorm") def test_start_nodes(self): self.nodes.start_blueprint("fake") def test_stop_nodes(self): self.nodes.stop_blueprint("fake")
class TestPlumberyNodes(unittest.TestCase): def setUp(self): self.nodes = PlumberyNodes(FakeFacility()) def tearDown(self): self.nodes = None def test_build_blueprint(self): domain = FakeDomain() self.nodes.build_blueprint(fakeBlueprint, domain) # def test_destroy_blueprint(self): # self.nodes.destroy_blueprint(fakeBlueprint) def test_get_node(self): self.nodes.get_node('stackstorm') def test_start_nodes(self): self.nodes.start_blueprint('fake') def test_stop_nodes(self): self.nodes.stop_blueprint('fake')