diff --git a/common/major_upgrade_steps.j2.yaml b/common/major_upgrade_steps.j2.yaml index 11113eec11..7fc91153d0 100644 --- a/common/major_upgrade_steps.j2.yaml +++ b/common/major_upgrade_steps.j2.yaml @@ -54,7 +54,6 @@ resources: params: ROLE_NAME: {{role.name}} - get_file: ../extraconfig/tasks/pacemaker_common_functions.sh - - get_file: ../extraconfig/tasks/run_puppet.sh - get_file: ../extraconfig/tasks/tripleo_upgrade_node.sh {{role.name}}DeliverUpgradeScriptDeployment: @@ -129,32 +128,6 @@ resources: {%- endfor %} {%- endfor %} -# Dump the puppet manifests to be apply later when disable_upgrade_deployment -# is to true -{% for role in roles if role.disable_upgrade_deployment|default(false) %} - {{role.name}}DeliverPuppetConfig: - type: OS::Heat::SoftwareConfig - properties: - group: script - config: - list_join: - - '' - - - str_replace: - template: | - #!/bin/bash - cat > /root/{{role.name}}_puppet_config.pp << ENDOFCAT - PUPPET_CLASSES - ENDOFCAT - params: - PUPPET_CLASSES: {get_param: [role_data, {{role.name}}, step_config]} - - {{role.name}}DeliverPuppetDeployment: - type: OS::Heat::SoftwareDeploymentGroup - properties: - servers: {get_param: [servers, {{role.name}}]} - config: {get_resource: {{role.name}}DeliverPuppetConfig} -{% endfor %} - # Upgrade Steps for all roles {%- for step in range(0, upgrade_steps_max) %} # Config resources for step {{step}} diff --git a/docker/services/nova-compute.yaml b/docker/services/nova-compute.yaml index 39d1740c0b..bf7841be58 100644 --- a/docker/services/nova-compute.yaml +++ b/docker/services/nova-compute.yaml @@ -41,6 +41,10 @@ parameters: description: Port that dockerized nova migration target sshd service binds to. type: number + UpgradeLevelNovaCompute: + type: string + description: Nova Compute upgrade level + default: '' resources: @@ -142,6 +146,13 @@ outputs: path: /etc/ceph state: directory upgrade_tasks: + - name: Set compute upgrade level to auto + tags: step1 + ini_file: + str_replace: + template: "dest=/etc/nova/nova.conf section=upgrade_levels option=compute value=LEVEL" + params: + LEVEL: {get_param: UpgradeLevelNovaCompute} - name: Stop and disable nova-compute service tags: step2 service: name=openstack-nova-compute state=stopped enabled=no diff --git a/docker/services/nova-conductor.yaml b/docker/services/nova-conductor.yaml index ae73705657..17d137cce6 100644 --- a/docker/services/nova-conductor.yaml +++ b/docker/services/nova-conductor.yaml @@ -36,7 +36,10 @@ parameters: default: {} description: Parameters specific to the role type: json - + UpgradeLevelNovaCompute: + type: string + description: Nova Compute upgrade level + default: '' resources: @@ -108,6 +111,13 @@ outputs: path: /var/log/containers/nova state: directory upgrade_tasks: + - name: Set compute upgrade level to auto + tags: step1 + ini_file: + str_replace: + template: "dest=/etc/nova/nova.conf section=upgrade_levels option=compute value=LEVEL" + params: + LEVEL: {get_param: UpgradeLevelNovaCompute} - name: Stop and disable nova_conductor service tags: step2 service: name=openstack-nova-conductor state=stopped enabled=no diff --git a/extraconfig/tasks/tripleo_upgrade_node.sh b/extraconfig/tasks/tripleo_upgrade_node.sh index baf838e419..95de99be14 100644 --- a/extraconfig/tasks/tripleo_upgrade_node.sh +++ b/extraconfig/tasks/tripleo_upgrade_node.sh @@ -26,52 +26,8 @@ fi DEBUG="true" SCRIPT_NAME=$(basename $0) $(declare -f log_debug) -$(declare -f manage_systemd_service) -$(declare -f systemctl_swift) -$(declare -f special_case_ovs_upgrade_if_needed) -# pin nova messaging +-1 for the nova-compute service -if [[ -n \$NOVA_COMPUTE ]]; then - crudini --set /etc/nova/nova.conf upgrade_levels compute auto -fi - -special_case_ovs_upgrade_if_needed - -if [[ -n \$SWIFT_STORAGE ]]; then - systemctl_swift stop -fi - -yum -y update - -if [[ -n \$SWIFT_STORAGE ]]; then - systemctl_swift start -fi -# Due to bug#1640177 we need to restart compute agent -if [[ -n \$NOVA_COMPUTE ]]; then - log_debug "Restarting openstack ceilometer agent compute" - systemctl restart openstack-ceilometer-compute - yum install -y openstack-nova-migration - # https://bugs.launchpad.net/tripleo/+bug/1707926 stop&disable libvirtd - log_debug "Stop and disable libvirtd service for upgrade to containers" - systemctl stop libvirtd - systemctl disable libvirtd - log_debug "Stop and disable openstack-nova-compute for upgrade to containers" - systemctl stop openstack-nova-compute - systemctl disable openstack-nova-compute -fi - -# Apply puppet manifest to converge just right after the ${ROLE} upgrade -$(declare -f run_puppet) -for step in 1 2 3 4 5 6; do - log_debug "Running puppet step \$step for ${ROLE}" - if ! run_puppet /root/${ROLE}_puppet_config.pp ${ROLE} \${step}; then - log_debug "Puppet failure at step \${step}" - exit 1 - fi - log_debug "Completed puppet step \$step" -done - -log_debug "TripleO upgrade run completed." +log_debug "$UPGRADE_SCRIPT has completed - moving onto ansible playbooks" ENDOFCAT