For those doing AI/ML on the European Weather Cloud, we have published a number of templates to help you set up the necessary software stacks to run your favourite workloads. You may apply those onto an existing instance, and combine them as needed.
The stacks currently part of this collection are:
These stacks are based on Ansible playbooks and can be found in https://github.com/ewcloud/ewc-ecmwf-ai-stacks.
AI/ML software stacks usually require a significant amount of disk space. Make sure your instances have enough free space before applying them. Although it is possible that less space is required based on the specific setup and combinations, we recommend at least 15 GB for each of those you may want to apply. You may extend your instance volume volume or add a new one where to install those if needed. If a new volume is added, make sure |
If using ECMWF's Morpheus portal, you may find those are offered as Morpheus Workflows by default:
If you cannot see them, you may also add them to your tenancy by creating a new Git integration of the https://github.com/ewcloud/ewc-ecmwf-ai-stacks as described in the Morpheus documentation, and then creating the Automation Tasks and Workflows required using that git integration, which is described here. |
You can also install those directly with Ansible, for example as part of your existing Infrastructure as Code (IaC) or CI/CD pipelines.
You may run Ansible on the same instance or anywhere else from where you can connect to your instance via SSH, such as another instance in the same private network, or from your own computer if your instance can be reached over SSH. We will refer to this as your seed platform. You will need at least git and python available to follow these steps.
git clone https://github.com/ewcloud/ewc-ecmwf-ai-stacks.git cd ewc-ecmwf-ai-stacks |
pip install --user -r requirements.txt |
python3 -m venv ansible-venv source ansible-venv/bin/activate pip install -r requirements.txt |
ansible-galaxy role install -r requirements.yml roles/ |
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 on the same instance, you may use localhost.ansible-playbook:
ansible-playbook -i inventory playbookname.yml |
ansible-playbook
, such as:-v
for verbose output-K
for asking sudo password, if your user does not have password-less sudo privileges on the target instance.-u yourremoteuser
if Ansible needs to use a specific user account to connect to the target instance.-e var=value
for add-hoc customisation of playbook variables to customise your installation.Check each specific role documentation in the URLs found in |