diff --git a/automation/vars/nova03gamma.yaml b/automation/vars/nova03gamma.yaml new file mode 100644 index 000000000..ab013c023 --- /dev/null +++ b/automation/vars/nova03gamma.yaml @@ -0,0 +1,49 @@ +--- +vas: + nova03gamma: + stages: + - path: examples/dt/nova/nova03gamma/nncp/ + wait_conditions: + - >- + oc -n openstack wait nncp + -l osp/nncm-config-type=standard + --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured + --timeout=60s + values: + - name: network-values + src_file: values.yaml + build_output: nncp.yaml + + - path: examples/dt/nova/nova03gamma/ + wait_conditions: + - >- + oc -n openstack wait osctlplane controlplane --for condition=Ready + --timeout=600s + values: + - name: network-values + src_file: nncp/values.yaml + - name: service-values + src_file: service-values.yaml + build_output: control-plane.yaml + + - path: examples/dt/nova/nova03gamma/edpm/nodeset + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=SetupReady + --timeout=60m + values: + - name: edpm-nodeset-values + src_file: values.yaml + build_output: nodeset.yaml + + - path: examples/dt/nova/nova03gamma/edpm/deployment + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=Ready + --timeout=60m + values: + - name: edpm-deployment-values + src_file: values.yaml + build_output: deployment.yaml diff --git a/dt/nova/nova03gamma/README.md b/dt/nova/nova03gamma/README.md new file mode 100644 index 000000000..0a8069b86 --- /dev/null +++ b/dt/nova/nova03gamma/README.md @@ -0,0 +1,2 @@ +# Nova Alpha 01 +TBD diff --git a/dt/nova/nova03gamma/edpm/deployment/kustomization.yaml b/dt/nova/nova03gamma/edpm/deployment/kustomization.yaml new file mode 100644 index 000000000..35ccc4852 --- /dev/null +++ b/dt/nova/nova03gamma/edpm/deployment/kustomization.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +transformers: + # Set namespace to OpenStack on all namespaced objects without a namespace + - |- + apiVersion: builtin + kind: NamespaceTransformer + metadata: + name: _ignored_ + namespace: openstack + setRoleBindingSubjects: none + unsetOnly: true + fieldSpecs: + - path: metadata/name + kind: Namespace + create: true + +components: + - ../../../../../lib/dataplane/deployment diff --git a/dt/nova/nova03gamma/edpm/nodeset/kustomization.yaml b/dt/nova/nova03gamma/edpm/nodeset/kustomization.yaml new file mode 100644 index 000000000..477bb9f59 --- /dev/null +++ b/dt/nova/nova03gamma/edpm/nodeset/kustomization.yaml @@ -0,0 +1,39 @@ +--- +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +transformers: + # Set namespace to OpenStack on all namespaced objects without a namespace + - |- + apiVersion: builtin + kind: NamespaceTransformer + metadata: + name: _ignored_ + namespace: openstack + setRoleBindingSubjects: none + unsetOnly: true + fieldSpecs: + - path: metadata/name + kind: Namespace + create: true + +components: + - ../../../../../lib/dataplane/nodeset + +resources: + - nova_pinning.yaml + +replacements: + # Nova compute CPU pinning customization + - source: + kind: ConfigMap + name: edpm-nodeset-values + fieldPath: data.nova.compute.conf + targets: + - select: + kind: ConfigMap + name: cpu-pinning-nova + fieldPaths: + - data.25-cpu-pinning-nova\.conf + options: + create: true diff --git a/dt/nova/nova03gamma/edpm/nodeset/nova_pinning.yaml b/dt/nova/nova03gamma/edpm/nodeset/nova_pinning.yaml new file mode 100644 index 000000000..7ea83bdad --- /dev/null +++ b/dt/nova/nova03gamma/edpm/nodeset/nova_pinning.yaml @@ -0,0 +1,32 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: cpu-pinning-nova +data: + 25-cpu-pinning-nova.conf: _replaced_ +--- +apiVersion: dataplane.openstack.org/v1beta1 +kind: OpenStackDataPlaneService +metadata: + name: nova-custom-sriov +spec: + label: dataplane-deployment-nova-custom-sriov + edpmServiceType: nova + dataSources: + - configMapRef: + name: cpu-pinning-nova + - secretRef: + name: nova-cell1-compute-config + - secretRef: + name: nova-migration-ssh-key + playbook: osp.edpm.nova + tlsCerts: + default: + contents: + - dnsnames + - ips + networks: + - ctlplane + issuer: osp-rootca-issuer-internal + caCerts: combined-ca-bundle diff --git a/dt/nova/nova03gamma/kustomization.yaml b/dt/nova/nova03gamma/kustomization.yaml new file mode 100644 index 000000000..f63d7e58e --- /dev/null +++ b/dt/nova/nova03gamma/kustomization.yaml @@ -0,0 +1,142 @@ +--- +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +transformers: + # Set namespace to OpenStack on all namespaced objects without a namespace + - |- + apiVersion: builtin + kind: NamespaceTransformer + metadata: + name: _ignored_ + namespace: openstack + setRoleBindingSubjects: none + unsetOnly: true + fieldSpecs: + - path: metadata/name + kind: Namespace + create: true + +components: + - ../../../lib/networking/metallb + - ../../../lib/networking/netconfig + - ../../../lib/networking/nad + - ../../../lib/control-plane + +replacements: + # Control plane customization + - source: + kind: ConfigMap + name: service-values + fieldPath: data.cinderVolumes.lvm-iscsi.replicas + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.cinder.template.cinderVolumes.lvm-iscsi.replicas + options: + create: true + + - source: + kind: ConfigMap + name: service-values + fieldPath: data.cinderVolumes.lvm-iscsi.nodeSelector.openstack\.org/cinder-lvm + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.cinder.template.cinderVolumes.lvm-iscsi.nodeSelector.openstack\.org/cinder-lvm + options: + create: true + + - source: + kind: ConfigMap + name: service-values + fieldPath: data.cinderVolumes.lvm-iscsi.customServiceConfig + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.cinder.template.cinderVolumes.lvm-iscsi.customServiceConfig + options: + create: true + + - source: + kind: ConfigMap + name: service-values + fieldPath: data.cinderBackup.customServiceConfig + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.cinder.template.cinderBackup.customServiceConfig + options: + create: true + + - source: + kind: ConfigMap + name: service-values + fieldPath: data.cinderBackup.replicas + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.cinder.template.cinderBackup.replicas + options: + create: true + + - source: + kind: ConfigMap + name: service-values + fieldPath: data.glance.customServiceConfig + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.glance.template.customServiceConfig + options: + create: true + - source: + kind: ConfigMap + name: service-values + fieldPath: data.glance.default.replicas + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.glance.template.glanceAPIs.default.replicas + options: + create: true + - source: + kind: ConfigMap + name: service-values + fieldPath: data.nova.apiServiceTemplate.customServiceConfig + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.nova.template.apiServiceTemplate.customServiceConfig + options: + create: true + - source: + kind: ConfigMap + name: service-values + fieldPath: data.nova.schedulerServiceTemplate.customServiceConfig + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.nova.template.schedulerServiceTemplate.customServiceConfig + options: + create: true + - source: + kind: ConfigMap + name: service-values + fieldPath: data.swift.enabled + targets: + - select: + kind: OpenStackControlPlane + fieldPaths: + - spec.swift.enabled + options: + create: true diff --git a/dt/nova/nova03gamma/namespace.yaml b/dt/nova/nova03gamma/namespace.yaml new file mode 100644 index 000000000..60a6e8c42 --- /dev/null +++ b/dt/nova/nova03gamma/namespace.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: builtin +kind: NamespaceTransformer +metadata: + name: _ignored_ + namespace: openstack +setRoleBindingSubjects: none +unsetOnly: true +fieldSpecs: + - path: metadata/name + kind: Namespace + create: true diff --git a/examples/dt/nova/nova03gamma/.gitignore b/examples/dt/nova/nova03gamma/.gitignore new file mode 100644 index 000000000..3df8f53be --- /dev/null +++ b/examples/dt/nova/nova03gamma/.gitignore @@ -0,0 +1 @@ +control-plane.yaml diff --git a/examples/dt/nova/nova03gamma/README.md b/examples/dt/nova/nova03gamma/README.md new file mode 100644 index 000000000..2ebf1082f --- /dev/null +++ b/examples/dt/nova/nova03gamma/README.md @@ -0,0 +1,2 @@ +# OpenStack Nova Alpha 01 +TBD diff --git a/examples/dt/nova/nova03gamma/control-plane.md b/examples/dt/nova/nova03gamma/control-plane.md new file mode 100644 index 000000000..b261cd751 --- /dev/null +++ b/examples/dt/nova/nova03gamma/control-plane.md @@ -0,0 +1,2 @@ +# Configuring networking and deploy the OpenStack control plane +TBD diff --git a/examples/dt/nova/nova03gamma/dataplane.md b/examples/dt/nova/nova03gamma/dataplane.md new file mode 100644 index 000000000..97fdf70dc --- /dev/null +++ b/examples/dt/nova/nova03gamma/dataplane.md @@ -0,0 +1,2 @@ +# Configuring and deploying the dataplane +TBD diff --git a/examples/dt/nova/nova03gamma/edpm/.gitignore b/examples/dt/nova/nova03gamma/edpm/.gitignore new file mode 100644 index 000000000..835442d0a --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/.gitignore @@ -0,0 +1,2 @@ +dataplane-deployment.yaml +dataplane-nodeset.yaml \ No newline at end of file diff --git a/examples/dt/nova/nova03gamma/edpm/deployment/.gitignore b/examples/dt/nova/nova03gamma/edpm/deployment/.gitignore new file mode 100644 index 000000000..56387c5df --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/deployment/.gitignore @@ -0,0 +1 @@ +dataplane-deployment.yaml \ No newline at end of file diff --git a/examples/dt/nova/nova03gamma/edpm/deployment/kustomization.yaml b/examples/dt/nova/nova03gamma/edpm/deployment/kustomization.yaml new file mode 100644 index 000000000..40059465f --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/deployment/kustomization.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +components: + - ../../../../../../va/nfv/sriov/edpm/deployment + # - https://github.com/openstack-k8s-operators/architecture/va/nfv/sriov/edpm/deployment?ref=main + ## It's possible to replace ../../../../../../va/nfv/sriov/edpm/deployment/ with a git checkout URL as per: + ## https://github.com/kubernetes-sigs/kustomize/blob/master/examples/remoteBuild.md + +resources: + - values.yaml diff --git a/examples/dt/nova/nova03gamma/edpm/deployment/values.yaml b/examples/dt/nova/nova03gamma/edpm/deployment/values.yaml new file mode 100644 index 000000000..7f371b2cc --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/deployment/values.yaml @@ -0,0 +1,10 @@ +# yamllint disable rule:line-length +# local-config: referenced, but not emitted by kustomize +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: edpm-deployment-values + annotations: + config.kubernetes.io/local-config: "true" +data: {} diff --git a/examples/dt/nova/nova03gamma/edpm/nodeset/.gitignore b/examples/dt/nova/nova03gamma/edpm/nodeset/.gitignore new file mode 100644 index 000000000..721008e8b --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/nodeset/.gitignore @@ -0,0 +1 @@ +dataplane-nodeset.yaml \ No newline at end of file diff --git a/examples/dt/nova/nova03gamma/edpm/nodeset/kustomization.yaml b/examples/dt/nova/nova03gamma/edpm/nodeset/kustomization.yaml new file mode 100644 index 000000000..46785204e --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/nodeset/kustomization.yaml @@ -0,0 +1,9 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +components: + - ../../../../../../dt/nova/nova03gamma/edpm/nodeset + +resources: + - values.yaml diff --git a/examples/dt/nova/nova03gamma/edpm/nodeset/values.yaml b/examples/dt/nova/nova03gamma/edpm/nodeset/values.yaml new file mode 100644 index 000000000..aa70bf851 --- /dev/null +++ b/examples/dt/nova/nova03gamma/edpm/nodeset/values.yaml @@ -0,0 +1,138 @@ +--- +apiVersion: v1 +kind: ConfigMap + +metadata: + name: edpm-nodeset-values + annotations: + config.kubernetes.io/local-config: "true" + +data: + ssh_keys: + authorized: _replaced_ + private: _replaced_ + public: _replaced_ + + nodeset: + ansible: + ansibleUser: cloud-admin + ansiblePort: 22 + ansibleVars: + timesync_ntp_servers: + - hostname: pool.ntp.org + edpm_network_config_hide_sensitive_logs: false + edpm_network_config_template: | + --- + {% set mtu_list = [ctlplane_mtu] %} + {% for network in nodeset_networks %} + {{ mtu_list.append(lookup('vars', networks_lower[network] ~ '_mtu')) }} + {%- endfor %} + {% set min_viable_mtu = mtu_list | max %} + network_config: + - type: ovs_bridge + name: {{ neutron_physical_bridge_name }} + mtu: {{ min_viable_mtu }} + use_dhcp: false + dns_servers: {{ ctlplane_dns_nameservers }} + domain: {{ dns_search_domains }} + addresses: + - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }} + routes: {{ ctlplane_host_routes }} + members: + - type: interface + name: nic2 + mtu: {{ min_viable_mtu }} + primary: true + {% for network in nodeset_networks %} + - type: vlan + mtu: {{ lookup('vars', networks_lower[network] ~ '_mtu') }} + vlan_id: {{ lookup('vars', networks_lower[network] ~ '_vlan_id') }} + addresses: + - ip_netmask: >- + {{ + lookup('vars', networks_lower[network] ~ '_ip') + }}/{{ + lookup('vars', networks_lower[network] ~ '_cidr') + }} + routes: {{ lookup('vars', networks_lower[network] ~ '_host_routes') }} + {% endfor %} + neutron_physical_bridge_name: br-ex + neutron_public_interface_name: eth0 + + edpm_nodes_validation_validate_controllers_icmp: false + edpm_nodes_validation_validate_gateway_icmp: false + + edpm_sshd_configure_firewall: true + edpm_sshd_allowed_ranges: + - 192.168.122.0/24 + gather_facts: false + + networks: + - defaultRoute: true + name: ctlplane + subnetName: subnet1 + - name: internalapi + subnetName: subnet1 + - name: storage + subnetName: subnet1 + - name: tenant + subnetName: subnet1 + + nodes: + edpm-compute-0: + ansible: + ansibleHost: 192.168.122.100 + hostName: edpm-compute-0 + networks: + - defaultRoute: true + fixedIP: 192.168.122.100 + name: ctlplane + subnetName: subnet1 + - name: internalapi + subnetName: subnet1 + - name: storage + subnetName: subnet1 + - name: tenant + subnetName: subnet1 + + edpm-compute-1: + ansible: + ansibleHost: 192.168.122.101 + hostName: edpm-compute-1 + networks: + - defaultRoute: true + fixedIP: 192.168.122.101 + name: ctlplane + subnetName: subnet1 + - name: internalapi + subnetName: subnet1 + - name: storage + subnetName: subnet1 + - name: tenant + subnetName: subnet1 + + services: + - bootstrap + - configure-network + - validate-network + - install-os + - configure-os + - ssh-known-hosts + - run-os + - reboot-os + - install-certs + - ovn + - neutron-metadata + - libvirt + - nova + + nova: + compute: + conf: | + [compute] + cpu_shared_set = 2,6 + cpu_dedicated_set = 0,1,4,5 + migration: + ssh_keys: + private: _replaced_ + public: _replaced_ diff --git a/examples/dt/nova/nova03gamma/kustomization.yaml b/examples/dt/nova/nova03gamma/kustomization.yaml new file mode 100644 index 000000000..b506d8ed6 --- /dev/null +++ b/examples/dt/nova/nova03gamma/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +components: + - ../../../../dt/nova/nova03gamma/ + +resources: + - nncp/values.yaml + - service-values.yaml diff --git a/examples/dt/nova/nova03gamma/nncp/kustomization.yaml b/examples/dt/nova/nova03gamma/nncp/kustomization.yaml new file mode 100644 index 000000000..c92bc55fa --- /dev/null +++ b/examples/dt/nova/nova03gamma/nncp/kustomization.yaml @@ -0,0 +1,24 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +transformers: + # Set namespace to OpenStack on all namespaced objects without a namespace + - |- + apiVersion: builtin + kind: NamespaceTransformer + metadata: + name: _ignored_ + namespace: openstack + setRoleBindingSubjects: none + unsetOnly: true + fieldSpecs: + - path: metadata/name + kind: Namespace + create: true + +components: + - ../../../../../lib/nncp + +resources: + - values.yaml diff --git a/examples/dt/nova/nova03gamma/nncp/values.yaml b/examples/dt/nova/nova03gamma/nncp/values.yaml new file mode 100644 index 000000000..7860d3b8c --- /dev/null +++ b/examples/dt/nova/nova03gamma/nncp/values.yaml @@ -0,0 +1,199 @@ +# local-config: referenced, but not emitted by kustomize +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: network-values + annotations: + config.kubernetes.io/local-config: "true" +data: + # nodes + node_0: + name: ostest-master-0 + internalapi_ip: 172.17.0.5 + tenant_ip: 172.19.0.5 + ctlplane_ip: 192.168.122.10 + storage_ip: 172.18.0.5 + node_1: + name: ostest-master-1 + internalapi_ip: 172.17.0.6 + tenant_ip: 172.19.0.6 + ctlplane_ip: 192.168.122.11 + storage_ip: 172.18.0.6 + node_2: + name: ostest-master-2 + internalapi_ip: 172.17.0.7 + tenant_ip: 172.19.0.7 + ctlplane_ip: 192.168.122.12 + storage_ip: 172.18.0.7 + + # networks + ctlplane: + dnsDomain: ctlplane.example.com + subnets: + - allocationRanges: + - end: 192.168.122.120 + start: 192.168.122.100 + - end: 192.168.122.200 + start: 192.168.122.150 + cidr: 192.168.122.0/24 + gateway: 192.168.122.1 + name: subnet1 + prefix-length: 24 + iface: enp7s0 + mtu: 1500 + lb_addresses: + - 192.168.122.80-192.168.122.90 + endpoint_annotations: + metallb.universe.tf/address-pool: ctlplane + metallb.universe.tf/allow-shared-ip: ctlplane + metallb.universe.tf/loadBalancerIPs: 192.168.122.80 + net-attach-def: | + { + "cniVersion": "0.3.1", + "name": "ctlplane", + "type": "macvlan", + "master": "ospbr", + "ipam": { + "type": "whereabouts", + "range": "192.168.122.0/24", + "range_start": "192.168.122.30", + "range_end": "192.168.122.70" + } + } + internalapi: + dnsDomain: internalapi.example.com + subnets: + - allocationRanges: + - end: 172.17.0.250 + start: 172.17.0.100 + cidr: 172.17.0.0/24 + name: subnet1 + vlan: 20 + mtu: 1500 + prefix-length: 24 + iface: enp7s0.20 + vlan: 20 + base_iface: enp7s0 + lb_addresses: + - 172.17.0.80-172.17.0.90 + endpoint_annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/allow-shared-ip: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.80 + net-attach-def: | + { + "cniVersion": "0.3.1", + "name": "internalapi", + "type": "macvlan", + "master": "internalapi", + "ipam": { + "type": "whereabouts", + "range": "172.17.0.0/24", + "range_start": "172.17.0.30", + "range_end": "172.17.0.70" + } + } + storage: + dnsDomain: storage.example.com + subnets: + - allocationRanges: + - end: 172.18.0.250 + start: 172.18.0.100 + cidr: 172.18.0.0/24 + name: subnet1 + vlan: 21 + mtu: 1500 + prefix-length: 24 + iface: enp7s0.21 + vlan: 21 + base_iface: enp7s0 + lb_addresses: + - 172.18.0.80-172.18.0.90 + net-attach-def: | + { + "cniVersion": "0.3.1", + "name": "storage", + "type": "macvlan", + "master": "storage", + "ipam": { + "type": "whereabouts", + "range": "172.18.0.0/24", + "range_start": "172.18.0.30", + "range_end": "172.18.0.70" + } + } + tenant: + dnsDomain: tenant.example.com + subnets: + - allocationRanges: + - end: 172.19.0.250 + start: 172.19.0.100 + cidr: 172.19.0.0/24 + name: subnet1 + vlan: 22 + mtu: 1500 + prefix-length: 24 + iface: enp7s0.22 + vlan: 22 + base_iface: enp7s0 + lb_addresses: + - 172.19.0.80-172.19.0.90 + net-attach-def: | + { + "cniVersion": "0.3.1", + "name": "tenant", + "type": "macvlan", + "master": "tenant", + "ipam": { + "type": "whereabouts", + "range": "172.19.0.0/24", + "range_start": "172.19.0.30", + "range_end": "172.19.0.70" + } + } + external: + dnsDomain: external.example.com + subnets: + - allocationRanges: + - end: 10.0.0.250 + start: 10.0.0.100 + cidr: 10.0.0.0/24 + gateway: 10.0.0.1 + name: subnet1 + mtu: 1500 + datacentre: + net-attach-def: | + { + "cniVersion": "0.3.1", + "name": "datacentre", + "type": "bridge", + "bridge": "ospbr", + "ipam": {} + } + + dns-resolver: + config: + server: + - 192.168.122.1 + search: [] + options: + - key: server + values: + - 192.168.122.1 + + routes: + config: [] + + rabbitmq: + endpoint_annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.85 + rabbitmq-cell1: + endpoint_annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.86 + + lbServiceType: LoadBalancer + storageClass: local-storage + bridgeName: ospbr diff --git a/examples/dt/nova/nova03gamma/service-values.yaml b/examples/dt/nova/nova03gamma/service-values.yaml new file mode 100644 index 000000000..439fc5efe --- /dev/null +++ b/examples/dt/nova/nova03gamma/service-values.yaml @@ -0,0 +1,67 @@ +# local-config: referenced, but not emitted by kustomize +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: service-values + annotations: + config.kubernetes.io/local-config: "true" +data: + preserveJobs: false + cinderVolumes: + lvm-iscsi: + replicas: 1 + nodeSelector: + openstack.org/cinder-lvm: "" + customServiceConfig: | + [lvm] + image_volume_cache_enabled = false + volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver + volume_group = cinder-volumes + target_protocol = iscsi + target_helper = lioadm + volume_backend_name = lvm_iscsi + target_ip_address=172.18.0.10 + target_secondary_ip_addresses = 172.19.0.10 + + cinderBackup: + customServiceConfig: | + [DEFAULT] + backup_driver = cinder.backup.drivers.swift.SwiftBackupDriver + replicas: 1 + + glance: + customServiceConfig: | + [DEFAULT] + enabled_backends = default_backend:swift + [glance_store] + default_backend = default_backend + [default_backend] + swift_store_create_container_on_put = True + swift_store_auth_version = 3 + swift_store_auth_address = {{ .KeystoneInternalURL }} + swift_store_endpoint_type = internalURL + swift_store_user = service:glance + swift_store_key = {{ .ServicePassword }} + default: + replicas: 1 + nova: + apiServiceTemplate: + customServiceConfig: | + [quota] + driver = nova.quota.UnifiedLimitsDriver + unified_limits_resource_strategy = require + unified_limits_resource_list= + [oslo_limit] + auth_url = https://keystone-internal.openstack.svc:5000 + auth_type = password + user_domain_name = Default + username = nova + password = 12345678 + system_scope = all + schedulerServiceTemplate: + customServiceConfig: | + [filter_scheduler] + enabled_filtes = AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter + swift: + enabled: true diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml index 8cbdcfc51..20050d600 100644 --- a/zuul.d/projects.yaml +++ b/zuul.d/projects.yaml @@ -11,6 +11,7 @@ - rhoso-architecture-validate-multi-namespace - rhoso-architecture-validate-nfv-ovs-dpdk-sriov-adoption - rhoso-architecture-validate-nfv-ovs-dpdk-sriov-hci + - rhoso-architecture-validate-nova03gamma - rhoso-architecture-validate-nova-three-cells - rhoso-architecture-validate-nova01alpha - rhoso-architecture-validate-nvidia-mdev diff --git a/zuul.d/validations.yaml b/zuul.d/validations.yaml index dd7f91382..0cfc4f96e 100644 --- a/zuul.d/validations.yaml +++ b/zuul.d/validations.yaml @@ -130,6 +130,16 @@ parent: rhoso-architecture-base-job vars: cifmw_architecture_scenario: nfv-ovs-dpdk-sriov-hci +- job: + files: + - examples/dt/nova/nova03gamma/control-plane + - examples/dt/nova/nova03gamma/control-plane/nncp + - examples/dt/nova/nova03gamma/edpm/deployment + - examples/dt/nova/nova03gamma/edpm/nodeset + name: rhoso-architecture-validate-nova03gamma + parent: rhoso-architecture-base-job + vars: + cifmw_architecture_scenario: nova03gamma - job: files: - examples/dt/nova/nova-three-cells/control-plane