Skip to content
Snippets Groups Projects
upgrade.sh 2.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/bash
    
    set -o xtrace
    set -o errexit
    
    # Enable unbuffered output for Ansible in Jenkins.
    export PYTHONUNBUFFERED=1
    
    
    function upgrade {
        RAW_INVENTORY=/etc/kolla/inventory
    
        source $KOLLA_ANSIBLE_VENV_PATH/bin/activate
    
    
        kolla-ansible -i ${RAW_INVENTORY} -vvv prechecks --skip-tags rabbitmq-ha-precheck &> /tmp/logs/ansible/upgrade-prechecks
    
        kolla-ansible -i ${RAW_INVENTORY} -vvv pull &> /tmp/logs/ansible/pull-upgrade
    
    
        # NOTE(mattcrees): As om_enable_rabbitmq_high_availability now defaults to
        # true in Bobcat, we need to perform a migration to durable queues.
        # TODO(mattcrees): Remove these steps in Caracal (and the precheck flag above).
        SERVICE_TAGS="heat,keystone,neutron,nova"
        if [[ $SCENARIO == "zun" ]] || [[ $SCENARIO == "cephadm" ]]; then
            SERVICE_TAGS+=",cinder"
        fi
        if [[ $SCENARIO == "scenario_nfv" ]]; then
            SERVICE_TAGS+=",barbican"
        fi
        if [[ $SCENARIO == "ironic" ]]; then
            SERVICE_TAGS+=",ironic"
        fi
        if [[ $SCENARIO == "masakari" ]]; then
            SERVICE_TAGS+=",masakari"
        fi
        if [[ $SCENARIO == "ovn" ]] || [[ $SCENARIO == "octavia" ]]; then
            SERVICE_TAGS+=",octavia"
        fi
        if [[ $SCENARIO == "magnum" ]]; then
            SERVICE_TAGS+=",magnum,designate"
        fi
        kolla-ansible -i ${RAW_INVENTORY} -vvv stop --tags $SERVICE_TAGS --yes-i-really-really-mean-it &> /tmp/logs/ansible/stop
        kolla-ansible -i ${RAW_INVENTORY} -vvv genconfig &> /tmp/logs/ansible/genconfig
        kolla-ansible -i ${RAW_INVENTORY} -vvv reconfigure --tags rabbitmq &> /tmp/logs/ansible/reconfigure-rabbitmq
        kolla-ansible -i ${RAW_INVENTORY} -vvv rabbitmq-reset-state &> /tmp/logs/ansible/rabbitmq-reset-state
    
    
        kolla-ansible -i ${RAW_INVENTORY} -vvv upgrade &> /tmp/logs/ansible/upgrade
    
    
        # NOTE(yoctozepto): These actions remove the leftovers of the admin port.
        # TODO(yoctozepto): Remove after Zed.
        kolla-ansible -i ${RAW_INVENTORY} -vvv deploy --tags keystone &> /tmp/logs/ansible/upgrade-deploy
        kolla-ansible -i ${RAW_INVENTORY} -vvv post-deploy &> /tmp/logs/ansible/upgrade-post-deploy
    
    
        kolla-ansible -i ${RAW_INVENTORY} -vvv validate-config &> /tmp/logs/ansible/validate-config