本文整理匯總了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)