From d5db10f6b7df537924efef684395bee3c608d23a Mon Sep 17 00:00:00 2001 From: Kristine Bujold Date: Tue, 12 Feb 2019 10:03:48 -0500 Subject: [PATCH] Move neutron static configs to Armada manifest Move all neutron static configurations from the overrides to the Armada manifest. This is being done so we have a consistent way of managing containerized openstack configurations. Static configurations will be located in the Armada manifest and dynamic configuration will be located in the overrides files. Story: 2003909 Task: 29433 Change-Id: I5baf0bbc15912e0303955456151e69856bba0385 Signed-off-by: Kristine Bujold --- .../stx-openstack-helm/centos/build_srpm.data | 2 +- .../manifests/manifest-no-tests.yaml | 68 ++++++- .../manifests/manifest.yaml | 68 ++++++- sysinv/sysinv/centos/build_srpm.data | 2 +- sysinv/sysinv/sysinv/sysinv/helm/neutron.py | 172 ++++++++---------- 5 files changed, 193 insertions(+), 119 deletions(-) diff --git a/kubernetes/applications/stx-openstack/stx-openstack-helm/centos/build_srpm.data b/kubernetes/applications/stx-openstack/stx-openstack-helm/centos/build_srpm.data index 7ad6604ed5..7037828a98 100644 --- a/kubernetes/applications/stx-openstack/stx-openstack-helm/centos/build_srpm.data +++ b/kubernetes/applications/stx-openstack/stx-openstack-helm/centos/build_srpm.data @@ -1,3 +1,3 @@ SRC_DIR="stx-openstack-helm" COPY_LIST_TO_TAR="$PKG_BASE/../../../helm-charts/rbd-provisioner $PKG_BASE/../../../helm-charts/garbd" -TIS_PATCH_VER=3 \ No newline at end of file +TIS_PATCH_VER=4 diff --git a/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest-no-tests.yaml b/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest-no-tests.yaml index b010e9b33c..ab5d0c98e9 100644 --- a/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest-no-tests.yaml +++ b/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest-no-tests.yaml @@ -762,6 +762,9 @@ data: pod: replicas: server: 2 + user: + neutron: + uid: 0 affinity: anti: type: @@ -769,13 +772,13 @@ data: labels: agent: dhcp: - node_selector_key: openstack-control-plane + node_selector_key: openstack-compute-node node_selector_value: enabled l3: - node_selector_key: openstack-control-plane + node_selector_key: openstack-compute-node node_selector_value: enabled metadata: - node_selector_key: openstack-control-plane + node_selector_key: openstack-compute-node node_selector_value: enabled job: node_selector_key: openstack-control-plane @@ -798,19 +801,68 @@ data: node_selector_value: enabled network: interface: - tunnel: enp0s3 + tunnel: docker0 + backend: + - openvswitch + - sriov conf: neutron: DEFAULT: - l3_ha: true - min_l3_agents_per_router: 2 - max_l3_agents_per_router: 5 + l3_ha: false + min_l3_agents_per_router: 1 + max_l3_agents_per_router: 1 l3_ha_network_type: vxlan - dhcp_agents_per_network: 2 + dhcp_agents_per_network: 1 + max_overflow: 64 + max_pool_size: 1 + idle_timeout: 60 + router_status_managed: true + vlan_transparent: true + wsgi_default_pool_size: 100 + notify_nova_on_port_data_changes: true + notify_nova_on_port_status_changes: true + control_exchange: neutron + core_plugin: neutron.plugins.ml2.plugin.Ml2Plugin + state_path: /var/run/neutron + syslog_log_facility: local2 + use_syslog: true + pnet_audit_enabled: false + driver: messagingv2 + enable_proxy_headers_parsing: true + lock_path: /var/run/neutron/lock + log_format: '[%(name)s] %(message)s' + policy_file: /etc/neutron/policy.json + service_plugins: router + dns_domain: openstacklocal + enable_new_agents: false + allow_automatic_dhcp_failover: true + allow_automatic_l3agent_failover: true + agent: + root_helper: sudo + vhost: + vhost_user_enabled: false + dhcp_agent: + DEFAULT: + enable_isolated_metadata: true + enable_metadata_network: false + interface_driver: openvswitch + resync_interval: 30 + l3_agent: + DEFAULT: + agent_mode: dvr_snat + interface_driver: openvswitch + metadata_port: 80 plugins: ml2_conf: ml2_type_flat: flat_networks: public + ml2: + mechanism_drivers: openvswitch,sriovnicswitch,l2population + path_mtu: 0 + tenant_network_types: vlan,vxlan + type_drivers: managed_flat,managed_vlan,managed_vxlan + securitygroup: + firewall_driver: noop openvswitch_agent: agent: tunnel_types: vxlan diff --git a/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml b/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml index 2b772de5e0..4562fe9762 100644 --- a/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml +++ b/kubernetes/applications/stx-openstack/stx-openstack-helm/stx-openstack-helm/manifests/manifest.yaml @@ -762,6 +762,9 @@ data: pod: replicas: server: 2 + user: + neutron: + uid: 0 affinity: anti: type: @@ -769,13 +772,13 @@ data: labels: agent: dhcp: - node_selector_key: openstack-control-plane + node_selector_key: openstack-compute-node node_selector_value: enabled l3: - node_selector_key: openstack-control-plane + node_selector_key: openstack-compute-node node_selector_value: enabled metadata: - node_selector_key: openstack-control-plane + node_selector_key: openstack-compute-node node_selector_value: enabled job: node_selector_key: openstack-control-plane @@ -798,19 +801,68 @@ data: node_selector_value: enabled network: interface: - tunnel: enp0s3 + tunnel: docker0 + backend: + - openvswitch + - sriov conf: neutron: DEFAULT: - l3_ha: true - min_l3_agents_per_router: 2 - max_l3_agents_per_router: 5 + l3_ha: false + min_l3_agents_per_router: 1 + max_l3_agents_per_router: 1 l3_ha_network_type: vxlan - dhcp_agents_per_network: 2 + dhcp_agents_per_network: 1 + max_overflow: 64 + max_pool_size: 1 + idle_timeout: 60 + router_status_managed: true + vlan_transparent: true + wsgi_default_pool_size: 100 + notify_nova_on_port_data_changes: true + notify_nova_on_port_status_changes: true + control_exchange: neutron + core_plugin: neutron.plugins.ml2.plugin.Ml2Plugin + state_path: /var/run/neutron + syslog_log_facility: local2 + use_syslog: true + pnet_audit_enabled: false + driver: messagingv2 + enable_proxy_headers_parsing: true + lock_path: /var/run/neutron/lock + log_format: '[%(name)s] %(message)s' + policy_file: /etc/neutron/policy.json + service_plugins: router + dns_domain: openstacklocal + enable_new_agents: false + allow_automatic_dhcp_failover: true + allow_automatic_l3agent_failover: true + agent: + root_helper: sudo + vhost: + vhost_user_enabled: false + dhcp_agent: + DEFAULT: + enable_isolated_metadata: true + enable_metadata_network: false + interface_driver: openvswitch + resync_interval: 30 + l3_agent: + DEFAULT: + agent_mode: dvr_snat + interface_driver: openvswitch + metadata_port: 80 plugins: ml2_conf: ml2_type_flat: flat_networks: public + ml2: + mechanism_drivers: openvswitch,sriovnicswitch,l2population + path_mtu: 0 + tenant_network_types: vlan,vxlan + type_drivers: managed_flat,managed_vlan,managed_vxlan + securitygroup: + firewall_driver: noop openvswitch_agent: agent: tunnel_types: vxlan diff --git a/sysinv/sysinv/centos/build_srpm.data b/sysinv/sysinv/centos/build_srpm.data index 2d590250af..6164e638b9 100644 --- a/sysinv/sysinv/centos/build_srpm.data +++ b/sysinv/sysinv/centos/build_srpm.data @@ -1,2 +1,2 @@ SRC_DIR="sysinv" -TIS_PATCH_VER=300 +TIS_PATCH_VER=301 diff --git a/sysinv/sysinv/sysinv/sysinv/helm/neutron.py b/sysinv/sysinv/sysinv/sysinv/helm/neutron.py index c900d70472..d3db207784 100644 --- a/sysinv/sysinv/sysinv/sysinv/helm/neutron.py +++ b/sysinv/sysinv/sysinv/sysinv/helm/neutron.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2018 Wind River Systems, Inc. +# Copyright (c) 2018-2019 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # @@ -32,40 +32,13 @@ class NeutronHelm(openstack.OpenstackBaseHelm): overrides = { common.HELM_NS_OPENSTACK: { 'pod': { - 'user': { - 'neutron': { - 'uid': 0 - } - }, 'replicas': { 'server': self._num_controllers() }, }, - 'network': { - 'interface': { - 'tunnel': 'docker0' - }, - 'backend': ['openvswitch', 'sriov'], - }, 'conf': { - 'neutron': self._get_neutron_config(), 'plugins': { - 'ml2_conf': self._get_neutron_ml2_config(), - }, - 'dhcp_agent': { - 'DEFAULT': { - 'resync_interval': 30, - 'enable_isolated_metadata': True, - 'enable_metadata_network': False, - 'interface_driver': 'openvswitch', - }, - }, - 'l3_agent': { - 'DEFAULT': { - 'interface_driver': 'openvswitch', - 'agent_mode': 'dvr_snat', - 'metadata_port': 80, - }, + 'ml2_conf': self._get_neutron_ml2_config() }, 'overrides': { 'neutron_ovs-agent': { @@ -85,7 +58,6 @@ class NeutronHelm(openstack.OpenstackBaseHelm): }, } }, - 'labels': self._get_labels_overrides(), 'endpoints': self._get_endpoints_overrides(), 'images': self._get_images_overrides(), } @@ -116,30 +88,90 @@ class NeutronHelm(openstack.OpenstackBaseHelm): def update_dynamic_options(self, overrides): if utils.is_virtual(): - overrides['neutron']['vhost']['vhost_user_enabled'] = False + overrides.update({ + 'neutron': { + 'vhost': { + 'vhost_user_enabled': False + } + } + }) def update_from_service_parameters(self, overrides): service_parameters = self._get_service_parameters(service=constants.SERVICE_TYPE_NETWORK) for param in service_parameters: if param.section == constants.SERVICE_PARAM_SECTION_NETWORK_DEFAULT: if param.name == constants.SERVICE_PARAM_NAME_DEFAULT_SERVICE_PLUGINS: - overrides['neutron']['DEFAULT']['service_plugins'] = str(param.value) + overrides.update({ + 'neutron': { + 'DEFAULT': { + 'service_plugins': str(param.value) + } + } + }) if param.name == constants.SERVICE_PARAM_NAME_DEFAULT_DNS_DOMAIN: - overrides['neutron']['DEFAULT']['dns_domain'] = str(param.value) + overrides.update({ + 'neutron': { + 'DEFAULT': { + 'dns_domain': str(param.value) + } + } + }) if param.name == constants.SERVICE_PARAM_NAME_BASE_MAC: - overrides['neutron']['DEFAULT']['base_mac'] = str(param.value) + overrides.update({ + 'neutron': { + 'DEFAULT': { + 'base_mac': str(param.value) + } + } + }) if param.name == constants.SERVICE_PARAM_NAME_DVR_BASE_MAC: - overrides['neutron']['DEFAULT']['dvr_base_mac'] = str(param.value) + overrides.update({ + 'neutron': { + 'DEFAULT': { + 'dvr_base_mac': str(param.value) + } + } + }) elif param.section == constants.SERVICE_PARAM_SECTION_NETWORK_ML2: if param.name == constants.SERVICE_PARAM_NAME_ML2_MECHANISM_DRIVERS: - overrides['plugins']['ml2_conf']['ml2']['mechanism_drivers'] = str(param.value) + overrides.update({ + 'plugins': { + 'ml2_conf': { + 'ml2': { + 'mechanism_drivers': str(param.value) + } + } + } + }) if param.name == constants.SERVICE_PARAM_NAME_ML2_EXTENSION_DRIVERS: - overrides['plugins']['ml2_conf']['ml2']['extension_drivers'] = str(param.value) + overrides.update({ + 'plugins': { + 'ml2_conf': { + 'ml2': { + 'extension_drivers': str(param.value) + } + } + } + }) if param.name == constants.SERVICE_PARAM_NAME_ML2_TENANT_NETWORK_TYPES: - overrides['plugins']['ml2_conf']['ml2']['tenant_network_types'] = str(param.value) + overrides.update({ + 'plugins': { + 'ml2_conf': { + 'ml2': { + 'tenant_network_types': str(param.value) + } + } + } + }) elif param.section == constants.SERVICE_PARAM_SECTION_NETWORK_DHCP: if param.name == constants.SERVICE_PARAM_NAME_DHCP_FORCE_METADATA: - overrides['dhcp_agent']['DEFAULT']['force_metadata'] = str(param.value) + overrides.update({ + 'dhcp_agent': { + 'DEFAULT': { + 'force_metadata': str(param.value) + } + } + }) def _get_per_host_overrides(self): host_list = [] @@ -249,49 +281,6 @@ class NeutronHelm(openstack.OpenstackBaseHelm): 'sriov_nic': sriov_nic, } - def _get_neutron_config(self): - neutron_config = { - 'DEFAULT': { - 'l3_ha': False, - 'min_l3_agents_per_router': 1, - 'max_l3_agents_per_router': 1, - 'l3_ha_network_type': 'vxlan', - 'dhcp_agents_per_network': 1, - 'max_overflow': 64, - 'max_pool_size': 1, - 'idle_timeout': 60, - 'router_status_managed': True, - 'vlan_transparent': True, - 'wsgi_default_pool_size': 100, - 'notify_nova_on_port_data_changes': True, - 'notify_nova_on_port_status_changes': True, - 'control_exchange': 'neutron', - 'core_plugin': 'neutron.plugins.ml2.plugin.Ml2Plugin', - 'state_path': '/var/run/neutron', - 'syslog_log_facility': 'local2', - 'use_syslog': True, - 'pnet_audit_enabled': False, - 'driver': 'messagingv2', - 'enable_proxy_headers_parsing': True, - 'lock_path': '/var/run/neutron/lock', - 'log_format': '[%(name)s] %(message)s', - 'policy_file': '/etc/neutron/policy.json', - 'service_plugins': 'router', - 'dns_domain': 'openstacklocal', - 'enable_new_agents': False, - 'allow_automatic_dhcp_failover': True, - 'allow_automatic_l3agent_failover': True, - }, - 'vhost': { - 'vhost_user_enabled': True, - }, - 'agent': { - 'root_helper': 'sudo', - }, - } - - return neutron_config - def _get_ml2_physical_network_mtus(self): ml2_physical_network_mtus = [] datanetworks = self.dbapi.datanetworks_get_all() @@ -304,15 +293,7 @@ class NeutronHelm(openstack.OpenstackBaseHelm): def _get_neutron_ml2_config(self): ml2_config = { 'ml2': { - 'type_drivers': 'managed_flat,managed_vlan,managed_vxlan', - 'tenant_network_types': 'vlan,vxlan', - 'mechanism_drivers': 'openvswitch,sriovnicswitch,l2population', - 'path_mtu': 0, 'physical_network_mtus': self._get_ml2_physical_network_mtus() - - }, - 'securitygroup': { - 'firewall_driver': 'noop', }, } LOG.info("_get_neutron_ml2_config=%s" % ml2_config) @@ -415,16 +396,5 @@ class NeutronHelm(openstack.OpenstackBaseHelm): return overrides - def _get_labels_overrides(self): - overrides = { - 'agent': { - 'dhcp': {'node_selector_key': 'openvswitch'}, - 'l3': {'node_selector_key': 'openvswitch'}, - 'metadata': {'node_selector_key': 'openvswitch'}, - }, - } - - return overrides - def get_region_name(self): return self._get_service_region_name(self.SERVICE_NAME)