-
Notifications
You must be signed in to change notification settings - Fork 25
test_molecule
Install hatch into your OS.
Install one-deploy requirements using the included Makefile:
make requirementsUse hatch to (re)create the "default" venv:
hatch env prune
hatch env createEnter the "default" venv:
hatch shellCheck ansible version:
ansible-playbook --version | head -n1
ansible-playbook [core 2.16.14]Warning
For the ceph-hci scenario you should use the "ceph" hatch venv.
Continue in the venv! 🤗
To deploy Molecule integration environments (ceph-hci, ssl-ha, ...) you will need a working
OpenNebula instance with pre-configured networking and pre-installed OS images and VM templates.
Note
You can download OS images and VM templates from OpenNebula's Public Marketplace.
Download (and rename) VM templates and OS images into your OpenNebula instance:
-
Ubuntu 24.04->ubuntu2404 -
Ubuntu 22.04->ubuntu2204 -
AlmaLinux 9->alma9 -
AlmaLinux 8->alma8
Create the .env.yml file in your one-deploy's root directory, with the following content (you can use .env.yml.sample as a template):
ONE_HOST: http://localhost:2633/RPC2
ONE_USER: oneadmin
ONE_PSWD: opennebula
ONE_TOKEN: example:example
ONE_VNET: service
ONE_SUBNET: 172.20.0.0/16
ONE_RANGE1: 172.20.86.100 4
ONE_RANGE2: 172.20.86.104 4
ONE_RANGE3: 172.20.86.108 4- Provide OpenNebula endpoint and credentials.
- Provide your support token (optional).
- Customize VNET name, subnet and IP ranges.
To list all available environments/tests:
molecule list
~/one-deploy $ molecule list
INFO Running ceph-hci > list
INFO Running ssl-ha > list
INFO Running prometheus-ha > list
INFO Running ssl-ha > list
╷ ╷ ╷ ╷ ╷
Instance Name │ Driver Name │ Provisioner Name │ Scenario Name │ Created │ Converged
╶──────────────────┼─────────────┼──────────────────┼───────────────┼─────────┼───────────╴
ceph-hci-f1 │ default │ ansible │ ceph-hci │ false │ false
ceph-hci-n1 │ default │ ansible │ ceph-hci │ false │ false
ceph-hci-n2 │ default │ ansible │ ceph-hci │ false │ false
federation-f1 │ default │ ansible │ federation │ false │ false
federation-f2 │ default │ ansible │ federation │ false │ false
federation-f3 │ default │ ansible │ federation │ false │ false
federation-ha-f1 │ default │ ansible │ federation-ha │ false │ false
federation-ha-f2 │ default │ ansible │ federation-ha │ false │ false
federation-ha-f3 │ default │ ansible │ federation-ha │ false │ false
federation-ha-f4 │ default │ ansible │ federation-ha │ false │ false
prometheus-ha-f1 │ default │ ansible │ prometheus-ha │ false │ false
prometheus-ha-f2 │ default │ ansible │ prometheus-ha │ false │ false
prometheus-ha-f3 │ default │ ansible │ prometheus-ha │ false │ false
prometheus-ha-f4 │ default │ ansible │ prometheus-ha │ false │ false
ssl-ha-f1 │ default │ ansible │ ssl-ha │ false │ false
ssl-ha-f2 │ default │ ansible │ ssl-ha │ false │ false
ssl-ha-f3 │ default │ ansible │ ssl-ha │ false │ false
ssl-ha-f4 │ default │ ansible │ ssl-ha │ false │ falseTo deploy the ceph-hci environment:
~/one-deploy $ molecule converge -s ceph-hciIf everything goes well, you should be able to log in and examine the environment:
~/one-deploy $ molecule list -s ceph-hci
INFO Running ceph-hci > list
╷ ╷ ╷ ╷ ╷
Instance Name │ Driver Name │ Provisioner Name │ Scenario Name │ Created │ Converged
╶───────────────┼─────────────┼──────────────────┼───────────────┼─────────┼───────────╴
ceph-hci-f1 │ default │ ansible │ ceph-hci │ true │ true
ceph-hci-n1 │ default │ ansible │ ceph-hci │ true │ true
ceph-hci-n2 │ default │ ansible │ ceph-hci │ true │ true$ onevm ssh ceph-hci-f1To destroy a specific environment:
~/one-deploy $ molecule destroy -s ceph-hci~/one-deploy $ molecule list -s ceph-hci
INFO Running ceph-hci > list
╷ ╷ ╷ ╷ ╷
Instance Name │ Driver Name │ Provisioner Name │ Scenario Name │ Created │ Converged
╶───────────────┼─────────────┼──────────────────┼───────────────┼─────────┼───────────╴
ceph-hci-f1 │ default │ ansible │ ceph-hci │ false │ false
ceph-hci-n1 │ default │ ansible │ ceph-hci │ false │ false
ceph-hci-n2 │ default │ ansible │ ceph-hci │ false │ falseTo destroy all available environments:
~/one-deploy $ molecule destroy --all- Requirements & Platform Notes
- Release Notes
- Using the playbooks
- Reference Architectures:
- Verifying the installation
- Advanced Configurations:
- Additional Options:
- Developer Information: