Skip to main content

Ansible module for the Waldur API.

Project description

Ansible module for Waldur

Waldur-based solutions can be managed with Ansible modules to allow provisioning and management of infrastructure under Waldur through Ansible playbooks.

Supported functionality

  • OpenStack management.
  • SLURM HPC management
  • Common client for Waldur APIs in Python.

See also: http://docs.ansible.com/ansible/modules.html

Installation

pip install ansible-waldur-module

Example usage

Configure an Ansible playbook with parameters

  name: Trigger master instance
  waldur_marketplace_os_instance:
    access_token: "{{ access_token }}"
    api_url: "{{ api_url }}"
    flavor: m1.micro
    floating_ip: auto
    image: CentOS 7 x86_64
    name: "{{ instance_name }}"
    project: "OpenStack Project"
    offering: Instance in Tenant
    ssh_key: ssh1.pub
    subnet: vpc-1-tm-sub-net-2
    system_volume_size: 40
    wait: false

Pass parameters to an Ansible playbook

ANSIBLE_LIBRARY=/usr/share/ansible-waldur/ ansible \
    -m waldur_marketplace_os_instance \
    -a "api_url=https://waldur.example.com/api/ access_token=9036194e1ac54cada3248a8c6b203bf7 name=instance-name project='Project name'" \
    localhost

Running playbook using virtual Python environment

If you've installed Ansible Waldur module to virtual Python environment you need to specify path to Python interpreter and path to module library along with path to playbook:

ansible-playbook \
    -e ansible_python_interpreter=/home/user/ansible-env/bin/python \
    -M /home/user/ansible-env/lib/python3.8/site-packages/ \
    playbook.yml

Contributing

  1. See general guidelines: https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html

  2. Install pre-commit and tox

    pip install tox pre-commit
    pre-commit install
    
  3. When new module is implemented, don't forget to update py_modules section in setup.py file.

  4. When new module is implemented, it should be covered with tests. Run tests using tox

    tox
    
  5. Module name should consist of three parts separated by underscore: waldur, plugin name, entity name. For example, waldur_os_snapshot refers to OpenStack (OS) as plugin name and snapshot as entity name.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansible_waldur_module-1.2.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ansible_waldur_module-1.2.1-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file ansible_waldur_module-1.2.1.tar.gz.

File metadata

  • Download URL: ansible_waldur_module-1.2.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.21 Linux/5.15.0-133-generic

File hashes

Hashes for ansible_waldur_module-1.2.1.tar.gz
Algorithm Hash digest
SHA256 785c491ccfd66076747a6e19f73091983e81262ca23ef18dddf69782dde0abe0
MD5 ad55d83621e80ec29fa459ce65364c90
BLAKE2b-256 1b2ae87fcd00a3ec5ee6762b0c332153fcde21cfeccd9aabf71fe15b3a30ac58

See more details on using hashes here.

File details

Details for the file ansible_waldur_module-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_waldur_module-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e94b3d81dae1b91c3a1d3df0bdff58a313b38ad4b88b10794ad5e938db0869d0
MD5 5a6b6aefeee8f068f9974e747b46f579
BLAKE2b-256 5a6ecf30f5bf6afd070558da163706c52ee27a4ba7a76225a52f517913cfbbf5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page