sassoftware / viya4-deployment

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
70 stars 64 forks source link

feat: (IAC-1067) DAC - Add hadolint, shellcheck, ansible-lint, use github actions #459

Closed dhoucgitter closed 1 year ago

dhoucgitter commented 1 year ago

Changes

Enable linting of the viya4-deployment project with Hadolint, ShellCheck, and Ansible Lint via a workflow in GitHub actions. Resolving the errors and warnings raised are also part of this PR.

No intentional functionality changes have been made with this PR, formatting and idiomatic changes have been applied to remediate ansible-lint rule violations.

Tests

Scenario method Task Provider k8s version Cadence tasks Deploy method Remarks
1 ansible deployment Azure 1.26.3 stable:2023.06 viya,install deploy command Deployment command completed successfully and all pods stabilized. V4MT_ENABLE: true, V4MT_MODE: "schema", V4MT_TENANT_IDS: "acme, intech"  
2 ansible onboard Azure 1.26.3 stable:2023.06 multi-tenancy,onboard,cas-onboard deploy command k8s scaled up to 3 CAS nodes from 1, all three tasks completed successfully with all pods stabilized. sas-cas-server-acme-default-controller, sas-cas-server-intech-default-controller are Ready and reached Running state, able to login to sasprovider for each tenant ONLY with specific tenant-ID passwords configured in ansible-vars.  
3 ansible offboard Azure 1.26.3 stable:2023.06 multi-tenancy,offboard deploy command offboard tasks completed successfully with other Running pods stabilized. sas-cas-server-acme-default-controller, sas-cas-server-intech-default-controller pods were successfully terminated, no tenant specific k8s resources remain in the cluster, CAS pods scaled back down to one after k8s determined they were unused.  
4 ansible uninstall Azure 1.26.3 stable:2023.06 viya,uninstall deploy command viya uninstall tasks completed successfully.  
5 docker cluster-logging install Azure 1.26.3 stable:2023.06 cluster-logging,viya,install deploy command Successful admin login to dashboards. Viya log data is present in pre-loaded Log Message with Volumes Level dashboard. Successful Viya deployment with all pods stable.  
dhoucgitter commented 1 year ago

Tests

Scenario method Task Provider k8s version Cadence tasks Deploy method Remarks
1 ansible deployment Azure 1.26.3 stable:2023.06 viya,install deploy command Deployment command completed successfully and all pods stabilized. V4MT_ENABLE: true, V4MT_MODE: "schema", V4MT_TENANT_IDS: "acme, intech"  
2 ansible onboard Azure 1.26.3 stable:2023.06 multi-tenancy,onboard,cas-onboard deploy command k8s scaled up to 3 CAS nodes from 1, all three tasks completed successfully with all pods stabilized. sas-cas-server-acme-default-controller, sas-cas-server-intech-default-controller are Ready and reached Running state, able to login to sasprovider for each tenant ONLY with specific tenant-ID passwords configured in ansible-vars.  
3 ansible offboard Azure 1.26.3 stable:2023.06 multi-tenancy,offboard deploy command offboard tasks completed successfully with other Running pods stabilized. sas-cas-server-acme-default-controller, sas-cas-server-intech-default-controller pods were successfully terminated, no tenant specific k8s resources remain in the cluster, CAS pods scaled back down to one after k8s determined they were unused.  
4 ansible uninstall Azure 1.26.3 stable:2023.06 viya,uninstall deploy command viya uninstall tasks completed successfully.  
5 docker cluster-logging install Azure 1.26.3 stable:2023.06 cluster-logging,viya,install deploy command Successful admin login to dashboards. Viya log data is present in pre-loaded Log Message with Volumes Level dashboard. Successful Viya deployment with all pods stable.