Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduce pkgs processing logic for model component installation
Description
This pull request introduces the pkgs integration into Firewheel, enabling model components to define external packages in a structured way using metadata files within the
INSTALL/pkgs
directory. These packages are processed during installation using Ansible tasks, replacing redundant logic intasks.yml
.Key Changes
pkgs_tasks.yml
to handle package processing, including downloading, verifying, compressing, and cleaning up package directories.main.yml
to include logic for finding and processing package metadata files inINSTALL/pkgs
.INSTALL/pkgs
directory for defining package metadata files.mc_install.rst
) to describe the pkgs integration, including examples for package metadata files,pkgs_tasks.yml
, and simplifiedtasks.yml
.Benefits
pkgs_tasks.yml
.Related Issue
This pull request addresses the need for modular and idempotent handling of external packages in Firewheel. It is part of the broader effort to improve reproducibility and offline accessibility for model components.
Type of Change
Please select the type of change your pull request introduces:
Checklist
Additional Notes
This update introduces a significant improvement to the installation process for model components. By transitioning to the pkgs integration, Firewheel now supports more modular and reproducible handling of external packages. This change has been tested with multiple model components, including dns.dns_objects, to ensure compatibility with both traditional
tasks.yml
logic and the new pkgs integration.