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-1155) Add Support for Setting up SAS Workload Orchestrator #483

Closed jarpat closed 1 year ago

jarpat commented 1 year ago

Changes

Adds the new V4_WORKLOAD_ORCHESTRATOR_ENABLED flag (default true) which will enable the SAS Workload Orchestrator service and configures the required ClusterRole and ClusterRoleBinding used by the daemon. Setting this to false will disable the SAS Workload Orchestrator service entirely

Additional info: The SAS Workload Orchestrator Service is used to manage workload started on demand through the launcher service. As of cadence 2023.08 this feature is now deployed by default. The SAS Workload Orchestrator daemons require information about resources on the nodes that can be used to run jobs. In order to obtain accurate resource information, it requires a ClusterRole and a ClusterRoleBinding to the SAS Workload Orchestrator service account which will be automatically configured by this project if you set V4_WORKLOAD_ORCHESTRATOR_ENABLED to true.

Relevant SAS Documentation: https://go.documentation.sas.com/doc/en/itopscdc/default/dplyml0phy0dkr/n08u2yg8tdkb4jn18u8zsi6yfv3d.htm#p1vo217m7ffso5n11vxwsyycw4tg this contains paths to various READMEs within your sas-bases.

This flag is only applicable for cadences 2023.08 and newer, this flag will perform no action on older cadences.

Tests

Scenario Provider K8s Version V4_WORKLOAD_ORCHESTRATOR_ENABLED Order Cadence Notes
1 GCP v1.26.7-gke.500 true (default) ** fast:2020
  • kustomization contained sas-workload-orchestrator overlay
  • ClusterRole & ClusterRoleBinding present
  • sas-workload-orchestrator statefulset scaled to 2 and pods created
  • Could access Workload Orchestrator from EV
2 GCP v1.26.7-gke.500 true (default) ** stable:2023.08
  • kustomization contained sas-workload-orchestrator overlay
  • ClusterRole & ClusterRoleBinding present
  • sas-workload-orchestrator statefulset scaled to 2 and pods created
  • Could access Workload Orchestrator from EV
3 GCP v1.26.7-gke.500 true ** stable:2023.07
  • kustomization did NOT contain sas-workload-orchestrator overlay
  • ClusterRole & ClusterRoleBinding NOT present
  • sas-workload-orchestrator statefulset NOT present
  • Workload Orchestrator NOT seen EV
4 GCP v1.26.7-gke.500 false ** stable:2023.08
  • kustomization did NOT contain sas-workload-orchestrator overlays
  • kustomization did contain the disable patch transformer
  • ClusterRole & ClusterRoleBinding NOT present
  • sas-workload-orchestrator statefulset scaled to 0
  • Workload Orchestrator NOT seen EV