Additional sample workload role for OAI CU-UP 18/15318/2
authorChris Wheeler <chwheele@redhat.com>
Wed, 26 Nov 2025 23:13:17 +0000 (23:13 +0000)
committerChristopher Wheeler <chwheele@redhat.com>
Thu, 11 Dec 2025 03:32:05 +0000 (03:32 +0000)
Issue-Id: INF-501
Change-Id: I6c962273eac7459a8fa91887aa061cbc8deed61f
Signed-Off-By: Chris Wheeler <chwheele@redhat.com>
okd/roles/ocloud_workload_oaicuup/defaults/main.yml [new file with mode: 0644]
okd/roles/ocloud_workload_oaicuup/meta/main.yml [new file with mode: 0644]
okd/roles/ocloud_workload_oaicuup/tasks/main.yml [new file with mode: 0644]

diff --git a/okd/roles/ocloud_workload_oaicuup/defaults/main.yml b/okd/roles/ocloud_workload_oaicuup/defaults/main.yml
new file mode 100644 (file)
index 0000000..eee5e33
--- /dev/null
@@ -0,0 +1,6 @@
+---
+ocloud_workload_oaicuup_repo_url: "https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git"
+ocloud_workload_oaicuup_repo_version: "master"
+ocloud_workload_oaicuup_namespace: "oai-cu-up"
+ocloud_workload_oaicuup_helm_url: "https://get.helm.sh/helm-v3.18.2-linux-amd64.tar.gz"
+ocloud_workload_oaicuup_cucp_host: "oai-cu.oai-cu-cp.svc"
diff --git a/okd/roles/ocloud_workload_oaicuup/meta/main.yml b/okd/roles/ocloud_workload_oaicuup/meta/main.yml
new file mode 100644 (file)
index 0000000..c83d81b
--- /dev/null
@@ -0,0 +1,3 @@
+---
+dependencies:
+  - role: ocloud_workload_oaicucp
diff --git a/okd/roles/ocloud_workload_oaicuup/tasks/main.yml b/okd/roles/ocloud_workload_oaicuup/tasks/main.yml
new file mode 100644 (file)
index 0000000..be52f6d
--- /dev/null
@@ -0,0 +1,49 @@
+---
+- name: Create staging dir
+  ansible.builtin.tempfile:
+    path: "{{ lookup('env', 'HOME') }}"
+    prefix: "ocloud_workload_oaicuup.{{ ansible_date_time['date'] }}."
+    state: directory
+  register: ocloud_workload_oaicuup_staging_dir
+
+- name: Download Helm
+  ansible.builtin.get_url:
+    url: "{{ ocloud_workload_oaicuup_helm_url }}"
+    dest: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/helm-linux-amd64.tar.gz"
+
+- name: Create helm directory
+  ansible.builtin.file:
+    path: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/helm"
+    state: directory
+
+- name: Extract Helm
+  ansible.builtin.unarchive:
+    src: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/helm-linux-amd64.tar.gz"
+    dest: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/helm"
+    remote_src: true
+
+- name: Clone oai-cn5g-fed repo
+  ansible.builtin.git:
+    repo: "{{ ocloud_workload_oaicuup_repo_url }}"
+    version: "{{ ocloud_workload_oaicuup_repo_version }}"
+    dest: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/git/oai-cn5g-fed"
+    recursive: false
+
+- name: Deploy oai-cu-up Helm chart
+  kubernetes.core.helm:
+    name: oai-cu-up
+    chart_ref: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/git/oai-cn5g-fed/charts/oai-5g-ran/oai-cu-up"
+    release_namespace: "{{ ocloud_workload_oaicuup_namespace }}"
+    create_namespace: true
+    values:
+      config:
+        cuCpHost: "{{ ocloud_workload_oaicuup_cucp_host }}"
+      kubernetesDistribution: "Openshift"
+      nfimage:
+        repository: docker.io/oaisoftwarealliance/oai-nr-cuup
+        version: 2024.w32
+    kubeconfig: "{{ ocloud_dms_kubeconfig }}"
+    binary_path: "{{ ocloud_workload_oaicuup_staging_dir['path'] }}/helm/linux-amd64/helm"
+    state: present
+
+