diff options
| author | Steven Dake <stdake@cisco.com> | 2016-03-09 02:17:19 -0500 |
|---|---|---|
| committer | Steven Dake <stdake@cisco.com> | 2016-03-09 03:50:03 -0500 |
| commit | 21ecd9925aaee7ae4193d854daa1634bf60a27a5 (patch) | |
| tree | 3e9d20a532f77bb2151f1e5fdccad6446e2e68e7 | |
| parent | 1f3e75feb1f1b7740e0812d8b2169d5ed2e2542b (diff) | |
| download | kolla-21ecd9925aaee7ae4193d854daa1634bf60a27a5.tar.gz kolla-21ecd9925aaee7ae4193d854daa1634bf60a27a5.zip | |
Upgrade Heat
This could possibly use gold plating in how bootstrapping
operates to use shade rather than the shell in the container.
It is unclear why stack create failed prior to this patch, but
that fact hasn't changed. I think the heat domains are not setup
properly in the configuration files, meaning that the domain ID
must be created outside of Heat and registered in the configuration
file. This is covered in Bug #1553565.
Change-Id: I490d4dd68a101f388c0ecb4acab54d5eaa6e314e
Partially-Implements: blueprint kolla-upgrade
Implements: blueprint upgrade-heat
| -rw-r--r-- | ansible/roles/heat/tasks/bootstrap.yml | 25 | ||||
| -rw-r--r-- | ansible/roles/heat/tasks/bootstrap_service.yml | 24 | ||||
| -rw-r--r-- | ansible/roles/heat/tasks/upgrade.yml | 6 | ||||
| -rw-r--r-- | docker/heat/heat-api/extend_start.sh | 14 |
4 files changed, 41 insertions, 28 deletions
diff --git a/ansible/roles/heat/tasks/bootstrap.yml b/ansible/roles/heat/tasks/bootstrap.yml index 8429c0414..2ac3cfd8c 100644 --- a/ansible/roles/heat/tasks/bootstrap.yml +++ b/ansible/roles/heat/tasks/bootstrap.yml @@ -4,6 +4,7 @@ -m mysql_db -a "login_host='{{ database_address }}' login_user='{{ database_user }}' + login_port='{{ mariadb_port }}' login_password='{{ database_password }}' name='{{ heat_database_name }}'" register: database @@ -35,27 +36,5 @@ run_once: True delegate_to: "{{ groups['heat-api'][0] }}" -- name: Running Heat bootstrap container - kolla_docker: - action: "start_container" - common_options: "{{ docker_common_options }}" - detach: False - environment: - KOLLA_BOOTSTRAP: - KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" - OS_AUTH_URL: "{{ openstack_auth.auth_url }}" - OS_IDENTITY_API_VERSION: "3" - OS_USERNAME: "{{ openstack_auth.username }}" - OS_PASSWORD: "{{ openstack_auth.password }}" - OS_PROJECT_NAME: "{{ openstack_auth.project_name }}" - HEAT_DOMAIN_ADMIN_PASSWORD: "{{ heat_domain_admin_password }}" - image: "{{ heat_api_image_full }}" - labels: - BOOTSTRAP: - name: "bootstrap_heat" - volumes: - - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro" - - "kolla_logs:/var/log/kolla/" - run_once: True - delegate_to: "{{ groups['heat-api'][0] }}" +- include: bootstrap_service.yml when: database_created diff --git a/ansible/roles/heat/tasks/bootstrap_service.yml b/ansible/roles/heat/tasks/bootstrap_service.yml new file mode 100644 index 000000000..40af8b175 --- /dev/null +++ b/ansible/roles/heat/tasks/bootstrap_service.yml @@ -0,0 +1,24 @@ +- name: Running Heat bootstrap container + kolla_docker: + action: "start_container" + common_options: "{{ docker_common_options }}" + detach: False + environment: + KOLLA_BOOTSTRAP: + KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" + OS_AUTH_URL: "{{ openstack_auth.auth_url }}" + OS_IDENTITY_API_VERSION: "3" + OS_USERNAME: "{{ openstack_auth.username }}" + OS_PASSWORD: "{{ openstack_auth.password }}" + OS_PROJECT_NAME: "{{ openstack_auth.project_name }}" + HEAT_DOMAIN_ADMIN_PASSWORD: "{{ heat_domain_admin_password }}" + image: "{{ heat_api_image_full }}" + labels: + BOOTSTRAP: + name: "bootstrap_heat" + restart_policy: "never" + volumes: + - "{{ node_config_directory }}/heat-api/:{{ container_config_directory }}/:ro" + - "kolla_logs:/var/log/kolla/" + run_once: True + delegate_to: "{{ groups['heat-api'][0] }}" diff --git a/ansible/roles/heat/tasks/upgrade.yml b/ansible/roles/heat/tasks/upgrade.yml index ed97d539c..c0e3b19a4 100644 --- a/ansible/roles/heat/tasks/upgrade.yml +++ b/ansible/roles/heat/tasks/upgrade.yml @@ -1 +1,7 @@ --- +- include: config.yml + +- include: bootstrap_service.yml + +- include: start.yml + serial: "30%" diff --git a/docker/heat/heat-api/extend_start.sh b/docker/heat/heat-api/extend_start.sh index ca4f83da5..9c1e5ba3b 100644 --- a/docker/heat/heat-api/extend_start.sh +++ b/docker/heat/heat-api/extend_start.sh @@ -4,10 +4,14 @@ # of the KOLLA_BOOTSTRAP variable being set, including empty. if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then heat-manage db_sync - openstack domain create heat - openstack user create --domain heat heat_domain_admin --password ${HEAT_DOMAIN_ADMIN_PASSWORD} - openstack role add --domain heat --user heat_domain_admin admin - openstack role create heat_stack_owner - openstack role create heat_stack_user + CURRENT_HEAT_DOMAIN_NAME=$(openstack domain list | grep heat | awk '{print $4}') + + if [[ "heat" != "$CURRENT_HEAT_DOMAIN_NAME" ]]; then + openstack domain create heat + openstack user create --domain heat heat_domain_admin --password ${HEAT_DOMAIN_ADMIN_PASSWORD} + openstack role add --domain heat --user heat_domain_admin admin + openstack role create heat_stack_owner + openstack role create heat_stack_user + fi exit 0 fi |
