Thanks for the response...
It was failing at nova-status upgrade status check. some computes were in version 61. But the oldest supported version is 66. Since it's a test environment, I want to bypass that. It worked only when I changed to false in the ansible_facts folder for that containers file. So some queries

1. If we manually change the supported version to a value in the objects/status.py file, will it really affect the compute node's operation after the upgrade ?

2. why is the file etc/ansible/facts.d/openstack_ansible.fact,
always empty ? It seems to write something into it while running the playbook. After the run, it's empty...

3. there r diff kinds of variables in ansible like vars, defaults, group_vars, facts etc... what r the ways available or possible to override these variables ? specifically in openstack ansible atleast ? not every variable is affected by passing -e option during the playbook


On Fri, 18 Apr 2025, 12:28 Dmitriy Rabotyagov, <noonedeadpunk@gmail.com> wrote:
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/tasks/nova_db_post_setup.yml#L47-L58

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 ?