Loading ansible/group_vars/all.yml +18 −10 Original line number Diff line number Diff line Loading @@ -32,8 +32,7 @@ external_host_ip: "{{ host_ip }}" prometheus_nodeport: 30090 grafana_nodeport: 30091 alertmanager_nodeport: 30092 harbor_http_nodeport: 30002 harbor_https_nodeport: 30003 zot_http_nodeport: 30050 i2edge_nodeport: 30769 artefact_manager_nodeport: 30080 lite2edge_nodeport: 30081 Loading @@ -44,6 +43,10 @@ mongodb_nodeport: 30017 remote_federation_manager_nodeport: 30990 remote_keycloak_nodeport: 30083 remote_mongodb_nodeport: 30018 # OOP Platform - SRM and OEG srm_nodeport: 32415 oeg_nodeport: 32263 oop_namespace: oop # Port mappings - using parameterized NodePorts to avoid duplication port_mappings: Loading @@ -62,14 +65,9 @@ port_mappings: host_port: "{{ alertmanager_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "Harbor HTTP" container_port: "{{ harbor_http_nodeport }}" host_port: "{{ harbor_http_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "Harbor HTTPS" container_port: "{{ harbor_https_nodeport }}" host_port: "{{ harbor_https_nodeport }}" - name: "Zot" container_port: "{{ zot_http_nodeport }}" host_port: "{{ zot_http_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "i2edge" Loading Loading @@ -122,6 +120,16 @@ port_mappings: host_port: "{{ remote_mongodb_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "SRM" container_port: "{{ srm_nodeport }}" host_port: "{{ srm_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "OEG" container_port: "{{ oeg_nodeport }}" host_port: "{{ oeg_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP # Cluster nodes configuration control_plane_nodes: 1 Loading ansible/inventory/hosts.yml +19 −4 Original line number Diff line number Diff line Loading @@ -8,14 +8,15 @@ all: ansible_connection: local ansible_python_interpreter: "{{ ansible_playbook_python }}" openop_3: ansible_host: openop-3 openop_1: ansible_host: 192.168.123.188 ansible_connection: ssh ansible_user: ubuntu ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ConnectTimeout=300 -o ServerAliveInterval=30' ansible_ssh_private_key_file: "~/.ssh/keys/openop-dev-vm.key" ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ConnectTimeout=300 -o ServerAliveInterval=30 -o IdentitiesOnly=yes' ansible_python_interpreter: /usr/bin/python3 deployment_mode: remote host_ip: 192.168.123.155 host_ip: 192.168.123.188 kubeconfig_output_dir: "/home/ubuntu/kind-cluster-config" openop_2: Loading @@ -28,7 +29,20 @@ all: host_ip: 192.168.123.178 kubeconfig_output_dir: "/home/ubuntu/kind-cluster-config" openop_3: ansible_host: openop-3 ansible_connection: ssh ansible_user: ubuntu ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ConnectTimeout=300 -o ServerAliveInterval=30' ansible_python_interpreter: /usr/bin/python3 deployment_mode: remote host_ip: 192.168.123.155 kubeconfig_output_dir: "/home/ubuntu/kind-cluster-config" children: openop_dev: hosts: openop_1: op1_nodes: hosts: openop_3: Loading @@ -37,6 +51,7 @@ all: openop_2: kind_cluster: children: openop_dev: op1_nodes: op2_nodes: Loading ansible/playbooks/scenarios/deploy_oop_with_oeg_srm.yml 0 → 100644 +42 −0 Original line number Diff line number Diff line --- # Playbook: Single OOP Deployment Scenario with OEG and SRM # Description: Deploys the complete Operator Platform environment with OEG and SRM # Usage: ansible-playbook playbooks/scenarios/deploy_oop_with_oeg_srm.yml - import_playbook: ../infrastructure/prerequisites/install-python-deps.yml - import_playbook: ../infrastructure/prerequisites/setup-docker.yml - import_playbook: ../infrastructure/prerequisites/setup-kubectl.yml - import_playbook: ../infrastructure/prerequisites/setup-python-libs.yml - name: Configure Scenario Variables hosts: kind_cluster gather_facts: false tasks: - name: Load group variables ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../group_vars/all.yml" # Enable OOP storage preparation for OEG and SRM - name: Enable OOP storage preparation ansible.builtin.set_fact: prepare_oop_storage: true # TODO Make this pluggable for different edgecloud adapters - name: Set Federation Manager to use lite2edge ansible.builtin.set_fact: federation_manager_ecp_port: "{{ lite2edge_nodeport }}" federation_manager_ecp_client_name: "lite2edge" remote_federation_manager_ecp_port: "{{ lite2edge_nodeport }}" remote_federation_manager_ecp_client_name: "lite2edge" - import_playbook: ../infrastructure/kind-cluster/deploy.yml - import_playbook: ../infrastructure/install-prometheus.yml - import_playbook: ../infrastructure/install-node-feature-discovery.yml - import_playbook: ../tools/zot/deploy.yml - import_playbook: ../tools/artefact-manager/deploy.yml - import_playbook: ../tools/srm/deploy.yml - import_playbook: ../tools/oeg/deploy.yml - import_playbook: ../tools/federation-manager/deploy.yml - import_playbook: ../tools/federation-manager/deploy-remote.yml - import_playbook: ../tools/homer/deploy.yml - import_playbook: ../tools/lite2edge/deploy.yml ansible/playbooks/scenarios/deploy_quick_single_oop.yml +12 −6 Original line number Diff line number Diff line Loading @@ -3,10 +3,10 @@ # Description: Deploys the complete Operator Platform environment using lite2edge # Usage: ansible-playbook playbooks/scenarios/deploy_single_oop.yml - import_playbook: ../tools/prerequisites/install-python-deps.yml - import_playbook: ../tools/prerequisites/setup-docker.yml - import_playbook: ../tools/prerequisites/setup-kubectl.yml - import_playbook: ../tools/prerequisites/setup-python-libs.yml - import_playbook: ../infrastructure/prerequisites/install-python-deps.yml - import_playbook: ../infrastructure/prerequisites/setup-docker.yml - import_playbook: ../infrastructure/prerequisites/setup-kubectl.yml - import_playbook: ../infrastructure/prerequisites/setup-python-libs.yml - name: Configure Scenario Variables hosts: kind_cluster Loading @@ -16,6 +16,11 @@ ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../group_vars/all.yml" # Enable OOP storage preparation for OEG and SRM - name: Enable OOP storage preparation ansible.builtin.set_fact: prepare_oop_storage: true # TODO Make this pluggable for different edgecloud adapters - name: Set Federation Manager to use lite2edge ansible.builtin.set_fact: Loading @@ -27,10 +32,11 @@ - import_playbook: ../infrastructure/kind-cluster/deploy.yml - import_playbook: ../infrastructure/install-prometheus.yml - import_playbook: ../infrastructure/install-node-feature-discovery.yml - import_playbook: ../tools/harbor/deploy.yml - import_playbook: ../tools/zot/deploy.yml - import_playbook: ../tools/artefact-manager/deploy.yml - import_playbook: ../tools/srm/deploy.yml - import_playbook: ../tools/oeg/deploy.yml - import_playbook: ../tools/federation-manager/deploy.yml - import_playbook: ../tools/federation-manager/deploy-remote.yml - import_playbook: ../tools/homer/deploy.yml - import_playbook: ../tools/lite2edge/deploy.yml ansible/playbooks/scenarios/deploy_two_full_oops.yml +22 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ ansible.builtin.set_fact: kind_cluster_name: "op1" worker_nodes: 0 prepare_oop_storage: true # Use default ports for OP1, but ensure kubeconfig is distinct kubeconfig_filename: "op1-kubeconfig.yaml" # Ensure URL matches the port (default 6443) Loading Loading @@ -52,14 +53,22 @@ ansible.builtin.include_role: name: node-feature-discovery - name: Deploy Harbor - name: Deploy Zot ansible.builtin.include_role: name: harbor name: zot - name: Deploy Artefact Manager ansible.builtin.include_role: name: artefact-manager - name: Deploy SRM ansible.builtin.include_role: name: srm - name: Deploy OEG ansible.builtin.include_role: name: oeg - name: Deploy Federation Manager ansible.builtin.include_role: name: federation-manager Loading Loading @@ -87,6 +96,7 @@ kind_cluster_name: "op2" # api_server_port: 6543 # Use default port since it's a separate VM worker_nodes: 0 prepare_oop_storage: true # Use default ports since it is a separate VM kubeconfig_filename: "op2-kubeconfig.yaml" Loading Loading @@ -117,14 +127,22 @@ ansible.builtin.include_role: name: node-feature-discovery - name: Deploy Harbor - name: Deploy Zot ansible.builtin.include_role: name: harbor name: zot - name: Deploy Artefact Manager ansible.builtin.include_role: name: artefact-manager - name: Deploy SRM ansible.builtin.include_role: name: srm - name: Deploy OEG ansible.builtin.include_role: name: oeg - name: Deploy Federation Manager ansible.builtin.include_role: name: federation-manager Loading Loading
ansible/group_vars/all.yml +18 −10 Original line number Diff line number Diff line Loading @@ -32,8 +32,7 @@ external_host_ip: "{{ host_ip }}" prometheus_nodeport: 30090 grafana_nodeport: 30091 alertmanager_nodeport: 30092 harbor_http_nodeport: 30002 harbor_https_nodeport: 30003 zot_http_nodeport: 30050 i2edge_nodeport: 30769 artefact_manager_nodeport: 30080 lite2edge_nodeport: 30081 Loading @@ -44,6 +43,10 @@ mongodb_nodeport: 30017 remote_federation_manager_nodeport: 30990 remote_keycloak_nodeport: 30083 remote_mongodb_nodeport: 30018 # OOP Platform - SRM and OEG srm_nodeport: 32415 oeg_nodeport: 32263 oop_namespace: oop # Port mappings - using parameterized NodePorts to avoid duplication port_mappings: Loading @@ -62,14 +65,9 @@ port_mappings: host_port: "{{ alertmanager_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "Harbor HTTP" container_port: "{{ harbor_http_nodeport }}" host_port: "{{ harbor_http_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "Harbor HTTPS" container_port: "{{ harbor_https_nodeport }}" host_port: "{{ harbor_https_nodeport }}" - name: "Zot" container_port: "{{ zot_http_nodeport }}" host_port: "{{ zot_http_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "i2edge" Loading Loading @@ -122,6 +120,16 @@ port_mappings: host_port: "{{ remote_mongodb_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "SRM" container_port: "{{ srm_nodeport }}" host_port: "{{ srm_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP - name: "OEG" container_port: "{{ oeg_nodeport }}" host_port: "{{ oeg_nodeport }}" listen_address: "{{ api_server_address }}" protocol: TCP # Cluster nodes configuration control_plane_nodes: 1 Loading
ansible/inventory/hosts.yml +19 −4 Original line number Diff line number Diff line Loading @@ -8,14 +8,15 @@ all: ansible_connection: local ansible_python_interpreter: "{{ ansible_playbook_python }}" openop_3: ansible_host: openop-3 openop_1: ansible_host: 192.168.123.188 ansible_connection: ssh ansible_user: ubuntu ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ConnectTimeout=300 -o ServerAliveInterval=30' ansible_ssh_private_key_file: "~/.ssh/keys/openop-dev-vm.key" ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ConnectTimeout=300 -o ServerAliveInterval=30 -o IdentitiesOnly=yes' ansible_python_interpreter: /usr/bin/python3 deployment_mode: remote host_ip: 192.168.123.155 host_ip: 192.168.123.188 kubeconfig_output_dir: "/home/ubuntu/kind-cluster-config" openop_2: Loading @@ -28,7 +29,20 @@ all: host_ip: 192.168.123.178 kubeconfig_output_dir: "/home/ubuntu/kind-cluster-config" openop_3: ansible_host: openop-3 ansible_connection: ssh ansible_user: ubuntu ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o ConnectTimeout=300 -o ServerAliveInterval=30' ansible_python_interpreter: /usr/bin/python3 deployment_mode: remote host_ip: 192.168.123.155 kubeconfig_output_dir: "/home/ubuntu/kind-cluster-config" children: openop_dev: hosts: openop_1: op1_nodes: hosts: openop_3: Loading @@ -37,6 +51,7 @@ all: openop_2: kind_cluster: children: openop_dev: op1_nodes: op2_nodes: Loading
ansible/playbooks/scenarios/deploy_oop_with_oeg_srm.yml 0 → 100644 +42 −0 Original line number Diff line number Diff line --- # Playbook: Single OOP Deployment Scenario with OEG and SRM # Description: Deploys the complete Operator Platform environment with OEG and SRM # Usage: ansible-playbook playbooks/scenarios/deploy_oop_with_oeg_srm.yml - import_playbook: ../infrastructure/prerequisites/install-python-deps.yml - import_playbook: ../infrastructure/prerequisites/setup-docker.yml - import_playbook: ../infrastructure/prerequisites/setup-kubectl.yml - import_playbook: ../infrastructure/prerequisites/setup-python-libs.yml - name: Configure Scenario Variables hosts: kind_cluster gather_facts: false tasks: - name: Load group variables ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../group_vars/all.yml" # Enable OOP storage preparation for OEG and SRM - name: Enable OOP storage preparation ansible.builtin.set_fact: prepare_oop_storage: true # TODO Make this pluggable for different edgecloud adapters - name: Set Federation Manager to use lite2edge ansible.builtin.set_fact: federation_manager_ecp_port: "{{ lite2edge_nodeport }}" federation_manager_ecp_client_name: "lite2edge" remote_federation_manager_ecp_port: "{{ lite2edge_nodeport }}" remote_federation_manager_ecp_client_name: "lite2edge" - import_playbook: ../infrastructure/kind-cluster/deploy.yml - import_playbook: ../infrastructure/install-prometheus.yml - import_playbook: ../infrastructure/install-node-feature-discovery.yml - import_playbook: ../tools/zot/deploy.yml - import_playbook: ../tools/artefact-manager/deploy.yml - import_playbook: ../tools/srm/deploy.yml - import_playbook: ../tools/oeg/deploy.yml - import_playbook: ../tools/federation-manager/deploy.yml - import_playbook: ../tools/federation-manager/deploy-remote.yml - import_playbook: ../tools/homer/deploy.yml - import_playbook: ../tools/lite2edge/deploy.yml
ansible/playbooks/scenarios/deploy_quick_single_oop.yml +12 −6 Original line number Diff line number Diff line Loading @@ -3,10 +3,10 @@ # Description: Deploys the complete Operator Platform environment using lite2edge # Usage: ansible-playbook playbooks/scenarios/deploy_single_oop.yml - import_playbook: ../tools/prerequisites/install-python-deps.yml - import_playbook: ../tools/prerequisites/setup-docker.yml - import_playbook: ../tools/prerequisites/setup-kubectl.yml - import_playbook: ../tools/prerequisites/setup-python-libs.yml - import_playbook: ../infrastructure/prerequisites/install-python-deps.yml - import_playbook: ../infrastructure/prerequisites/setup-docker.yml - import_playbook: ../infrastructure/prerequisites/setup-kubectl.yml - import_playbook: ../infrastructure/prerequisites/setup-python-libs.yml - name: Configure Scenario Variables hosts: kind_cluster Loading @@ -16,6 +16,11 @@ ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../group_vars/all.yml" # Enable OOP storage preparation for OEG and SRM - name: Enable OOP storage preparation ansible.builtin.set_fact: prepare_oop_storage: true # TODO Make this pluggable for different edgecloud adapters - name: Set Federation Manager to use lite2edge ansible.builtin.set_fact: Loading @@ -27,10 +32,11 @@ - import_playbook: ../infrastructure/kind-cluster/deploy.yml - import_playbook: ../infrastructure/install-prometheus.yml - import_playbook: ../infrastructure/install-node-feature-discovery.yml - import_playbook: ../tools/harbor/deploy.yml - import_playbook: ../tools/zot/deploy.yml - import_playbook: ../tools/artefact-manager/deploy.yml - import_playbook: ../tools/srm/deploy.yml - import_playbook: ../tools/oeg/deploy.yml - import_playbook: ../tools/federation-manager/deploy.yml - import_playbook: ../tools/federation-manager/deploy-remote.yml - import_playbook: ../tools/homer/deploy.yml - import_playbook: ../tools/lite2edge/deploy.yml
ansible/playbooks/scenarios/deploy_two_full_oops.yml +22 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ ansible.builtin.set_fact: kind_cluster_name: "op1" worker_nodes: 0 prepare_oop_storage: true # Use default ports for OP1, but ensure kubeconfig is distinct kubeconfig_filename: "op1-kubeconfig.yaml" # Ensure URL matches the port (default 6443) Loading Loading @@ -52,14 +53,22 @@ ansible.builtin.include_role: name: node-feature-discovery - name: Deploy Harbor - name: Deploy Zot ansible.builtin.include_role: name: harbor name: zot - name: Deploy Artefact Manager ansible.builtin.include_role: name: artefact-manager - name: Deploy SRM ansible.builtin.include_role: name: srm - name: Deploy OEG ansible.builtin.include_role: name: oeg - name: Deploy Federation Manager ansible.builtin.include_role: name: federation-manager Loading Loading @@ -87,6 +96,7 @@ kind_cluster_name: "op2" # api_server_port: 6543 # Use default port since it's a separate VM worker_nodes: 0 prepare_oop_storage: true # Use default ports since it is a separate VM kubeconfig_filename: "op2-kubeconfig.yaml" Loading Loading @@ -117,14 +127,22 @@ ansible.builtin.include_role: name: node-feature-discovery - name: Deploy Harbor - name: Deploy Zot ansible.builtin.include_role: name: harbor name: zot - name: Deploy Artefact Manager ansible.builtin.include_role: name: artefact-manager - name: Deploy SRM ansible.builtin.include_role: name: srm - name: Deploy OEG ansible.builtin.include_role: name: oeg - name: Deploy Federation Manager ansible.builtin.include_role: name: federation-manager Loading