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 ?