SUSE-RU-2020:0710-1: important: Upgrading to Terraform 0.12 and fix issues in crio, grafana, kubelet, skuba, and terraform
sle-updates at lists.suse.com
sle-updates at lists.suse.com
Wed Mar 18 05:19:04 MDT 2020
SUSE Recommended Update: Upgrading to Terraform 0.12 and fix issues in crio, grafana, kubelet, skuba, and terraform
______________________________________________________________________________
Announcement ID: SUSE-RU-2020:0710-1
Rating: important
References: #1145003 #1157323 #1159082 #1160463 #1161056
#1161110 #1161179 #1161225 #1162093
Affected Products:
SUSE CaaS Platform 4.0
______________________________________________________________________________
An update that has 9 recommended fixes can now be installed.
Description:
Upgrade Terraform Files and State
In order to seamlessly switch to Terraform 0.12 you need to make sure that:
* all files follow the new syntax for the HashiCorp Configuration Language
included in Terraform 0.12;
* all boolean values are `true` or `false` and *not* 0 or 1;
* all variables are explicitly declared;
* all dependencies are explicitly declared to reach the expected behavior.
Recommended Procedure
If you can tear down your existing cluster, do delete your cluster before
upgrading to Terraform 0.12. After that follow our documentation to create
a new cluster. That will lead to the cleanest upgrade result.
If you are using Terraform 0.11 and you cannot tear down your cluster, you
will need to update your Terraform files (and states) in place for
Terraform 0.12.
To do this, enter your Terraform files/state folder and:
* Migrate Terraform files with the automatic migration tool by running
`terraform 0.12upgrade`.
* For OpenStack, run the extra operations for in-place upgrade, which
follow just below.
* For VMware, there is no extra operation.
* You can then run the `terraform init/plan/apply` commands as usual.
Extra Operations for In-place Upgrade of OpenStack Terraform Files
* Replace any boolean values written as a number with `false`/`true`. For
example, for the variables in `openstack/variables.tf` (and their
equivalent in your `terraform.tfvars` file), replace `default = 0` with
`default = false` in the variables `workers_vol_enabled` and `dnsentry`.
Do the same for any extra boolean variable you might have added.
* Introduce a `depends_on` on the resource
`"openstack_compute_floatingip_associate_v2" "master_ext_ip"` in
`master-instance.tf`:
---- depends_on = [openstack_compute_instance_v2.master]
----
* Introduce a `depends_on` on the resource `"master_wait_cloudinit"` in
`master-instance.tf`:
---- depends_on = [
openstack_compute_instance_v2.master,
openstack_compute_floatingip_associate_v2.master_ext_ip ]
----
* Introduce a `depends_on` on the resources
`"openstack_compute_floatingip_associate_v2" "worker_ext_ip"` and
`"null_resource" "worker_wait_cloudinit"` in `worker-instance.tf`,
similarly to the ones for master. Replace `master` with `worker` in the
examples above.
* Update the resources `resource "openstack_compute_instance_v2" "master"`
and `resource "openstack_compute_instance_v2" "worker"` with
`master-instance.tf` and `worker-instance.tf` respectively. Add the
following resources:
---- lifecycle { ignore_changes = [user_data] }
----
This will make it possible to update your cluster from a Terraform 0.11
state into a Terraform 0.12 state without tearing it down completely.
[WARNING] When adding `lifecycle { ignore_change = [user_data] }` in your
master and worker instances, you will effectively prevent updates of
nodes, should you or SUSE update the `user_data`. This should be removed
as soon as possible after the migration to Terraform 0.12.
Patch Instructions:
To install this SUSE Recommended Update use the SUSE recommended installation methods
like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:
- SUSE CaaS Platform 4.0:
To install this update, use the SUSE CaaS Platform Velum dashboard.
It will inform you if it detects new updates and let you then trigger
updating of the complete cluster in a controlled way.
Package List:
- SUSE CaaS Platform 4.0 (x86_64):
caasp-release-4.1.2-24.17.2
cri-o-1.16.1-3.28.2
cri-o-kubeadm-criconfig-1.16.1-3.28.2
etcdctl-3.3.15-4.9.2
patterns-caasp-Management-1.1-4.6.2
skuba-1.2.9-3.27.2
terraform-0.12.19-3.3.2
terraform-provider-aws-2.29.0-1.3.2
terraform-provider-openstack-1.25.0-3.3.2
terraform-provider-susepubliccloud-0.0.1-1.6.1
- SUSE CaaS Platform 4.0 (noarch):
skuba-update-1.2.9-3.27.2
References:
https://bugzilla.suse.com/1145003
https://bugzilla.suse.com/1157323
https://bugzilla.suse.com/1159082
https://bugzilla.suse.com/1160463
https://bugzilla.suse.com/1161056
https://bugzilla.suse.com/1161110
https://bugzilla.suse.com/1161179
https://bugzilla.suse.com/1161225
https://bugzilla.suse.com/1162093
More information about the sle-updates
mailing list