From d2c30dfe38cddec0760c191113398b17a2740c4f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Evrard Date: Thu, 5 Jul 2018 14:49:08 +0200 Subject: [PATCH] Use a static inventory skeleton This provides a default static inventory, to complement the current dynamic inventory. It provides the ability to staticly define groups and their hierarchy in an easier way than the dynamic inventory. It can also be used as a basis for deployers to use their own inventory in /etc/openstack_deploy/inventory.ini. Change-Id: If9672e3a5794c36b7735ec3d34dc93f5bf79504b --- inventory/group_vars/physical_hosts.yml | 2 + inventory/inventory.ini | 199 ++++++++++++++++++++++++ scripts/openstack-ansible.rc | 8 +- 3 files changed, 202 insertions(+), 7 deletions(-) create mode 100644 inventory/group_vars/physical_hosts.yml create mode 100644 inventory/inventory.ini diff --git a/inventory/group_vars/physical_hosts.yml b/inventory/group_vars/physical_hosts.yml new file mode 100644 index 0000000000..223660b5e9 --- /dev/null +++ b/inventory/group_vars/physical_hosts.yml @@ -0,0 +1,2 @@ +--- +is_metal: True diff --git a/inventory/inventory.ini b/inventory/inventory.ini new file mode 100644 index 0000000000..8c26d8f345 --- /dev/null +++ b/inventory/inventory.ini @@ -0,0 +1,199 @@ +## This inventory contains a base structure, +## a reference for deployers, allowing them +## to extend how they like it. + +# hosts is an ansible reserved term. +# We should move away from it, but in between +# we keep this for compatibility reasons. +[physical_hosts:children] +hosts +[hosts] + +## Mandatory groups for the setup-infra playbooks +[etcd_all] + +[galera_all] + +[haproxy] + +[memcached] + +[rabbitmq_all] + +[repo_all] + +[rsyslog] + +[unbound] + +[utility_all] + +## Mandatory groups for the setup-openstack playbooks +[aodh_all:children] +aodh_alarm_evaluator +aodh_alarm_notifier +aodh_api +aodh_listener + +[aodh_alarm_evaluator] +[aodh_alarm_notifier] +[aodh_api] +[aodh_listener] + +[barbican_all] + +[ceilometer_all:children] +ceilometer_agent_central +ceilometer_agent_compute +ceilometer_agent_notification +ceilometer_alarm_evaluator +ceilometer_alarm_notifier +ceilometer_api +ceilometer_collector + +[ceilometer_agent_central] +[ceilometer_agent_compute] +[ceilometer_agent_notification] +[ceilometer_alarm_evaluator] +[ceilometer_alarm_notifier] +[ceilometer_api] +[ceilometer_collector] + +[ceph_all:children] +ceph-mon +ceph-osd +ceph-rgw + +[ceph-mon] +[ceph-osd] +[ceph-rgw] + +[cinder_all:children] +cinder_api +cinder_backup +cinder_scheduler +cinder_volume +[cinder_api] +[cinder_backup] +[cinder_scheduler] +[cinder_volume] +#[cinder_volumes_container] + +[designate_all] + +[elasticsearch] + +[glance_all:children] +glance_api +glance_registry +[glance_api] +[glance_registry] + +[gnocchi_all:children] +gnocchi_api +gnocchi_metricd +[gnocchi_api] +[gnocchi_metricd] + +[heat_all:children] +heat_api +heat_api_cfn +heat_api_cloudwatch +heat_engine +[heat_api] +[heat_api_cfn] +[heat_api_cloudwatch] +[heat_engine] + +[horizon_all] + +[ironic_all:children] +ironic_api +ironic_compute +ironic_conductor +ironic_server +[ironic_api] +[ironic_compute] +[ironic_conductor] +[ironic_server] + +[keystone_all] + +[kibana] + +[logstash] + +[magnum_all] + +[molteniron_all] + +[neutron_all:children] +neutron_agent +neutron_bgp_dragent +neutron_dhcp_agent +neutron_l3_agent +neutron_lbaas_agent +neutron_linuxbridge_agent +neutron_metadata_agent +neutron_metering_agent +neutron_openvswitch_agent +neutron_server +neutron_sriov_nic_agent +[neutron_agent] +[neutron_bgp_dragent] +[neutron_dhcp_agent] +[neutron_l3_agent] +[neutron_lbaas_agent] +[neutron_linuxbridge_agent] +[neutron_metadata_agent] +[neutron_metering_agent] +[neutron_openvswitch_agent] +[neutron_server] +[neutron_sriov_nic_agent] + +[nova_all:children] +nova_api_metadata +nova_api_placement +nova_api_os_compute +nova_cert +nova_compute +nova_conductor +nova_console +nova_scheduler +[nova_api_metadata] +[nova_api_placement] +[nova_api_os_compute] +[nova_cert] +[nova_compute] +[nova_conductor] +[nova_console] +[nova_scheduler] + +[octavia_all] + +[rsyslog_all] + +[sahara_all:children] +sahara_api +sahara_engine +[sahara_api] +[sahara_engine] + +[swift_all:children] +swift_acc +swift_cont +swift_obj +swift_proxy +swift_remote +[swift_acc] +[swift_cont] +[swift_obj] +[swift_proxy] +[swift_remote] + +[swift_remote_all] + +[tacker_all] + +[trove_all] + diff --git a/scripts/openstack-ansible.rc b/scripts/openstack-ansible.rc index f9e60fc909..3324c8148e 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/dynamic_inventory.py,/etc/openstack_deploy/inventory.ini}" +export ANSIBLE_INVENTORY="${ANSIBLE_INVENTORY:-OSA_INVENTORY_PATH/dynamic_inventory.py,OSA_INVENTORY_PATH/inventory.ini,/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 @@ -53,9 +53,3 @@ export ANSIBLE_STRATEGY_PLUGINS="${ANSIBLE_STRATEGY_PLUGINS:-/etc/ansible/roles/ export ANSIBLE_CONNECTION_PLUGINS="${ANSIBLE_CONNECTION_PLUGINS:-/etc/ansible/roles/plugins/connection}" export ANSIBLE_FORCE_HANDLERS="${ANSIBLE_FORCE_HANDLERS:-True}" -# Extra non-ansible default variables to use with vars_plugin. -# Allow the usage of userspace group_vars host_vars with user -# defined precedence until this behavior is merged in the -# inventory -export GROUP_VARS_PATH="${GROUP_VARS_PATH:-OSA_GROUP_VARS_DIR:/etc/openstack_deploy/group_vars/}" -export HOST_VARS_PATH="${HOST_VARS_PATH:-OSA_HOST_VARS_DIR:/etc/openstack_deploy/host_vars/}"