Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Install ansible and other dependencies. You may want to do it in its own virtual environment (pip install -r requirements.txt)

  • Fetch the external requirements
    No Format
    $ ansible-galaxy role install -r requirements.yml roles/
  • If you don't have it already, define your Ansible inventory. The simplest approach would be to create a file called inventory, on the same directory where the plabooks are, containing the fully qualified domain name (FQDN) or IP address used to connect to the instance from your seed platform. If running this ansible playbook on the same instance, you may use localhost.
  • Run the apropriate playbook:

    No Format
    $ ansible-playbook -i inventory playbookname.yml

...

Multiexcerpt
MultiExcerptNameewc-custom-ansible-playbook

For advanced users with existing Ansible playbooks and greater customisation needs, it is possible to just pick and choose roles you are interested and include them into your own playbooks, instead of running separate playbooks. You can find the URLs for each of the dependant roles in the requirements.yml file. 

  1. Make sure the necessary roles are installed. For that you may install them with ansible-galaxy either individually or writing your own requirements.yml. See the official Ansible documentation for more details on how to create such file.
    No Format
    ansible-galaxy role install -r requirements.yml roles/
  2. In your playbook, you can include the roles that you are interested in. For example, here is a playbook that includes 3 roles and customises some variables :
    Code Block
    languageyaml
    ---
    - hosts: all
      become: yes
      vars:
        conda_prefix: /opt/conda
      tasks:
        - name: Mars client
          ansible.builtin.include_role:
            name: ewc-ansible-role-mars-client
     
        - name: ML basic stack
          ansible.builtin.include_role:
            name: ewc-ansible-role-ml-basic
     
        - name: Anemoi
          ansible.builtin.include_role:
            name: ewc-ansible-role-ecmwf-anemoi
    
    

    See the official Ansible documentation for more information on roles and how to include them. 
Tip
titleFurther customisation

Check each specific role documentation in the URLs above to see all the variables you may customise when running the automation. 


...