diff --git a/ansible/group_vars/all/compute b/ansible/group_vars/all/compute index 1204341548da1dbe004e3f662894d44b8940c49c..bd771c31cf4db9fe10109ec01f0dfdec2bf3ef66 100644 --- a/ansible/group_vars/all/compute +++ b/ansible/group_vars/all/compute @@ -12,7 +12,7 @@ compute_bootstrap_user: "{{ lookup('env', 'USER') }}" # List of networks to which compute nodes are attached. compute_network_interfaces: > {{ (compute_default_network_interfaces + - compute_extra_network_interfaces) | unique | list }} + compute_extra_network_interfaces) | reject('none') | unique | list }} # List of default networks to which compute nodes are attached. compute_default_network_interfaces: > diff --git a/ansible/group_vars/all/controllers b/ansible/group_vars/all/controllers index b8ef9f05f1d18bead5a67c6a61cf3aa8e23bf9e1..4d278a9117f05a1fa94a1ad4b8aa74bb43021aae 100644 --- a/ansible/group_vars/all/controllers +++ b/ansible/group_vars/all/controllers @@ -14,7 +14,7 @@ controller_network_interfaces: > {{ (controller_default_network_interfaces + controller_extra_network_interfaces + (controller_network_host_network_interfaces - if inventory_hostname in groups['network'] else [])) | unique | list }} + if inventory_hostname in groups['network'] else [])) | reject('none') | unique | list }} # List of default networks to which controller nodes are attached. controller_default_network_interfaces: > @@ -36,7 +36,7 @@ controller_extra_network_interfaces: [] controller_network_host_network_interfaces: > {{ ([public_net_name, tunnel_net_name] + - external_net_names) | unique | list }} + external_net_names) | reject('none') | unique | list }} ############################################################################### # Controller node BIOS configuration. diff --git a/ansible/group_vars/all/monitoring b/ansible/group_vars/all/monitoring index b89bd340cf025eaefa384c9c8de7f9a66ec848be..d03e4f2ae5e7d9f4c5d0c6a7e1ddc8d8809fdbe0 100644 --- a/ansible/group_vars/all/monitoring +++ b/ansible/group_vars/all/monitoring @@ -14,13 +14,13 @@ monitoring_network_interfaces: > {{ controller_network_interfaces | unique | list if inventory_hostname in groups['controllers'] else (monitoring_default_network_interfaces + - monitoring_extra_network_interfaces) | unique | list }} + monitoring_extra_network_interfaces) | reject('none') | unique | list }} # List of default networks to which monitoring nodes are attached. monitoring_default_network_interfaces: > {{ [admin_oc_net_name, internal_net_name, - public_net_name] | unique | list }} + public_net_name] | reject('none') | unique | list }} # List of extra networks to which monitoring nodes are attached. monitoring_extra_network_interfaces: [] diff --git a/ansible/group_vars/all/seed b/ansible/group_vars/all/seed index 12620ae7958c1d5b95ed3c457947f5f4c139078b..b53b1dbaf3936e519592afe6c6dd1fb883cdbd71 100644 --- a/ansible/group_vars/all/seed +++ b/ansible/group_vars/all/seed @@ -12,13 +12,13 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # List of networks to which seed nodes are attached. seed_network_interfaces: > {{ (seed_default_network_interfaces + - seed_extra_network_interfaces) | unique | list }} + seed_extra_network_interfaces) | reject('none') | unique | list }} # List of default networks to which seed nodes are attached. seed_default_network_interfaces: > {{ [admin_oc_net_name, oob_oc_net_name, - provision_oc_net_name] | unique | list }} + provision_oc_net_name] | reject('none') | unique | list }} # List of extra networks to which seed nodes are attached. seed_extra_network_interfaces: [] diff --git a/ansible/group_vars/all/seed-hypervisor b/ansible/group_vars/all/seed-hypervisor index 506b4dbfec760c0e490dc76a088de5539a8b9a8f..0cacd43750af8bead221064be9cbb764826aef13 100644 --- a/ansible/group_vars/all/seed-hypervisor +++ b/ansible/group_vars/all/seed-hypervisor @@ -12,7 +12,7 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" # List of networks to which seed hypervisor nodes are attached. seed_hypervisor_network_interfaces: > {{ (seed_hypervisor_default_network_interfaces + - seed_hypervisor_extra_network_interfaces) | unique | list }} + seed_hypervisor_extra_network_interfaces) | reject('none') | unique | list }} # List of default networks to which seed hypervisor nodes are attached. seed_hypervisor_default_network_interfaces: "{{ seed_default_network_interfaces }}" diff --git a/ansible/group_vars/all/storage b/ansible/group_vars/all/storage index d80572e0eebf7bac6b302f6a9f639b5bb63053cc..3deb1f3b395f47a86819790922fbbdd9a9392d8a 100644 --- a/ansible/group_vars/all/storage +++ b/ansible/group_vars/all/storage @@ -27,7 +27,7 @@ storage_default_network_interfaces: > {{ [admin_oc_net_name, internal_net_name, storage_mgmt_net_name, - storage_net_name] | unique | list }} + storage_net_name] | reject('none') | unique | list }} # List of extra networks to which storage nodes are attached. storage_extra_network_interfaces: [] diff --git a/ansible/kolla-ansible.yml b/ansible/kolla-ansible.yml index 580c823cddd5c29b73fc1899cdaf77ec59f4ce38..ca9b85d71a8fc63b622d4c3dc983ac2c5376e068 100644 --- a/ansible/kolla-ansible.yml +++ b/ansible/kolla-ansible.yml @@ -213,6 +213,7 @@ hosts: localhost tags: - kolla-ansible + gather_facts: true vars: # We need to reference configuration for the network node. # We pick the first host from the group for this. It is possible that at diff --git a/ansible/kolla-openstack.yml b/ansible/kolla-openstack.yml index dfeabbabf25568786c6859e5479da29fb4dabfc4..e093406f591ad6a96b18d39a234e27de7088c8d6 100644 --- a/ansible/kolla-openstack.yml +++ b/ansible/kolla-openstack.yml @@ -109,6 +109,7 @@ - { name: inspector, file: ironic-inspector.conf } - { name: ironic, file: ironic.conf } - { name: kafka, file: kafka.server.properties } + - { name: keystone, file: keystone.conf } - { name: magnum, file: magnum.conf } - { name: manila, file: manila.conf } - { name: mariadb, file: galera.cnf } @@ -212,6 +213,7 @@ kolla_extra_inspector: "{{ kolla_extra_config.inspector | default }}" kolla_extra_ironic: "{{ kolla_extra_config.ironic | default }}" kolla_extra_kafka: "{{ kolla_extra_config.kafka | default }}" + kolla_extra_keystone: "{{ kolla_extra_config.keystone | default }}" kolla_extra_magnum: "{{ kolla_extra_config.magnum | default }}" kolla_extra_manila: "{{ kolla_extra_config.manila | default }}" kolla_extra_mariadb: "{{ kolla_extra_config.mariadb | default }}" diff --git a/ansible/roles/kolla-openstack/defaults/main.yml b/ansible/roles/kolla-openstack/defaults/main.yml index dc5e3ebe97133dd2b079213efb1c89b17e0aec5d..368be606504fc3d30c4b929a95fc71d47cc3e218 100644 --- a/ansible/roles/kolla-openstack/defaults/main.yml +++ b/ansible/roles/kolla-openstack/defaults/main.yml @@ -67,6 +67,15 @@ kolla_extra_grafana: kolla_enable_haproxy: ############################################################################### +# Keystone configuration. + +# Whether to enable Keystone. +kolla_enable_keystone: + +# Free form extra configuration to append to Keystone.conf +kolla_extra_keystone: + +############################################################################## # Heat configuration. # Whether to enable Heat. diff --git a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml index e36cb7b33b186910fc46fd60d0f0e4ebbb755e61..547745b98085e8da585799fa2d0846b69cff6aa7 100644 --- a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml +++ b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml @@ -54,6 +54,10 @@ provisioner: kolla_extra_kafka: | [extra-kafka.server.properties] foo=bar + kolla_enable_keystone: true + kolla_extra_keystone: | + [extra-keystone.conf] + foo=bar kolla_enable_magnum: true kolla_extra_magnum: | [extra-magnum.conf] diff --git a/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py b/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py index a8d224ef7c3828146ad1ab3a7736a2ea7f45c0a4..2766f25259d490e892478a3cca3db2aec0858235 100644 --- a/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py +++ b/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py @@ -69,6 +69,7 @@ def test_service_config_directory(host, path): 'ironic.conf', 'ironic-inspector.conf', 'kafka.server.properties', + 'keystone.conf', 'magnum.conf', 'manila.conf', 'neutron/ml2_conf.ini', diff --git a/ansible/roles/kolla-openstack/tasks/config.yml b/ansible/roles/kolla-openstack/tasks/config.yml index 374b0660b55358a083c51caa3e8a87d50b2c7e95..324543d4a32c920990bbef5730bb79bdffdd4620 100644 --- a/ansible/roles/kolla-openstack/tasks/config.yml +++ b/ansible/roles/kolla-openstack/tasks/config.yml @@ -23,6 +23,7 @@ - { src: ironic.conf.j2, dest: ironic.conf, enabled: "{{ kolla_enable_ironic }}" } - { src: ironic-inspector.conf.j2, dest: ironic-inspector.conf, enabled: "{{ kolla_enable_ironic }}" } - { src: kafka.server.properties.j2, dest: kafka.server.properties, enabled: "{{ kolla_enable_kafka }}" } + - { src: keystone.conf.j2, dest: keystone.conf, enabled: "{{ kolla_enable_keystone }}" } - { src: magnum.conf.j2, dest: magnum.conf, enabled: "{{ kolla_enable_magnum }}" } - { src: manila.conf.j2, dest: manila.conf, enabled: "{{ kolla_enable_manila }}" } - { src: ml2_conf.ini.j2, dest: neutron/ml2_conf.ini, enabled: "{{ kolla_enable_neutron }}" } diff --git a/ansible/roles/kolla-openstack/templates/keystone.conf.j2 b/ansible/roles/kolla-openstack/templates/keystone.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..753e98bb86e9467d9245d2ab9e39643dca776113 --- /dev/null +++ b/ansible/roles/kolla-openstack/templates/keystone.conf.j2 @@ -0,0 +1,8 @@ +# {{ ansible_managed }} +{% if kolla_extra_keystone %} +####################### +# Extra configuration +####################### +{{ kolla_extra_keystone }} +{% endif %} + diff --git a/doc/source/configuration/kolla-ansible.rst b/doc/source/configuration/kolla-ansible.rst index d32a8964d3dc93745c82c0b11d73b9ec4afff267..650d39230285fab88aa029a0a72815f396a6eaa5 100644 --- a/doc/source/configuration/kolla-ansible.rst +++ b/doc/source/configuration/kolla-ansible.rst @@ -173,6 +173,7 @@ which files are supported. ``kafka.server.properties`` Kafka configuration. ``kafka/*`` Extended Kafka configuration. ``keepalived/*`` Extended keepalived configuration. + ``keystone.conf`` Keystone configuration. ``keystone/*`` Extended keystone configuration. ``magnum.conf`` Magnum configuration. ``magnum/*`` Extended magnum configuration. diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index aa3f4ffe291bc287c2f318449ab05d1520572a3f..9669f0d22a361970e47febf15f32f5ca8a345e09 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -195,6 +195,7 @@ #kolla_enable_ironic_pxe_uefi: #kolla_enable_iscsid: #kolla_enable_karbor: +#kolla_enable_keystone: #kolla_enable_kuryr: #kolla_enable_magnum: #kolla_enable_manila: diff --git a/releasenotes/notes/ignore-unconfigured-nets-93beaf96f43af1ed.yaml b/releasenotes/notes/ignore-unconfigured-nets-93beaf96f43af1ed.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cfb046da82a96d74e371f89fc2d2a65f700003cf --- /dev/null +++ b/releasenotes/notes/ignore-unconfigured-nets-93beaf96f43af1ed.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + Adds support for skipping configuration of a network, by setting its name + to ``None``. This is done in ``networks.yml`` as follows:: + + admin_oc_net_name: + - | + Adds support for custom configuration of ``keystone.conf``.