diff --git a/playbooks/defaults/repo_packages/openstack_services.yml b/playbooks/defaults/repo_packages/openstack_services.yml index d52d9634af..0fd891b437 100644 --- a/playbooks/defaults/repo_packages/openstack_services.yml +++ b/playbooks/defaults/repo_packages/openstack_services.yml @@ -66,7 +66,7 @@ keystone_git_dest: "/opt/keystone_{{ keystone_git_install_branch | replace('/', ## Neutron service neutron_git_repo: https://git.openstack.org/openstack/neutron -neutron_git_install_branch: 5c477abcb97fda88aa00d6d5cf17fc1a6ac9796a # HEAD of "master" as of 15.08.2015 +neutron_git_install_branch: 72f9f09398802f2187c8cffd777b4de2ae71de77 # HEAD of "master" as of 01.09.2015 neutron_git_dest: "/opt/neutron_{{ neutron_git_install_branch | replace('/', '_') }}" neutron_lbaas_git_repo: https://git.openstack.org/openstack/neutron-lbaas diff --git a/playbooks/roles/os_neutron/tasks/neutron_db_setup.yml b/playbooks/roles/os_neutron/tasks/neutron_db_setup.yml index 9852925c4f..8a968c71eb 100644 --- a/playbooks/roles/os_neutron/tasks/neutron_db_setup.yml +++ b/playbooks/roles/os_neutron/tasks/neutron_db_setup.yml @@ -39,66 +39,73 @@ tags: - neutron-db-setup -- name: Inspect on disk neutron DB revision - command: > - cat {{ neutron_system_home_folder }}/neutron-revision - failed_when: false - changed_when: neutron_revision_on_disk.rc != 0 - register: neutron_revision_on_disk - tags: - - neutron-db-setup - - neutron-upgrade - - neutron-stamp - -- name: Check last DB revision +- name: Check for existing migrations shell: | - neutron-db-manage history | head -1 | tee {{ neutron_system_home_folder }}/neutron-revision - register: neutron_revision + neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} current | egrep "^[0-9a-z]{12}" sudo: yes sudo_user: "{{ neutron_system_user_name }}" - delegate_to: "{{ item }}" - with_items: groups['neutron_all'] + failed_when: false + register: neutron_migrations_previously_run tags: - neutron-db-setup - neutron-upgrade - - neutron-stamp -- name: Stop neutron server - service: - name: "neutron-server" - state: stopped - pattern: "neutron-server" - ignore_errors: true - when: neutron_revision.results.0.stdout != neutron_revision_on_disk.stdout - tags: - - neutron-db-setup - - neutron-stamp - -- name: Perform a Neutron DB Upgrade +- name: Perform an initial Neutron DB sync command: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} upgrade {{ neutron_db_revision }} sudo: yes sudo_user: "{{ neutron_system_user_name }}" - when: > - neutron_revision.results.0.stdout != neutron_revision_on_disk.stdout - notify: Restart neutron services + when: neutron_migrations_previously_run.rc == 1 tags: - neutron-db-setup - neutron-upgrade - - neutron-stamp -- name: Perform a Neutron DB Stamp +- name: Perform a Neutron DB online upgrade (expand) command: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} - stamp {{ neutron_db_revision }} - when: neutron_revision.results.0.stdout != neutron_revision_on_disk.stdout + upgrade --expand sudo: yes sudo_user: "{{ neutron_system_user_name }}" - notify: Restart neutron services + when: neutron_migrations_previously_run.rc == 0 + tags: + - neutron-db-setup + - neutron-upgrade + +- name: Stop Neutron server + service: + name: "neutron-server" + state: stopped + pattern: "neutron-server" + delegate_to: "{{ item }}" + with_items: groups['neutron_server'] + when: neutron_migrations_previously_run.rc == 0 + tags: + - neutron-db-setup + - neutron-upgrade + +- name: Perform a Neutron DB offline upgrade (contract) + command: | + neutron-db-manage --config-file {{ neutron_db_config }} + --config-file {{ neutron_db_plugin }} + upgrade --contract + sudo: yes + sudo_user: "{{ neutron_system_user_name }}" + when: neutron_migrations_previously_run.rc == 0 + tags: + - neutron-db-setup + - neutron-upgrade + +- name: Start neutron server + service: + name: "neutron-server" + state: started + pattern: "neutron-server" + delegate_to: "{{ item }}" + with_items: groups['neutron_server'] + when: neutron_migrations_previously_run.rc == 0 tags: - neutron-db-setup - neutron-upgrade - - neutron-stamp diff --git a/requirements.txt b/requirements.txt index 6242df40f8..f29cd0ef6c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ cloudlib>=0.3.0 # scripts/os-ansible-role-requirements.py Jinja2>=2.6 # ansible -netaddr>=0.7.12,<0.7.16 # playbooks/inventory/dynamic_inventory.py +netaddr>=0.7.12 # playbooks/inventory/dynamic_inventory.py paramiko>=1.13.0 # ansible pip>=6.0 PrettyTable>=0.7,<0.8 # scripts/inventory-manage.py