Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: General grammar and spell checking

...

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_URL
    • OS_REGION_NAME
    • OS_APPLICATION_CREDENTIAL_ID
    • OS_APPLICATION_CREDENTIAL_SECRET
  1. Create an SSH keypair (see Generating a new SSH key section of the GitHub documentation )
  2. Add you SSH public key to OpenStack (see Import SSH Key section of the EWC documentation).
  3. Once more, update your repository's GitHub secrets to include the value of the private ssh key as: 
    • ANSIBLE_SSH_PRIVATE_KEY
  4. 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 inputs  attribute 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.

...