This project contains Ansible code that creates a baseline in an existing Kubernetes environment for use with the SAS Viya Platform, generates the manifest for an order, and then can also deploy that order into the Kubernetes environment specified.
Apache License 2.0
71
stars
64
forks
source link
feat: (IAC-552) (IAC-664) Integrate with the Deployment Operator and Orchestration tooling for SAS Viya deployments #328
Adds support for the sas-orchestration cli and deployment operator
Notes
This PR is the same as #276, had to reopen after we decided to revert the DO changes in the staging branch for now.
Tests
See the internal tickets for additional details and artifacts.
IAC-552
Non-MT Scenarios
Scenario
K8s Version
Provider
Order
Cadence
Deployment Method
V4_DEPLOYMENT_OPERATOR_ENABLED
V4_DEPLOYMENT_OPERATOR_NAMESPACE
V4_DEPLOYMENT_OPERATOR_PRESERVE
Install Successful
Deployment Stabilized
Uninstall Successful
1
v1.23.8
Azure
*
Fast:2020
Ansible
FALSE
N/A
N/A
Yes
Yes
Yes
2
v1.23.8
Azure
*
Stable:2022.1.2
Docker
FALSE
N/A
N/A
Yes
Yes
Yes
3
v1.21.14-gke.2100
GCP
*
LTS:2021.1
Ansible
FALSE
N/A
N/A
Yes
Yes
Yes
4
v1.21.14-gke.2100
GCP
*
Fast:2020
Docker
FALSE
N/A
N/A
Yes
Yes
Yes
Extra # 1
GCP with an external postgres database to test out the updated gcloud version. We are not setting the V4_CFG_CR_USER, V4_CFG_CR_PASSWORD, & V4_CFG_CR_URL values to ensure that the playbook sources the correct credentials and is able to pull/download the sas-orchestration image.
Scenario
K8s Version
Provider
Order
Cadence
Deployment Method
V4_DEPLOYMENT_OPERATOR_ENABLED
V4_DEPLOYMENT_OPERATOR_NAMESPACE
V4_DEPLOYMENT_OPERATOR_PRESERVE
Install Successful
Deployment Stabilized
Uninstall Successful
Extra # 1
1.22.10-gke.600
GCP
*
Stable:2022.1.3
Docker
FALSE
N/A
N/A
Yes
Yes
Yes
MT Scenarios
Scenario
K8s Version
Provider
Order
Cadence
Deployment Method
V4_DEPLOYMENT_OPERATOR_ENABLED
V4_DEPLOYMENT_OPERATOR_NAMESPACE
V4_DEPLOYMENT_OPERATOR_PRESERVE
Install Successful
Deployment Stabilized
Tenant & CAS Onboard Successful
Offboard Successful
Uninstall Successful
1
v1.23.8
Azure
*
Fast:2020
Docker
FALSE
n/a
n/a
Yes
Yes
yes (separately)
Yes
Yes
2
v1.22.10-gke.600
GCP
*
Fast:2020
Ansible
FALSE
n/a
n/a
Yes
Yes
yes (simultaneously)
Yes
Yes
IAC-664
Non-MT Scenarios
Scenario
K8s Version
Provider
Order
Cadence
Deployment Method
V4_DEPLOYMENT_OPERATOR_ENABLED
V4_DEPLOYMENT_OPERATOR_SCOPE
V4_DEPLOYMENT_OPERATOR_NAMESPACE
V4_DEPLOYMENT_OPERATOR_CRB
Install Successful
Deployment Stabilized
Uninstall Successful
1
v1.23.8-gke.1900
GCP
*
Fast:2020
Ansible
TRUE
cluster
sasoperator (default)
sasoperator (default)
yes
yes
yes
2
v1.23.8-gke.1900
GCP
*
Stable:2022.1.4
Docker
TRUE
namespace
N/A
sasoperatortestcrb
yes
yes
yes
3
v1.21.14
Azure
*
LTS:2021.1
Ansible
TRUE
cluster
sasoperator (default)
sasoperator (default)
yes
yes
yes
Extra # 1
This was an additional scenario appended on top of scenario 1 above. While using cluster-mode I performed a second deployment into the cluster so that there were 2 active Viya deployments being managed by the deployment operator. I verified that both were in a stable condition. When I performed the "uninstall" task I verified the deployment operator deletion logic. We essentially check that there exist no other Viya deployments in the cluster that is utilizing the deployment operator, if there is we skip the operator deletion, if there isn't then we do.
Message when deployment operator deletion is skipped: "A SAS Viya deployment that relies on the Deployment Operator still exists in cluster in the following namespaces: deploy. Skipping Deployment Operator deletion"
Changes
Adds support for the sas-orchestration cli and deployment operator
Notes
Tests
See the internal tickets for additional details and artifacts.
IAC-552
Non-MT Scenarios
Extra # 1
GCP with an external postgres database to test out the updated gcloud version. We are not setting the
V4_CFG_CR_USER
,V4_CFG_CR_PASSWORD
, &V4_CFG_CR_URL
values to ensure that the playbook sources the correct credentials and is able to pull/download the sas-orchestration image.MT Scenarios
IAC-664
Non-MT Scenarios
Extra # 1
This was an additional scenario appended on top of scenario 1 above. While using cluster-mode I performed a second deployment into the cluster so that there were 2 active Viya deployments being managed by the deployment operator. I verified that both were in a stable condition. When I performed the "uninstall" task I verified the deployment operator deletion logic. We essentially check that there exist no other Viya deployments in the cluster that is utilizing the deployment operator, if there is we skip the operator deletion, if there isn't then we do.
Message when deployment operator deletion is skipped: "A SAS Viya deployment that relies on the Deployment Operator still exists in cluster in the following namespaces: deploy. Skipping Deployment Operator deletion"
MT Scenarios