So there is no way to manually disable `need_online_data_migrations` behaviour. It is changed to `false` in /etc/ansible/facts.d/openstack_ansible.fact once `nova-manage db online_data_migrations` is completed successfully here: https://opendev.org/openstack/openstack-ansible-os_nova/src/branch/master/ta... What is the reason why you look into that? Is "nova-manage db online_data_migrations" failing for you? As in this case you totally need to fix the reason for failure rather than look into how to skip them. пт, 18 апр. 2025 г. в 05:32, <jijisa@iorchard.co.kr>:
Hi, I am not an openstack-ansible user but have used ansible for a while. You are passing a variable(need_online_data_migrations) with a string('False') value. So it is always true.
Pass a variable in a json format if it is a boolean variable. Try -e '{"need_online_data_migrations": false}' in your ansible-playbook command.
engineer2024 wrote:
When running the n os-nova playbook, I want to disable need_online_data_migrations in the nova role. I tried this pasing to the playbook '-e need_online_data_migrations=False', but it did not work. tried deleting the fact file for the nova containers at /etc/openstack_deploy/ansible_facts. folder. still it did not work. It is resetting each time to 'True'
Finally I hardcoded in the file /etc/ansible/roles/os_nova/tasks/nova_install.yml
---- - name: Install the python venv import_role: name: "python_venv_build" vars: venv_python_executable: "{{ nova_venv_python_executable }}" venv_build_constraints: "{{ nova_git_constraints }}" venv_build_distro_package_list: "{{ nova_devel_distro_packages }}" venv_install_destination_path: "{{ nova_bin | dirname }}" venv_pip_install_args: "{{ nova_pip_install_args }}" venv_packages_to_symlink: >- {{ (nova_services['nova-compute']['group'] in group_names and nova_virt_type != 'ironic') | ternary(nova_compute_kvm_packages_to_symlink, []) }} venv_pip_packages: "{{ nova_venv_packages }}" venv_facts_when_changed: - section: "nova" option: "need_service_restart" value: "True" - section: "nova" option: "need_online_data_migrations" value: "False" - section: "nova" option: "venv_tag" value: "{{ nova_venv_tag }}" when: nova_install_method == 'source'
- name: Record local facts for distro path when: nova_install_method == 'distro' block: - name: Record the osa version deployed ini_file: dest: "/etc/ansible/facts.d/openstack_ansible.fact" section: nova option: venv_tag value: "{{ nova_venv_tag }}" mode: "0644"
- name: Initialise the upgrade facts ini_file: dest: "/etc/ansible/facts.d/openstack_ansible.fact" section: nova option: "{{ item.name }}" value: "{{ item.state }}" mode: "0644" with_items: - name: "need_service_restart" state: "True" - name: "need_online_data_migrations" state: "False" when: - (install_packages is changed) or (ansible_local is not defined) or ('openstack_ansible' not in ansible_local) or ('nova' not in ansible_local['openstack_ansible']) or ('need_online_data_migrations' not in ansible_local['openstack_ansible']['nova']) or ('need_service_restart' not in ansible_local['openstack_ansible']['nova']) ----------
how to override it without hardcoding it ?