To run a test locally (directly where you invoke it), use the bin/local-run
helper:
./bin/local-run tests/interception latest/edge
For faster repeated runs, you might want to tell snap
that it can purge the LXD snap
without taking any snapshot:
PURGE_LXD=1 ./bin/local-run tests/interception latest/edge
Note: if you need to run tests on temporary machines, Testflinger reservations might be useful.
To test a custom build of LXD, you can set the LXD_SIDELOAD_PATH
environment variable.
This will be copied to /var/snap/lxd/common/lxd.debug
and the daemon will be reloaded before the test run.
LXD_SIDELOAD_PATH=/tmp/lxd ./bin/local-run tests/interception latest/edge
The tests need to be run from PS6's LXD bastion lxd-bastion-ps6.internal
. Once connected, the proper environment can be loaded with:
pe
Then to run all the tests on OpenStack VMs:
./tests/main-openstack
Or to run individual tests (tests/pylxd
against latest/edge
):
# bin/openstack-run: <serie> <kernel> <test> <args>
./bin/openstack-run jammy default tests/pylxd latest/edge
To run the VM storage tests on the Dell PowerFlex driver, provide the following environment variables:
POWERFLEX_POOL
: Name of the PowerFlex storage poolPOWERFLEX_DOMAIN
: Name of the PowerFlex domainPOWERFLEX_GATEWAY
: Address of the PowerFlex HTTP gatewayPOWERFLEX_GATEWAY_VERIFY
: Whether to verify the HTTP gateway's certificate. The default istrue
.POWERFLEX_USER
: Name of the PowerFlex userPOWERFLEX_PASSWORD
: Password of the PowerFlex userPOWERFLEX_MODE
: Operation mode for the consumption of storage volumes. The default isnvme
.
The PS6 environment has inbound and outbound firewalling applied at the network edge. In order to access some external sites here are the firewall rules we added to firewall maintained by IS:
https://code.launchpad.net/~sdeziel/canonical-is-firewalls/+git/canonical-is-firewalls/+merge/446061
Some HTTP(S) destination also require going through a proxy maintained by IS, here are the proxy rules we added: