diff --git a/nodeup/pkg/model/awsebscsidriver.go b/nodeup/pkg/model/awsebscsidriver.go index 240a3358dfd5f..1985a59a8e7ed 100644 --- a/nodeup/pkg/model/awsebscsidriver.go +++ b/nodeup/pkg/model/awsebscsidriver.go @@ -31,7 +31,7 @@ var _ fi.ModelBuilder = &AWSEBSCSIDriverBuilder{} func (b *AWSEBSCSIDriverBuilder) Build(c *fi.ModelBuilderContext) error { csi := b.Cluster.Spec.CloudConfig.AWSEBSCSIDriver - if csi == nil { + if csi == nil || !fi.BoolValue(csi.Enabled) { return nil } diff --git a/pkg/model/components/awsebscsidriver.go b/pkg/model/components/awsebscsidriver.go index bbfeadf438a89..b5b019e5ee33d 100644 --- a/pkg/model/components/awsebscsidriver.go +++ b/pkg/model/components/awsebscsidriver.go @@ -31,8 +31,15 @@ var _ loader.OptionsBuilder = &AWSEBSCSIDriverOptionsBuilder{} func (b *AWSEBSCSIDriverOptionsBuilder) BuildOptions(o interface{}) error { clusterSpec := o.(*kops.ClusterSpec) - c := clusterSpec.CloudConfig.AWSEBSCSIDriver - if c == nil { + cc := clusterSpec.CloudConfig + if cc.AWSEBSCSIDriver == nil { + cc.AWSEBSCSIDriver = &kops.AWSEBSCSIDriver{ + Enabled: fi.Bool(false), + } + } + c := cc.AWSEBSCSIDriver + + if !fi.BoolValue(c.Enabled) { return nil } diff --git a/tests/integration/update_cluster/apiservernodes/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/apiservernodes/cloudformation.json.extracted.yaml index 9312757cca979..c9bbcbe066308 100644 --- a/tests/integration/update_cluster/apiservernodes/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/apiservernodes/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplateapiserverapiserversminimalexamplecom.Properties.La --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: @@ -107,11 +107,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersminimalexamplecom.Properties. --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -212,11 +212,11 @@ Resources.AWSEC2LaunchTemplatenodesminimalexamplecom.Properties.LaunchTemplateDa --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index c01d72eb0247a..260794f2fe3ed 100644 --- a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data index 84adfee1c7930..a2a6065018b5f 100644 --- a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data index b03e0634a6d49..5db53a2aa3857 100644 --- a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data +++ b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data index 29ad228299c1a..1b6fe483a33cb 100644 --- a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data +++ b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data @@ -130,6 +130,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/complex/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/complex/cloudformation.json.extracted.yaml index e58b31a264319..56a53440e7b3d 100644 --- a/tests/integration/update_cluster/complex/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/complex/cloudformation.json.extracted.yaml @@ -39,11 +39,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amasterscomplexexamplecom.Properties. --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -149,11 +149,11 @@ Resources.AWSEC2LaunchTemplatenodescomplexexamplecom.Properties.LaunchTemplateDa --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data b/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data index 73824639a0b96..9751586939d85 100644 --- a/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data +++ b/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data @@ -130,6 +130,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data b/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data index f38ab8faf93c5..b7bbcb21847d7 100644 --- a/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data +++ b/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data @@ -130,6 +130,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data b/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data index 58386f6bd887e..460654a6509a3 100644 --- a/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data +++ b/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data @@ -128,7 +128,7 @@ function download-release() { echo "== nodeup node config starting ==" ensure-install-dir -echo "H4sIAAAAAAAA/+xW648bNRD/nr/CKqr6pbebvR4FVq1EyBUu9K6EpA8kVCHHnmxMvPZ2bO9dEH88Gns3r7ujlH6ERErW8/I8fjOzQtsgx9YsVVUOGKu54RXMvUVewVhz58CVzGOAgbDGc2UAZ8F4VUPJthS5Y0qyIqK9n1pAVBJK9ueAMcZaQKesYc/Z6SASfm10qJRx79NxR8geKJvtTGYVNiJri0ygerAV/mfie/Q9zU/WzTAF7Q6M/Hsz9CDeH5hirGP+5jcNsOfsyCRpZO3pg8GR1me5kNnGK0slYEef+cZ5qOW4Qhsa9jxhgDFtq0toQZdMmaUdbKtasiI7y54OpBVrQAKBW6tmYpznWncIAiNwE+/rAMdM0HoAXsixDs4DOlKEFoyPT3vWn2RnWfEkIlSZu3nrsIDRdDIHbJMHXGt7PUXVKg0VyLKPgRtrNrUNbhT8qmRLrl0kN2oUpAIjIN5+wsgiGvDgMteKTMKSB+2TaLpmbIPxJSuIFvzKovqDU4BXlnA/0td840bkxoCxhTJyJCWCcyUbZvFLzUIdOEXbKglYMn7tKAeGLzSMZK0cxThNJU5eveI1uIYLuFRLEBuhIZIvVa38jJsKMJ7JQSVgJAT5GElTypjzYPxbq0MNl3wBOnLOU2j7jb9Pf201YAxsDsIamZhXwXOvTLV18x0sVtauI/Mt10rez35lJczAeVSCzEbaDJwNKODnYD2nJHghU5q7yFfeN67M8+L0q5i+ojwbDotDyX7qdCp5QtMXd6qeDhhTNa+gZOuvXVYJzJTNqeonvFEuAaktstMiVooYGvwUYQmI0Bfz9abpb5sYD2i4nkzj8cI6b3id6vPiZo+3ayPyAeFDAOdXwCVghAvIWOVklVcVQsW9xWPZFzce+UV8JK/UTa/yy8kMauvhJEqcHOv9QE2d9I4VIutY/o0j12u4W4W41PAgAsLUoi/Z2dmTSNmH4MS5QAjvS8EblakuYZmwdUPJzOCG140GItyy8OO7l/M3s8knmMhtA0bJvC3y36/XbmexGziTaeyYkhXDYfb0jKCRxzHjUid8x8UajCwjwtKIGVvj0WoNeBWX5XbUCO6BYD2enM/cbth4z8XqHOh3Rs0jlIb5xogpoLKyZEU9dPeNAZG8JIvJxW+eJheLHZOAQrv4zvylTRwQxmR+ZoOnfd5PvHuwL7YRntRdiLsm0Al4GmLfpkm8RytvLwpCeHBwOI/GCBKMV1z3qaKrp2hvNuVHA2/CLKEz8ijOVddpu3eOR9/ya/fo/iCbeNVeXHv+ksBcrEAGncp7jw23lfm8/HSDpbx/N4m4hs9R0URiLu3mLX1mrS9Z/hEUnb+a7+G8GO5xbNyq/TEjLOvtFjqHRagqZaoLbqSm9u9jgDZN7wuOsmQ11BY3GW+50qT3rBgOr9RjYyUs3QH5YU9U9O++R4BnXz58HLN8S7SnHsj+fckpnwn5U05ZzFuOuVaLvEt0vhO4hVQD/triOm3crreMIoY1V9x9CIA89fjh0KB0NlZecaOW4Hx3MXiR794i8rrjukHNKdMv/y/8f63wtFkregnDbsJQvH29/wIAAP//AQAA///JK3mEjg0AAA==" | base64 -d | gzip -d > conf/cluster_spec.yaml +echo "H4sIAAAAAAAA/+xWbW/bthN/709B9I+ibxrJSvPvNqEF5jrd4jXpPLsPA4ZioMmzzJki1SOpxMM+/HCk5Kck67q+3BIgke754Xd3EtoGObZmqapywBi/di9fzMfzyTmqFpBIjIHhCw2yZEuuHQwYq7nhFcy9RV7BWHPnwJXMY4CBsMZzZQBnwXhVQ8m2FLljSjIsotcfW0BUEkr2R3TWAjplDXvOTgeR8EujQ6WM+5Bed4TsgbLZzmRWYSOytsgEqgdb4b8nvkff0/xs3QxT0u7AyD83Qw/iw4Epxjrmr37TAHvOjkySRtaePhgcaX1RCJltvLLUAnb0M984D7UcV2hDw54nDDCmbXUJLeiSKbO0g21XS1ZkZ9nTgbRindDl1qqZGOe51h2CwAjcRH8dLJkJWg/ACznWwXlAR4rQgvGu3MdMyZ5kZ1nxJCJUmbt567CA0XQyB+zwzbW211NUrdJQEcq7HLixZlPb4EbBr3bY540aBanACIjeTxhZRAMeXOZakUlY8qB9Ek1uxjYYX7KCaMGvLKrfOSV4ZQn3I33NN25EYQwYWygjR1IiOFeyYRZ/aVhoTqdoWyUBS5rTQT+YI1krRzlOU4tTVK95Da7hAi7VEsRGaIjkS1UrP+OmAozvFKASMBKCYoykKVXMeTD+ndWhhku+AB055ym1/cHfp7+xGjAmNgdhjUzMq+C5V6bahvkeFitr15H5jmsl72e/thJm4DwqQWYjbQbOBhTwU7CeUxG8kKnMXeYr7xtX5nlx+lUsX1GeDYfFoWS/dTqVPKHpf3eqng4YUzWvoGTrr11WCcyUzanrJ7xRLgGpLbLTInaKGBr8FGEJiNA3882m6b1NjAc0XE+m8fXCOm94nfrz8maPtxsjigHhYwDnV8AlYIQLyNjlZJVXFULFvcVj2Zc3HvlFfKSo1E2v8vPJDGrr4SRKnBzrfU9DnfSOFSLrWP6to9BruFuFuDTwIALC1KIv2dnZk0jZh+DEuUAI71vBG5WprmCZsHVDxczghteNBiLcsvDD+1fzt7PJZ5jIbQNGybwt8t+u125nsVs4k2mcmJIVw2H29Iygkcc149IkvOBiDUaWEWFpxYyt8Wi1BryKx3K7agT3QLAeT85nbrdsvOdidQ70d0bDI5SG+caIKaCysmRFPXT3rQGRoiSLKcRvnqYQix2TgEK3+M76pUscEMZkfmaDp3veb7x7sC+2GZ7UXYq7IdAJeBri3KZNvEcrbx8KQnhwcLiPxggSjFdc96Ui11O0N5vyk4k3YZbQGXmU56qbtN03x6Nv+bV7dH+STXS1l9devCQwFyuQQaf23mPDbWW+rD7dYinvv00inuHu0425dJu39Jm1vmT5J1B0/nq+h/NiuMex8ar2rxlhWW+v0DksQlUpU11wIzWNf58DtGl7X3CUJauhtrjJeMuVJr1nxXB4pR4bK2HpDsgPe6Ki/+47BHj2/4ePY5VvifbUA9m/bjnVMyF/yqmKecsx12qRd4XOdwK3kGrAX1tcp4vbzZZRxLDmiruPAZCnGT9cGlTOxsorbtQSnO8cgxf57isirzuuG9ScKv3qv8b/2xpPl7WijzDsNgzl2/f7TwAAAP//AQAA//9K639RtA0AAA==" | base64 -d | gzip -d > conf/cluster_spec.yaml echo "H4sIAAAAAAAA/6qu5QIAAAD//wEAAP//BrCh3QMAAAA=" | base64 -d | gzip -d > conf/ig_spec.yaml diff --git a/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data b/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data index 44a0c4f201d69..b067f97956b62 100644 --- a/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data +++ b/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data @@ -128,7 +128,7 @@ function download-release() { echo "== nodeup node config starting ==" ensure-install-dir -echo "H4sIAAAAAAAA/6RUW2vbMBR+9684FEpfOtkOXdlECxsJo4W1C+njKEOxTlwRWcc9ktwF9uOHlFuTwdjFL7a+c//OJzeWoh6TW5hWFgCdcqrFh0CsWhxb5T16CYEjFg25oIxDnkUXTIcSdojeG3XK0uR8XwZkNhol/CgAAAZkb8jBNYyKDHztbWyN84/r4x4QJ4bEPqVouW/EUIuGzcnO+c/cX+GvIv86VvB6aH+Q5N/TpI/m8SAVwMb4Lax6hGs4SpkixDA6KY6i/qsFQX0wlFYAR8/Dygfs9Lhlij1crzUAYKn9jANaCcYtqNhtVUItLsRloalZIicR+KXpb50PytqNgpZxjlOm76usERt9QB7fTmYS6qoS7y9FJaqyrpOxjzN8juhDtnUFwBP54FSHe1WdfVAv/qwAMJ1qUcLynRdtw8JQmSq96XOpoRajWlQHrY9yKxZDakQ5cquOov8Yw5OEhbI+DdrkwSdsBmQJfs3GDp8RBQllnoOinjINRidH9eL3w03uH9azXV6IStTVKwt1yji5PQpLjbIFADo1tzjBeWxb49ob5bRF3l5BABxMkxZ2o1hL6LAjXgk1KGNT3FVdVXfm3JHGhT+AT7egSW//iRGv3p6eZ+Z+cd2iB76/X0Hic33rpyqxWA6KS2vm5Ybocu9wtAkAh+GFeDnNMr5X+c/iTDKQu1P+OSIrjXuhZDKrMtPZk75TzizQh01hDE0uxg4D+rLbWH3xEwAA//8BAAD//zoJ6qHqBAAA" | base64 -d | gzip -d > conf/cluster_spec.yaml +echo "H4sIAAAAAAAA/6RUbWvbMBD+7l9xFEq/dLIdurKZFrYlGy2sXUg+jjIU66KKyDpXL84C+/FDchInGYy9+Iut5950zz3nWlMQYzJLJasMgK/dxw/z8fx+YlWHNkIAaPhCo6hgybXDDKDhhkuce7Jc4lhz59BV4G3ArCbjuTJoZ8F41WAFe0QMRhET16nqlw6tVQIr+JGKdWidIgO3MMoS8LXVQSrjnvrjALAzRWxIyaRta9aVrLbqbO/8Z+4H+EHkX8cy2zftjpL8e5r4UT8dpQLYGr/5TYtwCycpYwTrRmfZSdR/XYFR6xXFEcDJM984j40YS0uhhdteAwCa5GfsUFegzJKy/VQrKNkVu84E1ateXW6l2nvjPNd6q6BVWODU0vdN0ogOzqMd309mFZRFwd5es4IVeVlGYxtm+BLQ+WRrMoBnct7wBgdVXbzja3eRAaiGS6xg9cYxWVumKI+VXrWpVFeyUcmKo6uP0lU0+rQYhsymoeDeB/88bEKdGt8uC7iejT0+I/IV5KkPCmJqqVMiOvK1G5qbPM773q6vWMHK4sBCDVem2h2ZpprrbLeQE1wEKZWRd9wIjXa3ggDYqToO7I5bUUGDDdkN4x1XOsbdlEXxoC4NCVy6I/h8B6r4dp8s4s3r88vE3C+uO/TI9/cjiHz2Wz/lkcW84zbXapFvic4Hh5NJABj0a7KraZLxI09/FqOigcwDdy8BLRc4CCWRWeSJzpbEAzdqic5vC6OvUzFr0KPLm63VZT8BAAD//wEAAP//hSaFDxAFAAA=" | base64 -d | gzip -d > conf/cluster_spec.yaml echo "H4sIAAAAAAAA/6qu5QIAAAD//wEAAP//BrCh3QMAAAA=" | base64 -d | gzip -d > conf/ig_spec.yaml diff --git a/tests/integration/update_cluster/containerd-custom/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/containerd-custom/cloudformation.json.extracted.yaml index 1a74dfc6bbe15..dc4f0335a4e3a 100644 --- a/tests/integration/update_cluster/containerd-custom/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/containerd-custom/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amasterscontainerdexamplecom.Properti --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n\n [plugins.\"io.containerd.grpc.v1.cri\".registry]\n\n \ [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors]\n\n [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"*\"]\n \ endpoint = [\"http://HostIP2:Port2\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"docker.io\"]\n @@ -147,11 +147,11 @@ Resources.AWSEC2LaunchTemplatenodescontainerdexamplecom.Properties.LaunchTemplat --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n\n [plugins.\"io.containerd.grpc.v1.cri\".registry]\n\n \ [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors]\n\n [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"*\"]\n \ endpoint = [\"http://HostIP2:Port2\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"docker.io\"]\n diff --git a/tests/integration/update_cluster/containerd/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/containerd/cloudformation.json.extracted.yaml index c16ef2c105799..1a57148a9034f 100644 --- a/tests/integration/update_cluster/containerd/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/containerd/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amasterscontainerdexamplecom.Properti --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatenodescontainerdexamplecom.Properties.LaunchTemplat --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/docker-custom/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/docker-custom/cloudformation.json.extracted.yaml index 9f0e50d946cbc..66126cfac8b74 100644 --- a/tests/integration/update_cluster/docker-custom/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/docker-custom/cloudformation.json.extracted.yaml @@ -36,15 +36,15 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersdockerexamplecom.Properties.L --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: docker\ncontainerd:\n configOverride: - |\n disabled_plugins = [\"cri\"]\n logLevel: info\ndocker:\n execOpt:\n - - native.cgroupdriver=systemd\n ipMasq: false\n ipTables: false\n logDriver: json-file\n - \ logLevel: info\n logOpt:\n - max-size=10m\n - max-file=5\n packages:\n hashAmd64: - 000000000000000000000000000000000000000000000000000000000000000a\n hashArm64: - 000000000000000000000000000000000000000000000000000000000000000b\n urlAmd64: - https://download.docker.com/linux/static/stable/x86_64/docker-20.10.1.tgz\n urlArm64: - https://download.docker.com/linux/static/stable/aarch64/docker-20.10.1.tgz\n storage: - overlay2,overlay,aufs\n version: 20.10.5\nencryptionConfig: null\netcdClusters:\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + docker\ncontainerd:\n configOverride: |\n disabled_plugins = [\"cri\"]\n logLevel: + info\ndocker:\n execOpt:\n - native.cgroupdriver=systemd\n ipMasq: false\n ipTables: + false\n logDriver: json-file\n logLevel: info\n logOpt:\n - max-size=10m\n - + max-file=5\n packages:\n hashAmd64: 000000000000000000000000000000000000000000000000000000000000000a\n + \ hashArm64: 000000000000000000000000000000000000000000000000000000000000000b\n + \ urlAmd64: https://download.docker.com/linux/static/stable/x86_64/docker-20.10.1.tgz\n + \ urlArm64: https://download.docker.com/linux/static/stable/aarch64/docker-20.10.1.tgz\n + \ storage: overlay2,overlay,aufs\n version: 20.10.5\nencryptionConfig: null\netcdClusters:\n \ events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n anonymousAuth: false\n apiAudiences:\n - kubernetes.svc.default\n apiServerCount: 1\n authorizationMode: AlwaysAllow\n bindAddress: 0.0.0.0\n cloudProvider: aws\n @@ -144,16 +144,16 @@ Resources.AWSEC2LaunchTemplatenodesdockerexamplecom.Properties.LaunchTemplateDat --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: docker\ncontainerd:\n configOverride: - |\n disabled_plugins = [\"cri\"]\n logLevel: info\ndocker:\n execOpt:\n - - native.cgroupdriver=systemd\n ipMasq: false\n ipTables: false\n logDriver: json-file\n - \ logLevel: info\n logOpt:\n - max-size=10m\n - max-file=5\n packages:\n hashAmd64: - 000000000000000000000000000000000000000000000000000000000000000a\n hashArm64: - 000000000000000000000000000000000000000000000000000000000000000b\n urlAmd64: - https://download.docker.com/linux/static/stable/x86_64/docker-20.10.1.tgz\n urlArm64: - https://download.docker.com/linux/static/stable/aarch64/docker-20.10.1.tgz\n storage: - overlay2,overlay,aufs\n version: 20.10.5\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n - \ cpuRequest: 100m\n hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + docker\ncontainerd:\n configOverride: |\n disabled_plugins = [\"cri\"]\n logLevel: + info\ndocker:\n execOpt:\n - native.cgroupdriver=systemd\n ipMasq: false\n ipTables: + false\n logDriver: json-file\n logLevel: info\n logOpt:\n - max-size=10m\n - + max-file=5\n packages:\n hashAmd64: 000000000000000000000000000000000000000000000000000000000000000a\n + \ hashArm64: 000000000000000000000000000000000000000000000000000000000000000b\n + \ urlAmd64: https://download.docker.com/linux/static/stable/x86_64/docker-20.10.1.tgz\n + \ urlArm64: https://download.docker.com/linux/static/stable/aarch64/docker-20.10.1.tgz\n + \ storage: overlay2,overlay,aufs\n version: 20.10.5\nkubeProxy:\n clusterCIDR: + 100.96.0.0/11\n cpuRequest: 100m\n hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n \ logLevel: 2\nkubelet:\n anonymousAuth: false\n cgroupDriver: systemd\n cgroupRoot: /\n cloudProvider: aws\n clusterDNS: 100.64.0.10\n clusterDomain: cluster.local\n \ enableDebuggingHandlers: true\n evictionHard: memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5%\n diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data index 6042814eeda1f..debd9ecec9faf 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data index dcdbff49532e0..a3a77847877f4 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data index 57494cf045f1c..00768bd8951ea 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data index 2e4c584be76e9..bfc74a4e25f30 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_iam_cloudformation/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/existing_iam_cloudformation/cloudformation.json.extracted.yaml index b56434bfc01ac..9c05fdcd2e797 100644 --- a/tests/integration/update_cluster/existing_iam_cloudformation/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/existing_iam_cloudformation/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersminimalexamplecom.Properties. --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -140,11 +140,11 @@ Resources.AWSEC2LaunchTemplatenodesminimalexamplecom.Properties.LaunchTemplateDa --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data index 5e4eda7df7ec5..39c49a0769697 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data index 934542a94e48e..0fcedf5fcc168 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data index 1b1763d1af997..3ebd0fc4afb89 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data index 97208345f8a39..40282b03a2ce3 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/externallb/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/externallb/cloudformation.json.extracted.yaml index 01269d96c7c0a..dea9a8700116e 100644 --- a/tests/integration/update_cluster/externallb/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/externallb/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersexternallbexamplecom.Properti --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatenodesexternallbexamplecom.Properties.LaunchTemplat --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data b/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data index 9d72add5eb641..b7dd10c2671fb 100644 --- a/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data +++ b/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data b/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data index 68d8df51c2078..7988d77c267c1 100644 --- a/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data +++ b/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data index 33088db4713cc..035e30a9f90c4 100644 --- a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data +++ b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data index 4957bd80a5033..2c6a980c95d8a 100644 --- a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data +++ b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data index 78b9276ca9c0d..6dbab64029a1e 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data index 1ee59d64c3b80..740a1f2005c3a 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data index f147130bd5f42..823b6ce808bfd 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data index d3157e3709696..9cbf236cf1d83 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script index 49e34bd6f78bc..aac8a0cb19eb3 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script index c3063ba093636..65f1a6f966155 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script index a353dfa2d216c..e8dccfaa77ad0 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script index 8f909b036cf37..4c96139115a0f 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 573d41655e7a3..6326f31347b13 100644 --- a/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data index b15745c1a22dd..e60606a428744 100644 --- a/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal-etcd/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/minimal-etcd/cloudformation.json.extracted.yaml index a160395350ecc..f38a2a937dcfa 100644 --- a/tests/integration/update_cluster/minimal-etcd/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/minimal-etcd/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersminimaletcdexamplecom.Propert --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n etcdMembers:\n \ - name: us-test-1a\n volumeSize: 20\n manager:\n env:\n - @@ -146,11 +146,11 @@ Resources.AWSEC2LaunchTemplatenodesminimaletcdexamplecom.Properties.LaunchTempla --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/minimal-gp3/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/minimal-gp3/cloudformation.json.extracted.yaml index ddfbf81628be5..769257e2dd8f3 100644 --- a/tests/integration/update_cluster/minimal-gp3/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/minimal-gp3/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersminimalexamplecom.Properties. --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n etcdMembers:\n \ - name: us-test-1a\n volumeSize: 20\n version: 3.4.13\n main:\n etcdMembers:\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatenodesminimalexamplecom.Properties.LaunchTemplateDa --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 888611824cf5a..ce5fe553fdd06 100644 --- a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data index 84adfee1c7930..a2a6065018b5f 100644 --- a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal-ipv6/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/minimal-ipv6/cloudformation.json.extracted.yaml index 5fce87ccc8613..f14a338ea503b 100644 --- a/tests/integration/update_cluster/minimal-ipv6/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/minimal-ipv6/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersminimalipv6examplecom.Propert --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatenodesminimalipv6examplecom.Properties.LaunchTempla --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data index 759956d42f1a3..1adc017a83615 100644 --- a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data index 83bed965f3d5e..d6da4b52fabb4 100644 --- a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal-json/data/aws_launch_template_master-us-test-1a.masters.minimal-json.example.com_user_data b/tests/integration/update_cluster/minimal-json/data/aws_launch_template_master-us-test-1a.masters.minimal-json.example.com_user_data index 5ac7ecffc5b9b..74e8ea8aad75a 100644 --- a/tests/integration/update_cluster/minimal-json/data/aws_launch_template_master-us-test-1a.masters.minimal-json.example.com_user_data +++ b/tests/integration/update_cluster/minimal-json/data/aws_launch_template_master-us-test-1a.masters.minimal-json.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal-json/data/aws_launch_template_nodes.minimal-json.example.com_user_data b/tests/integration/update_cluster/minimal-json/data/aws_launch_template_nodes.minimal-json.example.com_user_data index 1fb6be6b812c1..0cb6ae9be76fc 100644 --- a/tests/integration/update_cluster/minimal-json/data/aws_launch_template_nodes.minimal-json.example.com_user_data +++ b/tests/integration/update_cluster/minimal-json/data/aws_launch_template_nodes.minimal-json.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/minimal/cloudformation.json.extracted.yaml index b56434bfc01ac..9c05fdcd2e797 100644 --- a/tests/integration/update_cluster/minimal/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/minimal/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersminimalexamplecom.Properties. --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -140,11 +140,11 @@ Resources.AWSEC2LaunchTemplatenodesminimalexamplecom.Properties.LaunchTemplateDa --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 15b293cbecfea..90f3131765951 100644 --- a/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data index 84adfee1c7930..a2a6065018b5f 100644 --- a/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script index 55b317d996308..77da8ed56960d 100644 --- a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script index 6740c09c48946..7709a7a1e6095 100644 --- a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script index e36a260cc59b7..52296795b5989 100644 --- a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script index 4acba13eeab0c..326d89c66bd5e 100644 --- a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script @@ -120,6 +120,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false gceServiceAccount: default manageStorageClasses: true multizone: true diff --git a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data index c0afc52213fe5..07785d0c036cb 100644 --- a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data +++ b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data index ced2ec53a739d..82e056227ac0e 100644 --- a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data +++ b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/mixed_instances/cloudformation.json.extracted.yaml index 679716ab7ecc5..253bd7c517578 100644 --- a/tests/integration/update_cluster/mixed_instances/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/mixed_instances/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersmixedinstancesexamplecom.Prop --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1bmastersmixedinstancesexamplecom.Prop --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -246,11 +246,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1cmastersmixedinstancesexamplecom.Prop --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -351,11 +351,11 @@ Resources.AWSEC2LaunchTemplatenodesmixedinstancesexamplecom.Properties.LaunchTem --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data index cb84e05f014bb..e05894bfaf7bf 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data index d3f964e93fbd3..480d0b8d8db13 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data index b37ae87619a0a..4485bde392c59 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data index 4f15f33c52846..ead5a024d2050 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances_spot/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/mixed_instances_spot/cloudformation.json.extracted.yaml index 679716ab7ecc5..253bd7c517578 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/mixed_instances_spot/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersmixedinstancesexamplecom.Prop --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1bmastersmixedinstancesexamplecom.Prop --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -246,11 +246,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1cmastersmixedinstancesexamplecom.Prop --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -351,11 +351,11 @@ Resources.AWSEC2LaunchTemplatenodesmixedinstancesexamplecom.Properties.LaunchTem --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data index cb84e05f014bb..e05894bfaf7bf 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data index d3f964e93fbd3..480d0b8d8db13 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data index b37ae87619a0a..4485bde392c59 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data index 4f15f33c52846..ead5a024d2050 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/nth_sqs_resources/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/nth_sqs_resources/cloudformation.json.extracted.yaml index 5a8d0fd33629c..168f6dd5d49c3 100644 --- a/tests/integration/update_cluster/nth_sqs_resources/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/nth_sqs_resources/cloudformation.json.extracted.yaml @@ -36,11 +36,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersnthsqsresourcesexamplecom.Pro --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -141,11 +141,11 @@ Resources.AWSEC2LaunchTemplatenodesnthsqsresourcesexamplecom.Properties.LaunchTe --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.20.0\n logLevel: diff --git a/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_master-us-test-1a.masters.nthsqsresources.example.com_user_data b/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_master-us-test-1a.masters.nthsqsresources.example.com_user_data index 43d825fcbb39b..8ee778ce3054f 100644 --- a/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_master-us-test-1a.masters.nthsqsresources.example.com_user_data +++ b/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_master-us-test-1a.masters.nthsqsresources.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_nodes.nthsqsresources.example.com_user_data b/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_nodes.nthsqsresources.example.com_user_data index 416f02f655c93..435fc3d16e277 100644 --- a/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_nodes.nthsqsresources.example.com_user_data +++ b/tests/integration/update_cluster/nth_sqs_resources/data/aws_launch_template_nodes.nthsqsresources.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/private-shared-ip/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/private-shared-ip/cloudformation.json.extracted.yaml index a40bdaa2a33c6..2a0ecd29a69dd 100644 --- a/tests/integration/update_cluster/private-shared-ip/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/private-shared-ip/cloudformation.json.extracted.yaml @@ -37,11 +37,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersprivatesharedipexamplecom.Pro --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -142,11 +142,11 @@ Resources.AWSEC2LaunchTemplatenodesprivatesharedipexamplecom.Properties.LaunchTe --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data index ef865d7b47ecd..3b5b38be33a8a 100644 --- a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data index ad7e8d22ffeb6..e53f4968fb057 100644 --- a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data index dc7e5bb7b70ac..682a821da0fc2 100644 --- a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data index d2479923b0006..c72e3463315e3 100644 --- a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecalico/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/privatecalico/cloudformation.json.extracted.yaml index dfa2a7b8c6e90..f85b63b3fc752 100644 --- a/tests/integration/update_cluster/privatecalico/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/privatecalico/cloudformation.json.extracted.yaml @@ -37,11 +37,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersprivatecalicoexamplecom.Prope --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -142,11 +142,11 @@ Resources.AWSEC2LaunchTemplatenodesprivatecalicoexamplecom.Properties.LaunchTemp --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data index 1cc57df3339f8..c2d95a6225ad1 100644 --- a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data +++ b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data index 1b1fe9e1654f0..8feab314e8fe9 100644 --- a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data +++ b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data index d9eed534f3368..43b17eef2ae17 100644 --- a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data +++ b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data index fe85bc33d0cf9..d29cb4ba3a544 100644 --- a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data +++ b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecilium/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/privatecilium/cloudformation.json.extracted.yaml index f138c80006f5a..3172aee926a03 100644 --- a/tests/integration/update_cluster/privatecilium/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/privatecilium/cloudformation.json.extracted.yaml @@ -37,11 +37,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersprivateciliumexamplecom.Prope --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n allowPrivileged: true\n @@ -142,11 +142,11 @@ Resources.AWSEC2LaunchTemplatenodesprivateciliumexamplecom.Properties.LaunchTemp --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n logLevel: diff --git a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data index f806fe4f7f4b6..91ad581df2a6c 100644 --- a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data index 920630d7071ff..39ae7233f209f 100644 --- a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatecilium2/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/privatecilium2/cloudformation.json.extracted.yaml index c98db5329a2b4..3bd68e4397b67 100644 --- a/tests/integration/update_cluster/privatecilium2/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/privatecilium2/cloudformation.json.extracted.yaml @@ -37,31 +37,32 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersprivateciliumexamplecom.Prope --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: docker\ncontainerd:\n configOverride: - |\n disabled_plugins = [\"cri\"]\n logLevel: info\ndocker:\n ipMasq: false\n - \ ipTables: false\n logDriver: json-file\n logLevel: info\n logOpt:\n - max-size=10m\n - \ - max-file=5\n storage: overlay2,overlay,aufs\n version: 19.03.15\nencryptionConfig: - null\netcdClusters:\n events:\n version: 3.4.3\n main:\n version: 3.4.3\nkubeAPIServer:\n - \ allowPrivileged: true\n anonymousAuth: false\n apiServerCount: 1\n authorizationMode: - AlwaysAllow\n bindAddress: 0.0.0.0\n cloudProvider: aws\n enableAdmissionPlugins:\n - \ - NamespaceLifecycle\n - LimitRanger\n - ServiceAccount\n - PersistentVolumeLabel\n - \ - DefaultStorageClass\n - DefaultTolerationSeconds\n - MutatingAdmissionWebhook\n - \ - ValidatingAdmissionWebhook\n - NodeRestriction\n - ResourceQuota\n etcdServers:\n - \ - https://127.0.0.1:4001\n etcdServersOverrides:\n - /events#https://127.0.0.1:4002\n - \ image: k8s.gcr.io/kube-apiserver:v1.17.15\n kubeletPreferredAddressTypes:\n - - InternalIP\n - Hostname\n - ExternalIP\n logLevel: 2\n requestheaderAllowedNames:\n - \ - aggregator\n requestheaderExtraHeaderPrefixes:\n - X-Remote-Extra-\n requestheaderGroupHeaders:\n - \ - X-Remote-Group\n requestheaderUsernameHeaders:\n - X-Remote-User\n securePort: - 443\n serviceClusterIPRange: 100.64.0.0/13\n storageBackend: etcd3\nkubeControllerManager:\n - \ allocateNodeCIDRs: true\n attachDetachReconcileSyncPeriod: 1m0s\n cloudProvider: - aws\n clusterCIDR: 100.96.0.0/11\n clusterName: privatecilium.example.com\n configureCloudRoutes: - false\n image: k8s.gcr.io/kube-controller-manager:v1.17.15\n leaderElection:\n - \ leaderElect: true\n logLevel: 2\n useServiceAccountCredentials: true\nkubeProxy:\n - \ clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n hostnameOverride: '@aws'\n image: - k8s.gcr.io/kube-proxy:v1.17.15\n logLevel: 2\nkubeScheduler:\n image: k8s.gcr.io/kube-scheduler:v1.17.15\n - \ leaderElection:\n leaderElect: true\n logLevel: 2\nkubelet:\n anonymousAuth: - false\n cgroupRoot: /\n cloudProvider: aws\n clusterDNS: 100.64.0.10\n clusterDomain: - cluster.local\n enableDebuggingHandlers: true\n evictionHard: memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5%\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + docker\ncontainerd:\n configOverride: |\n disabled_plugins = [\"cri\"]\n logLevel: + info\ndocker:\n ipMasq: false\n ipTables: false\n logDriver: json-file\n logLevel: + info\n logOpt:\n - max-size=10m\n - max-file=5\n storage: overlay2,overlay,aufs\n + \ version: 19.03.15\nencryptionConfig: null\netcdClusters:\n events:\n version: + 3.4.3\n main:\n version: 3.4.3\nkubeAPIServer:\n allowPrivileged: true\n anonymousAuth: + false\n apiServerCount: 1\n authorizationMode: AlwaysAllow\n bindAddress: 0.0.0.0\n + \ cloudProvider: aws\n enableAdmissionPlugins:\n - NamespaceLifecycle\n - LimitRanger\n + \ - ServiceAccount\n - PersistentVolumeLabel\n - DefaultStorageClass\n - DefaultTolerationSeconds\n + \ - MutatingAdmissionWebhook\n - ValidatingAdmissionWebhook\n - NodeRestriction\n + \ - ResourceQuota\n etcdServers:\n - https://127.0.0.1:4001\n etcdServersOverrides:\n + \ - /events#https://127.0.0.1:4002\n image: k8s.gcr.io/kube-apiserver:v1.17.15\n + \ kubeletPreferredAddressTypes:\n - InternalIP\n - Hostname\n - ExternalIP\n + \ logLevel: 2\n requestheaderAllowedNames:\n - aggregator\n requestheaderExtraHeaderPrefixes:\n + \ - X-Remote-Extra-\n requestheaderGroupHeaders:\n - X-Remote-Group\n requestheaderUsernameHeaders:\n + \ - X-Remote-User\n securePort: 443\n serviceClusterIPRange: 100.64.0.0/13\n storageBackend: + etcd3\nkubeControllerManager:\n allocateNodeCIDRs: true\n attachDetachReconcileSyncPeriod: + 1m0s\n cloudProvider: aws\n clusterCIDR: 100.96.0.0/11\n clusterName: privatecilium.example.com\n + \ configureCloudRoutes: false\n image: k8s.gcr.io/kube-controller-manager:v1.17.15\n + \ leaderElection:\n leaderElect: true\n logLevel: 2\n useServiceAccountCredentials: + true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n hostnameOverride: + '@aws'\n image: k8s.gcr.io/kube-proxy:v1.17.15\n logLevel: 2\nkubeScheduler:\n + \ image: k8s.gcr.io/kube-scheduler:v1.17.15\n leaderElection:\n leaderElect: + true\n logLevel: 2\nkubelet:\n anonymousAuth: false\n cgroupRoot: /\n cloudProvider: + aws\n clusterDNS: 100.64.0.10\n clusterDomain: cluster.local\n enableDebuggingHandlers: + true\n evictionHard: memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5%\n \ hostnameOverride: '@aws'\n kubeconfigPath: /var/lib/kubelet/kubeconfig\n logLevel: 2\n networkPluginName: cni\n nonMasqueradeCIDR: 100.64.0.0/10\n podInfraContainerImage: k8s.gcr.io/pause:3.2\n podManifestPath: /etc/kubernetes/manifests\nmasterKubelet:\n @@ -137,14 +138,15 @@ Resources.AWSEC2LaunchTemplatenodesprivateciliumexamplecom.Properties.LaunchTemp --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: docker\ncontainerd:\n configOverride: - |\n disabled_plugins = [\"cri\"]\n logLevel: info\ndocker:\n ipMasq: false\n - \ ipTables: false\n logDriver: json-file\n logLevel: info\n logOpt:\n - max-size=10m\n - \ - max-file=5\n storage: overlay2,overlay,aufs\n version: 19.03.15\nkubeProxy:\n - \ clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n hostnameOverride: '@aws'\n image: - k8s.gcr.io/kube-proxy:v1.17.15\n logLevel: 2\nkubelet:\n anonymousAuth: false\n - \ cgroupRoot: /\n cloudProvider: aws\n clusterDNS: 100.64.0.10\n clusterDomain: - cluster.local\n enableDebuggingHandlers: true\n evictionHard: memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5%\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + docker\ncontainerd:\n configOverride: |\n disabled_plugins = [\"cri\"]\n logLevel: + info\ndocker:\n ipMasq: false\n ipTables: false\n logDriver: json-file\n logLevel: + info\n logOpt:\n - max-size=10m\n - max-file=5\n storage: overlay2,overlay,aufs\n + \ version: 19.03.15\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n + \ hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.17.15\n logLevel: + 2\nkubelet:\n anonymousAuth: false\n cgroupRoot: /\n cloudProvider: aws\n clusterDNS: + 100.64.0.10\n clusterDomain: cluster.local\n enableDebuggingHandlers: true\n evictionHard: + memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%,imagefs.available<10%,imagefs.inodesFree<5%\n \ hostnameOverride: '@aws'\n kubeconfigPath: /var/lib/kubelet/kubeconfig\n logLevel: 2\n networkPluginName: cni\n nonMasqueradeCIDR: 100.64.0.0/10\n podInfraContainerImage: k8s.gcr.io/pause:3.2\n podManifestPath: /etc/kubernetes/manifests\n\n__EOF_CLUSTER_SPEC\n\ncat diff --git a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data index 3db71305c6144..842bc70391ddd 100644 --- a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: docker containerd: diff --git a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data index b59b3590f4892..47cc051944822 100644 --- a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: docker containerd: diff --git a/tests/integration/update_cluster/privateciliumadvanced/cloudformation.json.extracted.yaml b/tests/integration/update_cluster/privateciliumadvanced/cloudformation.json.extracted.yaml index 90956331ef18a..a4514103b619c 100644 --- a/tests/integration/update_cluster/privateciliumadvanced/cloudformation.json.extracted.yaml +++ b/tests/integration/update_cluster/privateciliumadvanced/cloudformation.json.extracted.yaml @@ -37,11 +37,11 @@ Resources.AWSEC2LaunchTemplatemasterustest1amastersprivateciliumadvancedexamplec --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nencryptionConfig: null\netcdClusters:\n cilium:\n version: 3.4.13\n events:\n version: 3.4.13\n main:\n version: 3.4.13\nkubeAPIServer:\n @@ -143,11 +143,11 @@ Resources.AWSEC2LaunchTemplatenodesprivateciliumadvancedexamplecom.Properties.La --v=8 )\n}\n\n####################################################################################\n\n/bin/systemd-machine-id-setup || echo \"failed to set up ensure machine-id configured\"\n\necho \"== nodeup node config starting ==\"\nensure-install-dir\n\ncat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC'\ncloudConfig:\n - \ manageStorageClasses: true\ncontainerRuntime: containerd\ncontainerd:\n configOverride: - |\n version = 2\n\n [plugins]\n\n [plugins.\"io.containerd.grpc.v1.cri\"]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n - \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n runtime_type - = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n + \ awsEBSCSIDriver:\n enabled: false\n manageStorageClasses: true\ncontainerRuntime: + containerd\ncontainerd:\n configOverride: |\n version = 2\n\n [plugins]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\"]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd]\n\n + \ [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes]\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc]\n + \ runtime_type = \"io.containerd.runc.v2\"\n\n [plugins.\"io.containerd.grpc.v1.cri\".containerd.runtimes.runc.options]\n \ SystemdCgroup = true\n logLevel: info\n version: 1.4.6\ndocker:\n \ skipInstall: true\nkubeProxy:\n clusterCIDR: 100.96.0.0/11\n cpuRequest: 100m\n \ enabled: false\n hostnameOverride: '@aws'\n image: k8s.gcr.io/kube-proxy:v1.21.0\n diff --git a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data index 09b39dd078a13..5d456ea6ece13 100644 --- a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data +++ b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data index 411dd56e7bb95..7c53547fb9467 100644 --- a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data +++ b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data index 18f1113fd78c2..36c36991d1f00 100644 --- a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data +++ b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data index cb0f787a2b269..7b06bf819203c 100644 --- a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data +++ b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data index 397f0e39c8546..548ab5bd1a35f 100644 --- a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data +++ b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data index d7312a9366089..5fada23560452 100644 --- a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data +++ b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data index 0d4cf3bb4fda9..1871a05562529 100644 --- a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data +++ b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data index 3dd9e7eb9571d..51618114521fa 100644 --- a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data +++ b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data index de74cf28a7f6a..7eeab5cd5e4f4 100644 --- a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data +++ b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data index 7999396a5a235..60ce4e5624a35 100644 --- a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data +++ b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data b/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data index 200a27b6f7fc9..57ee829341f40 100644 --- a/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data +++ b/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data b/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data index 503792753b9d7..de75c2f69701d 100644 --- a/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data +++ b/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index c58201c7e8fa4..1d682976bfc2f 100644 --- a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: docker containerd: diff --git a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data index 22c5654443993..7995b7fbcac77 100644 --- a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: docker containerd: diff --git a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data index 713afc0697cde..79c2d7617ec7c 100644 --- a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data +++ b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data index 8ee968d25e412..6a71a48a94555 100644 --- a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data +++ b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data index 5044f6878f8c7..87760c40afd0b 100644 --- a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data +++ b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data index 97b60c1f8a19e..e1e56f4d4379b 100644 --- a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data +++ b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data index d12bdb0b5e89c..36b9a60277ccd 100644 --- a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data +++ b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data index 827c185b77043..cd40e5850f418 100644 --- a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data +++ b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index c01d72eb0247a..260794f2fe3ed 100644 --- a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data index 84adfee1c7930..a2a6065018b5f 100644 --- a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -121,6 +121,8 @@ ensure-install-dir cat > conf/cluster_spec.yaml << '__EOF_CLUSTER_SPEC' cloudConfig: + awsEBSCSIDriver: + enabled: false manageStorageClasses: true containerRuntime: containerd containerd: diff --git a/upup/models/BUILD.bazel b/upup/models/BUILD.bazel index 34c8c8cce4e41..870401c84252f 100644 --- a/upup/models/BUILD.bazel +++ b/upup/models/BUILD.bazel @@ -49,6 +49,8 @@ go_library( "cloudup/resources/addons/storage-openstack.addons.k8s.io/k8s-1.16.yaml.template", "cloudup/resources/addons/networking.cilium.io/k8s-1.16-v1.10.yaml.template", "cloudup/resources/addons/networking.cilium.io/k8s-1.12-v1.9.yaml.template", + "cloudup/resources/addons/snapshot-controller.addons.k8s.io/k8s-1.20.yaml.template", + "cloudup/resources/addons/snapshot-controller.addons.k8s.io/snapshot-controller.yaml", ], importpath = "k8s.io/kops/upup/models", visibility = ["//visibility:public"], diff --git a/upup/models/cloudup/resources/addons/snapshot-controller.addons.k8s.io/k8s-1.20.yaml.template b/upup/models/cloudup/resources/addons/snapshot-controller.addons.k8s.io/k8s-1.20.yaml.template new file mode 100644 index 0000000000000..c6bc393ea5ff4 --- /dev/null +++ b/upup/models/cloudup/resources/addons/snapshot-controller.addons.k8s.io/k8s-1.20.yaml.template @@ -0,0 +1,867 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" + creationTimestamp: null + name: volumesnapshotclasses.snapshot.storage.k8s.io +spec: + group: snapshot.storage.k8s.io + names: + kind: VolumeSnapshotClass + listKind: VolumeSnapshotClassList + plural: volumesnapshotclasses + singular: volumesnapshotclass + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .driver + name: Driver + type: string + - description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .deletionPolicy + name: DeletionPolicy + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + deletionPolicy: + description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + parameters: + additionalProperties: + type: string + description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. + type: object + required: + - deletionPolicy + - driver + type: object + served: true + storage: true + subresources: {} + - additionalPrinterColumns: + - jsonPath: .driver + name: Driver + type: string + - description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .deletionPolicy + name: DeletionPolicy + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + # This indicates the v1beta1 version of the custom resource is deprecated. + # API requests to this version receive a warning in the server response. + deprecated: true + # This overrides the default warning returned to clients making v1beta1 API requests. + deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotClass is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotClass" + schema: + openAPIV3Schema: + description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + deletionPolicy: + description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + parameters: + additionalProperties: + type: string + description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. + type: object + required: + - deletionPolicy + - driver + type: object + served: true + storage: false + subresources: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" + creationTimestamp: null + name: volumesnapshotcontents.snapshot.storage.k8s.io +spec: + group: snapshot.storage.k8s.io + names: + kind: VolumeSnapshotContent + listKind: VolumeSnapshotContentList + plural: volumesnapshotcontents + singular: volumesnapshotcontent + scope: Cluster + versions: + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: Represents the complete size of the snapshot in bytes + jsonPath: .status.restoreSize + name: RestoreSize + type: integer + - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .spec.deletionPolicy + name: DeletionPolicy + type: string + - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system. + jsonPath: .spec.driver + name: Driver + type: string + - description: Name of the VolumeSnapshotClass to which this snapshot belongs. + jsonPath: .spec.volumeSnapshotClassName + name: VolumeSnapshotClass + type: string + - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. + jsonPath: .spec.volumeSnapshotRef.name + name: VolumeSnapshot + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required. + properties: + deletionPolicy: + description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the VolumeSnapshotContent object. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required. + type: string + source: + description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required. + properties: + snapshotHandle: + description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable. + type: string + volumeHandle: + description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable. + type: string + type: object + oneOf: + - required: ["snapshotHandle"] + - required: ["volumeHandle"] + volumeSnapshotClassName: + description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation. + type: string + volumeSnapshotRef: + description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + required: + - deletionPolicy + - driver + - source + - volumeSnapshotRef + type: object + status: + description: status represents the current information of a snapshot. + properties: + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. + format: int64 + type: integer + error: + description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + format: int64 + minimum: 0 + type: integer + snapshotHandle: + description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: Represents the complete size of the snapshot in bytes + jsonPath: .status.restoreSize + name: RestoreSize + type: integer + - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .spec.deletionPolicy + name: DeletionPolicy + type: string + - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system. + jsonPath: .spec.driver + name: Driver + type: string + - description: Name of the VolumeSnapshotClass to which this snapshot belongs. + jsonPath: .spec.volumeSnapshotClassName + name: VolumeSnapshotClass + type: string + - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. + jsonPath: .spec.volumeSnapshotRef.name + name: VolumeSnapshot + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + # This indicates the v1beta1 version of the custom resource is deprecated. + # API requests to this version receive a warning in the server response. + deprecated: true + # This overrides the default warning returned to clients making v1beta1 API requests. + deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotContent is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotContent" + schema: + openAPIV3Schema: + description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required. + properties: + deletionPolicy: + description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the VolumeSnapshotContent object. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required. + type: string + source: + description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required. + properties: + snapshotHandle: + description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable. + type: string + volumeHandle: + description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable. + type: string + type: object + volumeSnapshotClassName: + description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation. + type: string + volumeSnapshotRef: + description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + required: + - deletionPolicy + - driver + - source + - volumeSnapshotRef + type: object + status: + description: status represents the current information of a snapshot. + properties: + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. + format: int64 + type: integer + error: + description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + format: int64 + minimum: 0 + type: integer + snapshotHandle: + description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress. + type: string + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" + creationTimestamp: null + name: volumesnapshots.snapshot.storage.k8s.io +spec: + group: snapshot.storage.k8s.io + names: + kind: VolumeSnapshot + listKind: VolumeSnapshotList + plural: volumesnapshots + singular: volumesnapshot + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: If a new snapshot needs to be created, this contains the name of the source PVC from which this snapshot was (or will be) created. + jsonPath: .spec.source.persistentVolumeClaimName + name: SourcePVC + type: string + - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot. + jsonPath: .spec.source.volumeSnapshotContentName + name: SourceSnapshotContent + type: string + - description: Represents the minimum size of volume required to rehydrate from this snapshot. + jsonPath: .status.restoreSize + name: RestoreSize + type: string + - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot. + jsonPath: .spec.volumeSnapshotClassName + name: SnapshotClass + type: string + - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot object intends to bind to. Please note that verification of binding actually requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure both are pointing at each other. Binding MUST be verified prior to usage of this object. + jsonPath: .status.boundVolumeSnapshotContentName + name: SnapshotContent + type: string + - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system. + jsonPath: .status.creationTime + name: CreationTime + type: date + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VolumeSnapshot is a user's request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: 'spec defines the desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots Required.' + properties: + source: + description: source specifies where a snapshot will be created from. This field is immutable after creation. Required. + properties: + persistentVolumeClaimName: + description: persistentVolumeClaimName specifies the name of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. This PVC is assumed to be in the same namespace as the VolumeSnapshot object. This field should be set if the snapshot does not exists, and needs to be created. This field is immutable. + type: string + volumeSnapshotContentName: + description: volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable. + type: string + type: object + oneOf: + - required: ["persistentVolumeClaimName"] + - required: ["volumeSnapshotContentName"] + volumeSnapshotClassName: + description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass requested by the VolumeSnapshot. VolumeSnapshotClassName may be left nil to indicate that the default SnapshotClass should be used. A given cluster may have multiple default Volume SnapshotClasses: one default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass, VolumeSnapshotSource will be checked to figure out what the associated CSI Driver is, and the default VolumeSnapshotClass associated with that CSI Driver will be used. If more than one VolumeSnapshotClass exist for a given CSI Driver and more than one have been marked as default, CreateSnapshot will fail and generate an event. Empty string is not allowed for this field.' + type: string + required: + - source + type: object + status: + description: status represents the current information of a snapshot. Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object. + properties: + boundVolumeSnapshotContentName: + description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent object to which this VolumeSnapshot object intends to bind to. If not specified, it indicates that the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. NOTE: To avoid possible security issues, consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.' + type: string + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it may indicate that the creation time of the snapshot is unknown. + format: date-time + type: string + error: + description: error is the last observed error during snapshot creation, if any. This field could be helpful to upper level controllers(i.e., application controller) to decide whether they should continue on waiting for the snapshot to be created based on the type of error reported. The snapshot controller will keep retrying when an error occurrs during the snapshot creation. Upon success, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if the snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + type: string + description: restoreSize represents the minimum size of volume required to create a volume from this snapshot. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: If a new snapshot needs to be created, this contains the name of the source PVC from which this snapshot was (or will be) created. + jsonPath: .spec.source.persistentVolumeClaimName + name: SourcePVC + type: string + - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot. + jsonPath: .spec.source.volumeSnapshotContentName + name: SourceSnapshotContent + type: string + - description: Represents the minimum size of volume required to rehydrate from this snapshot. + jsonPath: .status.restoreSize + name: RestoreSize + type: string + - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot. + jsonPath: .spec.volumeSnapshotClassName + name: SnapshotClass + type: string + - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot object intends to bind to. Please note that verification of binding actually requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure both are pointing at each other. Binding MUST be verified prior to usage of this object. + jsonPath: .status.boundVolumeSnapshotContentName + name: SnapshotContent + type: string + - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system. + jsonPath: .status.creationTime + name: CreationTime + type: date + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + # This indicates the v1beta1 version of the custom resource is deprecated. + # API requests to this version receive a warning in the server response. + deprecated: true + # This overrides the default warning returned to clients making v1beta1 API requests. + deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshot is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshot" + schema: + openAPIV3Schema: + description: VolumeSnapshot is a user's request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: 'spec defines the desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots Required.' + properties: + source: + description: source specifies where a snapshot will be created from. This field is immutable after creation. Required. + properties: + persistentVolumeClaimName: + description: persistentVolumeClaimName specifies the name of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. This PVC is assumed to be in the same namespace as the VolumeSnapshot object. This field should be set if the snapshot does not exists, and needs to be created. This field is immutable. + type: string + volumeSnapshotContentName: + description: volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable. + type: string + type: object + volumeSnapshotClassName: + description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass requested by the VolumeSnapshot. VolumeSnapshotClassName may be left nil to indicate that the default SnapshotClass should be used. A given cluster may have multiple default Volume SnapshotClasses: one default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass, VolumeSnapshotSource will be checked to figure out what the associated CSI Driver is, and the default VolumeSnapshotClass associated with that CSI Driver will be used. If more than one VolumeSnapshotClass exist for a given CSI Driver and more than one have been marked as default, CreateSnapshot will fail and generate an event. Empty string is not allowed for this field.' + type: string + required: + - source + type: object + status: + description: status represents the current information of a snapshot. Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object. + properties: + boundVolumeSnapshotContentName: + description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent object to which this VolumeSnapshot object intends to bind to. If not specified, it indicates that the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. NOTE: To avoid possible security issues, consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.' + type: string + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it may indicate that the creation time of the snapshot is unknown. + format: date-time + type: string + error: + description: error is the last observed error during snapshot creation, if any. This field could be helpful to upper level controllers(i.e., application controller) to decide whether they should continue on waiting for the snapshot to be created based on the type of error reported. The snapshot controller will keep retrying when an error occurrs during the snapshot creation. Upon success, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if the snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + type: string + description: restoreSize represents the minimum size of volume required to create a volume from this snapshot. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] + +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: snapshot-controller + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-runner + namespace: kube-system +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotcontents"] + verbs: ["create", "get", "list", "watch", "update", "delete"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots/status"] + verbs: ["update"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-role +subjects: + - kind: ServiceAccount + name: snapshot-controller + namespace: kube-system +roleRef: + kind: ClusterRole + name: snapshot-controller-runner + apiGroup: rbac.authorization.k8s.io + +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-leaderelection + namespace: kube-system +rules: +- apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "watch", "list", "delete", "update", "create"] + +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-leaderelection + namespace: kube-system +subjects: + - kind: ServiceAccount + name: snapshot-controller + namespace: kube-system +roleRef: + kind: Role + name: snapshot-controller-leaderelection + apiGroup: rbac.authorization.k8s.io +# This YAML file shows how to deploy the snapshot controller + +# The snapshot controller implements the control loop for CSI snapshot functionality. +# It should be installed as part of the base Kubernetes distribution in an appropriate +# namespace for components implementing base system functionality. For installing with +# Vanilla Kubernetes, kube-system makes sense for the namespace. + +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: snapshot-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: snapshot-controller + # the snapshot controller won't be marked as ready if the v1 CRDs are unavailable + # in #504 the snapshot-controller will exit after around 7.5 seconds if it + # can't find the v1 CRDs so this value should be greater than that + minReadySeconds: 15 + strategy: + rollingUpdate: + maxSurge: 0 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: snapshot-controller + spec: + serviceAccount: snapshot-controller + containers: + - name: snapshot-controller + image: k8s.gcr.io/sig-storage/snapshot-controller:v4.1.1 + args: + - "--v=5" + - "--leader-election=true" + imagePullPolicy: IfNotPresent + nodeSelector: + kubernetes.io/os: linux + node-role.kubernetes.io/master: "" + tolerations: + - operator: Exists + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: snapshot-validation-deployment + namespace: kube-system + labels: + app: snapshot-validation +spec: + replicas: 1 + selector: + matchLabels: + app: snapshot-validation + template: + metadata: + labels: + app: snapshot-validation + spec: + containers: + - name: snapshot-validation + image: k8s.gcr.io/sig-storage/snapshot-validation-webhook:v4.1.1 + imagePullPolicy: IfNotPresent + args: ['--tls-cert-file=/etc/snapshot-validation-webhook/certs/tls.crt', '--tls-private-key-file=/etc/snapshot-validation-webhook/certs/tls.key'] + ports: + - containerPort: 443 + volumeMounts: + - name: snapshot-validation-webhook-certs + mountPath: /etc/snapshot-validation-webhook/certs + readOnly: true + volumes: + - name: snapshot-validation-webhook-certs + secret: + secretName: snapshot-validation-secret +--- +apiVersion: v1 +kind: Service +metadata: + name: snapshot-validation-service + namespace: kube-system +spec: + selector: + app: snapshot-validation + ports: + - protocol: TCP + port: 443 + targetPort: 443 + +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: kube-system/snapshot-validation-service + name: "validation-webhook.snapshot.storage.k8s.io" +webhooks: +- name: "validation-webhook.snapshot.storage.k8s.io" + rules: + - apiGroups: ["snapshot.storage.k8s.io"] + apiVersions: ["v1", "v1beta1"] + operations: ["CREATE", "UPDATE"] + resources: ["volumesnapshots", "volumesnapshotcontents"] + scope: "*" + clientConfig: + service: + namespace: "kube-system" + name: "snapshot-validation-service" + path: "/volumesnapshot" + admissionReviewVersions: ["v1", "v1beta1"] + sideEffects: None + failurePolicy: Ignore # We recommend switching to Fail only after successful installation of the webhook server and webhook. + timeoutSeconds: 2 # This will affect the latency and performance. Finetune this value based on your application's tolerance. + +--- +apiVersion: cert-manager.io/v1alpha2 +kind: Certificate +metadata: + name: snapshot-validation-service + namespace: kube-system +spec: + dnsNames: + - snapshot-validation-service.kube-system.svc + - snapshot-validation-service.kube-system.svc.{{ ClusterName }} + issuerRef: + kind: Issuer + name: snapshot-controller.addons.k8s.io + secretName: snapshot-validation-secret + +{{ if .SnapshotController.InstallDefaultClass }} +--- +apiVersion: snapshot.storage.k8s.io/v1 +kind: VolumeSnapshotClass +metadata: + name: csi-hostpath-snapclass + annotations: + snapshot.storage.kubernetes.io/is-default-class: "true" +driver: ebs.csi.aws.com +deletionPolicy: Delete +{{ end }} \ No newline at end of file diff --git a/upup/models/cloudup/resources/addons/snapshot-controller.addons.k8s.io/snapshot-controller.yaml b/upup/models/cloudup/resources/addons/snapshot-controller.addons.k8s.io/snapshot-controller.yaml new file mode 100644 index 0000000000000..d8e34ea02eb9c --- /dev/null +++ b/upup/models/cloudup/resources/addons/snapshot-controller.addons.k8s.io/snapshot-controller.yaml @@ -0,0 +1,867 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" + creationTimestamp: null + name: volumesnapshotclasses.snapshot.storage.k8s.io +spec: + group: snapshot.storage.k8s.io + names: + kind: VolumeSnapshotClass + listKind: VolumeSnapshotClassList + plural: volumesnapshotclasses + singular: volumesnapshotclass + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .driver + name: Driver + type: string + - description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .deletionPolicy + name: DeletionPolicy + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + deletionPolicy: + description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + parameters: + additionalProperties: + type: string + description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. + type: object + required: + - deletionPolicy + - driver + type: object + served: true + storage: true + subresources: {} + - additionalPrinterColumns: + - jsonPath: .driver + name: Driver + type: string + - description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .deletionPolicy + name: DeletionPolicy + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + # This indicates the v1beta1 version of the custom resource is deprecated. + # API requests to this version receive a warning in the server response. + deprecated: true + # This overrides the default warning returned to clients making v1beta1 API requests. + deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotClass is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotClass" + schema: + openAPIV3Schema: + description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + deletionPolicy: + description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + parameters: + additionalProperties: + type: string + description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. + type: object + required: + - deletionPolicy + - driver + type: object + served: true + storage: false + subresources: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" + creationTimestamp: null + name: volumesnapshotcontents.snapshot.storage.k8s.io +spec: + group: snapshot.storage.k8s.io + names: + kind: VolumeSnapshotContent + listKind: VolumeSnapshotContentList + plural: volumesnapshotcontents + singular: volumesnapshotcontent + scope: Cluster + versions: + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: Represents the complete size of the snapshot in bytes + jsonPath: .status.restoreSize + name: RestoreSize + type: integer + - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .spec.deletionPolicy + name: DeletionPolicy + type: string + - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system. + jsonPath: .spec.driver + name: Driver + type: string + - description: Name of the VolumeSnapshotClass to which this snapshot belongs. + jsonPath: .spec.volumeSnapshotClassName + name: VolumeSnapshotClass + type: string + - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. + jsonPath: .spec.volumeSnapshotRef.name + name: VolumeSnapshot + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required. + properties: + deletionPolicy: + description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the VolumeSnapshotContent object. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required. + type: string + source: + description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required. + properties: + snapshotHandle: + description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable. + type: string + volumeHandle: + description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable. + type: string + type: object + oneOf: + - required: ["snapshotHandle"] + - required: ["volumeHandle"] + volumeSnapshotClassName: + description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation. + type: string + volumeSnapshotRef: + description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + required: + - deletionPolicy + - driver + - source + - volumeSnapshotRef + type: object + status: + description: status represents the current information of a snapshot. + properties: + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. + format: int64 + type: integer + error: + description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + format: int64 + minimum: 0 + type: integer + snapshotHandle: + description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress. + type: string + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: Represents the complete size of the snapshot in bytes + jsonPath: .status.restoreSize + name: RestoreSize + type: integer + - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. + jsonPath: .spec.deletionPolicy + name: DeletionPolicy + type: string + - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system. + jsonPath: .spec.driver + name: Driver + type: string + - description: Name of the VolumeSnapshotClass to which this snapshot belongs. + jsonPath: .spec.volumeSnapshotClassName + name: VolumeSnapshotClass + type: string + - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. + jsonPath: .spec.volumeSnapshotRef.name + name: VolumeSnapshot + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + # This indicates the v1beta1 version of the custom resource is deprecated. + # API requests to this version receive a warning in the server response. + deprecated: true + # This overrides the default warning returned to clients making v1beta1 API requests. + deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotContent is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotContent" + schema: + openAPIV3Schema: + description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required. + properties: + deletionPolicy: + description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the VolumeSnapshotContent object. Required. + enum: + - Delete + - Retain + type: string + driver: + description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required. + type: string + source: + description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required. + properties: + snapshotHandle: + description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable. + type: string + volumeHandle: + description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable. + type: string + type: object + volumeSnapshotClassName: + description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation. + type: string + volumeSnapshotRef: + description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' + type: string + kind: + description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + namespace: + description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + type: string + resourceVersion: + description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + type: string + uid: + description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + type: string + type: object + required: + - deletionPolicy + - driver + - source + - volumeSnapshotRef + type: object + status: + description: status represents the current information of a snapshot. + properties: + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. + format: int64 + type: integer + error: + description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + format: int64 + minimum: 0 + type: integer + snapshotHandle: + description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress. + type: string + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/419" + creationTimestamp: null + name: volumesnapshots.snapshot.storage.k8s.io +spec: + group: snapshot.storage.k8s.io + names: + kind: VolumeSnapshot + listKind: VolumeSnapshotList + plural: volumesnapshots + singular: volumesnapshot + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: If a new snapshot needs to be created, this contains the name of the source PVC from which this snapshot was (or will be) created. + jsonPath: .spec.source.persistentVolumeClaimName + name: SourcePVC + type: string + - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot. + jsonPath: .spec.source.volumeSnapshotContentName + name: SourceSnapshotContent + type: string + - description: Represents the minimum size of volume required to rehydrate from this snapshot. + jsonPath: .status.restoreSize + name: RestoreSize + type: string + - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot. + jsonPath: .spec.volumeSnapshotClassName + name: SnapshotClass + type: string + - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot object intends to bind to. Please note that verification of binding actually requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure both are pointing at each other. Binding MUST be verified prior to usage of this object. + jsonPath: .status.boundVolumeSnapshotContentName + name: SnapshotContent + type: string + - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system. + jsonPath: .status.creationTime + name: CreationTime + type: date + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VolumeSnapshot is a user's request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: 'spec defines the desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots Required.' + properties: + source: + description: source specifies where a snapshot will be created from. This field is immutable after creation. Required. + properties: + persistentVolumeClaimName: + description: persistentVolumeClaimName specifies the name of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. This PVC is assumed to be in the same namespace as the VolumeSnapshot object. This field should be set if the snapshot does not exists, and needs to be created. This field is immutable. + type: string + volumeSnapshotContentName: + description: volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable. + type: string + type: object + oneOf: + - required: ["persistentVolumeClaimName"] + - required: ["volumeSnapshotContentName"] + volumeSnapshotClassName: + description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass requested by the VolumeSnapshot. VolumeSnapshotClassName may be left nil to indicate that the default SnapshotClass should be used. A given cluster may have multiple default Volume SnapshotClasses: one default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass, VolumeSnapshotSource will be checked to figure out what the associated CSI Driver is, and the default VolumeSnapshotClass associated with that CSI Driver will be used. If more than one VolumeSnapshotClass exist for a given CSI Driver and more than one have been marked as default, CreateSnapshot will fail and generate an event. Empty string is not allowed for this field.' + type: string + required: + - source + type: object + status: + description: status represents the current information of a snapshot. Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object. + properties: + boundVolumeSnapshotContentName: + description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent object to which this VolumeSnapshot object intends to bind to. If not specified, it indicates that the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. NOTE: To avoid possible security issues, consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.' + type: string + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it may indicate that the creation time of the snapshot is unknown. + format: date-time + type: string + error: + description: error is the last observed error during snapshot creation, if any. This field could be helpful to upper level controllers(i.e., application controller) to decide whether they should continue on waiting for the snapshot to be created based on the type of error reported. The snapshot controller will keep retrying when an error occurrs during the snapshot creation. Upon success, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if the snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + type: string + description: restoreSize represents the minimum size of volume required to create a volume from this snapshot. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - description: Indicates if the snapshot is ready to be used to restore a volume. + jsonPath: .status.readyToUse + name: ReadyToUse + type: boolean + - description: If a new snapshot needs to be created, this contains the name of the source PVC from which this snapshot was (or will be) created. + jsonPath: .spec.source.persistentVolumeClaimName + name: SourcePVC + type: string + - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot. + jsonPath: .spec.source.volumeSnapshotContentName + name: SourceSnapshotContent + type: string + - description: Represents the minimum size of volume required to rehydrate from this snapshot. + jsonPath: .status.restoreSize + name: RestoreSize + type: string + - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot. + jsonPath: .spec.volumeSnapshotClassName + name: SnapshotClass + type: string + - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot object intends to bind to. Please note that verification of binding actually requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure both are pointing at each other. Binding MUST be verified prior to usage of this object. + jsonPath: .status.boundVolumeSnapshotContentName + name: SnapshotContent + type: string + - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system. + jsonPath: .status.creationTime + name: CreationTime + type: date + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1beta1 + # This indicates the v1beta1 version of the custom resource is deprecated. + # API requests to this version receive a warning in the server response. + deprecated: true + # This overrides the default warning returned to clients making v1beta1 API requests. + deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshot is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshot" + schema: + openAPIV3Schema: + description: VolumeSnapshot is a user's request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + spec: + description: 'spec defines the desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots Required.' + properties: + source: + description: source specifies where a snapshot will be created from. This field is immutable after creation. Required. + properties: + persistentVolumeClaimName: + description: persistentVolumeClaimName specifies the name of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. This PVC is assumed to be in the same namespace as the VolumeSnapshot object. This field should be set if the snapshot does not exists, and needs to be created. This field is immutable. + type: string + volumeSnapshotContentName: + description: volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable. + type: string + type: object + volumeSnapshotClassName: + description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass requested by the VolumeSnapshot. VolumeSnapshotClassName may be left nil to indicate that the default SnapshotClass should be used. A given cluster may have multiple default Volume SnapshotClasses: one default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass, VolumeSnapshotSource will be checked to figure out what the associated CSI Driver is, and the default VolumeSnapshotClass associated with that CSI Driver will be used. If more than one VolumeSnapshotClass exist for a given CSI Driver and more than one have been marked as default, CreateSnapshot will fail and generate an event. Empty string is not allowed for this field.' + type: string + required: + - source + type: object + status: + description: status represents the current information of a snapshot. Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object. + properties: + boundVolumeSnapshotContentName: + description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent object to which this VolumeSnapshot object intends to bind to. If not specified, it indicates that the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. NOTE: To avoid possible security issues, consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.' + type: string + creationTime: + description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it may indicate that the creation time of the snapshot is unknown. + format: date-time + type: string + error: + description: error is the last observed error during snapshot creation, if any. This field could be helpful to upper level controllers(i.e., application controller) to decide whether they should continue on waiting for the snapshot to be created based on the type of error reported. The snapshot controller will keep retrying when an error occurrs during the snapshot creation. Upon success, this error field will be cleared. + properties: + message: + description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' + type: string + time: + description: time is the timestamp when the error was encountered. + format: date-time + type: string + type: object + readyToUse: + description: readyToUse indicates if the snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. + type: boolean + restoreSize: + type: string + description: restoreSize represents the minimum size of volume required to create a volume from this snapshot. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] + +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: snapshot-controller + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-runner + namespace: kube-system +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshotcontents"] + verbs: ["create", "get", "list", "watch", "update", "delete"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["snapshot.storage.k8s.io"] + resources: ["volumesnapshots/status"] + verbs: ["update"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-role +subjects: + - kind: ServiceAccount + name: snapshot-controller + namespace: kube-system +roleRef: + kind: ClusterRole + name: snapshot-controller-runner + apiGroup: rbac.authorization.k8s.io + +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-leaderelection + namespace: kube-system +rules: +- apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "watch", "list", "delete", "update", "create"] + +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: snapshot-controller-leaderelection + namespace: kube-system +subjects: + - kind: ServiceAccount + name: snapshot-controller + namespace: kube-system +roleRef: + kind: Role + name: snapshot-controller-leaderelection + apiGroup: rbac.authorization.k8s.io +# This YAML file shows how to deploy the snapshot controller + +# The snapshot controller implements the control loop for CSI snapshot functionality. +# It should be installed as part of the base Kubernetes distribution in an appropriate +# namespace for components implementing base system functionality. For installing with +# Vanilla Kubernetes, kube-system makes sense for the namespace. + +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: snapshot-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: snapshot-controller + # the snapshot controller won't be marked as ready if the v1 CRDs are unavailable + # in #504 the snapshot-controller will exit after around 7.5 seconds if it + # can't find the v1 CRDs so this value should be greater than that + minReadySeconds: 15 + strategy: + rollingUpdate: + maxSurge: 0 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: snapshot-controller + spec: + serviceAccount: snapshot-controller + containers: + - name: snapshot-controller + image: k8s.gcr.io/sig-storage/snapshot-controller:v4.1.1 + args: + - "--v=5" + - "--leader-election=true" + imagePullPolicy: IfNotPresent + nodeSelector: + kubernetes.io/os: linux + node-role.kubernetes.io/master: "" + tolerations: + - operator: Exists + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: snapshot-validation-deployment + namespace: kube-system + labels: + app: snapshot-validation +spec: + replicas: 1 + selector: + matchLabels: + app: snapshot-validation + template: + metadata: + labels: + app: snapshot-validation + spec: + containers: + - name: snapshot-validation + image: k8s.gcr.io/sig-storage/snapshot-validation-webhook:v4.1.1 + imagePullPolicy: IfNotPresent + args: ['--tls-cert-file=/etc/snapshot-validation-webhook/certs/tls.crt', '--tls-private-key-file=/etc/snapshot-validation-webhook/certs/tls.key'] + ports: + - containerPort: 443 + volumeMounts: + - name: snapshot-validation-webhook-certs + mountPath: /etc/snapshot-validation-webhook/certs + readOnly: true + volumes: + - name: snapshot-validation-webhook-certs + secret: + secretName: snapshot-validation-secret +--- +apiVersion: v1 +kind: Service +metadata: + name: snapshot-validation-service + namespace: kube-system +spec: + selector: + app: snapshot-validation + ports: + - protocol: TCP + port: 443 + targetPort: 443 + +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: kube-system/snapshot-validation-service + name: "validation-webhook.snapshot.storage.k8s.io" +webhooks: +- name: "validation-webhook.snapshot.storage.k8s.io" + rules: + - apiGroups: ["snapshot.storage.k8s.io"] + apiVersions: ["v1", "v1beta1"] + operations: ["CREATE", "UPDATE"] + resources: ["volumesnapshots", "volumesnapshotcontents"] + scope: "*" + clientConfig: + service: + namespace: "kube-system" + name: "snapshot-validation-service" + path: "/volumesnapshot" + admissionReviewVersions: ["v1", "v1beta1"] + sideEffects: None + failurePolicy: Ignore # We recommend switching to Fail only after successful installation of the webhook server and webhook. + timeoutSeconds: 2 # This will affect the latency and performance. Finetune this value based on your application's tolerance. + +--- +apiVersion: cert-manager.io/v1alpha2 +kind: Certificate +metadata: + name: snapshot-validation-service + namespace: kube-system +spec: + dnsNames: + - snapshot-validation-service.kube-system.svc + - snapshot-validation-service.kube-system.svc.{{ ClusterName }} + issuerRef: + kind: Issuer + name: snapshot-controller.addons.k8s.io + secretName: snapshot-validation-secret + +{{ if .SnapshotController.InstallDefaultClass }} +--- +apiVersion: snapshot.storage.k8s.io/v1 +kind: VolumeSnapshotClass +metadata: + name: csi-hostpath-snapclass + annotations: + snapshot.storage.kubernetes.io/is-default-class: "true" +driver: ebs.csi.aws.com +deletionPolicy: Delete +{{ end }} \ No newline at end of file diff --git a/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml.template b/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml.template index dadf71c7536f0..e50ad495ebf5e 100644 --- a/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml.template +++ b/upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml.template @@ -30,7 +30,7 @@ kind: StorageClass metadata: name: kops-ssd-1-17 annotations: - storageclass.kubernetes.io/is-default-class: "true" + storageclass.kubernetes.io/is-default-class: "{{ not .CloudConfig.AWSEBSCSIDriver.Enabled }}" labels: k8s-addon: storage-aws.addons.k8s.io provisioner: kubernetes.io/aws-ebs @@ -40,6 +40,21 @@ parameters: allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer +{{ if WithDefaultBool .CloudConfig.AWSEBSCSIDriver.Enabled false }} +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: kops-csi-1-21 + annotations: + storageclass.kubernetes.io/is-default-class: "true" +parameters: + type: gp3 + encrypted: "true" +provisioner: ebs.csi.aws.com +allowVolumeExpansion: true +volumeBindingMode: WaitForFirstConsumer +{{ end }} {{ end }} --- diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc-containerd/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc-containerd/manifest.yaml index 6826340ab26a1..3cd7cf4aea51a 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc-containerd/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc-containerd/manifest.yaml @@ -47,7 +47,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml index 6826340ab26a1..3cd7cf4aea51a 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/amazonvpc/manifest.yaml @@ -47,7 +47,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awscloudcontroller/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awscloudcontroller/manifest.yaml index 56a8afd65d6be..8220cebdb3c13 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awscloudcontroller/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awscloudcontroller/manifest.yaml @@ -47,7 +47,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: 0a0be4f4f365a9dde29ba301db1ff0ad1a062926 name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awsiamauthenticator/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awsiamauthenticator/manifest.yaml index 5943cf88c1b13..b691d871fe53a 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awsiamauthenticator/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/awsiamauthenticator/manifest.yaml @@ -47,7 +47,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml index 6f9185ed42082..5f5ca7c3217dc 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/cilium/manifest.yaml @@ -54,7 +54,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/service-account-iam/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/service-account-iam/manifest.yaml index b5a537eca068c..1073a24f008fd 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/service-account-iam/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/service-account-iam/manifest.yaml @@ -54,7 +54,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml index 2344f74212d73..cc449a81433e8 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/simple/manifest.yaml @@ -47,7 +47,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io diff --git a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml index 3292dd0f96f6f..43c725fc3b2b8 100644 --- a/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml +++ b/upup/pkg/fi/cloudup/tests/bootstrapchannelbuilder/weave/manifest.yaml @@ -47,7 +47,7 @@ spec: version: 1.22.0-alpha.1 - id: v1.15.0 manifest: storage-aws.addons.k8s.io/v1.15.0.yaml - manifestHash: cc7393f22cb59dc4e23b9220ee962243334f47f1 + manifestHash: b8aadc7d9d09c2626b8680c1d5f2d0699628519c name: storage-aws.addons.k8s.io selector: k8s-addon: storage-aws.addons.k8s.io