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
This commit is contained in:
Jean-Philippe Evrard 2018-07-05 14:49:08 +02:00
parent bea8db0835
commit d2c30dfe38
3 changed files with 202 additions and 7 deletions

View File

@ -0,0 +1,2 @@
---
is_metal: True

199
inventory/inventory.ini Normal file
View File

@ -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]

View File

@ -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/}"