Loading ansible/playbooks/infrastructure/install-node-feature-discovery.yml 0 → 100644 +81 −0 Changes for ansible/playbooks/infrastructure/install-node-feature-discovery.yml: 81 added lines, 0 removed lines. Original line number Diff line number Diff line --- # Playbook: Install Node Feature Discovery # Description: Installs Helm and Node Feature Discovery # Usage: ansible-playbook playbooks/infrastructure/install-node-feature-discovery.yml - name: Install Node Feature Discovery hosts: kind_cluster gather_facts: true pre_tasks: - name: Load group variables ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../group_vars/all.yml" - name: Set kubeconfig path for remote deployment ansible.builtin.set_fact: kubeconfig_output_dir: "/home/{{ ansible_user }}/kind-cluster-config" kubeconfig_path: "/home/{{ ansible_user }}/kind-cluster-config/{{ kubeconfig_filename }}" when: deployment_mode is defined and deployment_mode == 'remote' - name: Set kubeconfig path for local deployment ansible.builtin.set_fact: kubeconfig_path: "{{ kubeconfig_output_dir }}/{{ kubeconfig_filename }}" when: deployment_mode is not defined or deployment_mode != 'remote' - name: Display playbook information ansible.builtin.debug: msg: | ========================================== Installing Node Feature Discovery ========================================== Components to install: 1. Helm 3 2. Node Feature Discovery Cluster: {{ kind_cluster_name | default('operator-platform') }} Kubeconfig: {{ kubeconfig_path }} ========================================== - name: Verify Kind cluster exists ansible.builtin.command: kubectl --kubeconfig={{ kubeconfig_path }} cluster-info changed_when: false register: cluster_check failed_when: cluster_check.rc != 0 - name: Display cluster information ansible.builtin.debug: msg: "✓ Cluster is accessible: {{ cluster_check.stdout_lines[0] }}" - name: Get cluster nodes ansible.builtin.command: kubectl --kubeconfig={{ kubeconfig_path }} get nodes register: cluster_nodes changed_when: false - name: Display cluster nodes ansible.builtin.debug: msg: "{{ cluster_nodes.stdout_lines }}" roles: - role: helm tags: ['helm', 'dependencies'] - role: node-feature-discovery tags: ['nfd', 'node-feature-discovery', 'dependencies'] post_tasks: - name: Display installation summary ansible.builtin.debug: msg: | ========================================== ✓ Node Feature Discovery installed! ========================================== Components installed: ✓ Helm 3 ✓ Node Feature Discovery - Custom labels applied Useful commands: # Check NFD labels kubectl get nodes --show-labels ansible/playbooks/tools/i2edge/install-dependencies.yml→ansible/playbooks/infrastructure/install-prometheus.yml +8 −27 Changes for ansible/playbooks/infrastructure/install-prometheus.yml: 8 added lines, 27 removed lines. Original line number Diff line number Diff line --- # Playbook: Install i2edge Dependencies # Description: Installs Helm, Prometheus Stack, and Node Feature Discovery # Usage: ansible-playbook playbooks/tools/i2edge/install-dependencies.yml # Playbook: Install Prometheus Stack # Description: Installs Helm and Prometheus Stack # Usage: ansible-playbook playbooks/infrastructure/install-prometheus.yml - name: Install i2edge Dependencies - name: Install Prometheus Stack hosts: kind_cluster gather_facts: true pre_tasks: - name: Load group variables ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../../group_vars/all.yml" file: "{{ playbook_dir }}/../../group_vars/all.yml" - name: Set kubeconfig path for remote deployment ansible.builtin.set_fact: kubeconfig_output_dir: "/home/{{ ansible_user }}/kind-cluster-config" kubeconfig_path: "/home/{{ ansible_user }}/kind-cluster-config/{{ kubeconfig_filename }}" when: deployment_mode is defined and deployment_mode == 'remote' Loading @@ -26,12 +27,11 @@ ansible.builtin.debug: msg: | ========================================== Installing i2edge Dependencies Installing Prometheus Stack ========================================== Components to install: 1. Helm 3 2. Prometheus Stack (monitoring namespace) 3. Node Feature Discovery Cluster: {{ kind_cluster_name | default('operator-platform') }} Kubeconfig: {{ kubeconfig_path }} Loading Loading @@ -63,15 +63,12 @@ - role: prometheus tags: ['prometheus', 'monitoring', 'dependencies'] - role: node-feature-discovery tags: ['nfd', 'node-feature-discovery', 'dependencies'] post_tasks: - name: Display installation summary ansible.builtin.debug: msg: | ========================================== ✓ i2edge dependencies installed! ✓ Prometheus Stack installed! ========================================== Components installed: Loading @@ -82,8 +79,6 @@ - Grafana: {{ grafana_nodeport | default('30091') }} - Alertmanager: {{ alertmanager_nodeport | default('30092') }} - Grafana credentials: admin/{{ grafana_admin_password | default('admin') }} ✓ Node Feature Discovery - Custom labels applied Access Prometheus Stack: Prometheus: http://{{ kubeconfig_server_host }}:{{ prometheus_nodeport | default('30090') }} Loading @@ -93,17 +88,3 @@ Useful commands: # Check Prometheus pods kubectl get pods -n {{ prometheus_namespace | default('monitoring') }} # Check NFD labels kubectl get nodes --show-labels Configuration files: Kubeconfig: {{ kubeconfig_output_dir }}/{{ kubeconfig_filename }} Prometheus values: {{ kubeconfig_output_dir }}/prometheus-values.yaml NFD labels: {{ kubeconfig_output_dir }}/nfd-node-labels.yaml Next step: Deploy i2edge application with: ansible-playbook playbooks/tools/i2edge/deploy.yml ========================================== tags: ['always'] ansible/playbooks/tools/kind-cluster/deploy.yml→ansible/playbooks/infrastructure/kind-cluster/deploy.yml +3 −2 Changes for ansible/playbooks/infrastructure/kind-cluster/deploy.yml: 3 added lines, 2 removed lines. Original line number Diff line number Diff line --- # Playbook: Deploy Kind Cluster # Description: Creates a Kind cluster for the Operator Platform # Usage: ansible-playbook playbooks/tools/kind-cluster/deploy.yml # Usage: ansible-playbook playbooks/infrastructure/kind-cluster/deploy.yml - name: Deploy Kind Cluster for Operator Platform hosts: kind_cluster Loading Loading @@ -97,7 +97,8 @@ kubectl cluster-info 4. Install dependencies (Prometheus, NFD): ansible-playbook playbooks/tools/i2edge/install-dependencies.yml ansible-playbook playbooks/infrastructure/install-prometheus.yml ansible-playbook playbooks/infrastructure/install-node-feature-discovery.yml 5. Deploy i2edge: ansible-playbook playbooks/tools/i2edge/deploy.yml Loading ansible/playbooks/tools/kind-cluster/undeploy.yml→ansible/playbooks/infrastructure/kind-cluster/undeploy.yml +1 −1 Changes for ansible/playbooks/infrastructure/kind-cluster/undeploy.yml: 1 added line, 1 removed line. Original line number Diff line number Diff line --- # Playbook: Undeploy Kind Cluster # Description: Removes the Kind cluster and cleans up resources # Usage: ansible-playbook playbooks/tools/kind-cluster/undeploy.yml # Usage: ansible-playbook playbooks/infrastructure/kind-cluster/undeploy.yml - name: Undeploy Kind Cluster for Operator Platform hosts: kind_cluster Loading ansible/playbooks/scenarios/deploy_single_oop.yml 0 → 100644 +31 −0 Changes for ansible/playbooks/scenarios/deploy_single_oop.yml: 31 added lines, 0 removed lines. Original line number Diff line number Diff line --- # Playbook: Single OOP Deployment Scenario # Description: Deploys the complete Operator Platform environment using lite2edge # Usage: ansible-playbook playbooks/scenarios/deploy_single_oop.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" # 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/harbor/deploy.yml - import_playbook: ../tools/artefact-manager/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 Loading
ansible/playbooks/infrastructure/install-node-feature-discovery.yml 0 → 100644 +81 −0 Changes for ansible/playbooks/infrastructure/install-node-feature-discovery.yml: 81 added lines, 0 removed lines. Original line number Diff line number Diff line --- # Playbook: Install Node Feature Discovery # Description: Installs Helm and Node Feature Discovery # Usage: ansible-playbook playbooks/infrastructure/install-node-feature-discovery.yml - name: Install Node Feature Discovery hosts: kind_cluster gather_facts: true pre_tasks: - name: Load group variables ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../group_vars/all.yml" - name: Set kubeconfig path for remote deployment ansible.builtin.set_fact: kubeconfig_output_dir: "/home/{{ ansible_user }}/kind-cluster-config" kubeconfig_path: "/home/{{ ansible_user }}/kind-cluster-config/{{ kubeconfig_filename }}" when: deployment_mode is defined and deployment_mode == 'remote' - name: Set kubeconfig path for local deployment ansible.builtin.set_fact: kubeconfig_path: "{{ kubeconfig_output_dir }}/{{ kubeconfig_filename }}" when: deployment_mode is not defined or deployment_mode != 'remote' - name: Display playbook information ansible.builtin.debug: msg: | ========================================== Installing Node Feature Discovery ========================================== Components to install: 1. Helm 3 2. Node Feature Discovery Cluster: {{ kind_cluster_name | default('operator-platform') }} Kubeconfig: {{ kubeconfig_path }} ========================================== - name: Verify Kind cluster exists ansible.builtin.command: kubectl --kubeconfig={{ kubeconfig_path }} cluster-info changed_when: false register: cluster_check failed_when: cluster_check.rc != 0 - name: Display cluster information ansible.builtin.debug: msg: "✓ Cluster is accessible: {{ cluster_check.stdout_lines[0] }}" - name: Get cluster nodes ansible.builtin.command: kubectl --kubeconfig={{ kubeconfig_path }} get nodes register: cluster_nodes changed_when: false - name: Display cluster nodes ansible.builtin.debug: msg: "{{ cluster_nodes.stdout_lines }}" roles: - role: helm tags: ['helm', 'dependencies'] - role: node-feature-discovery tags: ['nfd', 'node-feature-discovery', 'dependencies'] post_tasks: - name: Display installation summary ansible.builtin.debug: msg: | ========================================== ✓ Node Feature Discovery installed! ========================================== Components installed: ✓ Helm 3 ✓ Node Feature Discovery - Custom labels applied Useful commands: # Check NFD labels kubectl get nodes --show-labels
ansible/playbooks/tools/i2edge/install-dependencies.yml→ansible/playbooks/infrastructure/install-prometheus.yml +8 −27 Changes for ansible/playbooks/infrastructure/install-prometheus.yml: 8 added lines, 27 removed lines. Original line number Diff line number Diff line --- # Playbook: Install i2edge Dependencies # Description: Installs Helm, Prometheus Stack, and Node Feature Discovery # Usage: ansible-playbook playbooks/tools/i2edge/install-dependencies.yml # Playbook: Install Prometheus Stack # Description: Installs Helm and Prometheus Stack # Usage: ansible-playbook playbooks/infrastructure/install-prometheus.yml - name: Install i2edge Dependencies - name: Install Prometheus Stack hosts: kind_cluster gather_facts: true pre_tasks: - name: Load group variables ansible.builtin.include_vars: file: "{{ playbook_dir }}/../../../group_vars/all.yml" file: "{{ playbook_dir }}/../../group_vars/all.yml" - name: Set kubeconfig path for remote deployment ansible.builtin.set_fact: kubeconfig_output_dir: "/home/{{ ansible_user }}/kind-cluster-config" kubeconfig_path: "/home/{{ ansible_user }}/kind-cluster-config/{{ kubeconfig_filename }}" when: deployment_mode is defined and deployment_mode == 'remote' Loading @@ -26,12 +27,11 @@ ansible.builtin.debug: msg: | ========================================== Installing i2edge Dependencies Installing Prometheus Stack ========================================== Components to install: 1. Helm 3 2. Prometheus Stack (monitoring namespace) 3. Node Feature Discovery Cluster: {{ kind_cluster_name | default('operator-platform') }} Kubeconfig: {{ kubeconfig_path }} Loading Loading @@ -63,15 +63,12 @@ - role: prometheus tags: ['prometheus', 'monitoring', 'dependencies'] - role: node-feature-discovery tags: ['nfd', 'node-feature-discovery', 'dependencies'] post_tasks: - name: Display installation summary ansible.builtin.debug: msg: | ========================================== ✓ i2edge dependencies installed! ✓ Prometheus Stack installed! ========================================== Components installed: Loading @@ -82,8 +79,6 @@ - Grafana: {{ grafana_nodeport | default('30091') }} - Alertmanager: {{ alertmanager_nodeport | default('30092') }} - Grafana credentials: admin/{{ grafana_admin_password | default('admin') }} ✓ Node Feature Discovery - Custom labels applied Access Prometheus Stack: Prometheus: http://{{ kubeconfig_server_host }}:{{ prometheus_nodeport | default('30090') }} Loading @@ -93,17 +88,3 @@ Useful commands: # Check Prometheus pods kubectl get pods -n {{ prometheus_namespace | default('monitoring') }} # Check NFD labels kubectl get nodes --show-labels Configuration files: Kubeconfig: {{ kubeconfig_output_dir }}/{{ kubeconfig_filename }} Prometheus values: {{ kubeconfig_output_dir }}/prometheus-values.yaml NFD labels: {{ kubeconfig_output_dir }}/nfd-node-labels.yaml Next step: Deploy i2edge application with: ansible-playbook playbooks/tools/i2edge/deploy.yml ========================================== tags: ['always']
ansible/playbooks/tools/kind-cluster/deploy.yml→ansible/playbooks/infrastructure/kind-cluster/deploy.yml +3 −2 Changes for ansible/playbooks/infrastructure/kind-cluster/deploy.yml: 3 added lines, 2 removed lines. Original line number Diff line number Diff line --- # Playbook: Deploy Kind Cluster # Description: Creates a Kind cluster for the Operator Platform # Usage: ansible-playbook playbooks/tools/kind-cluster/deploy.yml # Usage: ansible-playbook playbooks/infrastructure/kind-cluster/deploy.yml - name: Deploy Kind Cluster for Operator Platform hosts: kind_cluster Loading Loading @@ -97,7 +97,8 @@ kubectl cluster-info 4. Install dependencies (Prometheus, NFD): ansible-playbook playbooks/tools/i2edge/install-dependencies.yml ansible-playbook playbooks/infrastructure/install-prometheus.yml ansible-playbook playbooks/infrastructure/install-node-feature-discovery.yml 5. Deploy i2edge: ansible-playbook playbooks/tools/i2edge/deploy.yml Loading
ansible/playbooks/tools/kind-cluster/undeploy.yml→ansible/playbooks/infrastructure/kind-cluster/undeploy.yml +1 −1 Changes for ansible/playbooks/infrastructure/kind-cluster/undeploy.yml: 1 added line, 1 removed line. Original line number Diff line number Diff line --- # Playbook: Undeploy Kind Cluster # Description: Removes the Kind cluster and cleans up resources # Usage: ansible-playbook playbooks/tools/kind-cluster/undeploy.yml # Usage: ansible-playbook playbooks/infrastructure/kind-cluster/undeploy.yml - name: Undeploy Kind Cluster for Operator Platform hosts: kind_cluster Loading
ansible/playbooks/scenarios/deploy_single_oop.yml 0 → 100644 +31 −0 Changes for ansible/playbooks/scenarios/deploy_single_oop.yml: 31 added lines, 0 removed lines. Original line number Diff line number Diff line --- # Playbook: Single OOP Deployment Scenario # Description: Deploys the complete Operator Platform environment using lite2edge # Usage: ansible-playbook playbooks/scenarios/deploy_single_oop.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" # 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/harbor/deploy.yml - import_playbook: ../tools/artefact-manager/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