From: Georg Kunz Date: Thu, 23 May 2019 23:01:32 +0000 (+0200) Subject: Updated templates for ovs-dpdk site type X-Git-Tag: 1.0.0~6 X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=b1bc2e6844cb3efaacc1fc388c7e7602c0614481;p=yaml_builds.git Updated templates for ovs-dpdk site type Including the DPDK-specific configuration in the templates of the ovs-dpdk site type. Change-Id: I47c5fa1779d535acfb46572fcd28dffbcba3bb27 --- diff --git a/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/charts/ucp/divingbell/divingbell.yaml b/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/charts/ucp/divingbell/divingbell.yaml index 2e30ea9..b43ea59 100644 --- a/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/charts/ucp/divingbell/divingbell.yaml +++ b/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/charts/ucp/divingbell/divingbell.yaml @@ -76,6 +76,14 @@ data: # were restarted. "Failed to add /run/systemd/ask-password to directory # watch: No space left on device". https://bit.ly/2Mj5qn2 TDP bug 427616 fs.inotify.max_user_watches: '1048576' + manifests: + daemonset_mounts: true + mounts: + mnt1: + mnt_tgt: /dev/hugepages_1G + device: none + type: hugetlbfs + options: 'mode=775,pagesize=1G' dependencies: - ucp-divingbell-htk --- diff --git a/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/config/versions.yaml b/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/config/versions.yaml index 858cd6f..0a52db9 100644 --- a/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/config/versions.yaml +++ b/site_type/ovsdpdk/airship-treasuremap/global/v4.0/software/config/versions.yaml @@ -229,7 +229,7 @@ data: type: git location: https://review.opendev.org/openstack/openstack-helm subpath: neutron - reference: refs/changes/84/643284/9 + reference: refs/changes/84/643284/10 neutron-htk: type: git location: https://git.openstack.org/openstack/openstack-helm-infra @@ -244,10 +244,10 @@ data: type: git location: https://review.opendev.org/openstack/openstack-helm-infra subpath: openvswitch - reference: refs/changes/94/626894/22 + reference: refs/changes/94/626894/24 openvswitch-htk: location: https://review.opendev.org/openstack/openstack-helm-infra - reference: refs/changes/94/626894/22 + reference: refs/changes/94/626894/24 subpath: helm-toolkit type: git rabbitmq: diff --git a/site_type/ovsdpdk/templates/baremetal/rack.j2 b/site_type/ovsdpdk/templates/baremetal/rack.j2 index d265d78..085420f 100644 --- a/site_type/ovsdpdk/templates/baremetal/rack.j2 +++ b/site_type/ovsdpdk/templates/baremetal/rack.j2 @@ -44,20 +44,20 @@ data: address: {{server.neutron}} - network: calico address: {{server.ksn}} + - network: dpdk + address: {{server.vxlan}} metadata: rack: RACK01 tags: - 'masters' -{% if 'platform' in yaml %} platform: kernel_params: -{% for key, value in yaml.platform.kernel_params.items() %} - {{key}}: '{{value}}' -{% endfor %} -{% if 'vcpu_pin_set' in yaml.platform %} - isolcpus: '{{yaml.platform.vcpu_pin_set}}' -{% endif %} -{% endif %} + hugepagesz: '1G' + hugepages: 32 + default_hugepagesz: '1G' + iommu: 'pt' + intel_iommu: 'on' +... {% endfor %} {% if 'workers' in yaml %}{% for server in yaml.workers %} --- @@ -90,19 +90,18 @@ data: address: {{server.neutron}} - network: calico address: {{server.ksn}} + - network: dpdk + address: {{server.vxlan}} metadata: rack: RACK01 tags: - 'workers' -{% if 'platform' in yaml %} platform: kernel_params: -{% for key, value in yaml.platform.kernel_params.items() %} - {{key}}: '{{value}}' -{% endfor %} -{% if 'vcpu_pin_set' in yaml.platform %} - isolcpus: '{{yaml.platform.vcpu_pin_set}}' -{% endif %} -{% endif %} -{% endfor %}{% endif %} + hugepagesz: '1G' + hugepages: 32 + default_hugepagesz: '1G' + iommu: 'pt' + intel_iommu: 'on' ... +{% endfor %}{% endif %} diff --git a/site_type/ovsdpdk/templates/networks/physical/rack.j2 b/site_type/ovsdpdk/templates/networks/physical/rack.j2 index 86e4441..6a2287a 100644 --- a/site_type/ovsdpdk/templates/networks/physical/rack.j2 +++ b/site_type/ovsdpdk/templates/networks/physical/rack.j2 @@ -219,3 +219,43 @@ data: start: {{yaml.networks.ksn.ranges.static.start}} end: {{yaml.networks.ksn.ranges.static.end}} ... +--- +schema: 'drydock/NetworkLink/v1' +metadata: + schema: 'metadata/Document/v1' + name: dpdk + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + bonding: + mode: disabled + mtu: 1500 + linkspeed: auto + trunking: + mode: disabled + default_network: dpdk + allowed_networks: + - dpdk +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: dpdk + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + mtu: 1500 + cidr: {{yaml.networks.vxlan.cidr}} + ranges: + - type: reserved + start: {{yaml.networks.vxlan.ranges.reserved.start}} + end: {{yaml.networks.vxlan.ranges.reserved.end}} + - type: static + start: {{yaml.networks.vxlan.ranges.static.start}} + end: {{yaml.networks.vxlan.ranges.static.end}} +... diff --git a/site_type/ovsdpdk/templates/profiles/host/compute-r01.j2 b/site_type/ovsdpdk/templates/profiles/host/compute-r01.j2 index fcaa3e1..55387a5 100644 --- a/site_type/ovsdpdk/templates/profiles/host/compute-r01.j2 +++ b/site_type/ovsdpdk/templates/profiles/host/compute-r01.j2 @@ -58,18 +58,12 @@ data: - 'storage' - 'overlay' - 'calico' - p1p1: + dpdk: + device_link: dpdk slaves: - - 'sriov_nic01' - sriov: - vf_count: 32 # Currently ignored - trustedmode: false - p3p2: - slaves: - - 'sriov_nic02' - sriov: - vf_count: 32 # Currently ignored - trustedmode: false + - '{{yaml.networks.vxlan.interface}}' + networks: + - dpdk storage: physical_devices: {% for disk in yaml.disks_compute %} diff --git a/site_type/ovsdpdk/templates/profiles/host/cp-r01.j2 b/site_type/ovsdpdk/templates/profiles/host/cp-r01.j2 index b88d621..f715ccb 100644 --- a/site_type/ovsdpdk/templates/profiles/host/cp-r01.j2 +++ b/site_type/ovsdpdk/templates/profiles/host/cp-r01.j2 @@ -57,18 +57,12 @@ data: - 'storage' - 'overlay' - 'calico' - p1p1: + dpdk: + device_link: dpdk slaves: - - 'sriov_nic01' - sriov: - vf_count: 32 # Currently ignored - trustedmode: false - p3p2: - slaves: - - 'sriov_nic02' - sriov: - vf_count: 32 # Currently ignored - trustedmode: false + - '{{yaml.networks.vxlan.interface}}' + networks: + - dpdk storage: physical_devices: {% for disk in yaml.disks %} diff --git a/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/neutron.j2 b/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/neutron.j2 index f18b53a..30a615c 100644 --- a/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/neutron.j2 +++ b/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/neutron.j2 @@ -33,46 +33,70 @@ metadata: storagePolicy: cleartext data: values: - labels: - agent: - sriov: - node_selector_key: sriov - node_selector_value: enabled network: - backend: - - openvswitch - - sriov interface: - sriov: -{% for sriovnet in yaml.sriov.nets %} - - device: {{sriovnet.interface}} - num_vfs: 32 - promisc: false -{% endfor %} + tunnel: br-phy + endpoints: + identity: + port: + api: + default: 80 + internal: 35357 conf: + logging: + logger_root: + level: WARNING + handlers: stdout plugins: openvswitch_agent: ovs: - bridge_mappings: bond0:br-bond0 - sriov_agent: - securitygroup: - firewall_driver: neutron.agent.firewall.NoopFirewallDriver - sriov_nic: - exclude_devices: null - physical_device_mappings: ' -{%- for sriovnet in yaml.sriov.nets -%} -{%- if loop.index > 1 -%} -, -{%- endif -%} -{{sriovnet.physical}}:{{sriovnet.interface}} -{%- endfor %}' + bridge_mappings: external:br-phy ml2_conf: ml2: - mechanism_drivers: l2population,openvswitch,sriovnicswitch + mechanism_drivers: openvswitch + type_drivers: flat,vlan,vxlan + tenant_network_types: vxlan ml2_type_vlan: - network_vlan_ranges: bond0:46:300 -{%- for sriovnet in yaml.sriov.nets -%} -,{{sriovnet.physical}}:{{sriovnet.vlan_start}}:{{sriovnet.vlan_end}} -{%- endfor %} - + network_vlan_ranges: "external:1100:1110" + ml2_type_flat: + flat_networks: public + openvswitch_agent: + agent: + tunnel_types: vxlan + ovs: + bridge_mappings: external:br-phy + ovs_dpdk: + enabled: true + driver: vfio-pci + nics: +{% for nic in yaml.dpdk.nics %} + - name: {{ nic.name }} + pci_id: '{{ nic.pci_id }}' + bridge: {{ nic.bridge }} + migrate_ip: {{ nic.migrate_ip }} +{% endfor %} + dependencies: + - openstack-neutron-helm-toolkit +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: openstack-neutron-helm-toolkit + layeringDefinition: + abstract: false + layer: global + storagePolicy: cleartext + substitutions: + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .charts.osh.neutron-htk + dest: + path: .source +data: + chart_name: openstack-neutron-helm-toolkit + release: openstack-neutron-helm-toolkit + namespace: helm-toolkit + values: {} + dependencies: [] ... diff --git a/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/nova.j2 b/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/nova.j2 index 89c935f..8864bd6 100644 --- a/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/nova.j2 +++ b/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/nova.j2 @@ -35,7 +35,6 @@ data: network: backend: - openvswitch - - sriov conf: nova: filter_scheduler: diff --git a/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/openvswitch.j2 b/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/openvswitch.j2 new file mode 100644 index 0000000..917edbd --- /dev/null +++ b/site_type/ovsdpdk/templates/software/charts/osh/openstack-compute-kit/openvswitch.j2 @@ -0,0 +1,81 @@ +--- +############################################################################## +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); you may # +# not use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +############################################################################## + +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: openvswitch + replacement: true + labels: + name: openvswitch-global + layeringDefinition: + abstract: false + layer: site + parentSelector: + name: openvswitch-global + actions: + - method: merge + path: . + storagePolicy: cleartext +data: + values: + pod: + resources: + enabled: true + ovs: + vswitchd: + requests: + memory: "8Gi" + cpu: "4000m" + limits: + memory: "8Gi" + cpu: "4000m" + hugepages-1Gi: "8Gi" + conf: + dpdk: + enabled: true + hugepages_mountpath: /dev/hugepages_1G + socket_memory: '4096,4096' + pmd_cpu_mask: '0xF' + dependencies: + - openstack-openvswitch-helm-toolkit +... +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: openstack-openvswitch-helm-toolkit + layeringDefinition: + abstract: false + layer: global + storagePolicy: cleartext + substitutions: + # Chart source + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .charts.osh.openvswitch-htk + dest: + path: .source + +data: + chart_name: openstack-openvswitch-helm-toolkit + release: openstack-openvswitch-helm-toolkit + namespace: helm-toolkit + values: {} + dependencies: [] +...