run_once: true
when: ocloud_platform == "okd"
-- name: Include platform role - SiteConfig
- ansible.builtin.import_role:
- name: "ocloud_platform_siteconfig"
- delegate_to: "{{ groups['deployer'][0] }}"
- run_once: true
- when: ocloud_platform == "okd"
-
- name: Include platform role - ClusterGroupUpgrades
ansible.builtin.import_role:
name: "ocloud_platform_cgu"
run_once: true
when: ocloud_platform == "okd"
-- name: Include platform role - oran-hwmgr-plugin
- ansible.builtin.import_role:
- name: "ocloud_platform_hwmgr"
- delegate_to: "{{ groups['deployer'][0] }}"
- run_once: true
- when: ocloud_platform == "okd"
+#- name: Include platform role - oran-hwmgr-plugin
+# ansible.builtin.import_role:
+# name: "ocloud_platform_hwmgr"
+# delegate_to: "{{ groups['deployer'][0] }}"
+# run_once: true
+# when: ocloud_platform == "okd"
kind: Config
clusters:
- cluster:
- certificate-authority-data: {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['cluster_ca_cert'] }}
+ certificate-authority-data: {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['cluster_ca_cert'] | b64encode }}
server: {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['cluster_api_endpoint'] }}
name: {{ o2_dms_deployment_mgr_profile['json']['name'] }}
contexts:
users:
- name: admin
user:
- client-certificate-data: |-
- {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['admin_client_cert'] | indent(6) }}
- client-key-data: |-
- {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['admin_client_key'] | indent(6) }}
+ client-certificate-data: {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['admin_client_cert'] | b64encode }}
+ client-key-data: {{ o2_dms_deployment_mgr_profile['json']['extensions']['profileData']['admin_client_key'] | b64encode }}
category: Manager
command: VirtualMediaEject
virtual_media:
- image_url: "{{ item[1][0]['Image'] }}"
+ image_url: "{{ item['Image'] }}"
baseuri: "{{ bmc_address }}"
username: "{{ bmc_user }}"
password: "{{ bmc_password }}"
resource_id: "{{ ocloud_infra_baremetal_manager_id }}"
- when: item[1][0]['ConnectedVia'] != "NotConnected" and item[1][0]['Image'] | length > 0
- loop: "{{ virtual_media_info['redfish_facts']['virtual_media']['entries'] }}"
+ when: item['ConnectedVia'] != "NotConnected" and item['Image'] | length > 0
+ loop: "{{ virtual_media_info['redfish_facts']['virtual_media']['entries'][0][1] }}"
- name: Configure one-time boot from virtual media
community.general.redfish_command:
---
ocloud_action: "create"
ocloud_infra_vm_cpus: 16
-ocloud_infra_vm_mem_gb: 32
-ocloud_infra_vm_disk_gb: 150
+ocloud_infra_vm_mem_gb: 64
+ocloud_infra_vm_disk_gb: 250
ocloud_infra_vm_disk_dir: "/var/lib/libvirt/images"
ocloud_infra_vm_disk_path: "{{ ocloud_infra_vm_disk_dir }}/{{ inventory_hostname }}.qcow2"
ocloud_infra_vm_image: "{{ ocloud_infra_vm_disk_dir }}/{{ inventory_hostname }}-image.iso"
state: present
kubeconfig: "{{ ocloud_kubeconfig }}"
-- name: Create StorageClass
- kubernetes.core.k8s:
- template: "sc.yaml.j2"
- state: present
- kubeconfig: "{{ ocloud_kubeconfig }}"
-
-- name: Create PersistentVolumes
- kubernetes.core.k8s:
- template: "pv.yaml.j2"
- state: present
- kubeconfig: "{{ ocloud_kubeconfig }}"
- loop: "{{ groups['ocloud'] }}"
- when: hostvars[item]['role'] == "master"
-
- name: Create pull secret
kubernetes.core.k8s:
template: "pull-secret.yaml.j2"
---
ocloud_kubeconfig: ~
ocloud_platform_o2ims_repo_url: "https://github.com/openshift-kni/oran-o2ims.git"
-ocloud_platform_o2ims_repo_version: "osc-l-release"
+ocloud_platform_o2ims_repo_version: "main"
environment:
PATH: "{{ ocloud_staging_dir['path'] }}/go/bin:{{ ansible_env.PATH }}"
KUBECONFIG: "{{ ocloud_kubeconfig }}"
+
+- name: Patch postgresql image in oran-o2ims-controller-manager deployment
+ kubernetes.core.k8s_json_patch:
+ name: oran-o2ims-controller-manager
+ kind: Deployment
+ namespace: "oran-o2ims"
+ kubeconfig: "{{ ocloud_kubeconfig }}"
+ patch:
+ - op: replace
+ path: "/spec/template/spec/containers/0/env/1"
+ value:
+ name: POSTGRES_IMAGE
+ value: quay.io/sclorg/postgresql-16-c9s:c9s
ocloud_platform_okd_pull_secret: '{"auths":{"fake":{"auth":"aWQ6cGFzcwo="}}}'
ocloud_platform_okd_ssh_pubkey: ~
ocloud_kubeconfig: ~
-ocloud_platform_okd_release: "4.19.0-okd-scos.0"
+ocloud_platform_okd_release: "4.20.0-okd-scos.12"
ocloud_platform_okd_base_url: "quay.io/okd/scos-release"
ocloud_platform_okd_cli_url: "https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp"
- install-complete
listen: monitor_platform_deployment
when: inventory_hostname == groups['ocloud'][0]
+
+- name: Create StorageClass
+ kubernetes.core.k8s:
+ template: "sc.yaml.j2"
+ state: present
+ kubeconfig: "{{ ocloud_kubeconfig }}"
+ listen: monitor_platform_deployment
+ when: inventory_hostname == groups['ocloud'][0]
+
+- name: Create PersistentVolumes
+ kubernetes.core.k8s:
+ template: "pv.yaml.j2"
+ state: present
+ kubeconfig: "{{ ocloud_kubeconfig }}"
+ loop: "{{ groups['ocloud'] }}"
+ listen: monitor_platform_deployment
+ when: inventory_hostname == groups['ocloud'][0] and hostvars[item]['role'] == "master"
+
+- name: Create Provisioning
+ kubernetes.core.k8s:
+ template: "provisioning.yaml.j2"
+ state: present
+ kubeconfig: "{{ ocloud_kubeconfig }}"
+ listen: monitor_platform_deployment
+ when: inventory_hostname == groups['ocloud'][0]
number: 10
sizeMiB: 10240
startMiB: 56320
- - label: var
+ - label: pv7
number: 11
- sizeMiB: 0
+ sizeMiB: 20480
startMiB: 66560
+ - label: pv8
+ number: 12
+ sizeMiB: 8192
+ startMiB: 87040
+ - label: pv9
+ number: 13
+ sizeMiB: 8192
+ startMiB: 95232
+ - label: pv10
+ number: 14
+ sizeMiB: 10240
+ startMiB: 103424
+ - label: var
+ number: 15
+ sizeMiB: 0
+ startMiB: 113664
filesystems:
- device: /dev/disk/by-partlabel/var
format: xfs
--- /dev/null
+apiVersion: metal3.io/v1alpha1
+kind: Provisioning
+metadata:
+ name: provisioning-configuration
+spec:
+ provisioningNetwork: "Disabled"
+ watchAllNamespaces: true
operator: In
values:
- {{ item }}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: pv7-{{ item }}
+spec:
+ capacity:
+ storage: "20Gi"
+ volumeMode: "Filesystem"
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ storageClassName: "local-storage"
+ local:
+ path: "/dev/disk/by-partlabel/pv7"
+ nodeAffinity:
+ required:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: kubernetes.io/hostname
+ operator: In
+ values:
+ - {{ item }}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: pv8-{{ item }}
+spec:
+ capacity:
+ storage: "8Gi"
+ volumeMode: "Filesystem"
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ storageClassName: "local-storage"
+ local:
+ path: "/dev/disk/by-partlabel/pv8"
+ nodeAffinity:
+ required:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: kubernetes.io/hostname
+ operator: In
+ values:
+ - {{ item }}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: pv9-{{ item }}
+spec:
+ capacity:
+ storage: "8Gi"
+ volumeMode: "Filesystem"
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ storageClassName: "local-storage"
+ local:
+ path: "/dev/disk/by-partlabel/pv9"
+ nodeAffinity:
+ required:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: kubernetes.io/hostname
+ operator: In
+ values:
+ - {{ item }}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+ name: pv10-{{ item }}
+spec:
+ capacity:
+ storage: "10Gi"
+ volumeMode: "Filesystem"
+ accessModes:
+ - ReadWriteOnce
+ persistentVolumeReclaimPolicy: Retain
+ storageClassName: "local-storage"
+ local:
+ path: "/dev/disk/by-partlabel/pv10"
+ nodeAffinity:
+ required:
+ nodeSelectorTerms:
+ - matchExpressions:
+ - key: kubernetes.io/hostname
+ operator: In
+ values:
+ - {{ item }}
+++ /dev/null
----
-ocloud_kubeconfig: ~
-ocloud_platform_siteconfig_snapshot: "2.14.0-SNAPSHOT-2025-05-19-21-04-46"
-ocloud_platform_siteconfig_repo_url: "https://github.com/stolostron/siteconfig.git"
+++ /dev/null
----
-- name: Clone stolostron/siteconfig repo
- ansible.builtin.git:
- repo: "{{ ocloud_platform_siteconfig_repo_url }}"
- dest: "{{ ocloud_staging_dir['path'] }}/git/siteconfig"
-
-- name: Install siteconfig
- ansible.builtin.shell:
- chdir: "{{ ocloud_staging_dir['path'] }}/git/siteconfig"
- cmd: "make install deploy VERSION={{ ocloud_platform_siteconfig_snapshot }}"
- environment:
- PATH: "{{ ocloud_staging_dir['path'] }}/go/bin:{{ ansible_env.PATH }}"
- KUBECONFIG: "{{ ocloud_kubeconfig }}"
-
-- name: Enable siteconfig
- kubernetes.core.k8s_json_patch:
- name: multiclusterhub
- kind: MultiClusterHub
- namespace: open-cluster-management
- kubeconfig: "{{ ocloud_kubeconfig }}"
- patch:
- - op: add
- path: "/spec/overrides/components/-"
- value:
- name: siteconfig
- enabled: true
---
ocloud_platform_stolostron_pull_secret: "{{ ocloud_platform_okd_pull_secret }}"
ocloud_kubeconfig: ~
-ocloud_platform_stolostron_snapshot: "2.14.0-SNAPSHOT-2025-05-19-21-04-46"
+ocloud_platform_stolostron_snapshot: "2.15.0-SNAPSHOT-2025-12-01-04-59-34"
ocloud_platform_stolostron_repo_url: "https://github.com/stolostron/deploy.git"
+ocloud_platform_stolostron_assisted_os_images:
+- cpuArchitecture: x86_64
+ openshiftVersion: "4.19"
+ url: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.19/4.19.10/rhcos-4.19.10-x86_64-live-iso.x86_64.iso
+ version: 9.6.20250826-1
kind: Service
name: search-search-api
kubeconfig: "{{ ocloud_kubeconfig }}"
+
+- name: Create AgentServiceConfig
+ kubernetes.core.k8s:
+ template: "agent-service-config.yaml.j2"
+ state: present
+ kubeconfig: "{{ ocloud_kubeconfig }}"
+
+- name: Enable siteconfig
+ kubernetes.core.k8s_json_patch:
+ name: multiclusterhub
+ kind: MultiClusterHub
+ namespace: open-cluster-management
+ kubeconfig: "{{ ocloud_kubeconfig }}"
+ patch:
+ - op: add
+ path: "/spec/overrides/components/-"
+ value:
+ name: siteconfig
+ enabled: true
--- /dev/null
+apiVersion: agent-install.openshift.io/v1beta1
+kind: AgentServiceConfig
+metadata:
+ name: agent
+spec:
+ databaseStorage:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 8Gi
+ filesystemStorage:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 8Gi
+ imageStorage:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 10Gi
+ osImages:
+ {{ ocloud_platform_stolostron_assisted_os_images | to_nice_yaml(indent=2) | trim | indent(4) }}