updated templates for sriov-a13 site type 94/1994/1
authordavidplunkett <dp7642@att.com>
Sat, 16 Nov 2019 01:22:07 +0000 (01:22 +0000)
committerdavidplunkett <dp7642@att.com>
Sat, 16 Nov 2019 01:22:07 +0000 (01:22 +0000)
Signed-off-by: davidplunkett <dp7642@att.com>
Change-Id: Ic62bf3b4e65af09ddb92aa87e93a2bdf9a52cc70

dellgen10-sriov-a13.yaml
site_type/sriov-a13/templates/baremetal/nodes.j2
site_type/sriov-a13/templates/networks/physical/networks.j2
site_type/sriov-a13/templates/profiles/host/cp_r720.j2
site_type/sriov-a13/templates/profiles/host/dp_r720.j2
site_type/sriov-a13/templates/software/charts/osh/openstack-compute-kit/neutron.j2
site_type/sriov-a13/templates/software/charts/osh/openstack-compute-kit/nova.j2
site_type/sriov-a13/templates/software/charts/osh/openstack-compute-kit/openvswitch.j2 [new file with mode: 0644]
site_type/sriov-a13/templates/software/charts/ucp/divingbell/divingbell.j2
site_type/sriov-a13/templates/software/config/versions.j2 [new file with mode: 0644]

index b7d8ea9..d21c32b 100644 (file)
@@ -98,10 +98,10 @@ networks:
     additional_cidrs:
       -  172.29.1.128/29
     ingress_vip: 172.29.1.129/32
-    peers:
-    - ip: 172.29.1.1
-      scope: global
-      asnumber: 65001
+#    peers:
+#    - ip: 172.29.1.1
+#      scope: global
+#      asnumber: 65001
     # keep peers ip address in case of only peer.
     vrrp_ip: 172.29.1.1
   neutron:
@@ -118,9 +118,7 @@ networks:
 dns:
   upstream_servers:
     - 192.168.2.85
-    - 192.168.1.85
-    #- 8.8.8.8
-    #- 8.8.4.4
+    - 192.168.2.85
   ingress_domain: dellgen10.lab.akraino.org
   domain: dellgen10.lab.akraino.org
 gpu:
@@ -139,7 +137,7 @@ gpu:
       vendor_id: "10de"
 sriov:
   alias:
-    - name: "numa0"
+    - name: "sriov0"
       product_id: "158b"
       vendor_id: "8086"
   nets:
@@ -220,23 +218,23 @@ masters:
 #    ksn: 172.29.1.43
 #    neutron: 10.0.102.43
 platform:
-  vcpu_pin_set: "4-21,26-43,48-65,72-87"
+  vcpu_pin_set: "6-21,28-43,50-65,74-87"
   kernel_params:
-    kernel_package: 'linux-image-4.15.0-66-generic'
+#    kernel_package: 'linux-image-4.15.0-66-generic'
     hugepagesz: '1G'
     hugepages: 32
 #    default_hugepagesz: '1G'
-    transparent_hugepage: 'never'
+#    transparent_hugepage: 'never'
     iommu: 'pt'
     intel_iommu: 'on'
-    amd_iommu: 'on'
+#    amd_iommu: 'on'
 #    console: 'ttyS1,115200n8'
 hardware:
   vendor: DELL
   generation: '10'
   hw_version: '3'
   bios_version: '2.8'
-  bios_template: 
+  bios_template: dell_r740_g14_uefi_base.xml.template
   boot_template: dell_r740_g14_uefi_httpboot.xml.template
   http_boot_device: NIC.Slot.2-1-1
   device_aliases:
@@ -256,6 +254,16 @@ hardware:
       address: '0000:5e:00.1'
       dev_type: 'Ethernet 10G 2P X520 Adapter'
       bus_type: 'pci'
+    - name: enp135s0f0
+      key: sriov_nic01
+      address: '0000:87:00.0'
+      dev_type: 'Ethernet 10G 2P X520 Adapter'
+      bus_type: 'pci'
+    - name: enp135s0f1
+      key: sriov_nic02
+      address: '0000:87:00.1'
+      dev_type: 'Ethernet 10G 2P X520 Adapter'
+      bus_type: 'pci'
     ## storage  - use "dmesg | grep -Pe 'sd \d:\d'" to find address of drives
     - name: /dev/sdg
       key: bootdisk
@@ -267,17 +275,16 @@ hardware:
       address: '0:2.1.0'
       dev_type: 'PERC H730P'
       bus_type: 'scsi'
-    - name: /dev/sdi
-      key: cephjournal2
-      address: '0:2.2.0'
-      dev_type: 'PERC H730P'
-      bus_type: 'scsi'
-    - name: /dev/sdj
-      key: ephemeral
-      address: '0:2.3.0'
-      dev_type: 'PERC H730P'
-      bus_type: 'scsi'
-
+#    - name: /dev/sdi
+#      key: cephjournal2
+#      address: '0:2.2.0'
+#      dev_type: 'PERC H730P'
+#      bus_type: 'scsi'
+#    - name: /dev/sdj
+#      key: ephemeral
+#      address: '0:2.3.0'
+#      dev_type: 'PERC H730P'
+#      bus_type: 'scsi'
 disks:
 #  - name : sdg
   - name : bootdisk
index 20f978b..df0ab54 100644 (file)
@@ -142,6 +142,10 @@ data:
       address: {{server.neutron}}
     - network: calico
       address: {{server.ksn}}
+{% if 'dpdk' in yaml %}
+    - network: dpdk
+      address: {{server.vxlan}}
+{% endif %}
   # NEWSITE-CHANGEME: The next node's host profile
 {% if loop.index < 3 %}
   host_profile: cp_r720-primary
@@ -192,6 +196,10 @@ data:
       address: {{server.neutron}}
     - network: calico
       address: {{server.ksn}}
+{% if 'dpdk' in yaml %}
+    - network: dpdk
+      address: {{server.vxlan}}
+{% endif %}
   # NEWSITE-CHANGEME: The next node's host profile
   # This is the third "primary" control plane profile after genesis
   host_profile: dp_r720
index 22b8682..07f99ea 100644 (file)
@@ -306,3 +306,45 @@ data:
       start: {{yaml.networks.ksn.ranges.static.start}}
       end: {{yaml.networks.ksn.ranges.static.end}}
 ...
+{% if 'dpdk' in yaml %}
+---
+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}}
+...
+{% endif %}
index 3322a0f..3a1270f 100644 (file)
@@ -41,6 +41,15 @@ data:
         - storage
         - overlay
         - calico
+{% if 'dpdk' in yaml %}
+    dpdk:
+      device_link: dpdk
+      slaves:
+        - dpdk_nic01
+      networks:
+        - dpdk
+{% endif %}
+{% if 'sriov' in yaml %}
     p1p1:
       slaves:
         - 'sriov_nic01'
@@ -53,7 +62,7 @@ data:
       sriov:
         vf_count: 32 # Currently ignored
         trustedmode: false
-
+{% endif %}
   storage:
     physical_devices:
 {% for disk in yaml.disks %}
@@ -98,65 +107,8 @@ data:
 
   metadata:
     owner_data:
-      control-plane: enabled
-      ucp-control-plane: enabled
-      openstack-control-plane: enabled
-      openstack-heat: enabled
-      openstack-keystone: enabled
-      openstack-rabbitmq: enabled
-      openstack-dns-helper: enabled
-      openstack-mariadb: enabled
-      openstack-nova-control: enabled
-      # openstack-etcd: enabled
-      openstack-mistral: enabled
-      openstack-memcached: enabled
-      openstack-glance: enabled
-      openstack-horizon: enabled
-      openstack-cinder-control: enabled
-      openstack-cinder-volume: control
-      openstack-neutron: enabled
-      openvswitch: enabled
-      ucp-barbican: enabled
-      ceph-mon: enabled
-      ceph-mgr: enabled
-      ceph-osd: enabled
-      ceph-mds: enabled
-      ceph-rgw: enabled
-      ucp-maas: enabled
-      kube-dns: enabled
-      tenant-ceph-control-plane: enabled
-      tenant-ceph-mon: enabled
       tenant-ceph-osd: enabled
-      tenant-ceph-rgw: enabled
-      tenant-ceph-mgr: enabled
-      kubernetes-apiserver: enabled
-      kubernetes-controller-manager: enabled
-      kubernetes-etcd: enabled
-      kubernetes-scheduler: enabled
-      tiller-helm: enabled
-      kube-etcd: enabled
-      calico-policy: enabled
-      calico-node: enabled
-      calico-etcd: enabled
-      ucp-armada: enabled
-      ucp-drydock: enabled
-      ucp-deckhand: enabled
-      ucp-shipyard: enabled
-      IAM: enabled
-      ucp-promenade: enabled
-      prometheus-server: enabled
-      prometheus-client: enabled
-      fluentd: enabled
-      fluentbit: enabled
-      influxdb: enabled
-      kibana: enabled
-      elasticsearch-client: enabled
-      elasticsearch-master: enabled
-      elasticsearch-data: enabled
-      postgresql: enabled
-      kube-ingress: enabled
-      beta.kubernetes.io/fluentd-ds-ready: 'true'
-      node-exporter: enabled
+      ucp-maas: enabled
       openstack-nova-compute: enabled
       openstack-libvirt: kernel
       sriov: enabled
@@ -202,6 +154,15 @@ data:
         - storage
         - overlay
         - calico
+{% if 'dpdk' in yaml %}
+    dpdk:
+      device_link: dpdk
+      slaves:
+        - dpdk_nic01
+      networks:
+        - dpdk
+{% endif %}
+{% if 'sriov' in yaml %}
     p1p1:
       slaves:
         - 'sriov_nic01'
@@ -214,7 +175,7 @@ data:
       sriov:
         vf_count: 32 # Currently ignored
         trustedmode: false
-
+{% endif %}
   storage:
     physical_devices:
 {% for disk in yaml.disks %}
@@ -259,10 +220,11 @@ data:
 
   metadata:
     owner_data:
-      openstack-nova-compute: enabled
-      openvswitch: enabled
+      ceph-mon: disabled
+      tenant-ceph-mon: disabled
       tenant-ceph-osd: enabled
+      ucp-maas: enabled
+      openstack-nova-compute: enabled
       openstack-libvirt: kernel
       sriov: enabled
-      beta.kubernetes.io/fluentd-ds-ready: 'true'
 ...
index b32c0e2..cff401c 100644 (file)
@@ -40,7 +40,14 @@ data:
         - storage
         - overlay
         - calico
-
+{% if 'dpdk' in yaml %}
+    dpdk:
+      device_link: dpdk
+      slaves:
+        - dpdk_nic01
+      networks:
+        - dpdk
+{% endif %}
   storage:
     physical_devices:
 {% for disk in yaml.disks %}
index 5af8e8c..31a24bb 100644 (file)
@@ -38,6 +38,7 @@ metadata:
       - method: merge
         path: .
   storagePolicy: cleartext
+
 data:
   values:
     labels:
@@ -50,40 +51,70 @@ data:
         - openvswitch
         - sriov
       interface:
-        #tunnel_device: '{{yaml.networks.neutron.interface}}'
-        sriov:
+        tunnel_device: '{{yaml.networks.neutron.interface}}'
+      sriov:
 {% for sriovnet in yaml.sriov.nets %}
-          - device: {{sriovnet.interface}}
-            num_vfs: 32
-            promisc: false
+        - device: {{sriovnet.interface}}
+          num_vfs: 32
+          mtu: 9000
+          promisc: false
 {% endfor %}
-      auto_bridge_add:
-        br-bond0: {{yaml.networks.neutron.interface}}
+      auto_bridge_add:
+      #   br-ex: {{yaml.networks.neutron.interface}}
     conf:
       plugins:
         openvswitch_agent:
           ovs:
-            bridge_mappings: bond0:br-bond0
+            bridge_mappings: "bond0:br-ex"
         sriov_agent:
           securitygroup:
             firewall_driver: neutron.agent.firewall.NoopFirewallDriver
           sriov_nic:
-            exclude_devices: null
+            exclude_devices: ""
             physical_device_mappings: '
 {%- for sriovnet in yaml.sriov.nets -%}
-{%- if loop.index > 1 -%}
-,
-{%- endif -%}
+{%- if loop.index > 1 -%},{%- endif -%}
 {{sriovnet.physical}}:{{sriovnet.interface}}
-{%- endfor %}'
+{%- endfor -%}'
         ml2_conf:
           ml2:
-            mechanism_drivers: l2population,openvswitch,sriovnicswitch
+            mechanism_drivers: openvswitch,l2population,sriovnicswitch
+            # type_drivers: flat,vlan
+            # tenant_network_types: vlan
           ml2_type_vlan:
             network_vlan_ranges: bond0:46:300
 {%- for sriovnet in yaml.sriov.nets -%}
 ,{{sriovnet.physical}}:{{sriovnet.vlan_start}}:{{sriovnet.vlan_end}}
 {%- endfor %}
 
+          # ml2_type_flat:
+          #  flat_networks: public
+        ml2_conf_sriov: null
+      paste:
+        app:neutronversions:
+          paste.app_factory: neutron.pecan_wsgi.app:versions_factory
+  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: []
 ...
-
index 44909af..80f5cde 100644 (file)
@@ -44,7 +44,9 @@ data:
     network:
       backend:
         - openvswitch
+{% if 'sriov' in yaml %}
         - sriov
+{% endif %}
     conf:
       nova:
         filter_scheduler:
diff --git a/site_type/sriov-a13/templates/software/charts/osh/openstack-compute-kit/openvswitch.j2 b/site_type/sriov-a13/templates/software/charts/osh/openstack-compute-kit/openvswitch.j2
new file mode 100644 (file)
index 0000000..9245b32
--- /dev/null
@@ -0,0 +1,85 @@
+---
+##############################################################################
+# 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
+{% if 'dpdk' in yaml %}
+        ovs:
+          vswitchd:
+            requests:
+              memory: "8Gi"
+              cpu: "4000m"
+            limits:
+              memory: "8Gi"
+              cpu: "4000m"
+              hugepages-1Gi: "8Gi"
+    conf:
+      ovs_dpdk:
+        enabled: true
+        hugepages_mountpath: /dev/hugepages_1G
+        socket_memory: '4096,4096'
+        pmd_cpu_mask: '0xF'
+        vhostuser_socket_dir: vhostuser
+{% endif %}
+  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: []
+...
index d375f4a..98d6506 100644 (file)
@@ -47,4 +47,10 @@ data:
           - user_name: localadmin
             user_sudo: true
             user_sshkeys: []
+      mounts:
+        mnt1:
+          mnt_tgt: /dev/hugepages_1G
+          device: none
+          type: hugetlbfs
+          options: 'mode=775,pagesize=1G'
 ...
diff --git a/site_type/sriov-a13/templates/software/config/versions.j2 b/site_type/sriov-a13/templates/software/config/versions.j2
new file mode 100644 (file)
index 0000000..47e1e5d
--- /dev/null
@@ -0,0 +1,108 @@
+---
+schema: pegleg/SoftwareVersions/v1
+metadata:
+  schema: metadata/Document/v1
+  replacement: true
+  name: software-versions
+  layeringDefinition:
+    abstract: false
+    layer: site
+    parentSelector:
+      name: software-versions-global
+    actions:
+      - method: merge
+        path: .
+  storagePolicy: cleartext
+data:
+  charts:
+    osh:
+      neutron:
+        location: https://opendev.org/openstack/openstack-helm
+        reference: 05bff26162cc05286ba563d6e8cec82a36031b7d
+        subpath: neutron
+        type: git
+      neutron-htk:
+        location: https://opendev.org/openstack/openstack-helm-infra
+        reference: d0b32ed88ad652d9c2226466a13bac8b28038399
+        subpath: helm-toolkit
+        type: git
+      nova:
+        location: https://opendev.org/openstack/openstack-helm
+        reference: d2abe39d498f48c4721e26aca19e81189bc8891b
+        subpath: nova
+        type: git
+      nova-htk:
+        location: https://opendev.org/openstack/openstack-helm-infra
+        reference: d0b32ed88ad652d9c2226466a13bac8b28038399
+        subpath: helm-toolkit
+        type: git
+      openvswitch:
+        location: https://opendev.org/openstack/openstack-helm-infra
+        reference: e4538f714a5dfd8a6b6bf2910d2b56f257f9889c
+        subpath: openvswitch
+        type: git
+      openvswitch-htk:
+        location: https://opendev.org/openstack/openstack-helm-infra
+        reference: d0b32ed88ad652d9c2226466a13bac8b28038399
+        subpath: helm-toolkit
+        type: git
+  images_refs:
+    images:
+      dep_check: &dep_check quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
+      heat: &heat docker.io/openstackhelm/heat:rocky-ubuntu_bionic
+      neutron: &neutron docker.io/openstackhelm/neutron:rocky-ubuntu_bionic
+      horizon: &horizon docker.io/openstackhelm/horizon:rocky-ubuntu_bionic
+      cinder: &cinder docker.io/openstackhelm/cinder:rocky-ubuntu_bionic
+      keystone: &keystone docker.io/openstackhelm/keystone:rocky-ubuntu_bionic
+      nova: &nova docker.io/openstackhelm/nova:rocky-ubuntu_bionic
+      glance: &glance docker.io/openstackhelm/glance:rocky-ubuntu_bionic
+      openvswitch: &openvswitch docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic
+      os_barbican: &os_barbican docker.io/openstackhelm/barbican:rocky-ubuntu_bionic
+      libvirt: &libvirt docker.io/openstackhelm/libvirt:latest-ubuntu_bionic
+  images:
+    osh:
+      openvswitch:
+        openvswitch_db_server: "docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"
+        openvswitch_vswitchd: "docker.io/openstackhelm/openvswitch:latest-ubuntu_bionic"
+      neutron:
+        bootstrap: *heat
+        db_init: *heat
+        neutron_db_sync: *neutron
+        db_drop: *heat
+        ks_user: *heat
+        ks_service: *heat
+        ks_endpoints: *heat
+        neutron_server: *neutron
+        neutron_dhcp: *neutron
+        neutron_metadata: *neutron
+        neutron_l3: *neutron
+        neutron_l2gw: *neutron
+        neutron_openvswitch_agent: *neutron
+        neutron_linuxbridge_agent: *neutron
+        neutron_bagpipe_bgp: *neutron
+      nova:
+        bootstrap: *heat
+        db_drop: *heat
+        db_init: *heat
+        ks_user: *heat
+        ks_service: *heat
+        ks_endpoints: *heat
+        nova_api: *nova
+        nova_cell_setup: *nova
+        nova_cell_setup_init: *heat
+        nova_compute: *nova
+        nova_compute_ssh: *nova
+        nova_conductor: *nova
+        nova_consoleauth: *nova
+        nova_db_sync: *nova
+        nova_novncproxy: *nova
+        nova_novncproxy_assets: *nova
+        nova_placement: *nova
+        nova_scheduler: *nova
+        nova_spiceproxy: *nova
+        nova_spiceproxy_assets: *nova
+        nova_service_cleaner: "docker.io/openstackhelm/ceph-config-helper:latest-ubuntu_xenial"
+      openvswitch:
+        openvswitch_db_server: *openvswitch
+        openvswitch_vswitchd: *openvswitch
+...