Ansible playbooks for deploying OpenStack.
Go to file
Damian Dabrowski 60750a2796 Gather facts before including common-playbooks
For nova, neutron and cinder, haproxy service is configured before
playbooks from common-playbooks/ are included(and facts for these hosts
are gathered). Eventually, haproxy config tasks are executed without
common facts.

It may lead to several corner cases. For example, after facts cache
expires and user runs os-nova-install.yml, haproxy config('Create
haproxy service config files' task) will fail because
`haproxy_service_configs` uses `nova_console_type` variable which needs
`ansible_facts['architecture']`. It can be easily reproduced with:
```
rm -rf /etc/openstack_deploy/ansible_facts/ && \
openstack-ansible /opt/openstack-ansible/playbooks/os-nova-install.yml
```

As a solution, this change gathers facts at the beginning of
os-<service>-install.yml playbooks, instead of doing this inside
common-playbooks/<service>.yml.

This bug was not detected by CI because during deployment process,
hardware facts are gathered for all hosts (at least) by
security-hardening.yml. As long as they exists in cache everything works
fine.

Change-Id: I27073a1bf85294ff65bde24cae939f28f5c69bd7
2023-07-11 21:00:19 +02:00
deploy-guide/source Start 2023.2 (Bobcat) development 2023-06-06 17:08:01 +00:00
doc Merge "Start 2023.2 (Bobcat) development" 2023-06-07 20:36:00 +00:00
etc Rename container_address to management_address 2023-05-22 09:57:17 +02:00
inventory Merge "Enable S3 API by default" 2023-07-07 06:56:28 +00:00
osa_toolkit Add management_ip option for metal hosts 2023-05-22 11:53:55 +02:00
playbooks Gather facts before including common-playbooks 2023-07-11 21:00:19 +02:00
releasenotes Merge "Enable S3 API by default" 2023-07-07 06:56:28 +00:00
scripts Return PIP_OPTS for load_nodepool_pip_opts 2023-07-06 18:36:24 +02:00
tests Merge "Allow to run only specific tags from bootstrap-host role" 2023-06-08 09:49:26 +00:00
zuul.d Start 2023.2 (Bobcat) development 2023-06-06 17:08:01 +00:00
.ansible-lint Bump ansible-lint version 2021-05-31 10:03:26 +00:00
.gitignore Remove non-working dynamic build of AIO scenario table 2018-09-16 10:49:29 +02:00
.gitreview OpenDev Migration Patch 2019-04-19 19:48:42 +00:00
ansible-collection-requirements.yml Merge "Bump ansible collection requirements to latest releases" 2023-04-10 12:42:14 +00:00
ansible-role-requirements.yml Start 2023.2 (Bobcat) development 2023-06-06 17:08:01 +00:00
ansible-role-requirements.yml.example Convert existing roles into galaxy roles 2015-02-18 10:56:25 +00:00
bindep.txt Remove python2 packages from bindep.txt 2020-09-30 06:53:58 +00:00
CONTRIBUTING.rst [ussuri][goal] Update contributor documentation 2020-05-14 18:05:24 +03:00
global-requirement-pins.txt Pin version of setuptools 2023-06-22 11:04:36 +02:00
LICENSE.txt Correct path to callback plugins in gate script 2016-02-01 16:52:54 +00:00
README.rst Update contributors guide to reflect IRC network change 2021-06-01 09:24:04 +00:00
requirements.txt Re-adding PrettyTable dependency 2021-04-03 06:08:03 +00:00
run_tests.sh Replace usage of which with command 2022-09-29 12:17:56 +00:00
setup.cfg Install dynamic-inventory as console_script 2022-12-06 17:18:42 +00:00
setup.py Cleanup py27 support 2022-08-15 11:12:16 +08:00
test-requirements.txt Restore dynamic_inventory unit testing 2023-01-11 10:14:43 +00:00
tox.ini Restore dynamic_inventory unit testing 2023-01-11 10:14:43 +00:00
Vagrantfile Remove support for Ubuntu Bionic 2021-12-15 13:22:10 +00:00

Team and repository tags

image

OpenStack-Ansible

OpenStack-Ansible is an official OpenStack project which aims to deploy production environments from source in a way that makes it scalable while also being simple to operate, upgrade, and grow.

For an overview of the mission, repositories and related Wiki home page, please see the formal Home Page for the project.

For those looking to test OpenStack-Ansible using an All-In-One (AIO) build, please see the Quick Start guide.

For more detailed Installation and Operator documentation, please see the Deployment Guide.

If OpenStack-Ansible is missing something you'd like to see included, then we encourage you to see the Developer Documentation for more details on how you can get involved.

Developers wishing to work on the OpenStack-Ansible project should always base their work on the latest code, available from the master GIT repository at Source.

If you have some questions, or would like some assistance with achieving your goals, then please feel free to reach out to us on the OpenStack Mailing Lists (particularly openstack-discuss) or on IRC in #openstack-ansible on the OFTC network.

OpenStack-Ansible Roles

OpenStack-Ansible offers separate role repositories for each individual role that OpenStack-Ansible supports. For individual role configuration options, see the Role Documentation.

An individual role's source code can be found at: https://opendev.org/openstack/openstack-ansible-<ROLENAME>.

Resources