From 741d0b2bf25ee68eab05c5a768f60515131bb852 Mon Sep 17 00:00:00 2001 From: Todd Malsbary Date: Wed, 2 Jun 2021 16:31:22 -0700 Subject: Refactor EMCO deploy of addons Issue-ID: MULTICLOUD-1324 Signed-off-by: Todd Malsbary Change-Id: I90b33cd99c42017b50f3174b6f9033a861e11dd3 --- .../containerized/addons/README.md.tmpl | 34 +++++++++++--------- .../addons/values-resources.yaml.tmpl | 19 ------------ .../containerized/addons/values.yaml.tmpl | 36 ++++++++++++++-------- kud/hosting_providers/containerized/installer.sh | 5 +-- 4 files changed, 46 insertions(+), 48 deletions(-) delete mode 100644 kud/hosting_providers/containerized/addons/values-resources.yaml.tmpl (limited to 'kud/hosting_providers/containerized') diff --git a/kud/hosting_providers/containerized/addons/README.md.tmpl b/kud/hosting_providers/containerized/addons/README.md.tmpl index 8ab16104..0cef7923 100644 --- a/kud/hosting_providers/containerized/addons/README.md.tmpl +++ b/kud/hosting_providers/containerized/addons/README.md.tmpl @@ -1,43 +1,47 @@ # Installing KUD addons with emcoctl -1. Customize values.yaml and values-resources.yaml as needed +1. Customize values.yaml as needed To create a customized profile for a specific addon, edit the profile as needed, and then (for example, cpu-manager): ``` tar -czf /opt/kud/multi-cluster/addons/cpu-manager.tar.gz -C /opt/kud/multi-cluster/addons/cpu-manager/helm . - tar -czf /opt/kud/multi-cluster/addons/collectd_profile.tar.gz -C /opt/kud/multi-cluster/addons/cpu-manager/profile . + tar -czf /opt/kud/multi-cluster/addons/cpu-manager_profile.tar.gz -C /opt/kud/multi-cluster/addons/cpu-manager/profile . ``` 2. Create prerequisites to deploy addons -Apply prerequisites.yaml. This step is optional. If there are -existing resources in the cluster, it is sufficient to customize -values.yaml with the values of those resources. The supplied -prequisites.yaml creates controllers, one project, one cluster, and -one logical cloud. +Apply prerequisites. This step is optional. If there are existing +resources in the cluster, it is sufficient to customize values.yaml +with the values of those resources. The supplied YAML files creates +the controllers, one or more clusters, one project, and one logical +cloud. - \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f prerequisites.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 00-controllers.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 01-cluster.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 02-project.yaml -v values.yaml\` 3. Deploy addons -Apply addons.yaml. This deploys the addons listed in the \`Addons\` -value in values.yaml. +This deploys the addons listed in the \`Addons\` and +\`AddonResources\` values in values.yaml. - \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f composite-app.yaml -v values.yaml\` - \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f composite-app.yaml -v values-resources.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 03-addons-app.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh apply -f 04-addon-resources-app.yaml -v values.yaml\` # Uninstalling KUD addons with emcoctl 1. Delete addons - \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f composite-app.yaml -v values-resources.yaml\` - \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f composite-app.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 04-addon-resources-app.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 03-addons-app.yaml -v values.yaml\` 2. Cleanup prerequisites - \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f prerequisites.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 02-project.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 01-cluster.yaml -v values.yaml\` + \`$ /opt/kud/multi-cluster/${CLUSTER_NAME}/artifacts/emcoctl.sh delete -f 00-controllers.yaml -v values.yaml\` #### NOTE: Known issue: deletion of the resources fails sometimes as some resources can't be deleted before others are deleted. This can diff --git a/kud/hosting_providers/containerized/addons/values-resources.yaml.tmpl b/kud/hosting_providers/containerized/addons/values-resources.yaml.tmpl deleted file mode 100644 index ed568238..00000000 --- a/kud/hosting_providers/containerized/addons/values-resources.yaml.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -HostIP: ${HOST_IP} -KubeConfig: ${KUBE_PATH} -PackagesPath: ${PACKAGES_PATH} -ProjectName: proj1 -RsyncPort: 30441 -GacPort: 30493 -OvnPort: 30473 -DtcPort: 30483 -ClusterProvider: provider1 -Cluster1: cluster1 -ClusterLabel: edge-cluster -LogicalCloud: default -Apps: -- sriov-network -CompositeApp: addon-resources -CompositeProfile: addon-resources-profile -DeploymentIntentGroup: addon-resources-deployment-intent-group -DeploymentIntent: addon-resources-deployment-intent -GenericPlacementIntent: addon-resources-placement-intent diff --git a/kud/hosting_providers/containerized/addons/values.yaml.tmpl b/kud/hosting_providers/containerized/addons/values.yaml.tmpl index 62936beb..f4f0b76c 100644 --- a/kud/hosting_providers/containerized/addons/values.yaml.tmpl +++ b/kud/hosting_providers/containerized/addons/values.yaml.tmpl @@ -1,24 +1,36 @@ HostIP: ${HOST_IP} -KubeConfig: ${KUBE_PATH} -PackagesPath: ${PACKAGES_PATH} -ProjectName: proj1 RsyncPort: 30441 GacPort: 30493 OvnPort: 30473 DtcPort: 30483 -ClusterProvider: provider1 -Cluster1: cluster1 -ClusterLabel: edge-cluster + +ClusterProvider: kud +ClustersLabel: kud-cluster +Clusters: +- KubeConfig: ${KUBE_PATH} + Name: cluster + +ProjectName: kud LogicalCloud: default -Apps: + +PackagesPath: ${PACKAGES_PATH} +AddonsApp: addons +AddonsProfile: addons-profile +AddonsDeploymentIntentGroup: addons-deployment-intent-group +AddonsDeploymentIntent: addons-deployment-intent +AddonsPlacementIntent: addons-placement-intent +Addons: - multus-cni - ovn4nfv - node-feature-discovery - sriov-network-operator - qat-device-plugin - cpu-manager -CompositeApp: addons -CompositeProfile: addons-profile -DeploymentIntentGroup: addons-deployment-intent-group -DeploymentIntent: addons-deployment-intent -GenericPlacementIntent: addons-placement-intent + +AddonResourcesApp: addon-resources +AddonResourcesProfile: addon-resources-profile +AddonResourcesDeploymentIntentGroup: addon-resources-deployment-intent-group +AddonResourcesDeploymentIntent: addon-resources-deployment-intent +AddonResourcesPlacementIntent: addon-resources-placement-intent +AddonResources: +- sriov-network diff --git a/kud/hosting_providers/containerized/installer.sh b/kud/hosting_providers/containerized/installer.sh index 427850ab..5de9d9db 100755 --- a/kud/hosting_providers/containerized/installer.sh +++ b/kud/hosting_providers/containerized/installer.sh @@ -238,8 +238,9 @@ function install_host_artifacts { cp -rf ${kud_inventory_folder}/artifacts/* ${host_artifacts_dir} mkdir -p ${host_artifacts_dir}/addons - cp ${kud_infra_folder}/emco/examples/prerequisites.yaml ${host_artifacts_dir}/addons - cp ${kud_infra_folder}/emco/composite-app.yaml ${host_artifacts_dir}/addons + for yaml in ${kud_infra_folder}/emco/examples/*.yaml; do + cp ${yaml} ${host_artifacts_dir}/addons + done for template in addons/*.tmpl; do CLUSTER_NAME="${cluster_name}" \ HOST_IP="$(master_ip)" \ -- cgit 1.2.3-korg