Upgrade
Gerald Manipon edited this page on Aug 30, 2018 · 6 revisions
Confidence Level TBD This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it. |
---|
Upgrade
For definitions of terminology used, please refer to our terminology reference.
Latest Releases
The latest releases are here: https://github.com/hysds/hysds-framework/releases. Each was taken from the latest head state of all repos at time of release.
Prerequisite - Graceful Shutdown
To preserve the state of queued/running HySDS jobs mozart
, the HySDS cluster should be brought down gracefully as follows:
Turn off all timer based job submission scripts (e.g. crontab on factotum
)
Log into into your
factotum
instancessh -i <PEM file> ops@<factotum IP>
Back up your crontab and remove it to prevent jobs from being submitted during the upgrade process
mkdir ~/crontabs crontab -l > crontab.$(date -u -Iseconds) crontab -r
Gracefully shutdown the workers
Log into your
mozart
instancessh -i <PEM file> ops@<mozart IP>
Shut down the syncer processes that updates job queue metrics (i.e. AWS CloudWatch) which triggers autoscaling of
verdi
workers:Cancel consumption of tasks:
Log into the RabbitMQ admin interface to ensure that all queues show
0
in theUnacked
column of theQueues
tab. To show only the job/tasks queues, enter^(?!celery)
in the filter text box and check theRegex
checkbox. If there are jobs/tasks currently running, you can either wait for them to complete or kill them manually to retry them later after the upgrade. Below screenshot shows theUnacked
column with all zeros signifying that there are no jobs/tasks currently running.Log into
figaro
and ensure that it matches what you see in the RabbitMQ admin interfaceYour cluster is now ready for the upgrade
Upgrade
Update HySDS core using hysds-framework and sdscli
Log into your
mozart
instanceStop the cluster
Backup your mozart directory
If you have it, remove the old
hysds-framework
cloneClone the HySDS framework repository and enter it
Select the HySDS framework release tag you'd like to install for mozart
Install the latest HySDS release (e.g. v2.1.0-rc.3) for the mozart component
You could also install the development version which pulls the master branch of each HySDS repo:
Restore the non-core repositories from the directory backup under
~/mozart.orig/ops
Update all HySDS components:
If you receive any errors, they will need to be addressed.
(Optional) Run any adaptation-specific fabric updates (e.g. update_aria_packages)
Build and ship out updated code/config bundles
Start up the
grq
component and validate that all services come up fineStart up the
mozart
component and validate that all services come up fineStart up the
metrics
component and validate that all services come up fineDuring installation, the latest versions of the
lightweight-jobs
core HySDS package and theverdi
docker image was downloaded. If the version has has incremented, we import thelightweight-jobs
package:Copy the
verdi
docker image to the code bucket (CODE_BUCKET
as specified duringsds configure
). EnsureVERDI_PRIMER_IMAGE
url is consistent:Start up the
factotum
component and validate that all services come up fineView status of HySDS components and services:
Restore all timer based job submission scripts (e.g. crontab on factotum
)
Log back into
factotum
and restore the crontab