本文整理汇总了Python中plumbery.nodes.PlumberyNodes.build_blueprint方法的典型用法代码示例。如果您正苦于以下问题:Python PlumberyNodes.build_blueprint方法的具体用法?Python PlumberyNodes.build_blueprint怎么用?Python PlumberyNodes.build_blueprint使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类plumbery.nodes.PlumberyNodes
的用法示例。
在下文中一共展示了PlumberyNodes.build_blueprint方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: build_blueprint
# 需要导入模块: from plumbery.nodes import PlumberyNodes [as 别名]
# 或者: from plumbery.nodes.PlumberyNodes import build_blueprint [as 别名]
def build_blueprint(self, names):
"""
Builds a named blueprint for this facility
:param names: the name(s) of the blueprint(s) to build
:type names: ``str`` or ``list`` of ``str``
This function builds the named blueprint in two steps: the
infrastructure comes first, and then the nodes themselves.
>>>facility.build_blueprint('sql')
If the keyword ``basement`` mentions one or several blueprints,
then network domains of these special blueprints are built before
the actual target blueprint.
Example ``fittings.yaml``::
---
basement: admin
blueprints:
- admin:
ethernet: control
- sql:
ethernet: data
nodes:
- server1:
glue: control
In this example, the node ``server1``has two network interfaces. The
main network interface is connected to the network ``data``, and the
secondary network interface is connected to the network ``control``.
"""
self.power_on()
infrastructure = PlumberyInfrastructure(self)
nodes = PlumberyNodes(self)
basement = self.list_basement()
for name in basement:
blueprint = self.get_blueprint(name)
infrastructure.build(blueprint)
for name in self.expand_blueprint(names):
blueprint = self.get_blueprint(name)
if name not in basement:
infrastructure.build(blueprint)
nodes.build_blueprint(
blueprint,
infrastructure.get_container(blueprint))
示例2: TestPlumberyNodes
# 需要导入模块: from plumbery.nodes import PlumberyNodes [as 别名]
# 或者: from plumbery.nodes.PlumberyNodes import build_blueprint [as 别名]
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")
示例3: build_all_blueprints
# 需要导入模块: from plumbery.nodes import PlumberyNodes [as 别名]
# 或者: from plumbery.nodes.PlumberyNodes import build_blueprint [as 别名]
def build_all_blueprints(self):
"""
Builds all blueprints defined for this facility
This function builds all network domains across all blueprints, then
it builds all nodes across all blueprints.
If the keyword ``basement`` mentions one or several blueprints,
then these are built before the other blueprints.
"""
self.power_on()
infrastructure = PlumberyInfrastructure(self)
nodes = PlumberyNodes(self)
basement = self.list_basement()
for name in basement:
blueprint = self.get_blueprint(name)
infrastructure.build(blueprint)
blueprints = self.expand_blueprint('*')
for name in blueprints:
if name not in basement:
blueprint = self.get_blueprint(name)
infrastructure.build(blueprint)
for name in basement:
blueprint = self.get_blueprint(name)
container = infrastructure.get_container(blueprint)
nodes.build_blueprint(blueprint, container)
for name in blueprints:
if name not in basement:
blueprint = self.get_blueprint(name)
container = infrastructure.get_container(blueprint)
nodes.build_blueprint(blueprint, container)