This PR represents a significant shift in our testing approach for our installation scripts. Previously, we relied on Docker and Vagrant as our primary backends for Molecule tests. While these have served us well for basic sanity checks and local development, they have their limitations in testing certain aspects of the scripts, especially those that interact closely with system and OS-level attributes or those that manage services which behave differently across various environments.
By transitioning to the EC2 backend, we are aiming to provide better coverage for our falcon scripts and scenarios. This change facilitates testing in an environment that more closely resembles our production infrastructure.
Key Changes:
Modified molecule.yml configuration files for each role, specifying the EC2 driver and necessary configurations.
Added necessary EC2 instance creation and cleanup tasks within the create.yml and destroy.yml playbooks respectively.
Updated README to reflect new integration test status badges
Linux tests have 10 different operating systems, to include arm64 for better coverage
CI jobs are set to run on a staggered schedule to ensure we don't overwhelm aws resources
This PR represents a significant shift in our testing approach for our installation scripts. Previously, we relied on Docker and Vagrant as our primary backends for Molecule tests. While these have served us well for basic sanity checks and local development, they have their limitations in testing certain aspects of the scripts, especially those that interact closely with system and OS-level attributes or those that manage services which behave differently across various environments.
By transitioning to the EC2 backend, we are aiming to provide better coverage for our falcon scripts and scenarios. This change facilitates testing in an environment that more closely resembles our production infrastructure.
Key Changes:
molecule.yml
configuration files for each role, specifying the EC2 driver and necessary configurations.create.yml
anddestroy.yml
playbooks respectively.