Upgrade from 1.13.0 to 1.14.0
Warning
1.14.0 ships with a version of Consul incompatible with the previous one. You must follow the upgrade procedure if you want to preserve the information in your current bastion.
Upgrade Bastion
This version of the SDK includes a new version of Consul, bringing more stability to the stack and the bastion. To upgrade your old bastion to the new one, do the following instructions with a running bastion.
Note
If you just want to upgrade without keeping anything, you can
run genvid-bastion reinstall --reconfigure -c
. This will clean your
old config and install the new services.
Create a backup.
genvid-bastion now contains some limited backup functionality. To upgrade your bastion, ensure your bastion is still running under the old SDK and create a backup.
Ensure the bastion is running with the old SDK:Old SDK> py install-toolbox.py
Old SDK> genvid-bastion install
Then switch to the new SDK:New SDK> py install-toolbox.py
New SDK> genvid-bastion backup backup.zip
This will create a minimal backup under
backup.zip
Reinstall Bastion with the new SDK.
New SDK> genvid-bastion reinstall --reconfigure -uml -b mybastion --backup backup.zip
The
backup.zip
is the backup file created at the previous step. The new version of bastion requires a Bastion ID. The-b
will set your bastion ID after the bastion is updated.Re-initialize your clusters.
If you have any clusters running, you need to reinitialize them.
New SDK> genvid-clusters terraform-init --all
Bastion now requires an ID to be set
genvid-clusters global-update mybastion
genvid-bastion install -b mybastion -uml
Be between 3 and 32 characters.
Only contain lowercase letters, numbers or hyphens.
Start with a letter.
The Bastion Global source and instanceID parameters have been deprecated
If you were using one, we suggest you to switch to a custom Cluster instead.
Artifacts images are now uploaded to a single bucket by bastion
Images are now uploaded to a bucket common to the bastion by default.
The default bucket is AWS Account ID-Bastion ID
. The SDK
images will be saved under /images/SDK-version
while other
images (like the samples) will be saved under /images/custom
.
Nothing is required for update (the configuration is updated accordingly) unless you are directly referring to those paths in your template jobs or other places.
Related to this change, the terraform module genvid/aws
has lost
its images_bucket
variable. The variable wasn’t used anymore but
be sure to update your module definition if you were referring to it.
New Terraform workflow in Bastion UI
The proper Terraform workflow is now enforced by the Bastion UI: The apply button now applies the plan that has been previously validated by the user. You can no longer apply an auto-approved infrastructure. Same goes for the destroy operation.
Terraform Modules are now more configurable and composable
Since Terraform Modules have been reworked entirely, we recommend
creating new clusters using the SDK 1.14/basic/cluster
configuration instead of trying to upgrade an existing cluster in the
cloud to the new Terraform modules.
One less obvious change is the game_az
setting is now called
force_az
and must be written out entirely.
For example:
game_az = "b"
region = "us-east-1"
becomes
force_az = "us-east-1b"
region = "us-east-1" // Same as before.