diff --git a/docs/api/schema/JobScenarios-01.yaml b/docs/api/schema/JobScenarios-01.yaml index 46a9cb7986e..7e06a2cb92e 100644 --- a/docs/api/schema/JobScenarios-01.yaml +++ b/docs/api/schema/JobScenarios-01.yaml @@ -4,9 +4,9 @@ description: Definitions for openQA job scenarios type: object additionalProperties: false required: -- job_templates + - job_templates patternProperties: - '^\.[a-z0-9_]+$': + ^\.[a-z0-9_]+$: type: object description: Definitions that can be re-used @@ -15,7 +15,7 @@ properties: type: object additionalProperties: false patternProperties: - '^[A-Za-z0-9._*-]+$': + ^[A-Za-z0-9._*-]+$: type: object description: The name of a product (medium) required: @@ -40,14 +40,14 @@ properties: description: Additional test variables to be set additionalProperties: false patternProperties: - '^[A-Z_+]+[A-Z0-9_]*$': + ^[A-Z_+]+[A-Z0-9_]*$: type: string machines: type: object additionalProperties: false patternProperties: - '^[A-Za-z0-9._*-]+$': + ^[A-Za-z0-9._*-]+$: type: object description: The name of a machine required: @@ -66,7 +66,7 @@ properties: type: object additionalProperties: false patternProperties: - '^[A-Za-z\s0-9_*.+-]+$': + ^[A-Za-z\s0-9_*.+-]+$: type: object description: The name of the job template additionalProperties: false diff --git a/docs/api/schema/JobTemplates-01.yaml b/docs/api/schema/JobTemplates-01.yaml index c058ab6b0b4..393799993a9 100644 --- a/docs/api/schema/JobTemplates-01.yaml +++ b/docs/api/schema/JobTemplates-01.yaml @@ -4,10 +4,10 @@ description: openQA job template type: object additionalProperties: false required: -- products -- scenarios + - products + - scenarios patternProperties: - '^\.[a-z0-9_]+$': + ^\.[a-z0-9_]+$: type: object description: Definitions that can be re-used @@ -17,60 +17,60 @@ properties: type: object additionalProperties: false patternProperties: - '^[a-z0-9_]+$': + ^[a-z0-9_]+$: type: object description: The architecture of the test suite(s) eg. ppc64le patternProperties: - '^.*$': + ^.*$: type: array description: The product to run the test suite(s) on items: anyOf: - - type: string - description: Name of a test suite name - - type: object - maxProperties: 1 - description: A test suite with machine and/or priority value specified, or a custom job template name if testsuite was specified - additionalProperties: false - patternProperties: - &testsuite-pattern '^[A-Za-z\s0-9_*.+-]+$': - type: object - additionalProperties: false - properties: - machine: &machine-definition - oneOf: - - type: string - - type: array - items: + - type: string + description: Name of a test suite name + - type: object + maxProperties: 1 + description: A test suite with machine and/or priority value specified, or a custom job template name if testsuite was specified + additionalProperties: false + patternProperties: + &testsuite-pattern ^[A-Za-z\s0-9_*.+-]+$: + type: object + additionalProperties: false + properties: + machine: &machine-definition + oneOf: - type: string - priority: &priority-definition - type: number - settings: &settings-definition - type: object - description: Additional test variables to be set - additionalProperties: false - patternProperties: - '^[A-Z_+]+[A-Z0-9_]*$': - type: string - testsuite: - type: [string, 'null'] - pattern: *testsuite-pattern - description: The test suite this scenario is based on if a custom job template name was used - description: - type: string - description: The description of the job template + - type: array + items: + - type: string + priority: &priority-definition + type: number + settings: &settings-definition + type: object + description: Additional test variables to be set + additionalProperties: false + patternProperties: + ^[A-Z_+]+[A-Z0-9_]*$: + type: string + testsuite: + type: [string, 'null'] + pattern: *testsuite-pattern + description: The test suite this scenario is based on if a custom job template name was used + description: + type: string + description: The description of the job template defaults: description: A set of architectures with default configurations type: object additionalProperties: false patternProperties: - '^[a-z0-9_]+$': + ^[a-z0-9_]+$: type: object description: The architecture to define a default configuration for eg. ppc64le required: - - machine - - priority + - machine + - priority additionalProperties: false properties: machine: *machine-definition @@ -81,7 +81,7 @@ properties: type: object additionalProperties: false patternProperties: - '^[A-Za-z0-9._*-]+$': + ^[A-Za-z0-9._*-]+$: type: object description: The name of a product (medium) required: diff --git a/docs/api/testapi.html b/docs/api/testapi.html index b2c261e40c4..5996008ee23 100644 --- a/docs/api/testapi.html +++ b/docs/api/testapi.html @@ -2078,7 +2078,7 @@
backend_get_wait_still diff --git a/docs/current.pdf b/docs/current.pdf index 60bcb12b932..de5c2420364 100644 Binary files a/docs/current.pdf and b/docs/current.pdf differ diff --git a/docs/index.html b/docs/index.html index eeb32d3e191..7ce7232fdb8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6148,10 +6148,16 @@

Cleanup strategy for assets

(unless cloned into a job group).

+

If an asset is just a symlink then only the symlink is cleaned up (but not +the file or directory it points to).

+
+

'Fixed' assets - those placed in the fixed subdirectory of the relevant asset directory - are counted against the group size limit, but are never cleaned up. This is intended for things like base disk images which must -always be available for a test to work.

+always be available for a test to work. Note that relative symlinks in the +regular assets directory that point into the fixed subdirectory are also +preserved.

@@ -10171,27 +10177,25 @@

Verify the setup

Simply run a MM test scenario. For openSUSE, you can find many relevant tests on o3, e.g. look for networking-related tests like -wicked-tests. To test GRE tunnels, you may want to change the jobs worker -classes so the different jobs are executed on different workers.

+ping_server/ping_client or wicked_basic_ref/wicked_basic_sut.

-

So you could call openqa-clone-job like this:

+

To test GRE tunnels, you may want to change the jobs worker classes so the +different jobs are executed on different workers. So you could call +openqa-clone-job like this:

openqa-clone-job \
-    --skip-download --skip-chained-deps \    # assuming assets are present
-    --max-depth 0 \                          # clone the entire parallel cluster
-    --export-command \                       # only print the API call
-    https://openqa.opensuse.org/tests/250309 # arbitrary job in cluster to clone
-    _GROUP=0 BUILD+=test-mm-setup            # avoid interfering with production jobs
+ --skip-download --skip-chained-deps \ # assuming assets are present + --max-depth 0 \ # clone the entire parallel cluster + https://openqa.opensuse.org/tests/3886213 \ # arbitrary job in cluster to clone + _GROUP=0 BUILD+=test-mm-setup \ # avoid interfering with production jobs + WORKER_CLASS:wicked_basic_ref+=,worker_foo \ # ensure one job runs on `worker_foo` + WORKER_CLASS:wicked_basic_sut+=,worker_bar # ensure other job runs on `worker_bar`
-

It will print an openqa-cli call. You can modify it to change the worker -classes of the jobs individually and then invoke it.

-
-

Also be sure to reboot the worker host to make sure the setup is actually persistent.

@@ -10225,7 +10229,7 @@

Start test VMs manually

-
ip link set dev eth0 up mtu 1458
+
ip link set dev eth0 up mtu 1380
 ip a add dev eth0 10.0.2.15/24
 ip r add default via 10.0.2.2
 echo 'nameserver 8.8.8.8' > /etc/resolv.conf
@@ -10238,7 +10242,12 @@

Start test VMs manually

After this it should be possible to reach other hosts. You may also launch a 2nd -VM to see whether the VMs can talk to each other.

+VM to see whether the VMs can talk to each other. You may conduct ping tests +similar to the ping_client test mentioned in the previous section (see the +utility function in openSUSE tests +for details). When running ping you can add/remove machines to/from the GRE +network to bisect problematic hosts/connections (via ovs-vsctl add-port … and +ovs-vsctl del-port …).

@@ -10269,7 +10278,8 @@

Debugging Open vSwitch Configurat
-
ovs-vsctl show # shows the bridge br1, the tap devices are assigned to it
+
cat /proc/sys/net/ipv4/conf/{br1,eth0}/forwarding # check whether IP forwarding is enabled
+ovs-vsctl show # shows the bridge br1, the tap devices are assigned to it
 ovs-ofctl dump-flows br1 # shows the rules installed by os-autoinst-openvswitch in table=0
 ovs-dpctl show # show basic info on all datapaths
 ovs-dpctl dump-flows # displays flows in datapaths
@@ -12604,7 +12614,7 @@ 

Developing tests with container