diff --git a/ansible/roles/bifrost/tasks/stop.yml b/ansible/roles/bifrost/tasks/stop.yml index 9a54ab6fc8..02c8f7583a 100644 --- a/ansible/roles/bifrost/tasks/stop.yml +++ b/ansible/roles/bifrost/tasks/stop.yml @@ -1,10 +1,35 @@ --- -- name: Stopping bifrost_deploy container - become: true - kolla_docker: - action: "stop_container" - common_options: "{{ docker_common_options }}" - name: "bifrost_deploy" +- block: + - name: Check if bifrost_deploy container is running + become: true + kolla_container_facts: + name: + - bifrost_deploy + register: container_facts + + - block: + # Ensure that all services are stopped gracefully, and in a sensible + # order. + - name: Stop services gracefully + become: true + command: docker exec bifrost_deploy systemctl stop {{ item }}.service + with_items: + - ironic-api + - ironic-conductor + - ironic-inspector + - mariadb + - rabbitmq-server + - nginx + + - name: Stopping bifrost_deploy container + become: true + kolla_docker: + action: "stop_container" + common_options: "{{ docker_common_options }}" + name: "bifrost_deploy" + + when: "'bifrost_deploy' in container_facts" + when: - inventory_hostname in groups['bifrost'] - "'bifrost_deploy' not in skip_stop_containers" diff --git a/ansible/roles/bifrost/tasks/upgrade.yml b/ansible/roles/bifrost/tasks/upgrade.yml index fae82a1da6..a65ad9bc09 100644 --- a/ansible/roles/bifrost/tasks/upgrade.yml +++ b/ansible/roles/bifrost/tasks/upgrade.yml @@ -1,4 +1,5 @@ --- -- include_tasks: config.yml +# Stop the container prior to redeploying it. +- include_tasks: stop.yml -- include_tasks: start.yml +- include_tasks: deploy.yml diff --git a/tools/kolla-ansible b/tools/kolla-ansible index c07ce13c5e..4ff3d42000 100755 --- a/tools/kolla-ansible +++ b/tools/kolla-ansible @@ -70,6 +70,7 @@ Commands: stop Stop Kolla containers certificates Generate self-signed certificate for TLS *For Development Only* upgrade Upgrades existing OpenStack Environment + upgrade-bifrost Upgrades an existing bifrost container genconfig Generate configuration files for enabled OpenStack services EOF } @@ -106,6 +107,7 @@ reconfigure stop certificates upgrade +upgrade-bifrost genconfig EOF } @@ -324,6 +326,11 @@ EOF ACTION="Upgrading OpenStack Environment" EXTRA_OPTS="$EXTRA_OPTS -e kolla_action=upgrade -e kolla_serial=${ANSIBLE_SERIAL}" ;; +(upgrade-bifrost) + ACTION="Upgrading Bifrost" + PLAYBOOK="${BASEDIR}/ansible/bifrost.yml" + EXTRA_OPTS="$EXTRA_OPTS -e kolla_action=upgrade" + ;; (reconfigure) ACTION="Reconfigure OpenStack service" EXTRA_OPTS="$EXTRA_OPTS -e kolla_action=reconfigure -e kolla_serial=${ANSIBLE_SERIAL}"