# Airshipctl phase run commands usage with docker provider In the document, we demonstrate the usage of the following phases with docker rovider(capd): ``` ❯ airshipctl phase plan GROUP PHASE group1 clusterctl-init-ephemeral controlplane-ephemeral workers-ephemeral clusterctl-init-target clusterctl-move ``` ``` ❯ cat ~/.airship/config apiVersion: airshipit.org/v1alpha1 contexts: default: contextKubeconf: "" managementConfiguration: default manifest: default kind-capi-docker: contextKubeconf: kind-capi-docker managementConfiguration: "" manifest: docker_manifest currentContext: kind-capi-docker encryptionConfigs: null kind: Config managementConfiguration: default: systemActionRetries: 30 systemRebootDelay: 30 type: redfish manifests: default: metadataPath: manifests/site/test-site/metadata.yaml phaseRepositoryName: primary repositories: primary: checkout: branch: master commitHash: "" force: false tag: "" url: https://opendev.org/airship/treasuremap subPath: treasuremap/manifests/site targetPath: /tmp/default docker_manifest: metadataPath: manifests/site/docker-test-site/metadata.yaml phaseRepositoryName: primary repositories: primary: checkout: branch: master commitHash: "" force: false tag: "" url: https://opendev.org/airship/airshipctl targetPath: /tmp/airship permissions: DirectoryPermission: 488 FilePermission: 416 ``` ``` ❯ export KUBECONFIG=${KUBECONFIG:-"$HOME/.airship/kubeconfig"} ❯ kind delete clusters --all Deleted clusters: [] ❯ export KIND_EXPERIMENTAL_DOCKER_NETWORK=bridge ❯ kind create cluster --name ephemeral-cluster --config ~/kind-cluster-with-extramounts.yaml --wait 200s Creating cluster "ephemeral-cluster" ... WARNING: Overriding docker network due to KIND_EXPERIMENTAL_DOCKER_NETWORK WARNING: Here be dragons! This is not supported currently. ✓ Ensuring node image (kindest/node:v1.18.2) 🖼 ✓ Preparing nodes 📦 ✓ Writing configuration 📜 ✓ Starting control-plane 🕹️ ✓ Installing CNI 🔌 ✓ Installing StorageClass 💾 ✓ Waiting ≤ 3m20s for control-plane = Ready ⏳ • Ready after 55s 💚 Set kubectl context to "kind-ephemeral-cluster" You can now use your cluster with: kubectl cluster-info --context kind-ephemeral-cluster Thanks for using kind! 😊 ❯ kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-66bff467f8-fstl4 1/1 Running 0 63s kube-system coredns-66bff467f8-mvs4n 1/1 Running 0 63s kube-system etcd-ephemeral-cluster-control-plane 1/1 Running 0 72s kube-system kindnet-m6j5j 1/1 Running 0 63s kube-system kube-apiserver-ephemeral-cluster-control-plane 1/1 Running 0 72s kube-system kube-controller-manager-ephemeral-cluster-control-plane 1/1 Running 0 72s kube-system kube-proxy-q8pfv 1/1 Running 0 63s kube-system kube-scheduler-ephemeral-cluster-control-plane 1/1 Running 0 72s local-path-storage local-path-provisioner-bd4bb6b75-r55vl 1/1 Running 0 63s ❯ kubectl config set-context ephemeral-cluster --cluster kind-ephemeral-cluster --user kind-ephemeral-cluster Context "ephemeral-cluster" modified. ❯ airshipctl phase plan GROUP PHASE group1 clusterctl-init-ephemeral controlplane-ephemeral workers-ephemeral clusterctl-init-target clusterctl-move ❯ airshipctl phase run clusterctl-init-ephemeral --debug --kubeconfig ~/.airship/kubeconfig [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CACPK_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPD_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPI_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPM3_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPM3_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CACPK_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CABPK_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPD_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPI_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CABPK_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/client/client.go:67: Starting cluster-api initiation [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/events/processor.go:61: Received event: {4 2020-11-03 13:38:23.624429494 -0800 PST m=+1.002954432 {InitType {[]} {<nil>} {ApplyEventResourceUpdate ServersideApplied <nil>} {ResourceUpdateEvent <nil> <nil>} {PruneEventResourceUpdate Pruned <nil>} {DeleteEventResourceUpdate Deleted <nil>}} {<nil>} {ResourceUpdateEvent <nil> <nil>} {0 starting clusterctl init executor} {0 }} Installing the clusterctl inventory CRD Creating CustomResourceDefinition="providers.clusterctl.cluster.x-k8s.io" Fetching providers [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider cluster-api of type CoreProvider [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: CoreProvider, name: cluster-api [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: CoreProvider, name: cluster-api Fetching File="components.yaml" Provider="cluster-api" Version="v0.3.7" [airshipctl] 2020/11/03 13:38:23 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capi/v0.3.7 [airshipctl] 2020/11/03 13:38:25 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type BootstrapProvider [airshipctl] 2020/11/03 13:38:25 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: BootstrapProvider, name: kubeadm [airshipctl] 2020/11/03 13:38:25 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: BootstrapProvider, name: kubeadm Fetching File="components.yaml" Provider="bootstrap-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:38:25 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cabpk/v0.3.7 [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type ControlPlaneProvider [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: ControlPlaneProvider, name: kubeadm [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: ControlPlaneProvider, name: kubeadm Fetching File="components.yaml" Provider="control-plane-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cacpk/v0.3.7 [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider docker of type InfrastructureProvider [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: InfrastructureProvider, name: docker [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: InfrastructureProvider, name: docker Fetching File="components.yaml" Provider="infrastructure-docker" Version="v0.3.11" [airshipctl] 2020/11/03 13:38:26 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capd/v0.3.11 [airshipctl] 2020/11/03 13:38:27 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider cluster-api of type CoreProvider Fetching File="metadata.yaml" Provider="cluster-api" Version="v0.3.7" [airshipctl] 2020/11/03 13:38:27 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capi/v0.3.7 [airshipctl] 2020/11/03 13:38:28 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type BootstrapProvider Fetching File="metadata.yaml" Provider="bootstrap-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:38:28 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cabpk/v0.3.7 [airshipctl] 2020/11/03 13:38:28 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type ControlPlaneProvider Fetching File="metadata.yaml" Provider="control-plane-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:38:28 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cacpk/v0.3.7 [airshipctl] 2020/11/03 13:38:29 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider docker of type InfrastructureProvider Fetching File="metadata.yaml" Provider="infrastructure-docker" Version="v0.3.11" [airshipctl] 2020/11/03 13:38:29 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capd/v0.3.11 Creating Namespace="cert-manager-test" Installing cert-manager Version="v0.16.1" Creating Namespace="cert-manager" Creating CustomResourceDefinition="certificaterequests.cert-manager.io" Creating CustomResourceDefinition="certificates.cert-manager.io" Creating CustomResourceDefinition="challenges.acme.cert-manager.io" Creating CustomResourceDefinition="clusterissuers.cert-manager.io" Creating CustomResourceDefinition="issuers.cert-manager.io" Creating CustomResourceDefinition="orders.acme.cert-manager.io" Creating ServiceAccount="cert-manager-cainjector" Namespace="cert-manager" Creating ServiceAccount="cert-manager" Namespace="cert-manager" Creating ServiceAccount="cert-manager-webhook" Namespace="cert-manager" Creating ClusterRole="cert-manager-cainjector" Creating ClusterRole="cert-manager-controller-issuers" Creating ClusterRole="cert-manager-controller-clusterissuers" Creating ClusterRole="cert-manager-controller-certificates" Creating ClusterRole="cert-manager-controller-orders" Creating ClusterRole="cert-manager-controller-challenges" Creating ClusterRole="cert-manager-controller-ingress-shim" Creating ClusterRole="cert-manager-view" Creating ClusterRole="cert-manager-edit" Creating ClusterRoleBinding="cert-manager-cainjector" Creating ClusterRoleBinding="cert-manager-controller-issuers" Creating ClusterRoleBinding="cert-manager-controller-clusterissuers" Creating ClusterRoleBinding="cert-manager-controller-certificates" Creating ClusterRoleBinding="cert-manager-controller-orders" Creating ClusterRoleBinding="cert-manager-controller-challenges" Creating ClusterRoleBinding="cert-manager-controller-ingress-shim" Creating Role="cert-manager-cainjector:leaderelection" Namespace="kube-system" Creating Role="cert-manager:leaderelection" Namespace="kube-system" Creating Role="cert-manager-webhook:dynamic-serving" Namespace="cert-manager" Creating RoleBinding="cert-manager-cainjector:leaderelection" Namespace="kube-system" Creating RoleBinding="cert-manager:leaderelection" Namespace="kube-system" Creating RoleBinding="cert-manager-webhook:dynamic-serving" Namespace="cert-manager" Creating Service="cert-manager" Namespace="cert-manager" Creating Service="cert-manager-webhook" Namespace="cert-manager" Creating Deployment="cert-manager-cainjector" Namespace="cert-manager" Creating Deployment="cert-manager" Namespace="cert-manager" Creating Deployment="cert-manager-webhook" Namespace="cert-manager" Creating MutatingWebhookConfiguration="cert-manager-webhook" Creating ValidatingWebhookConfiguration="cert-manager-webhook" Waiting for cert-manager to be available... Updating Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Certificate="selfsigned-cert" Namespace="cert-manager-test" Deleting Namespace="cert-manager-test" Deleting Issuer="test-selfsigned" Namespace="cert-manager-test" Deleting Certificate="selfsigned-cert" Namespace="cert-manager-test" Installing Provider="cluster-api" Version="v0.3.7" TargetNamespace="capi-system" Creating shared objects Provider="cluster-api" Version="v0.3.7" Creating Namespace="capi-webhook-system" Creating CustomResourceDefinition="clusterresourcesetbindings.addons.cluster.x-k8s.io" Creating CustomResourceDefinition="clusterresourcesets.addons.cluster.x-k8s.io" Creating CustomResourceDefinition="clusters.cluster.x-k8s.io" Creating CustomResourceDefinition="machinedeployments.cluster.x-k8s.io" Creating CustomResourceDefinition="machinehealthchecks.cluster.x-k8s.io" Creating CustomResourceDefinition="machinepools.exp.cluster.x-k8s.io" Creating CustomResourceDefinition="machines.cluster.x-k8s.io" Creating CustomResourceDefinition="machinesets.cluster.x-k8s.io" Creating Service="capi-webhook-service" Namespace="capi-webhook-system" Creating Deployment="capi-controller-manager" Namespace="capi-webhook-system" Creating Certificate="capi-serving-cert" Namespace="capi-webhook-system" Creating Issuer="capi-selfsigned-issuer" Namespace="capi-webhook-system" Creating MutatingWebhookConfiguration="capi-mutating-webhook-configuration" Creating ValidatingWebhookConfiguration="capi-validating-webhook-configuration" Creating instance objects Provider="cluster-api" Version="v0.3.7" TargetNamespace="capi-system" Creating Namespace="capi-system" Creating Role="capi-leader-election-role" Namespace="capi-system" Creating ClusterRole="capi-system-capi-aggregated-manager-role" Creating ClusterRole="capi-system-capi-manager-role" Creating ClusterRole="capi-system-capi-proxy-role" Creating RoleBinding="capi-leader-election-rolebinding" Namespace="capi-system" Creating ClusterRoleBinding="capi-system-capi-manager-rolebinding" Creating ClusterRoleBinding="capi-system-capi-proxy-rolebinding" Creating Service="capi-controller-manager-metrics-service" Namespace="capi-system" Creating Deployment="capi-controller-manager" Namespace="capi-system" Creating inventory entry Provider="cluster-api" Version="v0.3.7" TargetNamespace="capi-system" Installing Provider="bootstrap-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-bootstrap-system" Creating shared objects Provider="bootstrap-kubeadm" Version="v0.3.7" Creating CustomResourceDefinition="kubeadmconfigs.bootstrap.cluster.x-k8s.io" Creating CustomResourceDefinition="kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io" Creating Service="capi-kubeadm-bootstrap-webhook-service" Namespace="capi-webhook-system" Creating Deployment="capi-kubeadm-bootstrap-controller-manager" Namespace="capi-webhook-system" Creating Certificate="capi-kubeadm-bootstrap-serving-cert" Namespace="capi-webhook-system" Creating Issuer="capi-kubeadm-bootstrap-selfsigned-issuer" Namespace="capi-webhook-system" Creating ValidatingWebhookConfiguration="capi-kubeadm-bootstrap-validating-webhook-configuration" Creating instance objects Provider="bootstrap-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-bootstrap-system" Creating Namespace="capi-kubeadm-bootstrap-system" Creating Role="capi-kubeadm-bootstrap-leader-election-role" Namespace="capi-kubeadm-bootstrap-system" Creating ClusterRole="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-manager-role" Creating ClusterRole="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-proxy-role" Creating RoleBinding="capi-kubeadm-bootstrap-leader-election-rolebinding" Namespace="capi-kubeadm-bootstrap-system" Creating ClusterRoleBinding="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-manager-rolebinding" Creating ClusterRoleBinding="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-proxy-rolebinding" Creating Service="capi-kubeadm-bootstrap-controller-manager-metrics-service" Namespace="capi-kubeadm-bootstrap-system" Creating Deployment="capi-kubeadm-bootstrap-controller-manager" Namespace="capi-kubeadm-bootstrap-system" Creating inventory entry Provider="bootstrap-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-bootstrap-system" Installing Provider="control-plane-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-control-plane-system" Creating shared objects Provider="control-plane-kubeadm" Version="v0.3.7" Creating CustomResourceDefinition="kubeadmcontrolplanes.controlplane.cluster.x-k8s.io" Creating Service="capi-kubeadm-control-plane-webhook-service" Namespace="capi-webhook-system" Creating Deployment="capi-kubeadm-control-plane-controller-manager" Namespace="capi-webhook-system" Creating Certificate="capi-kubeadm-control-plane-serving-cert" Namespace="capi-webhook-system" Creating Issuer="capi-kubeadm-control-plane-selfsigned-issuer" Namespace="capi-webhook-system" Creating MutatingWebhookConfiguration="capi-kubeadm-control-plane-mutating-webhook-configuration" Creating ValidatingWebhookConfiguration="capi-kubeadm-control-plane-validating-webhook-configuration" Creating instance objects Provider="control-plane-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-control-plane-system" Creating Namespace="capi-kubeadm-control-plane-system" Creating Role="capi-kubeadm-control-plane-leader-election-role" Namespace="capi-kubeadm-control-plane-system" Creating Role="capi-kubeadm-control-plane-manager-role" Namespace="capi-kubeadm-control-plane-system" Creating ClusterRole="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-aggregated-manager-role" Creating ClusterRole="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-manager-role" Creating ClusterRole="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-proxy-role" Creating RoleBinding="capi-kubeadm-control-plane-leader-election-rolebinding" Namespace="capi-kubeadm-control-plane-system" Creating ClusterRoleBinding="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-manager-rolebinding" Creating ClusterRoleBinding="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-proxy-rolebinding" Creating Service="capi-kubeadm-control-plane-controller-manager-metrics-service" Namespace="capi-kubeadm-control-plane-system" Creating Deployment="capi-kubeadm-control-plane-controller-manager" Namespace="capi-kubeadm-control-plane-system" Creating inventory entry Provider="control-plane-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-control-plane-system" Installing Provider="infrastructure-docker" Version="v0.3.11" TargetNamespace="capd-system" Creating shared objects Provider="infrastructure-docker" Version="v0.3.11" Creating CustomResourceDefinition="dockerclusters.infrastructure.cluster.x-k8s.io" Creating CustomResourceDefinition="dockermachinepools.exp.infrastructure.cluster.x-k8s.io" Creating CustomResourceDefinition="dockermachines.infrastructure.cluster.x-k8s.io" Creating CustomResourceDefinition="dockermachinetemplates.infrastructure.cluster.x-k8s.io" Creating ValidatingWebhookConfiguration="capd-validating-webhook-configuration" Creating instance objects Provider="infrastructure-docker" Version="v0.3.11" TargetNamespace="capd-system" Creating Namespace="capd-system" Creating Role="capd-leader-election-role" Namespace="capd-system" Creating ClusterRole="capd-system-capd-manager-role" Creating ClusterRole="capd-system-capd-proxy-role" Creating RoleBinding="capd-leader-election-rolebinding" Namespace="capd-system" Creating ClusterRoleBinding="capd-system-capd-manager-rolebinding" Creating ClusterRoleBinding="capd-system-capd-proxy-rolebinding" Creating Service="capd-controller-manager-metrics-service" Namespace="capd-system" Creating Service="capd-webhook-service" Namespace="capd-system" Creating Deployment="capd-controller-manager" Namespace="capd-system" Creating Certificate="capd-serving-cert" Namespace="capd-system" Creating Issuer="capd-selfsigned-issuer" Namespace="capd-system" Creating inventory entry Provider="infrastructure-docker" Version="v0.3.11" TargetNamespace="capd-system" [airshipctl] 2020/11/03 13:39:18 opendev.org/airship/airshipctl/pkg/events/processor.go:61: Received event: {4 2020-11-03 13:39:18.991658433 -0800 PST m=+56.370183427 {InitType {[]} {<nil>} {ApplyEventResourceUpdate ServersideApplied <nil>} {ResourceUpdateEvent <nil> <nil>} {PruneEventResourceUpdate Pruned <nil>} {DeleteEventResourceUpdate Deleted <nil>}} {<nil>} {ResourceUpdateEvent <nil> <nil>} {1 clusterctl init completed successfully} {0 }} ❯ kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE capd-system capd-controller-manager-5498cfdfb5-944r6 2/2 Running 0 56s capi-kubeadm-bootstrap-system capi-kubeadm-bootstrap-controller-manager-556678c94-7ht68 2/2 Running 0 66s capi-kubeadm-control-plane-system capi-kubeadm-control-plane-controller-manager-556d47dffd-fqvv9 2/2 Running 0 60s capi-system capi-controller-manager-67859f6b78-v4pvh 2/2 Running 0 71s capi-webhook-system capi-controller-manager-5c785c685c-k5rgr 2/2 Running 0 72s capi-webhook-system capi-kubeadm-bootstrap-controller-manager-77658d7745-j747h 2/2 Running 0 69s capi-webhook-system capi-kubeadm-control-plane-controller-manager-74dcf8b9c-76kz4 2/2 Running 0 64s cert-manager cert-manager-578cd6d964-zvgc4 1/1 Running 0 100s cert-manager cert-manager-cainjector-5ffff9dd7c-kb47s 1/1 Running 0 100s cert-manager cert-manager-webhook-556b9d7dfd-dlg55 1/1 Running 0 100s kube-system coredns-66bff467f8-fstl4 1/1 Running 0 4m9s kube-system coredns-66bff467f8-mvs4n 1/1 Running 0 4m9s kube-system etcd-ephemeral-cluster-control-plane 1/1 Running 0 4m18s kube-system kindnet-m6j5j 1/1 Running 0 4m9s kube-system kube-apiserver-ephemeral-cluster-control-plane 1/1 Running 0 4m18s kube-system kube-controller-manager-ephemeral-cluster-control-plane 1/1 Running 0 4m18s kube-system kube-proxy-q8pfv 1/1 Running 0 4m9s kube-system kube-scheduler-ephemeral-cluster-control-plane 1/1 Running 0 4m18s local-path-storage local-path-provisioner-bd4bb6b75-r55vl 1/1 Running 0 4m9s ❯ airshipctl phase run controlplane-ephemeral --debug --kubeconfig ~/.airship/kubeconfig [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/executor.go:126: Getting kubeconfig file information from kubeconfig provider [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/executor.go:131: Filtering out documents that shouldn't be applied to kubernetes from document bundle [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/executor.go:115: WaitTimeout: 33m20s [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:76: Getting infos for bundle, inventory id is controlplane-ephemeral [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:106: Inventory Object config Map not found, auto generating Inventory object [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:113: Injecting Inventory Object: {"apiVersion":"v1","kind":"ConfigMap","metadata":{"creationTimestamp":null,"labels":{"cli-utils.sigs.k8s.io/inventory-id":"controlplane-ephemeral"},"name":"airshipit-controlplane-ephemeral","namespace":"airshipit"}}{nsfx:false,beh:unspecified} into bundle [airshipctl] 2020/11/03 13:41:01 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:119: Making sure that inventory object namespace airshipit exists cluster.cluster.x-k8s.io/target-cluster created dockercluster.infrastructure.cluster.x-k8s.io/target-cluster created dockermachinetemplate.infrastructure.cluster.x-k8s.io/target-cluster-control-plane created kubeadmcontrolplane.controlplane.cluster.x-k8s.io/target-cluster-control-plane created machinehealthcheck.cluster.x-k8s.io/target-cluster-mhc-0 created 5 resource(s) applied. 5 created, 0 unchanged, 0 configured dockermachinetemplate.infrastructure.cluster.x-k8s.io/target-cluster-control-plane is NotFound: Resource not found kubeadmcontrolplane.controlplane.cluster.x-k8s.io/target-cluster-control-plane is NotFound: Resource not found machinehealthcheck.cluster.x-k8s.io/target-cluster-mhc-0 is NotFound: Resource not found cluster.cluster.x-k8s.io/target-cluster is NotFound: Resource not found dockercluster.infrastructure.cluster.x-k8s.io/target-cluster is NotFound: Resource not found cluster.cluster.x-k8s.io/target-cluster is Current: Resource is current dockercluster.infrastructure.cluster.x-k8s.io/target-cluster is Current: Resource is current dockermachinetemplate.infrastructure.cluster.x-k8s.io/target-cluster-control-plane is Current: Resource is current kubeadmcontrolplane.controlplane.cluster.x-k8s.io/target-cluster-control-plane is Current: Resource is current machinehealthcheck.cluster.x-k8s.io/target-cluster-mhc-0 is Current: Resource is current all resources has reached the Current status ❯ kubectl get machines NAME PROVIDERID PHASE target-cluster-control-plane-knwz8 docker:////target-cluster-control-plane-knwz8 Running ❯ airshipctl phase run workers-ephemeral --debug --kubeconfig ~/.airship/kubeconfig [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/executor.go:126: Getting kubeconfig file information from kubeconfig provider [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/executor.go:131: Filtering out documents that shouldn't be applied to kubernetes from document bundle [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/executor.go:115: WaitTimeout: 33m20s [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:76: Getting infos for bundle, inventory id is workers-ephemeral [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:106: Inventory Object config Map not found, auto generating Inventory object [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:113: Injecting Inventory Object: {"apiVersion":"v1","kind":"ConfigMap","metadata":{"creationTimestamp":null,"labels":{"cli-utils.sigs.k8s.io/inventory-id":"workers-ephemeral"},"name":"airshipit-workers-ephemeral","namespace":"airshipit"}}{nsfx:false,beh:unspecified} into bundle [airshipctl] 2020/11/03 13:43:13 opendev.org/airship/airshipctl/pkg/k8s/applier/applier.go:119: Making sure that inventory object namespace airshipit exists dockermachinetemplate.infrastructure.cluster.x-k8s.io/target-cluster-md-0 created kubeadmconfigtemplate.bootstrap.cluster.x-k8s.io/target-cluster-md-0 created machinedeployment.cluster.x-k8s.io/target-cluster-md-0 created 3 resource(s) applied. 3 created, 0 unchanged, 0 configured dockermachinetemplate.infrastructure.cluster.x-k8s.io/target-cluster-md-0 is NotFound: Resource not found kubeadmconfigtemplate.bootstrap.cluster.x-k8s.io/target-cluster-md-0 is NotFound: Resource not found machinedeployment.cluster.x-k8s.io/target-cluster-md-0 is NotFound: Resource not found dockermachinetemplate.infrastructure.cluster.x-k8s.io/target-cluster-md-0 is Current: Resource is current kubeadmconfigtemplate.bootstrap.cluster.x-k8s.io/target-cluster-md-0 is Current: Resource is current machinedeployment.cluster.x-k8s.io/target-cluster-md-0 is Current: Resource is current all resources has reached the Current status ❯ kubectl get machines NAME PROVIDERID PHASE target-cluster-control-plane-knwz8 docker:////target-cluster-control-plane-knwz8 Running target-cluster-md-0-84db44cdff-nmlp8 docker:////target-cluster-md-0-84db44cdff-nmlp8 Running ❯ kubectl --namespace=default get secret/target-cluster-kubeconfig -o jsonpath={.data.value} | base64 --decode > ./target-cluster.kubeconfig ❯ kubectl get nodes --kubeconfig target-cluster.kubeconfig NAME STATUS ROLES AGE VERSION target-cluster-control-plane-knwz8 Ready master 2m9s v1.18.6 target-cluster-md-0-84db44cdff-nmlp8 Ready <none> 51s v1.18.6 ❯ kubectl config set-context target-cluster --user target-cluster-admin --cluster target-cluster --kubeconfig target-cluster.kubeconfig Context "target-cluster" created. ❯ airshipctl phase run clusterctl-init-target --debug --kubeconfig target-cluster.kubeconfig [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPM3_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CABPK_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CACPK_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CACPK_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPD_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPI_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CABPK_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPD_AUTH_PROXY is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPI_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/reader.go:104: Verifying that variable CONTAINER_CAPM3_MANAGER is allowed to be appended [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/clusterctl/client/client.go:67: Starting cluster-api initiation [airshipctl] 2020/11/03 13:44:55 opendev.org/airship/airshipctl/pkg/events/processor.go:61: Received event: {4 2020-11-03 13:44:55.095005823 -0800 PST m=+1.512994497 {InitType {[]} {<nil>} {ApplyEventResourceUpdate ServersideApplied <nil>} {ResourceUpdateEvent <nil> <nil>} {PruneEventResourceUpdate Pruned <nil>} {DeleteEventResourceUpdate Deleted <nil>}} {<nil>} {ResourceUpdateEvent <nil> <nil>} {0 starting clusterctl init executor} {0 }} Installing the clusterctl inventory CRD Creating CustomResourceDefinition="providers.clusterctl.cluster.x-k8s.io" Fetching providers [airshipctl] 2020/11/03 13:44:56 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider cluster-api of type CoreProvider [airshipctl] 2020/11/03 13:44:56 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: CoreProvider, name: cluster-api [airshipctl] 2020/11/03 13:44:56 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: CoreProvider, name: cluster-api Fetching File="components.yaml" Provider="cluster-api" Version="v0.3.7" [airshipctl] 2020/11/03 13:44:56 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capi/v0.3.7 [airshipctl] 2020/11/03 13:44:58 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type BootstrapProvider [airshipctl] 2020/11/03 13:44:58 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: BootstrapProvider, name: kubeadm [airshipctl] 2020/11/03 13:44:58 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: BootstrapProvider, name: kubeadm Fetching File="components.yaml" Provider="bootstrap-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:44:58 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cabpk/v0.3.7 [airshipctl] 2020/11/03 13:45:00 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type ControlPlaneProvider [airshipctl] 2020/11/03 13:45:00 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: ControlPlaneProvider, name: kubeadm [airshipctl] 2020/11/03 13:45:00 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: ControlPlaneProvider, name: kubeadm Fetching File="components.yaml" Provider="control-plane-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:45:00 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cacpk/v0.3.7 [airshipctl] 2020/11/03 13:45:01 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider docker of type InfrastructureProvider [airshipctl] 2020/11/03 13:45:01 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository_client.go:37: Setting up airshipctl provider Components client Provider type: InfrastructureProvider, name: docker [airshipctl] 2020/11/03 13:45:01 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/components_client.go:38: Getting airshipctl provider components, skipping variable substitution: false. Provider type: InfrastructureProvider, name: docker Fetching File="components.yaml" Provider="infrastructure-docker" Version="v0.3.11" [airshipctl] 2020/11/03 13:45:01 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capd/v0.3.11 [airshipctl] 2020/11/03 13:45:02 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider cluster-api of type CoreProvider Fetching File="metadata.yaml" Provider="cluster-api" Version="v0.3.7" [airshipctl] 2020/11/03 13:45:02 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capi/v0.3.7 [airshipctl] 2020/11/03 13:45:03 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type BootstrapProvider Fetching File="metadata.yaml" Provider="bootstrap-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:45:03 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cabpk/v0.3.7 [airshipctl] 2020/11/03 13:45:05 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider kubeadm of type ControlPlaneProvider Fetching File="metadata.yaml" Provider="control-plane-kubeadm" Version="v0.3.7" [airshipctl] 2020/11/03 13:45:05 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/cacpk/v0.3.7 [airshipctl] 2020/11/03 13:45:06 opendev.org/airship/airshipctl/pkg/clusterctl/client/factory.go:86: Creating airshipctl repository implementation interface for provider docker of type InfrastructureProvider Fetching File="metadata.yaml" Provider="infrastructure-docker" Version="v0.3.11" [airshipctl] 2020/11/03 13:45:06 opendev.org/airship/airshipctl/pkg/clusterctl/implementations/repository.go:83: Building cluster-api provider component documents from kustomize path at /tmp/airship/airshipctl/manifests/function/capd/v0.3.11 Creating Namespace="cert-manager-test" Installing cert-manager Version="v0.16.1" Creating Namespace="cert-manager" Creating CustomResourceDefinition="certificaterequests.cert-manager.io" Creating CustomResourceDefinition="certificates.cert-manager.io" Creating CustomResourceDefinition="challenges.acme.cert-manager.io" Creating CustomResourceDefinition="clusterissuers.cert-manager.io" Creating CustomResourceDefinition="issuers.cert-manager.io" Creating CustomResourceDefinition="orders.acme.cert-manager.io" Creating ServiceAccount="cert-manager-cainjector" Namespace="cert-manager" Creating ServiceAccount="cert-manager" Namespace="cert-manager" Creating ServiceAccount="cert-manager-webhook" Namespace="cert-manager" Creating ClusterRole="cert-manager-cainjector" Creating ClusterRole="cert-manager-controller-issuers" Creating ClusterRole="cert-manager-controller-clusterissuers" Creating ClusterRole="cert-manager-controller-certificates" Creating ClusterRole="cert-manager-controller-orders" Creating ClusterRole="cert-manager-controller-challenges" Creating ClusterRole="cert-manager-controller-ingress-shim" Creating ClusterRole="cert-manager-view" Creating ClusterRole="cert-manager-edit" Creating ClusterRoleBinding="cert-manager-cainjector" Creating ClusterRoleBinding="cert-manager-controller-issuers" Creating ClusterRoleBinding="cert-manager-controller-clusterissuers" Creating ClusterRoleBinding="cert-manager-controller-certificates" Creating ClusterRoleBinding="cert-manager-controller-orders" Creating ClusterRoleBinding="cert-manager-controller-challenges" Creating ClusterRoleBinding="cert-manager-controller-ingress-shim" Creating Role="cert-manager-cainjector:leaderelection" Namespace="kube-system" Creating Role="cert-manager:leaderelection" Namespace="kube-system" Creating Role="cert-manager-webhook:dynamic-serving" Namespace="cert-manager" Creating RoleBinding="cert-manager-cainjector:leaderelection" Namespace="kube-system" Creating RoleBinding="cert-manager:leaderelection" Namespace="kube-system" Creating RoleBinding="cert-manager-webhook:dynamic-serving" Namespace="cert-manager" Creating Service="cert-manager" Namespace="cert-manager" Creating Service="cert-manager-webhook" Namespace="cert-manager" Creating Deployment="cert-manager-cainjector" Namespace="cert-manager" Creating Deployment="cert-manager" Namespace="cert-manager" Creating Deployment="cert-manager-webhook" Namespace="cert-manager" Creating MutatingWebhookConfiguration="cert-manager-webhook" Creating ValidatingWebhookConfiguration="cert-manager-webhook" Waiting for cert-manager to be available... Updating Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Issuer="test-selfsigned" Namespace="cert-manager-test" Creating Certificate="selfsigned-cert" Namespace="cert-manager-test" Deleting Namespace="cert-manager-test" Deleting Issuer="test-selfsigned" Namespace="cert-manager-test" Deleting Certificate="selfsigned-cert" Namespace="cert-manager-test" Installing Provider="cluster-api" Version="v0.3.7" TargetNamespace="capi-system" Creating shared objects Provider="cluster-api" Version="v0.3.7" Creating Namespace="capi-webhook-system" Creating CustomResourceDefinition="clusterresourcesetbindings.addons.cluster.x-k8s.io" Creating CustomResourceDefinition="clusterresourcesets.addons.cluster.x-k8s.io" Creating CustomResourceDefinition="clusters.cluster.x-k8s.io" Creating CustomResourceDefinition="machinedeployments.cluster.x-k8s.io" Creating CustomResourceDefinition="machinehealthchecks.cluster.x-k8s.io" Creating CustomResourceDefinition="machinepools.exp.cluster.x-k8s.io" Creating CustomResourceDefinition="machines.cluster.x-k8s.io" Creating CustomResourceDefinition="machinesets.cluster.x-k8s.io" Creating Service="capi-webhook-service" Namespace="capi-webhook-system" Creating Deployment="capi-controller-manager" Namespace="capi-webhook-system" Creating Certificate="capi-serving-cert" Namespace="capi-webhook-system" Creating Issuer="capi-selfsigned-issuer" Namespace="capi-webhook-system" Creating MutatingWebhookConfiguration="capi-mutating-webhook-configuration" Creating ValidatingWebhookConfiguration="capi-validating-webhook-configuration" Creating instance objects Provider="cluster-api" Version="v0.3.7" TargetNamespace="capi-system" Creating Namespace="capi-system" Creating Role="capi-leader-election-role" Namespace="capi-system" Creating ClusterRole="capi-system-capi-aggregated-manager-role" Creating ClusterRole="capi-system-capi-manager-role" Creating ClusterRole="capi-system-capi-proxy-role" Creating RoleBinding="capi-leader-election-rolebinding" Namespace="capi-system" Creating ClusterRoleBinding="capi-system-capi-manager-rolebinding" Creating ClusterRoleBinding="capi-system-capi-proxy-rolebinding" Creating Service="capi-controller-manager-metrics-service" Namespace="capi-system" Creating Deployment="capi-controller-manager" Namespace="capi-system" Creating inventory entry Provider="cluster-api" Version="v0.3.7" TargetNamespace="capi-system" Installing Provider="bootstrap-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-bootstrap-system" Creating shared objects Provider="bootstrap-kubeadm" Version="v0.3.7" Creating CustomResourceDefinition="kubeadmconfigs.bootstrap.cluster.x-k8s.io" Creating CustomResourceDefinition="kubeadmconfigtemplates.bootstrap.cluster.x-k8s.io" Creating Service="capi-kubeadm-bootstrap-webhook-service" Namespace="capi-webhook-system" Creating Deployment="capi-kubeadm-bootstrap-controller-manager" Namespace="capi-webhook-system" Creating Certificate="capi-kubeadm-bootstrap-serving-cert" Namespace="capi-webhook-system" Creating Issuer="capi-kubeadm-bootstrap-selfsigned-issuer" Namespace="capi-webhook-system" Creating ValidatingWebhookConfiguration="capi-kubeadm-bootstrap-validating-webhook-configuration" Creating instance objects Provider="bootstrap-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-bootstrap-system" Creating Namespace="capi-kubeadm-bootstrap-system" Creating Role="capi-kubeadm-bootstrap-leader-election-role" Namespace="capi-kubeadm-bootstrap-system" Creating ClusterRole="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-manager-role" Creating ClusterRole="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-proxy-role" Creating RoleBinding="capi-kubeadm-bootstrap-leader-election-rolebinding" Namespace="capi-kubeadm-bootstrap-system" Creating ClusterRoleBinding="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-manager-rolebinding" Creating ClusterRoleBinding="capi-kubeadm-bootstrap-system-capi-kubeadm-bootstrap-proxy-rolebinding" Creating Service="capi-kubeadm-bootstrap-controller-manager-metrics-service" Namespace="capi-kubeadm-bootstrap-system" Creating Deployment="capi-kubeadm-bootstrap-controller-manager" Namespace="capi-kubeadm-bootstrap-system" Creating inventory entry Provider="bootstrap-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-bootstrap-system" Installing Provider="control-plane-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-control-plane-system" Creating shared objects Provider="control-plane-kubeadm" Version="v0.3.7" Creating CustomResourceDefinition="kubeadmcontrolplanes.controlplane.cluster.x-k8s.io" Creating Service="capi-kubeadm-control-plane-webhook-service" Namespace="capi-webhook-system" Creating Deployment="capi-kubeadm-control-plane-controller-manager" Namespace="capi-webhook-system" Creating Certificate="capi-kubeadm-control-plane-serving-cert" Namespace="capi-webhook-system" Creating Issuer="capi-kubeadm-control-plane-selfsigned-issuer" Namespace="capi-webhook-system" Creating MutatingWebhookConfiguration="capi-kubeadm-control-plane-mutating-webhook-configuration" Creating ValidatingWebhookConfiguration="capi-kubeadm-control-plane-validating-webhook-configuration" Creating instance objects Provider="control-plane-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-control-plane-system" Creating Namespace="capi-kubeadm-control-plane-system" Creating Role="capi-kubeadm-control-plane-leader-election-role" Namespace="capi-kubeadm-control-plane-system" Creating Role="capi-kubeadm-control-plane-manager-role" Namespace="capi-kubeadm-control-plane-system" Creating ClusterRole="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-aggregated-manager-role" Creating ClusterRole="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-manager-role" Creating ClusterRole="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-proxy-role" Creating RoleBinding="capi-kubeadm-control-plane-leader-election-rolebinding" Namespace="capi-kubeadm-control-plane-system" Creating ClusterRoleBinding="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-manager-rolebinding" Creating ClusterRoleBinding="capi-kubeadm-control-plane-system-capi-kubeadm-control-plane-proxy-rolebinding" Creating Service="capi-kubeadm-control-plane-controller-manager-metrics-service" Namespace="capi-kubeadm-control-plane-system" Creating Deployment="capi-kubeadm-control-plane-controller-manager" Namespace="capi-kubeadm-control-plane-system" Creating inventory entry Provider="control-plane-kubeadm" Version="v0.3.7" TargetNamespace="capi-kubeadm-control-plane-system" Installing Provider="infrastructure-docker" Version="v0.3.11" TargetNamespace="capd-system" Creating shared objects Provider="infrastructure-docker" Version="v0.3.11" Creating CustomResourceDefinition="dockerclusters.infrastructure.cluster.x-k8s.io" Creating CustomResourceDefinition="dockermachinepools.exp.infrastructure.cluster.x-k8s.io" Creating CustomResourceDefinition="dockermachines.infrastructure.cluster.x-k8s.io" Creating CustomResourceDefinition="dockermachinetemplates.infrastructure.cluster.x-k8s.io" Creating ValidatingWebhookConfiguration="capd-validating-webhook-configuration" Creating instance objects Provider="infrastructure-docker" Version="v0.3.11" TargetNamespace="capd-system" Creating Namespace="capd-system" Creating Role="capd-leader-election-role" Namespace="capd-system" Creating ClusterRole="capd-system-capd-manager-role" Creating ClusterRole="capd-system-capd-proxy-role" Creating RoleBinding="capd-leader-election-rolebinding" Namespace="capd-system" Creating ClusterRoleBinding="capd-system-capd-manager-rolebinding" Creating ClusterRoleBinding="capd-system-capd-proxy-rolebinding" Creating Service="capd-controller-manager-metrics-service" Namespace="capd-system" Creating Service="capd-webhook-service" Namespace="capd-system" Creating Deployment="capd-controller-manager" Namespace="capd-system" Creating Certificate="capd-serving-cert" Namespace="capd-system" Creating Issuer="capd-selfsigned-issuer" Namespace="capd-system" Creating inventory entry Provider="infrastructure-docker" Version="v0.3.11" TargetNamespace="capd-system" [airshipctl] 2020/11/03 13:46:47 opendev.org/airship/airshipctl/pkg/events/processor.go:61: Received event: {4 2020-11-03 13:46:47.05105543 -0800 PST m=+113.469044066 {InitType {[]} {<nil>} {ApplyEventResourceUpdate ServersideApplied <nil>} {ResourceUpdateEvent <nil> <nil>} {PruneEventResourceUpdate Pruned <nil>} {DeleteEventResourceUpdate Deleted <nil>}} {<nil>} {ResourceUpdateEvent <nil> <nil>} {1 clusterctl init completed successfully} {0 }} ❯ kubectl get pods -A --kubeconfig ./target-cluster.kubeconfig NAMESPACE NAME READY STATUS RESTARTS AGE capd-system capd-controller-manager-5498cfdfb5-zsjjd 2/2 Running 0 44s capi-kubeadm-bootstrap-system capi-kubeadm-bootstrap-controller-manager-556678c94-qwp4g 2/2 Running 0 66s capi-kubeadm-control-plane-system capi-kubeadm-control-plane-controller-manager-556d47dffd-q5l44 2/2 Running 0 55s capi-system capi-controller-manager-67859f6b78-ch5x7 2/2 Running 0 74s capi-webhook-system capi-controller-manager-5c785c685c-9r9kq 2/2 Running 0 85s capi-webhook-system capi-kubeadm-bootstrap-controller-manager-77658d7745-h2pwq 2/2 Running 0 72s capi-webhook-system capi-kubeadm-control-plane-controller-manager-74dcf8b9c-jmbpq 2/2 Running 0 63s cert-manager cert-manager-578cd6d964-pngn8 1/1 Running 0 2m7s cert-manager cert-manager-cainjector-5ffff9dd7c-42lgt 1/1 Running 0 2m7s cert-manager cert-manager-webhook-556b9d7dfd-8xb6f 1/1 Running 0 2m6s kube-system calico-kube-controllers-5569bdd565-9t4wl 1/1 Running 0 5m kube-system calico-node-4vt8t 1/1 Running 0 3m57s kube-system calico-node-5t2vh 1/1 Running 0 5m kube-system coredns-66bff467f8-6mdct 1/1 Running 0 5m2s kube-system coredns-66bff467f8-h2jsm 1/1 Running 0 5m2s kube-system etcd-target-cluster-control-plane-knwz8 1/1 Running 0 5m6s kube-system kube-apiserver-target-cluster-control-plane-knwz8 1/1 Running 0 5m6s kube-system kube-controller-manager-target-cluster-control-plane-knwz8 1/1 Running 0 5m6s kube-system kube-proxy-ltb8b 1/1 Running 0 3m57s kube-system kube-proxy-tbhcr 1/1 Running 0 5m2s kube-system kube-scheduler-target-cluster-control-plane-knwz8 1/1 Running 0 5m6s ❯ kubectl get machines NAME PROVIDERID PHASE target-cluster-control-plane-knwz8 docker:////target-cluster-control-plane-knwz8 Running target-cluster-md-0-84db44cdff-nmlp8 docker:////target-cluster-md-0-84db44cdff-nmlp8 Running ❯ KUBECONFIG=~/.airship/kubeconfig:target-cluster.kubeconfig kubectl config view --merge --flatten > mergerd_config.kubeconfig ❯ airshipctl phase run clusterctl-move --kubeconfig mergerd_config.kubeconfig [airshipctl] 2020/11/03 13:57:33 command 'clusterctl move' is going to be executed [airshipctl] 2020/11/03 13:57:33 Received event: {4 2020-11-03 13:57:33.232733796 -0800 PST m=+1.067579163 {InitType {[]} {<nil>} {ApplyEventResourceUpdate ServersideApplied <nil>} {ResourceUpdateEvent <nil> <nil>} {PruneEventResourceUpdate Pruned <nil>} {DeleteEventResourceUpdate Deleted <nil>}} {<nil>} {ResourceUpdateEvent <nil> <nil>} {2 starting clusterctl move executor} {0 }} [airshipctl] 2020/11/03 13:57:39 Received event: {4 2020-11-03 13:57:39.574022464 -0800 PST m=+7.408867835 {InitType {[]} {<nil>} {ApplyEventResourceUpdate ServersideApplied <nil>} {ResourceUpdateEvent <nil> <nil>} {PruneEventResourceUpdate Pruned <nil>} {DeleteEventResourceUpdate Deleted <nil>}} {<nil>} {ResourceUpdateEvent <nil> <nil>} {3 clusterctl move completed successfully} {0 }} ❯ kubectl get machines No resources found in default namespace. ❯ kubectl get machines --kubeconfig target-cluster.kubeconfig NAME PROVIDERID PHASE target-cluster-control-plane-knwz8 docker:////target-cluster-control-plane-knwz8 Running target-cluster-md-0-84db44cdff-nmlp8 docker:////target-cluster-md-0-84db44cdff-nmlp8 Running ``` <style>.markdown-body { max-width: 1250px; }</style>