diff --git a/playbookconfig/src/playbooks/install.yml b/playbookconfig/src/playbooks/install.yml index 397197d8e..cba1c774b 100644 --- a/playbookconfig/src/playbooks/install.yml +++ b/playbookconfig/src/playbooks/install.yml @@ -17,7 +17,7 @@ wait_for_timeout: "{{ wait_for_timeout | default(3600) }}" job_retry_delay: "{{ 120 | random }}" host_to_check: "{{ ansible_host }}" - sync_patch_metadata: "{{ sync_patch_metadata | default(true) }}" + sync_patch_metadata: "{{ sync_patch_metadata | default(false) }}" sync_software_metadata: "{{ sync_software_metadata | default(true) }}" - name: Run RVMC script to insert boot image and power on host diff --git a/playbookconfig/src/playbooks/roles/common/install-sync-software-metadata/tasks/main.yml b/playbookconfig/src/playbooks/roles/common/install-sync-software-metadata/tasks/main.yml index 5222b9db4..5f8e29cd4 100644 --- a/playbookconfig/src/playbooks/roles/common/install-sync-software-metadata/tasks/main.yml +++ b/playbookconfig/src/playbooks/roles/common/install-sync-software-metadata/tasks/main.yml @@ -1,6 +1,6 @@ --- # -# Copyright (c) 2024 Wind River Systems, Inc. +# Copyright (c) 2024-2025 Wind River Systems, Inc. # # SPDX-License-Identifier: Apache-2.0 # @@ -10,14 +10,20 @@ # system controller and subcloud are at the same ostree commit. # +- name: Retrieve system controller software version number + shell: source /etc/build.info; echo $SW_VERSION + register: system_controller_sw_version + delegate_to: localhost + - name: Retrieve software version number shell: source /etc/build.info; echo $SW_VERSION - register: sw_version + register: subcloud_sw_version - name: Set software metadata synchronization facts set_fact: software_sync_required: false - ostree_feed_repo_dir: /var/www/pages/feed/rel-{{ sw_version.stdout }}/ostree_repo + system_controller_ostree_feed_repo_dir: /var/www/pages/feed/rel-{{ system_controller_sw_version.stdout }}/ostree_repo + subcloud_ostree_feed_repo_dir: /var/www/pages/feed/rel-{{ subcloud_sw_version.stdout }}/ostree_repo ostree_sysroot_repo_dir: /sysroot/ostree/repo ostree_rev: starlingx software_dir: /opt/software @@ -26,24 +32,35 @@ - block: - name: Gather system controller ostree commit - command: ostree --repo={{ ostree_feed_repo_dir }} rev-parse {{ ostree_rev }} + command: ostree --repo={{ system_controller_ostree_feed_repo_dir }} rev-parse {{ ostree_rev }} register: ostree_commit_system_controller delegate_to: localhost - name: Gather subcloud ostree commit - command: ostree --repo={{ ostree_feed_repo_dir }} rev-parse {{ ostree_rev }} + command: ostree --repo={{ subcloud_ostree_feed_repo_dir }} rev-parse {{ ostree_rev }} register: ostree_commit_subcloud - name: Gather system controller updates list - shell: software list | grep {{ sw_version.stdout }} | grep -E '(available|deployed|committed)' + shell: | + software list | \ + grep "{{ system_controller_sw_version.stdout }}" | \ + grep -E '(available|deployed|committed)' | \ + awk '{$1=$1};1' | \ + tr -d '[:space:]' register: system_controller_software_list failed_when: false delegate_to: localhost - name: Gather subcloud software list - shell: software list | grep {{ sw_version.stdout }} | grep -E '(available|deployed|committed)' + shell: | + software list | \ + grep "{{ subcloud_sw_version.stdout }}" | \ + grep -E '(available|deployed|committed)' | \ + awk '{$1=$1};1' | \ + tr -d '[:space:]' register: subcloud_software_list failed_when: false + become: true - name: Decide if software metadata synchronization is required # Conditions: @@ -59,7 +76,7 @@ - debug: msg: - "Software sync required: {{ software_sync_required }}" - - "ostree revision from {{ ostree_feed_repo_dir }}:" + - "ostree revision from {{ system_controller_ostree_feed_repo_dir }}:" - "system controller: {{ ostree_commit_system_controller.stdout }}" - "subcloud: {{ ostree_commit_subcloud.stdout }}" - "Software list:" @@ -108,7 +125,7 @@ until: software_transfer.rc == 0 - name: Delete patch metadata files not belonging to the current - software version ({{ sw_version.stdout }}) + software version ({{ subcloud_sw_version.stdout }}) vars: paths_to_delete: - "{{ software_dir }}/metadata/unavailable" @@ -145,4 +162,4 @@ when: software_sync_required - when: sync_software_metadata and sw_version.stdout is version('24.09', '>=') + when: sync_software_metadata and subcloud_sw_version.stdout is version('24.09', '>=')