Skip to content
This repository was archived by the owner on Jan 29, 2025. It is now read-only.

Commit 0990644

Browse files
madalazaruniemimu
authored andcommitted
Move TAS pod and TAS demo into their own namespaces
This PR will: - move TAS pod and associated resources in the 'telemetry-aware-scheduling' namespace - move health-metric demo and its associated resource in the 'health-metric-demo' namespace - move power demo and its associated resources in the 'power-demo' namespace - move stategy-labeling demo and its associated resources in the 'labeling-demo' namespace - add new step in BM WFs to clean-up TAS related resources before exiting - update Kind E2E tests policy to match new TAS namespace - update related docs - update demo docs with supported descheduler versions Signed-off-by: Madalina Lazar <[email protected]>
1 parent 154b8e3 commit 0990644

18 files changed

+133
-34
lines changed

.github/scripts/e2e_setup_cluster.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,8 @@ mkdir "${mount_dir}/certs"
247247
docker cp kind-control-plane:/etc/kubernetes/pki/ca.crt "${mount_dir}/certs/client.crt"
248248
docker cp kind-control-plane:/etc/kubernetes/pki/ca.key "${mount_dir}/certs/client.key"
249249

250-
251-
kubectl create secret tls extender-secret --cert "${mount_dir}/certs/client.crt" --key "${mount_dir}/certs/client.key"
250+
kubectl create namespace telemetry-aware-scheduling
251+
kubectl create secret tls extender-secret --cert "${mount_dir}/certs/client.crt" --key "${mount_dir}/certs/client.key" -n telemetry-aware-scheduling
252252
sed "s/intel\/telemetry-aware-scheduling.*$/tasextender/g" "${root}/telemetry-aware-scheduling/deploy/tas-deployment.yaml" -i
253253
set_node_affinity_and_tolerations
254254
kubectl apply -f "${root}/telemetry-aware-scheduling/deploy/"

.github/scripts/policies/policy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
},
77
"extenders" : [
88
{
9-
"urlPrefix": "https://tas-service.default.svc.cluster.local:9001",
9+
"urlPrefix": "https://tas-service.telemetry-aware-scheduling.svc.cluster.local:9001",
1010
"prioritizeVerb": "scheduler/prioritize",
1111
"filterVerb": "scheduler/filter",
1212
"weight": 100,

.github/workflows/BM-end-to-end.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ jobs:
5151
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_TAS_FOLDER }}/build.yml -e ${{ env.ANSIBLE_TAS_FOLDER_DESTINATION_PARAM }}
5252
- name: BM Smoke Test
5353
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_TAS_FOLDER }}/smokeTest.yml -e ${{ env.ANSIBLE_TAS_FOLDER_DESTINATION_PARAM }}
54+
- name: BM Clean-up TAS
55+
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_TAS_FOLDER }}/clusterCleanup.yml -e ${{ env.ANSIBLE_TAS_FOLDER_DESTINATION_PARAM }}
5456
- name: BM Clean-up
5557
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_COMMON_FOLDER }}/commonCleanup.yml -e ${{ env.ANSIBLE_TELEMETRY_FOLDER_DESTINATION_PARAM }}
5658

.github/workflows/BM-static-analysis.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,7 @@ jobs:
5353
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_COMMON_FOLDER }}/commonTest.yml -e ${{ env.ANSIBLE_TELEMETRY_FOLDER_DESTINATION_PARAM }}
5454
- name: BM mtlsTest
5555
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini /${{ env.CI_CNO_PLAYBOOK_TAS_FOLDER }}/mtlsTest.yml -e ${{ env.ANSIBLE_TAS_FOLDER_DESTINATION_PARAM }}
56+
- name: BM Clean-up TAS
57+
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_TAS_FOLDER }}/clusterCleanup.yml -e ${{ env.ANSIBLE_TAS_FOLDER_DESTINATION_PARAM }}
5658
- name: BM Clean-up
5759
run: ansible-playbook -i ${{ env.CI_CNO_ANSIBLE_FOLDER }}/inventory_cni.ini ${{ env.CI_CNO_PLAYBOOK_COMMON_FOLDER }}/commonCleanup.yml -e ${{ env.ANSIBLE_TELEMETRY_FOLDER_DESTINATION_PARAM }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ kind: KubeSchedulerConfiguration
2828
clientConnection:
2929
kubeconfig: /etc/kubernetes/scheduler.conf
3030
extenders:
31-
- urlPrefix: "https://tas-service.default.svc.cluster.local:9001"
31+
- urlPrefix: "https://tas-service.telemetry-aware-scheduling.svc.cluster.local:9001"
3232
prioritizeVerb: "scheduler/prioritize"
3333
filterVerb: "scheduler/filter"
3434
weight: 1

telemetry-aware-scheduling/README.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ kind: KubeSchedulerConfiguration
6262
clientConnection:
6363
kubeconfig: /etc/kubernetes/scheduler.conf
6464
extenders:
65-
- urlPrefix: "https://tas-service.default.svc.cluster.local:9001"
65+
- urlPrefix: "https://tas-service.telemetry-aware-scheduling.svc.cluster.local:9001"
6666
prioritizeVerb: "scheduler/prioritize"
6767
filterVerb: "scheduler/filter"
6868
weight: 1
@@ -91,14 +91,19 @@ Telemetry Aware Scheduling uses go modules. It requires Go 1.16+ with modules en
9191
TAS current version has been tested with the recent Kubernetes version at the released date. It maintains support to the three most recent K8s versions.
9292
TAS was tested on Intel® Server Boards S2600WF and S2600WT-Based Systems.
9393

94-
A yaml file for TAS is contained in the deploy folder along with its service and RBAC roles and permissions.
94+
A yaml file for TAS is contained in the deploy folder along with its service and RBAC roles and permissions.
95+
The TAS components all reside in a custom namespace: **telemetry-aware-scheduling**, which means this namespace needs to be created first:
96+
97+
``
98+
kubectl create namespace telemetry-aware-scheduling
99+
``
95100

96101
A secret called extender-secret will need to be created with the cert and key for the TLS endpoint. TAS will not deploy if there is no secret available with the given deployment file.
97102

98103
The secret can be created with:
99104

100105
``
101-
kubectl create secret tls extender-secret --cert /etc/kubernetes/<PATH_TO_CERT> --key /etc/kubernetes/<PATH_TO_KEY>
106+
kubectl create secret tls extender-secret --cert /etc/kubernetes/<PATH_TO_CERT> --key /etc/kubernetes/<PATH_TO_KEY> -n telemetry-aware-scheduling
102107
``
103108
<details>
104109
<summary>Cert selection tip for <a href="https://github.com/intel/platform-aware-scheduling/blob/24f25a38613e326b4830f5e647211df16060fe70/telemetry-aware-scheduling/deploy/extender-configuration/configure-scheduler.sh#L136-L137">configure-scheduler.sh</a> users</summary>
@@ -147,7 +152,7 @@ apiVersion: telemetry.intel.com/v1alpha1
147152
kind: TASPolicy
148153
metadata:
149154
name: scheduling-policy
150-
namespace: default
155+
namespace: health-metric-demo
151156
spec:
152157
strategies:
153158
deschedule:
@@ -214,7 +219,7 @@ apiVersion: telemetry.intel.com/v1alpha1
214219
kind: TASPolicy
215220
metadata:
216221
name: multirules-policy
217-
namespace: default
222+
namespace: health-metric-demo
218223
spec:
219224
strategies:
220225
deschedule:
@@ -264,6 +269,7 @@ For example, in a deployment file:
264269
apiVersion: apps/v1
265270
kind: Deployment
266271
metadata:
272+
namespace: health-metric-demo
267273
name: demo-app
268274
labels:
269275
app: demo

telemetry-aware-scheduling/deploy/extender-configuration/scheduler-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: KubeSchedulerConfiguration
33
clientConnection:
44
kubeconfig: /etc/kubernetes/scheduler.conf
55
extenders:
6-
- urlPrefix: "https://tas-service.default.svc.cluster.local:9001"
6+
- urlPrefix: "https://tas-service.telemetry-aware-scheduling.svc.cluster.local:9001"
77
prioritizeVerb: "scheduler/prioritize"
88
filterVerb: "scheduler/filter"
99
weight: 1

telemetry-aware-scheduling/deploy/health-metric-demo/demo-pod.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: v1
22
kind: ConfigMap
33
metadata:
44
name: nginx-conf
5+
namespace: health-metric-demo
56
data:
67
nginx.conf: |
78
worker_processes auto;
@@ -30,6 +31,7 @@ metadata:
3031
name: demo-app
3132
labels:
3233
app: demo
34+
namespace: health-metric-demo
3335
spec:
3436
replicas: 1
3537
selector:

telemetry-aware-scheduling/deploy/health-metric-demo/health-policy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: telemetry.intel.com/v1alpha1
22
kind: TASPolicy
33
metadata:
44
name: demo-policy
5-
namespace: default
5+
namespace: health-metric-demo
66
spec:
77
strategies:
88
deschedule:

telemetry-aware-scheduling/deploy/tas-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apps/v1
22
kind: Deployment
33
metadata:
44
name: telemetry-aware-scheduling
5-
namespace: default
5+
namespace: telemetry-aware-scheduling
66
labels:
77
app: tas
88
spec:

0 commit comments

Comments
 (0)