openqa-clone-job(1) | openQA Documentation | openqa-clone-job(1) |
openqa-clone-job - creates a new job based on an existing job
Clones a job from the local or a remote openQA instance. Downloads all assets associated with the job (unless --skip-download is specified). Optionally settings can be modified.
openqa-clone-job [OPTIONS] JOBREF [KEY=[VALUE] ...] # clones job 42 (and any existing parents) from "openqa.opensuse.org" to the local openQA instance # note: If job 42 is a parallel parent (e.g. a "server" job), its parallel children (e.g. "client" # jobs) will be cloned as well. openqa-clone-job https://openqa.opensuse.org/t42 openqa-clone-job --from https://openqa.opensuse.org/tests/42 openqa-clone-job --from https://openqa.opensuse.org 42 # clones job 42 (and any existing parents) from "openqa.opensuse.org" to the openQA instance "openqa.example.com" openqa-clone-job --skip-download --from https://openqa.opensuse.org --host openqa.example.com 42 # clones job 42 (and any existing parents) within "openqa.opensuse.org" modifying some job settings openqa-clone-job --within-instance https://openqa.opensuse.org/t42 MAKETESTSNAPSHOTS=1 TEST+=:PR-123 FOOBAR= # clones job 42 including all of its direct children but excluding its chained parents openqa-clone-job --skip-chained-deps --clone-children https://openqa.opensuse.org/tests/42
Call with either a full URL pointing to a test job to clone from or one of both parameters "--from" or "--within-instance". The job ID can be specified as part of the URL or as its own parameter.
API key and secret are read from "client.conf" if not specified via CLI arguments. The config file is checked for under "$OPENQA_CONFIG", "~/.config/openqa" and "/etc/openqa" in this order. It must look like this:
[openqa.opensuse.org] key = 45ABCEB4562ACB04 secret = 4BA0003086C4CB95 [another.host] key = D7345DA7B9D86B3B secret = A98CDBA9C8DB87BD
Any parent jobs (chained or parallel) are also cloned unless "--skip-deps" or "--skip-chained-deps" is specified. If "--skip-chained-deps" is specified published assets generated by parent jobs are downloaded to be directly used instead of generated. Keep in mind that by default any additionally specified job settings are NOT added to the also cloned parent jobs.
Note that the child job is the one which has the "START_AFTER_TEST" or "PARALLEL_WITH" setting and the parent job is the one mentioned by that setting.
Cloning directly chained dependencies ("START_DIRECTLY_AFTER_TEST") is NOT supported.
Assets are still always downloaded to the local machine. When specifying a remote host make sure the assets are already there and use "--skip-download".
This makes the job use the downloaded HDD image instead of running the generator job again which is of course only possible if --host is the local machine.
openqa-clone-job --skip-chained-deps --repeat=50 --within-instance \ https://openqa.opensuse.org 123456
Will create 50 clones of the same job.
2024-04-11 | openQA 4.6.1700240294.34068e38e |