description |
---|
Procedure for updating a venue deployment |
-
Prerequisite: Have a EC2 bastion host on the venue account you wish to update. See instructions here, to create one, if one doesn't exist already.
-
Un-deploy SPS (due to security group dependencies).
- Make sure SPS also un-deploys the EKS component.
-
Log into the Management Console, and check what is deployed currently (e.g. the "Application Management" page). If the
Unity-DS-Application
module is deployed, and present in the terraform state file, disconnect the U-DS marketplace-deployed module, for example:- mkdir temp ; cd temp
- create a file called unity-dev.tf:
```
terraform { backend "s3" { bucket = "unity-unity-dev-bucket" key = "unity-dev-tfstate" region = "us-west-2" dynamodb_table = "unity-dev-terraform-state" } }
```-
run `terraform init`
-
OPTIONALLY run `terraform state list`
-
run `terraform state rm <MODULE>`, for example:
$ terraform state rm module.Unity-DS-Application-tdGjK Removed module.Unity-DS-Application-tdGjK.aws_s3_bucket.market_bucket Successfully removed 1 resource instance(s).
-
Destroy Management Console via bastion host. See instructions here. (execute the
destroy.sh
script under step 11) -
Deploy new Management Console via bastion host. See instructions here. (execute the
run.sh
script) -
Open the Management Console in a browser, go to the "Core Management" page, click "Save", then wait 1 minute.
-
Manually update the shared services API Gateway Integration "Endpoint URL" to be the API Gateway URL from the venue deployment (see screeenshot below for example). NOTE: This may be needed until automation that does this, is fixed.\
-
After saving the above Endpoint URL configuration, manually re-deploy the API no shared services.
-
Go to the venue AWS console, and also redeploy the `dev` stage API Gateway. Sometimes it takes a few minutes to really take effect, but at this point you should be able to see that the UI Dashboard is returning results from the Health Check API.
-
SPS Team re-deploys SPS
-
Re-add U-DS module to terraform state:
terraform import <bucket resource> <bucket name>
-
Verify the Management Console is accessible through the shared services HTTPD:
https://www.<SS_PREFIX>.mdps.mcp.nasa.gov:4443/${VENUE_PATH}/management/ui
Development:
https://www.dev.mdps.mcp.nasa.gov:4443/unity/dev/management/ui
Test:
https://www.test.mdps.mcp.nasa.gov:4443/unity/test/management/ui
Production:
https://www.mdps.mcp.nasa.gov:4443/unity/ops/management/ui
\ -
Verify you can access the UI Dashboard
Development:
https://www.dev.mdps.mcp.nasa.gov:4443/unity/dev/ui/health-dashboard
Test:
https://www.test.mdps.mcp.nasa.gov:4443/unity/test/ui/health-dashboard
Production:
https://www.mdps.mcp.nasa.gov:4443/unity/ops/ui/health-dashboard
\ -
Verify the UI Dashboard is able to access the HealthCheck API, and is displaying statuses for each application.