neoave / mrack

Multicloud use-case based multihost async provisioner for CIs and testing during development
Apache License 2.0
11 stars 14 forks source link

WIP: Podman provider #32

Closed pvoborni closed 3 years ago

pvoborni commented 4 years ago

Add basic support for Podman.

So far supported:

TODO:

I.e. test bench will be to install a FreeIPA server with couple replicas.

Commands usable for testing:

mrack -c $SOME_PATH/provisioning-config.yaml up -p podman $OTHER_PATH/simple_hosts.yaml 
mrack -c $SOME_PATH/provisioning-config.yaml destroy $OTHER_PATH/simple_hosts.yaml
mrack -c $SOME_PATH/provisioning-config.yaml ssh $OTHER_PATH/simple_hosts.yaml
mrack -c $SOME_PATH/provisioning-config.yaml list $OTHER_PATH/simple_hosts.yaml
ansible  -i mrack-inventory.yaml all  -m shell -a "cat /etc/redhat-release"

Example enhancement of provisioning config:

podman:
    images:
        fedora-30: registry.fedoraproject.org/fedora:30
        fedora-31: registry.fedoraproject.org/fedora:31
        fedora-32: registry.fedoraproject.org/fedora:32
        fedora-latest: registry.fedoraproject.org/fedora:latest
        fedora-rawhide: registry.fedoraproject.org/fedora:rawhide

Example metadata file:

domains:
- hosts:
  - group: ipaserver
    name: f30.mrack.test
    os: fedora-30
    role: master
  - group: ipaserver
    name: f31.mrack.test
    os: fedora-31
    role: master
  - group: ipaserver
    name: f32.mrack.test
    os: fedora-32
    role: master
  - group: ipaserver
    name: rawhide.mrack.test
    os: fedora-rawhide
    role: master
  name: mrack.test
  type: test