Ejemplo n.º 1
0
 def parse(self, workflow_plugins_to_install, deployment_plugins_to_install,
           scaling_groups):
     return models.Plan({
         constants.DESCRIPTION:
         self.child(misc.Description).value,
         constants.NODES:
         self.child(node_templates.NodeTemplates).value,
         constants.RELATIONSHIPS:
         self.child(relationships.Relationships).value,
         constants.WORKFLOWS:
         self.child(workflows.Workflows).value,
         constants.POLICY_TYPES:
         self.child(policies.PolicyTypes).value,
         constants.POLICY_TRIGGERS:
         self.child(policies.PolicyTriggers).value,
         constants.POLICIES:
         self.child(policies.Policies).value,
         constants.GROUPS:
         self.child(policies.Groups).value,
         constants.SCALING_GROUPS:
         scaling_groups or {},
         constants.INPUTS:
         self.child(misc.Inputs).value,
         constants.OUTPUTS:
         self.child(misc.Outputs).value,
         constants.DEPLOYMENT_PLUGINS_TO_INSTALL:
         deployment_plugins_to_install,
         constants.WORKFLOW_PLUGINS_TO_INSTALL:
         workflow_plugins_to_install,
         constants.VERSION:
         self.child(_version.ToscaDefinitionsVersion).value
     })
Ejemplo n.º 2
0
def prepare_deployment_plan(plan, inputs=None, **kwargs):
    """
    Prepare a plan for deployment
    """
    plan = models.Plan(copy.deepcopy(plan))
    _set_plan_inputs(plan, inputs)
    _process_functions(plan)
    return multi_instance.create_deployment_plan(plan)
Ejemplo n.º 3
0
def prepare_deployment_plan(plan, get_secret_method=None, inputs=None, **_):
    """
    Prepare a plan for deployment
    """
    plan = models.Plan(copy.deepcopy(plan))
    _set_plan_inputs(plan, inputs)
    _process_functions(plan)
    _validate_secrets(plan, get_secret_method)
    return multi_instance.create_deployment_plan(plan)
def create_multi_instance_plan(plan):
    """
    Expand node instances based on number of instances to deploy and
    defined relationships
    """
    graph = rel_graph.build_initial_node_graph(plan)
    m_graph = rel_graph.build_multi_instance_node_graph(graph)
    m_plan = rel_graph.create_multi_instance_plan_from_multi_instance_graph(
        plan, m_graph)
    return models.Plan(m_plan)
Ejemplo n.º 5
0
 def parse(self, workflow_plugins_to_install, plugins_to_install,
           scaling_groups):
     return models.Plan({
         constants.DESCRIPTION:
         self.child(misc.Description).value,
         constants.METADATA:
         self.child(misc.Metadata).value,
         constants.NODES:
         self.child(node_templates.NodeTemplates).value,
         constants.RELATIONSHIPS:
         self.child(relationships.Relationships).value,
         constants.WORKFLOWS:
         self.child(workflows.Workflows).value,
         constants.POLICY_TYPES:
         self.child(policies.PolicyTypes).value,
         constants.POLICY_TRIGGERS:
         self.child(policies.PolicyTriggers).value,
         constants.POLICIES:
         self.child(policies.Policies).value,
         constants.GROUPS:
         self.child(policies.Groups).value,
         constants.SCALING_GROUPS:
         scaling_groups or {},
         constants.INPUTS:
         self.child(inputs.Inputs).value,
         constants.OUTPUTS:
         self.child(misc.Outputs).value,
         constants.DEPLOYMENT_PLUGINS_TO_INSTALL:
         plugins_to_install[constants.DEPLOYMENT_PLUGINS_TO_INSTALL],
         constants.WORKFLOW_PLUGINS_TO_INSTALL:
         workflow_plugins_to_install,
         constants.HOST_AGENT_PLUGINS_TO_INSTALL:
         plugins_to_install[constants.HOST_AGENT_PLUGINS_TO_INSTALL],
         constants.VERSION:
         self.child(_version.ToscaDefinitionsVersion).value,
         constants.CAPABILITIES:
         self.child(misc.Capabilities).value,
         constants.IMPORTED_BLUEPRINTS:
         self.child(misc.ImportedBlueprints).value,
         constants.NAMESPACES_MAPPING:
         self.child(misc.NamespacesMapping).value,
         constants.DATA_TYPES:
         self.child(data_types.DataTypes).value,
         constants.LABELS:
         self.child(misc.Labels).value,
         constants.BLUEPRINT_LABELS:
         self.child(misc.BlueprintLabels).value,
         constants.RESOURCE_TAGS:
         self.child(misc.ResourceTags).value,
         constants.DEPLOYMENT_SETTINGS:
         self.child(misc.DeploymentSettings).value
     })
def create_deployment_plan(plan):
    """
    Expand node instances based on number of instances to deploy and
    defined relationships
    """
    plan_node_graph = rel_graph.build_node_graph(plan['nodes'])
    deployment_node_graph = rel_graph.build_deployment_node_graph(
        plan_node_graph)
    node_instances = rel_graph.extract_node_instances(
        node_instances_graph=deployment_node_graph)
    deployment_plan = copy.deepcopy(plan)
    deployment_plan[constants.NODE_INSTANCES] = node_instances
    return models.Plan(deployment_plan)
Ejemplo n.º 7
0
def create_deployment_plan(plan, existing_ni_ids=None):
    """
    Expand node instances based on number of instances to deploy and
    defined relationships
    """
    deployment_plan = copy.deepcopy(plan)
    plan_node_graph = rel_graph.build_node_graph(
        nodes=deployment_plan['nodes'],
        scaling_groups=deployment_plan['scaling_groups'])
    deployment_node_graph, ctx = rel_graph.build_deployment_node_graph(
        plan_node_graph, existing_ni_ids=existing_ni_ids)
    node_instances = rel_graph.extract_node_instances(
        node_instances_graph=deployment_node_graph, ctx=ctx)
    deployment_plan[constants.NODE_INSTANCES] = node_instances
    return models.Plan(deployment_plan)
Ejemplo n.º 8
0
def prepare_deployment_plan(plan,
                            get_secret_method=None,
                            inputs=None,
                            runtime_only_evaluation=False,
                            auto_correct_types=False,
                            values_getter=None,
                            existing_ni_ids=None,
                            **_):
    """
    Prepare a plan for deployment
    """
    plan = models.Plan(copy.deepcopy(plan))
    _set_plan_inputs(plan, inputs, auto_correct_types, values_getter)
    _process_functions(plan, runtime_only_evaluation)
    _validate_secrets(plan, get_secret_method)
    return multi_instance.create_deployment_plan(plan, existing_ni_ids)