summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ci/environments/scenario001-multinode-containers.yaml3
-rw-r--r--ci/environments/scenario001-multinode.yaml3
-rw-r--r--common/major_upgrade_steps.j2.yaml27
-rw-r--r--docker/services/nova-compute.yaml11
-rw-r--r--docker/services/nova-conductor.yaml12
-rw-r--r--docker/services/pacemaker/database/mysql.yaml4
-rw-r--r--extraconfig/tasks/tripleo_upgrade_node.sh46
-rw-r--r--overcloud.j2.yaml37
-rw-r--r--puppet/role.role.j2.yaml15
9 files changed, 60 insertions, 98 deletions
diff --git a/ci/environments/scenario001-multinode-containers.yaml b/ci/environments/scenario001-multinode-containers.yaml
index 0cdbef13..b625f716 100644
--- a/ci/environments/scenario001-multinode-containers.yaml
+++ b/ci/environments/scenario001-multinode-containers.yaml
@@ -97,6 +97,8 @@ parameter_defaults:
ControllerExtraConfig:
nova::compute::libvirt::services::libvirt_virt_type: qemu
nova::compute::libvirt::libvirt_virt_type: qemu
+ # This makes the job twice as fast
+ ceilometer::agent::polling::polling_interval: 15
Debug: true
#NOTE(gfidente): not great but we need this to deploy on ext4
#http://docs.ceph.com/docs/jewel/rados/configuration/filesystem-recommendations/
@@ -128,6 +130,7 @@ parameter_defaults:
GlanceBackend: rbd
GnocchiBackend: rbd
CinderEnableIscsiBackend: false
+ GnocchiArchivePolicy: 'high'
BannerText: |
******************************************************************
* This system is for the use of authorized users only. Usage of *
diff --git a/ci/environments/scenario001-multinode.yaml b/ci/environments/scenario001-multinode.yaml
index bab08a30..302b0344 100644
--- a/ci/environments/scenario001-multinode.yaml
+++ b/ci/environments/scenario001-multinode.yaml
@@ -94,6 +94,8 @@ parameter_defaults:
ControllerExtraConfig:
nova::compute::libvirt::services::libvirt_virt_type: qemu
nova::compute::libvirt::libvirt_virt_type: qemu
+ # This makes the job twice as fast
+ ceilometer::agent::polling::polling_interval: 15
Debug: true
#NOTE(gfidente): not great but we need this to deploy on ext4
#http://docs.ceph.com/docs/jewel/rados/configuration/filesystem-recommendations/
@@ -114,6 +116,7 @@ parameter_defaults:
GlanceBackend: rbd
GnocchiBackend: rbd
CinderEnableIscsiBackend: false
+ GnocchiArchivePolicy: 'high'
BannerText: |
******************************************************************
* This system is for the use of authorized users only. Usage of *
diff --git a/common/major_upgrade_steps.j2.yaml b/common/major_upgrade_steps.j2.yaml
index 11113eec..7fc91153 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 39d1740c..bf7841be 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 ae737056..17d137cc 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/docker/services/pacemaker/database/mysql.yaml b/docker/services/pacemaker/database/mysql.yaml
index 3de1696d..f57f779e 100644
--- a/docker/services/pacemaker/database/mysql.yaml
+++ b/docker/services/pacemaker/database/mysql.yaml
@@ -162,13 +162,13 @@ outputs:
# Kolla bootstraps aren't idempotent, explicitly checking if bootstrap was done
command:
- 'bash'
- - '-ec'
+ - '-ecx'
-
list_join:
- "\n"
- - 'if [ -e /var/lib/mysql/mysql ]; then exit 0; fi'
- 'kolla_start'
- - 'mysqld_safe --skip-networking --wsrep-on=OFF &'
+ - 'mysqld_safe --skip-networking --wsrep-on=OFF --wsrep-provider=none &'
- 'timeout ${DB_MAX_TIMEOUT} /bin/bash -c ''until mysqladmin -uroot -p"${DB_ROOT_PASSWORD}" ping 2>/dev/null; do sleep 1; done'''
- 'mysql -uroot -p"${DB_ROOT_PASSWORD}" -e "CREATE USER ''clustercheck''@''localhost'' IDENTIFIED BY ''${DB_CLUSTERCHECK_PASSWORD}'';"'
- 'mysql -uroot -p"${DB_ROOT_PASSWORD}" -e "GRANT PROCESS ON *.* TO ''clustercheck''@''localhost'' WITH GRANT OPTION;"'
diff --git a/extraconfig/tasks/tripleo_upgrade_node.sh b/extraconfig/tasks/tripleo_upgrade_node.sh
index baf838e4..95de99be 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
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index 2e398671..2514f809 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -188,15 +188,16 @@ parameters:
doing an update which requires removal of specific resources.
Example format ComputeRemovalPolicies: [{'resource_list': ['0']}]
-{% if role.name != 'Compute' %}
{{role.name}}SchedulerHints:
+ type: json
description: Optional scheduler hints to pass to nova
-{% else %}
- NovaComputeSchedulerHints:
- description: DEPRECATED - use ComputeSchedulerHints instead
-{% endif %}
+ default: {}
+{%- if role.deprecated_param_scheduler_hints is defined %}
+ {{role.deprecated_param_scheduler_hints}}:
type: json
+ description: DEPRECATED - use {{role.name}}SchedulerHints instead
default: {}
+{%- endif %}
{{role.name}}Parameters:
type: json
@@ -229,6 +230,19 @@ parameters:
description: >
List of server hostnames to blacklist from any triggered deployments.
+{% for role in roles %}
+{%- if role.deprecated_param_scheduler_hints is defined %}
+{%- if not parameter_groups_defined|default(false) %}
+parameter_groups:
+- label: deprecated
+ description: Do not use deprecated params, they will be removed.
+ parameters:
+{%- set parameter_groups_defined = true %}
+{%- endif %}
+ - {{role.deprecated_param_scheduler_hints}}
+{%- endif %}
+{%- endfor %}
+
conditions:
add_vips_to_etc_hosts: {equals : [{get_param: AddVipsToEtcHosts}, True]}
@@ -525,11 +539,14 @@ resources:
params:
'%stackname%': {get_param: 'OS::stack_name'}
NodeIndex: '%index%'
- {% if role.name != 'Compute' %}
- {{role.name}}SchedulerHints: {get_param: {{role.name}}SchedulerHints}
- {% else %}
- NovaComputeSchedulerHints: {get_param: NovaComputeSchedulerHints}
- {% endif %}
+ # Note, SchedulerHints must be defined here, not only in the
+ # nested template, as it can contain %index%
+ {{role.name}}SchedulerHints:
+ map_merge:
+{%- if role.deprecated_param_scheduler_hints is defined %}
+ - {get_param: {{role.deprecated_param_scheduler_hints}}}
+{%- endif %}
+ - {get_param: {{role.name}}SchedulerHints}
ServiceConfigSettings: {get_attr: [{{role.name}}ServiceConfigSettings, value]}
ServiceNames: {get_attr: [{{role.name}}ServiceNames, value]}
MonitoringSubscriptions: {get_attr: [{{role.name}}ServiceChainRoleData, value, monitoring_subscriptions]}
diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml
index 5453e65c..f58f7409 100644
--- a/puppet/role.role.j2.yaml
+++ b/puppet/role.role.j2.yaml
@@ -148,12 +148,6 @@ parameters:
type: json
description: Optional scheduler hints to pass to nova
default: {}
-{%- if role.deprecated_param_scheduler_hints is defined %}
- {{role.deprecated_param_scheduler_hints}}:
- type: json
- description: DEPRECATED - use {{role.name}}SchedulerHints instead
- default: {}
-{%- endif %}
NodeIndex:
type: number
default: 0
@@ -239,7 +233,7 @@ parameter_groups:
description: Do not use deprecated params, they will be removed.
parameters:
{%- for property in role %}
-{%- if property.startswith('deprecated_param_') %}
+{%- if property.startswith('deprecated_param_') and not role[property].endswith('SchedulerHints') %}
- {{role[property]}}
{%- endif %}
{%- endfor %}
@@ -317,12 +311,7 @@ resources:
{%- endif %}
- {get_param: {{role.name}}ServerMetadata}
- {get_param: ServiceMetadataSettings}
- scheduler_hints:
- map_merge:
-{%- if role.deprecated_param_scheduler_hints is defined %}
- - {get_param: {{role.deprecated_param_scheduler_hints}}}
-{%- endif %}
- - {get_param: {{role.name}}SchedulerHints}
+ scheduler_hints: {get_param: {{role.name}}SchedulerHints}
deployment_swift_data:
if:
- deployment_swift_data_map_unset