...
Introduction
| Tip |
|---|
This tooling is works also for Items that are not yet part the EWC Community Hub, or even those which are even hosted on private repositories. |
Items contributed to the community hub by the EWC are tested at regular intervals, to ensure functionality is preserved as the platform evolves. This Said testing is automated for deployable Items of the Ansible Playbook Technology.
At a glance, the automation offersThe automation ensured the following steps are always performed:
- VM provisioned
- Item installation on the new VM
- Cleanup after deployment (on success or failure)
- Summary report generation
- Artifacts upload (for auditing and issue tracing, contains run logs, package versions and other useful runtime information)
The same automation used internally by the EWC, with the same functionality mentioned above, is public as a Community Hub Item (see Ansible Playbook Test Deployment via GitHub Actions), and you, as an Item owner, can drag-and-drop it into your GitHub repository if you wish to make regular testing less of a chore and more of a standard and effortless part of your development process.
This page walks you through an example of how said drag-and-drop operation it all would look in practice, for a community-contributed Item, for example for the Pytroll Processing , with Community Hub Item with on-demand deployment to EUMETSAT site.
...
OS_AUTH_URLOS_REGION_NAMEOS_APPLICATION_CREDENTIAL_IDOS_APPLICATION_CREDENTIAL_SECRET
- Create an SSH keypair (see Generating a new SSH key section of the GitHub documentation )
- Create a keypair (if none available).
- Import SSH keys (public) (into OpenStack for automatic distribution upon VM creation).
- Add you SSH public key to OpenStack (see Import SSH Key section of the EWC documentation).
- Once more, update your repository's GitHub secrets to include the value of the private ssh key as:
ANSIBLE_SSH_PRIVATE_KEY
- Create a GitHub workflow configuration YAML file, copy-paste the example snippet shown in the the Usage section of the Item's documentation, and add an
inputsattribute with reasonable default values that meet the demand of your Item.
...
| Note |
|---|
Common issues we observe in practice includemissing include missing or misformatted SSH key keys within the GitHub Action Secrets, incompatible Ansible-Python-Linux versions, or sporadic timeouts due to VM ssh SSH connection taking longer than expected. |
...