You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
8.4 KiB
149 lines
8.4 KiB
apiVersion: airshipit.org/v1alpha1 |
|
kind: PhasePlan |
|
metadata: |
|
name: deploy-aiship-core-gating |
|
description: "Phase plan for airship-core deployment on gating" |
|
phases: |
|
# Deploy ephemeral node using redfish with iso |
|
- name: remotedirect-ephemeral |
|
# Wait for apiserver to become available |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_node/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-node |
|
- name: kubectl-wait-node-ephemeral |
|
# Waiting for any pods to be available |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_pods_any/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-pods-any |
|
- name: kubectl-wait-pods-any-ephemeral |
|
# Deploy calico using tigera operator |
|
- name: initinfra-networking-ephemeral |
|
# Wait for Calico to be deployed using tigera |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_tigera/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait_tigera |
|
- name: kubectl-wait-tigera-ephemeral |
|
# Deploy metal3.io components to ephemeral node |
|
- name: initinfra-ephemeral |
|
# Getting pods as debug information" |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
- name: kubectl-get-pods-ephemeral |
|
# Deploy cluster-api components to ephemeral node |
|
- name: clusterctl-init-ephemeral |
|
# Waiting for clusterapi pods to come up |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_deploy/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-deploy |
|
- name: kubectl-wait-deploy-ephemeral |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
- name: kubectl-get-pods-ephemeral |
|
# TODO (dukov) this is needed due to sushy tools inserts cdrom image to |
|
# all vms. This can be removed once sushy tool is fixed |
|
# Scripts for this phase placed in manifests/function/phase-helpers/virsh-eject-cdrom-images/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name virsh-eject-cdrom-images |
|
- name: virsh-eject-cdrom-images |
|
# Create target k8s cluster resources |
|
- name: controlplane-ephemeral |
|
# List all nodes in target cluster |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_node/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-node |
|
- name: kubectl-get-node-target |
|
# List all pods in target cluster |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
- name: kubectl-get-pods-target |
|
# Deploy calico using tigera operator |
|
- name: initinfra-networking-target |
|
# Wait for Calico to be deployed using tigera |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_tigera/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-tigera |
|
- name: kubectl-wait-tigera-target |
|
# Deploy infra to cluster |
|
- name: initinfra-target |
|
# List all pods |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
- name: kubectl-get-pods-target |
|
# Annotate node for hostconfig-operator |
|
# Scripts for this phase placed in manifests/function/phase-helpers/annotate_node_for_hostconfig_operator/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-annotate-node-for-hostconfig-operator |
|
- name: kubectl-annotate-node-for-hostconfig-operator-target |
|
# Deploy CAPI components to target cluster |
|
- name: clusterctl-init-target |
|
# Waiting for pods to be ready |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_pods_ready/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-pods-ready |
|
- name: kubectl-wait-pods-ready-target |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
- name: kubectl-get-pods-target |
|
# Move Cluster Object to Target Cluster |
|
- name: clusterctl-move |
|
# Waiting for pods to be ready |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_pods_ready/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-pods-ready |
|
- name: kubectl-wait-pods-ready-target |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
- name: kubectl-get-pods-target |
|
# Wait till crds are created |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_cluster/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-cluster |
|
- name: kubectl-wait-cluster-target |
|
# (TODO) Need to add manifests for controlplane-targer phase |
|
# Create target k8s cluster resources |
|
# - name: controlplane-target |
|
# List all nodes in target cluster |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_node/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-node |
|
# - name: kubectl-get-node-target |
|
# List all pods in target cluster |
|
# Scripts for this phase placed in manifests/function/phase-helpers/get_pods/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-get-pods |
|
# - name: kubectl-get-pods-target |
|
# all vms. This can be removed once sushy tool is fixed |
|
# Scripts for this phase placed in manifests/function/phase-helpers/virsh-destroy-vms/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name virsh-destroy-vms |
|
- name: virsh-destroy-vms |
|
# Deploy worker node |
|
- name: workers-target |
|
# Waiting for node to be provisioned |
|
# Scripts for this phase placed in manifests/function/phase-helpers/wait_label_node/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-wait-label-node |
|
- name: kubectl-wait-label-node-target |
|
# Annotate node for hostconfig-operator |
|
# Scripts for this phase placed in manifests/function/phase-helpers/annotate_node_for_hostconfig_operator/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-annotate-node-for-hostconfig-operator |
|
- name: kubectl-annotate-node-for-hostconfig-operator-target |
|
# Deploy workload |
|
- name: workload-target |
|
# Ensure we can reach ingress controller default backend |
|
# Scripts for this phase placed in manifests/function/phase-helpers/check_ingress_ctrl/ |
|
# To get ConfigMap for this phase, execute `airshipctl phase render --source config -k ConfigMap` |
|
# and find ConfigMap with name kubectl-check-ingress-ctrl |
|
- name: kubectl-check-ingress-ctrl-target |
|
# (TODO) Need to verify these phases |
|
# - name: lma-infra |
|
# - name: lma-stack |
|
# - name: lma-configs |
|
# - name: deliver-network-policy
|
|
|