--- /dev/null
+---
+##############################################################################
+# Copyright (c) 2019 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: kubernetes-calico-site
+ layeringDefinition:
+ abstract: false
+ layer: site
+ parentSelector:
+ name: kubernetes-calico-global
+ actions:
+ - method: merge
+ path: .
+ storagePolicy: cleartext
+
+data:
+ values:
+ networking:
+ settings:
+{% if ('peers' in yaml.networks.ksn and yaml.networks.ksn.peers is not none and yaml.networks.ksn.peers is iterable ) %}
+ mesh: "off"
+ ippool:
+ ipip:
+ enabled: "false"
+{% endif %}
+ bgp:
+ asnumber: {{yaml.networks.ksn.local_asnumber}}
+ ipv4:
+ additional_cidrs:
+{% for add_cidr in yaml.networks.ksn.additional_cidrs %}
+ - {{add_cidr}}
+{% endfor %}
+{% if ('peers' in yaml.networks.ksn and yaml.networks.ksn.peers is not none and yaml.networks.ksn.peers is iterable ) %}
+ peers:
+{% for peer in yaml.networks.ksn.peers %}
+ - apiVersion: projectcalico.org/v3
+ kind: BGPPeer
+ metadata:
+ name: peer-{{loop.index-1}}
+ spec:
+ peerIP: {{peer.ip}}
+ asnumber: {{peer.asnumber}}
+{% endfor %}
+{% endif %}
+...
# 1. logical network interface names
# 2. physical device mappigns
# TODO: Should move to global layer and become tied to the hardware profile
+
schema: armada/Chart/v1
metadata:
schema: metadata/Document/v1
- name: neutron-fixme
+ name: neutron
+ replacement: true
+ labels:
+ component: neutron
layeringDefinition:
abstract: false
layer: site
- method: merge
path: .
storagePolicy: cleartext
-data: {}
-#data:
-# values:
-# labels:
-# agent:
-# sriov:
-# node_selector_key: sriov
-# node_selector_value: enabled
-# network:
-# backend:
-# - openvswitch
-# - sriov
-# interface:
-# tunnel_device: '{{yaml.networks.neutron.interface}}'
-# sriov:
-#{% for sriovnet in yaml.sriov.nets %}
-# - device: {{sriovnet.interface}}
-# num_vfs: 32
-# mtu: 9000
-# promisc: false
-#{% endfor %}
-# # auto_bridge_add:
-# # br-ex: {{yaml.networks.neutron.interface}}
-# conf:
-# plugins:
-# openvswitch_agent:
-# ovs:
-# bridge_mappings: "bond0:br-ex"
-# sriov_agent:
-# securitygroup:
-# firewall_driver: neutron.agent.firewall.NoopFirewallDriver
-# sriov_nic:
-# exclude_devices: ""
-# physical_device_mappings: '
-#{%- for sriovnet in yaml.sriov.nets -%}
-#{%- if loop.index > 1 -%},{%- endif -%}
-#{{sriovnet.physical}}:{{sriovnet.interface}}
-#{%- endfor -%}'
-# ml2_conf:
-# ml2:
-# 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
+
+data:
+ values:
+ labels:
+ agent:
+ sriov:
+ node_selector_key: sriov
+ node_selector_value: enabled
+ network:
+ auto_bridge_add: {br-ex: bond0}
+ backend:
+ - openvswitch
+ - sriov
+ interface:
+ tunnel_device: '{{yaml.networks.neutron.interface}}'
+ sriov:
+{% for sriovnet in yaml.sriov.nets %}
+ - device: {{sriovnet.interface}}
+ num_vfs: 32
+ mtu: 9000
+ promisc: false
+{% endfor %}
+ conf:
+ # auto_bridge_add:
+ # br-ex: {{yaml.networks.neutron.interface}}
+ dhcp_lease_duration: = 86400
+ plugins:
+ openvswitch_agent:
+ agent:
+ tunnel_types: vxlan
+ ovs:
+ bridge_mappings: "bond0:br-ex"
+ sriov_agent:
+ securitygroup:
+ firewall_driver: neutron.agent.firewall.NoopFirewallDriver
+ sriov_nic:
+ exclude_devices: ""
+ physical_device_mappings: '
+{%- for sriovnet in yaml.sriov.nets -%}
+{%- if loop.index > 1 -%},{%- endif -%}
+{{sriovnet.physical}}:{{sriovnet.interface}}
+{%- endfor -%}'
+ ml2_conf:
+ ml2:
+ 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: []
...
metadata:
schema: metadata/Document/v1
name: nova
+ labels:
+ component: nova
layeringDefinition:
abstract: false
layer: site
- method: merge
path: .
storagePolicy: cleartext
-data: {}
-#data:
-# values:
-# network:
-# backend:
-# - openvswitch
-#{% if 'sriov' in yaml %}
-# - sriov
-#{% endif %}
-# conf:
-# nova:
-# filter_scheduler:
-# enabled_filters: "RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter, PciPassthroughFilter, NUMATopologyFilter, DifferentHostFilter, SameHostFilter"
-# libvirt:
-# virt_type: kvm
-# DEFAULT:
-# vcpu_pin_set: {% if 'platform' in yaml and 'vcpu_pin_set' in yaml.platform %}"{{yaml.platform.vcpu_pin_set}}"
-#{% else %}"4-21,26-43,48-65,72-87"
-#{% endif %}
-# vif_plugging_is_fatal: False
-# vif_plugging_timeout: 30
-# pci:
-#{% if 'gpu' in yaml or 'sriov' in yaml %}
-# alias: |
-# {% if 'sriov' in yaml and 'alias' in yaml.sriov %}
-# {% for alias in yaml.sriov.alias %}
-# '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}'
-# {% endfor %}
-# {% endif %}
-# {% if 'gpu' in yaml and 'alias' in yaml.gpu %}
-# {% for alias in yaml.gpu.alias %}
-# '{"name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI"}'
-# {% endfor %}
-# {% endif %}
-# passthrough_whitelist: |
-# [
-# {%- if 'sriov' in yaml and 'nets' in yaml.sriov %}
-# {% for sriovnet in yaml.sriov.nets %}
-# {%- for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}{{',' if not loop.last else '' -}}
-# {%- endfor -%}
-# {%- if 'gpu' in yaml and 'sriov' in yaml %},{% endif -%}
-# {%- for alias in yaml.gpu.alias %}{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}{{',' if not loop.last else ''}}{% endfor -%}
-# ]
-# {% endif %}
-#{% endif %}
+#data: {}
+data:
+ values:
+ network:
+ backend:
+ - openvswitch
+{% if 'sriov' in yaml %}
+ - sriov
+{% endif %}
+ conf:
+ nova:
+ filter_scheduler:
+ enabled_filters: "RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter, PciPassthroughFilter, NUMATopologyFilter, DifferentHostFilter, SameHostFilter"
+ DEFAULT:
+ vcpu_pin_set: {% if 'platform' in yaml and 'vcpu_pin_set' in yaml.platform %}"{{yaml.platform.vcpu_pin_set}}"
+{% else %}"4-21,26-43,48-65,72-87"
+{% endif %}
+ pci:
+{% if 'gpu' in yaml or 'sriov' in yaml %}
+ alias: |
+ {% if 'sriov' in yaml and 'alias' in yaml.sriov %}
+ {% for alias in yaml.sriov.alias %}
+ '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}'
+ {% endfor %}
+ {% endif %}
+ {% if 'gpu' in yaml and 'alias' in yaml.gpu %}
+ {% for alias in yaml.gpu.alias %}
+ '{"name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI"}'
+ {% endfor %}
+ {% endif %}
+ passthrough_whitelist: |
+ [
+ {%- if 'sriov' in yaml and 'nets' in yaml.sriov %}
+ {% for sriovnet in yaml.sriov.nets %}
+ {%- for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}{{',' if not loop.last else '' -}}
+ {%- endfor -%}
+ {%- if 'gpu' in yaml and 'sriov' in yaml %},{% endif -%}
+ {%- for alias in yaml.gpu.alias %}{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}{{',' if not loop.last else ''}}{% endfor -%}
+ ]
+ {% endif %}
+{% endif %}
...