diff --git a/common/deploy-steps.j2 b/common/deploy-steps.j2 index 9702551498..8b4f22ed0f 100644 --- a/common/deploy-steps.j2 +++ b/common/deploy-steps.j2 @@ -513,14 +513,25 @@ outputs: - hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST strategy: tripleo_free - name: Server pre deployment steps + name: Server pre network steps gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}" any_errors_fatal: yes tasks: +{% raw %} - import_tasks: hiera_steps_tasks.yaml + - name: Server pre-network deployments + delegate_to: localhost + run_once: true + debug: + msg: Use --start-at-task 'Server pre-network deployments' to resume from this task + - include_tasks: deployments.yaml + vars: + force: false + with_items: "{{ hostvars[inventory_hostname]['pre_network_' ~ tripleo_role_name]|default([]) }}" tags: - overcloud - pre_deploy_steps +{% endraw %} - hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST strategy: tripleo_free @@ -534,10 +545,6 @@ outputs: run_once: true debug: msg: Use --start-at-task 'Server deployments' to resume from this task - - include_tasks: deployments.yaml - vars: - force: false - with_items: "{{ hostvars[inventory_hostname]['pre_deployments_' ~ tripleo_role_name]|default([]) }}" - name: Check NetworkConfig script existence local_action: @@ -593,6 +600,23 @@ outputs: - pre_deploy_steps {% endraw %} + - hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST + strategy: tripleo_free + name: Server pre deployment steps + gather_facts: "{% raw %}{{ gather_facts | default(false) }}{% endraw %}" + any_errors_fatal: yes + tasks: +{% raw %} + - import_tasks: hiera_steps_tasks.yaml + - include_tasks: deployments.yaml + vars: + force: false + with_items: "{{ hostvars[inventory_hostname]['pre_deployments_' ~ tripleo_role_name]|default([]) }}" + tags: + - overcloud + - pre_deploy_steps +{% endraw %} + - hosts: {{primary_role_name}}:DEPLOY_TARGET_HOST strategy: tripleo_free name: Host prep steps diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 81f15f5a67..db789aa3c3 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -9,6 +9,7 @@ resource_registry: OS::TripleO::RandomString: OS::Heat::RandomString {% for role in roles %} + OS::TripleO::{{role.name}}::PreNetworkConfig: OS::Heat::None OS::TripleO::{{role.name}}PostDeploySteps: common/post.yaml OS::TripleO::{{role.name}}: puppet/{{role.name.lower()}}-role.yaml OS::TripleO::Tasks::{{role.name}}PreConfig: OS::Heat::None diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index 14d3be791c..655bf3b913 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -539,6 +539,15 @@ resources: short: - {get_attr: [{{server_resource_name}}, name]} + PreNetworkConfig: + type: OS::TripleO::{{role.name}}::PreNetworkConfig + condition: server_not_blacklisted + properties: + server: {get_resource: {{server_resource_name}}} + RoleParameters: {get_param: RoleParameters} + ServiceNames: {get_param: ServiceNames} + deployment_actions: {get_attr: [DeploymentActions, value]} + # Resource for site-specific injection of root certificate NodeTLSCAData: type: OS::TripleO::NodeTLSCAData diff --git a/releasenotes/notes/bug-1907214-df2f07cbacbe8a24.yaml b/releasenotes/notes/bug-1907214-df2f07cbacbe8a24.yaml new file mode 100644 index 0000000000..9697f2f31e --- /dev/null +++ b/releasenotes/notes/bug-1907214-df2f07cbacbe8a24.yaml @@ -0,0 +1,13 @@ +--- +features: + - | + The ``OS::TripleO::{{role.name}}::PreNetworkConfig`` resource has been + restored. This resource can be used to implement any configuration steps + executed before network configurations are applied. + +fixes: + - | + Now ``ExtraConfigPre`` resource and ``NodeExtraConfig`` resource are + executed after network configurations are applied in nodes. This is + consitent with the previous version with heat software deployment + mechanism instead of config-download.