diff --git a/.ci/automation-schema.yaml b/.ci/automation-schema.yaml index 415e12a3c..e47fc0cfb 100644 --- a/.ci/automation-schema.yaml +++ b/.ci/automation-schema.yaml @@ -4,7 +4,7 @@ # We are using yamale to validate files # https://github.com/23andMe/Yamale --- -vas: map(include('_architecture'), key=str()) +vas: map(include('_architecture'), key=str(), min=1, max=1) --- # Define various nested types diff --git a/.ci/validate-schema-paths.py b/.ci/validate-schema-paths.py index 94b18c31b..a2836156a 100644 --- a/.ci/validate-schema-paths.py +++ b/.ci/validate-schema-paths.py @@ -24,6 +24,8 @@ def __run_file(self, f): content = yaml.safe_load(fh) for scenario in content['vas']: print(f' Checking scenario: {scenario}') + assert (rel.name == f'{scenario}.yaml'), \ + f'!! {rel.name} does not match {scenario}.yaml' self.__validate(content['vas'][scenario]) def __validate(self, scenario): diff --git a/automation/vars/bgp.yaml b/automation/vars/bgp.yaml index 8d9c067d6..0f6a3c83a 100644 --- a/automation/vars/bgp.yaml +++ b/automation/vars/bgp.yaml @@ -51,81 +51,3 @@ vas: - name: edpm-deployment-values src_file: values.yaml build_output: deployment-dataplane.yaml - bgp_dt01: - stages: - - pre_stage_run: - - name: Apply taint on worker-3 - type: cr - definition: - spec: - taints: - - effect: NoSchedule - key: testOperator - value: 'true' - - effect: NoExecute - key: testOperator - value: 'true' - kind: Node - resource_name: worker-3 - state: patched - path: examples/dt/bgp/bgp_dt01/control-plane/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/bgp/bgp_dt01/control-plane - wait_conditions: - - >- - oc -n openstack wait openstackcontrolplane - controlplane - --for condition=Ready - --timeout=30m - 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/bgp/bgp_dt01/edpm/networkers - wait_conditions: - - >- - oc -n openstack wait openstackdataplanenodeset - networker-nodes - --for condition=SetupReady - --timeout=600s - values: - - name: edpm-networker-nodeset-values - src_file: values.yaml - build_output: edpm-networker-nodeset.yaml - - - path: examples/dt/bgp/bgp_dt01/edpm/computes - wait_conditions: - - >- - oc -n openstack wait openstackdataplanenodeset - compute-nodes - --for condition=SetupReady - --timeout=600s - values: - - name: edpm-compute-nodeset-values - src_file: values.yaml - build_output: edpm-compute-nodeset.yaml - - - path: examples/dt/bgp/bgp_dt01/edpm/deployment - wait_conditions: - - >- - oc -n openstack wait openstackdataplanedeployment - edpm-deployment - --for condition=Ready - --timeout=3800s - values: - - name: edpm-deployment-values - src_file: values.yaml - build_output: edpm-deployment.yaml diff --git a/automation/vars/bgp_dt01.yaml b/automation/vars/bgp_dt01.yaml new file mode 100644 index 000000000..334450626 --- /dev/null +++ b/automation/vars/bgp_dt01.yaml @@ -0,0 +1,80 @@ +--- +vas: + bgp_dt01: + stages: + - pre_stage_run: + - name: Apply taint on worker-3 + type: cr + definition: + spec: + taints: + - effect: NoSchedule + key: testOperator + value: 'true' + - effect: NoExecute + key: testOperator + value: 'true' + kind: Node + resource_name: worker-3 + state: patched + path: examples/dt/bgp/bgp_dt01/control-plane/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/bgp/bgp_dt01/control-plane + wait_conditions: + - >- + oc -n openstack wait openstackcontrolplane + controlplane + --for condition=Ready + --timeout=30m + 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/bgp/bgp_dt01/edpm/networkers + wait_conditions: + - >- + oc -n openstack wait openstackdataplanenodeset + networker-nodes + --for condition=SetupReady + --timeout=600s + values: + - name: edpm-networker-nodeset-values + src_file: values.yaml + build_output: edpm-networker-nodeset.yaml + + - path: examples/dt/bgp/bgp_dt01/edpm/computes + wait_conditions: + - >- + oc -n openstack wait openstackdataplanenodeset + compute-nodes + --for condition=SetupReady + --timeout=600s + values: + - name: edpm-compute-nodeset-values + src_file: values.yaml + build_output: edpm-compute-nodeset.yaml + + - path: examples/dt/bgp/bgp_dt01/edpm/deployment + wait_conditions: + - >- + oc -n openstack wait openstackdataplanedeployment + edpm-deployment + --for condition=Ready + --timeout=3800s + values: + - name: edpm-deployment-values + src_file: values.yaml + build_output: edpm-deployment.yaml diff --git a/automation/vars/default.yaml b/automation/vars/default.yaml deleted file mode 100644 index 29840be5f..000000000 --- a/automation/vars/default.yaml +++ /dev/null @@ -1,299 +0,0 @@ ---- -vas: - hci: - stages: - - path: examples/va/hci/control-plane/nncp - wait_conditions: - - >- - oc -n openstack wait nncp - -l osp/nncm-config-type=standard - --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured - --timeout=5m - values: - - name: network-values - src_file: values.yaml - build_output: nncp.yaml - - - path: examples/va/hci/control-plane - wait_conditions: - - >- - oc -n openstack wait osctlplane controlplane --for condition=Ready - --timeout=60m - values: - - name: service-values - src_file: service-values.yaml - - name: network-values - src_file: nncp/values.yaml - build_output: ../control-plane.yaml - - - path: examples/va/hci/edpm-pre-ceph/nodeset - wait_conditions: - - >- - oc -n openstack wait - osdpns openstack-edpm --for condition=SetupReady - --timeout=10m - values: - - name: edpm-nodeset-values - src_file: values.yaml - build_output: nodeset-pre-ceph.yaml - - - path: examples/va/hci/edpm-pre-ceph/deployment - wait_conditions: - - >- - oc -n openstack wait - osdpns openstack-edpm --for condition=Ready - --timeout=30m - values: - - name: edpm-deployment-values - src_file: values.yaml - build_output: deployment-pre-ceph.yaml - post_stage_run: - - name: Deploy Ceph - type: playbook - source: "../../playbooks/ceph.yml" - inventory: "${HOME}/ci-framework-data/artifacts/zuul_inventory.yml" - - - path: examples/va/hci - wait_conditions: - - >- - oc -n openstack wait - osdpns openstack-edpm --for condition=SetupReady - --timeout=10m - values: - - name: service-values - src_file: service-values.yaml - - name: edpm-nodeset-values-post-ceph - src_file: values.yaml - build_output: nodeset-post-ceph.yaml - - - path: examples/va/hci/deployment - wait_conditions: - - >- - oc -n openstack wait - osdpns openstack-edpm --for condition=Ready - --timeout=40m - values: - - name: edpm-deployment-values-post-ceph - src_file: values.yaml - build_output: deployment-post-ceph.yaml - - sriov: - stages: - - path: examples/va/nfv/sriov/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/va/nfv/sriov - 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/va/nfv/sriov/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/va/nfv/sriov/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 - - ovs-dpdk: - stages: - - path: examples/va/nfv/ovs-dpdk/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/va/nfv/ovs-dpdk - 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/va/nfv/ovs-dpdk/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/va/nfv/ovs-dpdk/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 - - ovs-dpdk-sriov: - stages: - - path: examples/va/nfv/ovs-dpdk-sriov/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/va/nfv/ovs-dpdk-sriov - wait_conditions: - - >- - oc -n openstack wait osctlplane controlplane --for condition=Ready - --timeout=1200s - values: - - name: network-values - src_file: nncp/values.yaml - - name: service-values - src_file: service-values.yaml - build_output: control-plane.yaml - - - path: examples/va/nfv/ovs-dpdk-sriov/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/va/nfv/ovs-dpdk-sriov/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 - - nfv-ovs-dpdk-sriov-hci: - stages: - - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/control-plane/nncp - wait_conditions: - - >- - oc -n openstack wait nncp - -l osp/nncm-config-type=standard - --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured - --timeout=5m - values: - - name: network-values - src_file: values.yaml - build_output: nncp.yaml - - - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/control-plane - wait_conditions: - - >- - oc -n openstack wait osctlplane controlplane --for condition=Ready - --timeout=60m - values: - - name: service-values - src_file: service-values.yaml - - name: network-values - src_file: nncp/values.yaml - build_output: ../control-plane.yaml - - - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/edpm-pre-ceph/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-pre-ceph.yaml - - - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/edpm-pre-ceph/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-pre-ceph.yaml - post_stage_run: - - name: Deploy Ceph - type: playbook - source: "../../playbooks/ceph.yml" - inventory: "${HOME}/ci-framework-data/artifacts/zuul_inventory.yml" - - - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci - wait_conditions: - - >- - oc -n openstack wait - osdpns openstack-edpm --for condition=SetupReady - --timeout=60m - values: - - name: service-values - src_file: service-values.yaml - - name: edpm-nodeset-values-post-ceph - src_file: values.yaml - build_output: nodeset-post-ceph.yaml - - - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/deployment - wait_conditions: - - >- - oc -n openstack wait - osdpns openstack-edpm --for condition=Ready - --timeout=60m - values: - - name: edpm-deployment-values-post-ceph - src_file: values.yaml - build_output: deployment-post-ceph.yaml diff --git a/automation/vars/hci.yaml b/automation/vars/hci.yaml new file mode 100644 index 000000000..7449b72b3 --- /dev/null +++ b/automation/vars/hci.yaml @@ -0,0 +1,78 @@ +--- +vas: + hci: + stages: + - path: examples/va/hci/control-plane/nncp + wait_conditions: + - >- + oc -n openstack wait nncp + -l osp/nncm-config-type=standard + --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured + --timeout=5m + values: + - name: network-values + src_file: values.yaml + build_output: nncp.yaml + + - path: examples/va/hci/control-plane + wait_conditions: + - >- + oc -n openstack wait osctlplane controlplane --for condition=Ready + --timeout=60m + values: + - name: service-values + src_file: service-values.yaml + - name: network-values + src_file: nncp/values.yaml + build_output: ../control-plane.yaml + + - path: examples/va/hci/edpm-pre-ceph/nodeset + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=SetupReady + --timeout=10m + values: + - name: edpm-nodeset-values + src_file: values.yaml + build_output: nodeset-pre-ceph.yaml + + - path: examples/va/hci/edpm-pre-ceph/deployment + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=Ready + --timeout=30m + values: + - name: edpm-deployment-values + src_file: values.yaml + build_output: deployment-pre-ceph.yaml + post_stage_run: + - name: Deploy Ceph + type: playbook + source: "../../playbooks/ceph.yml" + inventory: "${HOME}/ci-framework-data/artifacts/zuul_inventory.yml" + + - path: examples/va/hci + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=SetupReady + --timeout=10m + values: + - name: service-values + src_file: service-values.yaml + - name: edpm-nodeset-values-post-ceph + src_file: values.yaml + build_output: nodeset-post-ceph.yaml + + - path: examples/va/hci/deployment + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=Ready + --timeout=40m + values: + - name: edpm-deployment-values-post-ceph + src_file: values.yaml + build_output: deployment-post-ceph.yaml diff --git a/automation/vars/nfv-ovs-dpdk-sriov-hci.yaml b/automation/vars/nfv-ovs-dpdk-sriov-hci.yaml new file mode 100644 index 000000000..30bdcb021 --- /dev/null +++ b/automation/vars/nfv-ovs-dpdk-sriov-hci.yaml @@ -0,0 +1,78 @@ +--- +vas: + nfv-ovs-dpdk-sriov-hci: + stages: + - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/control-plane/nncp + wait_conditions: + - >- + oc -n openstack wait nncp + -l osp/nncm-config-type=standard + --for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured + --timeout=5m + values: + - name: network-values + src_file: values.yaml + build_output: nncp.yaml + + - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/control-plane + wait_conditions: + - >- + oc -n openstack wait osctlplane controlplane --for condition=Ready + --timeout=60m + values: + - name: service-values + src_file: service-values.yaml + - name: network-values + src_file: nncp/values.yaml + build_output: ../control-plane.yaml + + - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/edpm-pre-ceph/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-pre-ceph.yaml + + - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/edpm-pre-ceph/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-pre-ceph.yaml + post_stage_run: + - name: Deploy Ceph + type: playbook + source: "../../playbooks/ceph.yml" + inventory: "${HOME}/ci-framework-data/artifacts/zuul_inventory.yml" + + - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=SetupReady + --timeout=60m + values: + - name: service-values + src_file: service-values.yaml + - name: edpm-nodeset-values-post-ceph + src_file: values.yaml + build_output: nodeset-post-ceph.yaml + + - path: examples/dt/nfv/nfv-ovs-dpdk-sriov-hci/deployment + wait_conditions: + - >- + oc -n openstack wait + osdpns openstack-edpm --for condition=Ready + --timeout=60m + values: + - name: edpm-deployment-values-post-ceph + src_file: values.yaml + build_output: deployment-post-ceph.yaml diff --git a/automation/vars/ovs-dpdk-sriov.yaml b/automation/vars/ovs-dpdk-sriov.yaml new file mode 100644 index 000000000..64cefafbe --- /dev/null +++ b/automation/vars/ovs-dpdk-sriov.yaml @@ -0,0 +1,49 @@ +--- +vas: + ovs-dpdk-sriov: + stages: + - path: examples/va/nfv/ovs-dpdk-sriov/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/va/nfv/ovs-dpdk-sriov + wait_conditions: + - >- + oc -n openstack wait osctlplane controlplane --for condition=Ready + --timeout=1200s + values: + - name: network-values + src_file: nncp/values.yaml + - name: service-values + src_file: service-values.yaml + build_output: control-plane.yaml + + - path: examples/va/nfv/ovs-dpdk-sriov/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/va/nfv/ovs-dpdk-sriov/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/automation/vars/ovs-dpdk.yaml b/automation/vars/ovs-dpdk.yaml new file mode 100644 index 000000000..bf680303d --- /dev/null +++ b/automation/vars/ovs-dpdk.yaml @@ -0,0 +1,49 @@ +--- +vas: + ovs-dpdk: + stages: + - path: examples/va/nfv/ovs-dpdk/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/va/nfv/ovs-dpdk + 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/va/nfv/ovs-dpdk/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/va/nfv/ovs-dpdk/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/automation/vars/sriov.yaml b/automation/vars/sriov.yaml new file mode 100644 index 000000000..f90fc33a5 --- /dev/null +++ b/automation/vars/sriov.yaml @@ -0,0 +1,49 @@ +--- +vas: + sriov: + stages: + - path: examples/va/nfv/sriov/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/va/nfv/sriov + 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/va/nfv/sriov/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/va/nfv/sriov/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