diff --git a/group_vars/all/all.yml b/playbooks/inventory/group_vars/all/all.yml similarity index 100% rename from group_vars/all/all.yml rename to playbooks/inventory/group_vars/all/all.yml diff --git a/group_vars/all/ceph.yml b/playbooks/inventory/group_vars/all/ceph.yml similarity index 100% rename from group_vars/all/ceph.yml rename to playbooks/inventory/group_vars/all/ceph.yml diff --git a/group_vars/all/cinder.yml b/playbooks/inventory/group_vars/all/cinder.yml similarity index 100% rename from group_vars/all/cinder.yml rename to playbooks/inventory/group_vars/all/cinder.yml diff --git a/group_vars/all/glance.yml b/playbooks/inventory/group_vars/all/glance.yml similarity index 100% rename from group_vars/all/glance.yml rename to playbooks/inventory/group_vars/all/glance.yml diff --git a/group_vars/all/infra.yml b/playbooks/inventory/group_vars/all/infra.yml similarity index 100% rename from group_vars/all/infra.yml rename to playbooks/inventory/group_vars/all/infra.yml diff --git a/group_vars/all/keystone.yml b/playbooks/inventory/group_vars/all/keystone.yml similarity index 100% rename from group_vars/all/keystone.yml rename to playbooks/inventory/group_vars/all/keystone.yml diff --git a/group_vars/all/neutron.yml b/playbooks/inventory/group_vars/all/neutron.yml similarity index 100% rename from group_vars/all/neutron.yml rename to playbooks/inventory/group_vars/all/neutron.yml diff --git a/group_vars/all/nova.yml b/playbooks/inventory/group_vars/all/nova.yml similarity index 100% rename from group_vars/all/nova.yml rename to playbooks/inventory/group_vars/all/nova.yml diff --git a/group_vars/all/octavia.yml b/playbooks/inventory/group_vars/all/octavia.yml similarity index 100% rename from group_vars/all/octavia.yml rename to playbooks/inventory/group_vars/all/octavia.yml diff --git a/group_vars/all/pip.yml b/playbooks/inventory/group_vars/all/pip.yml similarity index 100% rename from group_vars/all/pip.yml rename to playbooks/inventory/group_vars/all/pip.yml diff --git a/group_vars/all/ssl.yml b/playbooks/inventory/group_vars/all/ssl.yml similarity index 100% rename from group_vars/all/ssl.yml rename to playbooks/inventory/group_vars/all/ssl.yml diff --git a/group_vars/all_containers.yml b/playbooks/inventory/group_vars/all_containers.yml similarity index 100% rename from group_vars/all_containers.yml rename to playbooks/inventory/group_vars/all_containers.yml diff --git a/group_vars/aodh_all.yml b/playbooks/inventory/group_vars/aodh_all.yml similarity index 100% rename from group_vars/aodh_all.yml rename to playbooks/inventory/group_vars/aodh_all.yml diff --git a/group_vars/barbican_all.yml b/playbooks/inventory/group_vars/barbican_all.yml similarity index 100% rename from group_vars/barbican_all.yml rename to playbooks/inventory/group_vars/barbican_all.yml diff --git a/group_vars/ceilometer_all.yml b/playbooks/inventory/group_vars/ceilometer_all.yml similarity index 100% rename from group_vars/ceilometer_all.yml rename to playbooks/inventory/group_vars/ceilometer_all.yml diff --git a/group_vars/ceph_all.yml b/playbooks/inventory/group_vars/ceph_all.yml similarity index 100% rename from group_vars/ceph_all.yml rename to playbooks/inventory/group_vars/ceph_all.yml diff --git a/group_vars/cinder_all.yml b/playbooks/inventory/group_vars/cinder_all.yml similarity index 100% rename from group_vars/cinder_all.yml rename to playbooks/inventory/group_vars/cinder_all.yml diff --git a/group_vars/cinder_volume.yml b/playbooks/inventory/group_vars/cinder_volume.yml similarity index 100% rename from group_vars/cinder_volume.yml rename to playbooks/inventory/group_vars/cinder_volume.yml diff --git a/group_vars/designate_all.yml b/playbooks/inventory/group_vars/designate_all.yml similarity index 100% rename from group_vars/designate_all.yml rename to playbooks/inventory/group_vars/designate_all.yml diff --git a/group_vars/galera_all.yml b/playbooks/inventory/group_vars/galera_all.yml similarity index 100% rename from group_vars/galera_all.yml rename to playbooks/inventory/group_vars/galera_all.yml diff --git a/group_vars/glance_all.yml b/playbooks/inventory/group_vars/glance_all.yml similarity index 100% rename from group_vars/glance_all.yml rename to playbooks/inventory/group_vars/glance_all.yml diff --git a/group_vars/gnocchi_all.yml b/playbooks/inventory/group_vars/gnocchi_all.yml similarity index 100% rename from group_vars/gnocchi_all.yml rename to playbooks/inventory/group_vars/gnocchi_all.yml diff --git a/group_vars/haproxy_all/haproxy.yml b/playbooks/inventory/group_vars/haproxy_all/haproxy.yml similarity index 100% rename from group_vars/haproxy_all/haproxy.yml rename to playbooks/inventory/group_vars/haproxy_all/haproxy.yml diff --git a/group_vars/haproxy_all/keepalived.yml b/playbooks/inventory/group_vars/haproxy_all/keepalived.yml similarity index 100% rename from group_vars/haproxy_all/keepalived.yml rename to playbooks/inventory/group_vars/haproxy_all/keepalived.yml diff --git a/group_vars/heat_all.yml b/playbooks/inventory/group_vars/heat_all.yml similarity index 100% rename from group_vars/heat_all.yml rename to playbooks/inventory/group_vars/heat_all.yml diff --git a/group_vars/horizon_all.yml b/playbooks/inventory/group_vars/horizon_all.yml similarity index 100% rename from group_vars/horizon_all.yml rename to playbooks/inventory/group_vars/horizon_all.yml diff --git a/group_vars/hosts.yml b/playbooks/inventory/group_vars/hosts.yml similarity index 100% rename from group_vars/hosts.yml rename to playbooks/inventory/group_vars/hosts.yml diff --git a/group_vars/ironic-compute_hosts.yml b/playbooks/inventory/group_vars/ironic-compute_hosts.yml similarity index 100% rename from group_vars/ironic-compute_hosts.yml rename to playbooks/inventory/group_vars/ironic-compute_hosts.yml diff --git a/group_vars/ironic_all.yml b/playbooks/inventory/group_vars/ironic_all.yml similarity index 100% rename from group_vars/ironic_all.yml rename to playbooks/inventory/group_vars/ironic_all.yml diff --git a/group_vars/ironic_compute.yml b/playbooks/inventory/group_vars/ironic_compute.yml similarity index 100% rename from group_vars/ironic_compute.yml rename to playbooks/inventory/group_vars/ironic_compute.yml diff --git a/group_vars/keystone_all.yml b/playbooks/inventory/group_vars/keystone_all.yml similarity index 100% rename from group_vars/keystone_all.yml rename to playbooks/inventory/group_vars/keystone_all.yml diff --git a/group_vars/kvm-compute_hosts.yml b/playbooks/inventory/group_vars/kvm-compute_hosts.yml similarity index 100% rename from group_vars/kvm-compute_hosts.yml rename to playbooks/inventory/group_vars/kvm-compute_hosts.yml diff --git a/group_vars/lxd-compute_hosts.yml b/playbooks/inventory/group_vars/lxd-compute_hosts.yml similarity index 100% rename from group_vars/lxd-compute_hosts.yml rename to playbooks/inventory/group_vars/lxd-compute_hosts.yml diff --git a/group_vars/magnum_all.yml b/playbooks/inventory/group_vars/magnum_all.yml similarity index 100% rename from group_vars/magnum_all.yml rename to playbooks/inventory/group_vars/magnum_all.yml diff --git a/group_vars/memcached.yml b/playbooks/inventory/group_vars/memcached.yml similarity index 100% rename from group_vars/memcached.yml rename to playbooks/inventory/group_vars/memcached.yml diff --git a/group_vars/network_hosts.yml b/playbooks/inventory/group_vars/network_hosts.yml similarity index 100% rename from group_vars/network_hosts.yml rename to playbooks/inventory/group_vars/network_hosts.yml diff --git a/group_vars/neutron_agent.yml b/playbooks/inventory/group_vars/neutron_agent.yml similarity index 100% rename from group_vars/neutron_agent.yml rename to playbooks/inventory/group_vars/neutron_agent.yml diff --git a/group_vars/neutron_all.yml b/playbooks/inventory/group_vars/neutron_all.yml similarity index 100% rename from group_vars/neutron_all.yml rename to playbooks/inventory/group_vars/neutron_all.yml diff --git a/group_vars/neutron_calico_dhcp_agent.yml b/playbooks/inventory/group_vars/neutron_calico_dhcp_agent.yml similarity index 100% rename from group_vars/neutron_calico_dhcp_agent.yml rename to playbooks/inventory/group_vars/neutron_calico_dhcp_agent.yml diff --git a/group_vars/nova_all.yml b/playbooks/inventory/group_vars/nova_all.yml similarity index 100% rename from group_vars/nova_all.yml rename to playbooks/inventory/group_vars/nova_all.yml diff --git a/group_vars/octavia_all.yml b/playbooks/inventory/group_vars/octavia_all.yml similarity index 100% rename from group_vars/octavia_all.yml rename to playbooks/inventory/group_vars/octavia_all.yml diff --git a/group_vars/powervm-compute_hosts.yml b/playbooks/inventory/group_vars/powervm-compute_hosts.yml similarity index 100% rename from group_vars/powervm-compute_hosts.yml rename to playbooks/inventory/group_vars/powervm-compute_hosts.yml diff --git a/group_vars/qemu-compute_hosts.yml b/playbooks/inventory/group_vars/qemu-compute_hosts.yml similarity index 100% rename from group_vars/qemu-compute_hosts.yml rename to playbooks/inventory/group_vars/qemu-compute_hosts.yml diff --git a/group_vars/rabbitmq_all.yml b/playbooks/inventory/group_vars/rabbitmq_all.yml similarity index 100% rename from group_vars/rabbitmq_all.yml rename to playbooks/inventory/group_vars/rabbitmq_all.yml diff --git a/group_vars/repo_all.yml b/playbooks/inventory/group_vars/repo_all.yml similarity index 100% rename from group_vars/repo_all.yml rename to playbooks/inventory/group_vars/repo_all.yml diff --git a/group_vars/rsyslog.yml b/playbooks/inventory/group_vars/rsyslog.yml similarity index 100% rename from group_vars/rsyslog.yml rename to playbooks/inventory/group_vars/rsyslog.yml diff --git a/group_vars/sahara_all.yml b/playbooks/inventory/group_vars/sahara_all.yml similarity index 100% rename from group_vars/sahara_all.yml rename to playbooks/inventory/group_vars/sahara_all.yml diff --git a/group_vars/swift_all.yml b/playbooks/inventory/group_vars/swift_all.yml similarity index 100% rename from group_vars/swift_all.yml rename to playbooks/inventory/group_vars/swift_all.yml diff --git a/group_vars/tacker_all.yml b/playbooks/inventory/group_vars/tacker_all.yml similarity index 100% rename from group_vars/tacker_all.yml rename to playbooks/inventory/group_vars/tacker_all.yml diff --git a/group_vars/trove_all.yml b/playbooks/inventory/group_vars/trove_all.yml similarity index 100% rename from group_vars/trove_all.yml rename to playbooks/inventory/group_vars/trove_all.yml diff --git a/group_vars/utility_all.yml b/playbooks/inventory/group_vars/utility_all.yml similarity index 100% rename from group_vars/utility_all.yml rename to playbooks/inventory/group_vars/utility_all.yml diff --git a/host_vars/localhost/ceilometer.yml b/playbooks/inventory/host_vars/localhost/ceilometer.yml similarity index 100% rename from host_vars/localhost/ceilometer.yml rename to playbooks/inventory/host_vars/localhost/ceilometer.yml diff --git a/host_vars/localhost/cinder.yml b/playbooks/inventory/host_vars/localhost/cinder.yml similarity index 100% rename from host_vars/localhost/cinder.yml rename to playbooks/inventory/host_vars/localhost/cinder.yml diff --git a/host_vars/localhost/neutron.yml b/playbooks/inventory/host_vars/localhost/neutron.yml similarity index 100% rename from host_vars/localhost/neutron.yml rename to playbooks/inventory/host_vars/localhost/neutron.yml diff --git a/host_vars/localhost/nova.yml b/playbooks/inventory/host_vars/localhost/nova.yml similarity index 100% rename from host_vars/localhost/nova.yml rename to playbooks/inventory/host_vars/localhost/nova.yml diff --git a/host_vars/localhost/swift.yml b/playbooks/inventory/host_vars/localhost/swift.yml similarity index 100% rename from host_vars/localhost/swift.yml rename to playbooks/inventory/host_vars/localhost/swift.yml diff --git a/host_vars/localhost.yml b/playbooks/inventory/host_vars/localhost/unbound.yml similarity index 100% rename from host_vars/localhost.yml rename to playbooks/inventory/host_vars/localhost/unbound.yml diff --git a/scripts/bootstrap-ansible.sh b/scripts/bootstrap-ansible.sh index 90598fd447..2ede0d2f58 100755 --- a/scripts/bootstrap-ansible.sh +++ b/scripts/bootstrap-ansible.sh @@ -22,7 +22,7 @@ set -e -u -x ## Vars ---------------------------------------------------------------------- export HTTP_PROXY=${HTTP_PROXY:-""} export HTTPS_PROXY=${HTTPS_PROXY:-""} -export ANSIBLE_PACKAGE=${ANSIBLE_PACKAGE:-"ansible==2.3.2.0"} +export ANSIBLE_PACKAGE=${ANSIBLE_PACKAGE:-"ansible==2.4.2.0"} export ANSIBLE_ROLE_FILE=${ANSIBLE_ROLE_FILE:-"ansible-role-requirements.yml"} export SSH_DIR=${SSH_DIR:-"/root/.ssh"} export DEBIAN_FRONTEND=${DEBIAN_FRONTEND:-"noninteractive"} @@ -194,8 +194,6 @@ popd # Write the OSA Ansible rc file sed "s|OSA_INVENTORY_PATH|${OSA_INVENTORY_PATH}|g" scripts/openstack-ansible.rc > /usr/local/bin/openstack-ansible.rc sed -i "s|OSA_PLAYBOOK_PATH|${OSA_PLAYBOOK_PATH}|g" /usr/local/bin/openstack-ansible.rc -sed -i "s|OSA_GROUP_VARS_DIR|${OSA_CLONE_DIR}/group_vars/|g" /usr/local/bin/openstack-ansible.rc -sed -i "s|OSA_HOST_VARS_DIR|${OSA_CLONE_DIR}/host_vars/|g" /usr/local/bin/openstack-ansible.rc # Create openstack ansible wrapper tool @@ -238,6 +236,13 @@ if [[ "\${PWD}" == *"${OSA_CLONE_DIR}"* ]] || [ "\${RUN_CMD}" == "openstack-ansi # Source the Ansible configuration. . /usr/local/bin/openstack-ansible.rc + # Load userspace group vars + if [[ -d /etc/openstack_deploy/group_vars || -d /etc/openstack_deploy/host_vars ]]; then + if [[ ! -f /etc/openstack_deploy/inventory.ini ]]; then + echo '[all]' > /etc/openstack_deploy/inventory.ini + fi + fi + # Check whether there are any user configuration files if ls -1 /etc/openstack_deploy/user_*.yml &> /dev/null; then diff --git a/scripts/openstack-ansible.rc b/scripts/openstack-ansible.rc index 704f8644ea..07e220dccc 100644 --- a/scripts/openstack-ansible.rc +++ b/scripts/openstack-ansible.rc @@ -14,7 +14,7 @@ export ANSIBLE_RETRY_FILES_ENABLED="${ANSIBLE_RETRY_FILES_ENABLED:-False}" -export ANSIBLE_INVENTORY="${ANSIBLE_INVENTORY:-OSA_INVENTORY_PATH}" +export ANSIBLE_INVENTORY="${ANSIBLE_INVENTORY:-OSA_INVENTORY_PATH/dynamic_inventory.py,/etc/openstack_deploy/inventory.ini}" export ANSIBLE_LOG_PATH="${ANSIBLE_LOG_PATH:-/openstack/log/ansible-logging/ansible.log}" mkdir -p "$(dirname ${ANSIBLE_LOG_PATH})" || unset ANSIBLE_LOG_PATH