-
Notifications
You must be signed in to change notification settings - Fork 25
test_molecule
Molecule and pyone are installed as python/pip dependencies for one-deploy:
~/one-deploy$ cat requirements.txt
netaddr
molecule
pyone>=6.8.0You can install all one-deploy requirements using the included Makefile:
~/one-deploy $ make requirementsOr directly:
~/one-deploy $ pip3 install -r requirements.txt
~/one-deploy $ ansible-galaxy collection install -r requirements.ymlTo deploy molecule integration environments (ceph-hci, passenger-ha, ...) you're going to need a working
OpenNebula instance with pre-configured networking and pre-installed OS images and VM templates.
Download (and rename) VM templates and OS images into your OpenNebula instance.
-
Ubuntu 22.04->ubuntu2204 -
Ubuntu 20.04->ubuntu2004 -
AlmaLinux 9->alma9 -
AlmaLinux 8->alma8
Create the .env.yml file in your one-deploy's checkout root, 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 (required for the
prometheus-haenvironment). - Customize VNET name, subnet and custom IP ranges.
To list all available environments/tests:
~/one-deploy $ molecule list
INFO Running ceph-hci > list
INFO Running passenger-ha > list
INFO Running prometheus-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
passenger-ha-f1 │ default │ ansible │ passenger-ha │ false │ false
passenger-ha-f2 │ default │ ansible │ passenger-ha │ false │ false
passenger-ha-f3 │ default │ ansible │ passenger-ha │ false │ false
passenger-ha-f4 │ default │ ansible │ passenger-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 │ falseTo deploy the ceph-hci environment:
~/one-deploy $ molecule converge -s ceph-hciIf everything goes well, you should be able to login 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: