How to reproduce a job result using the reproducer-quickstart.sh script

Check the top-level logs directory for a file reproducer-quickstart.sh. Running this file will set up a stack on a personal tenant where the job run can be reproduced. If no reproducer-quickstart.sh file is found, that usually means an infra failure before Quickstart could start or a problem in collecting logs. Check on IRC OFTC channel #tripleo to see if there's an ongoing infra issue.

What is the reproducer-quickstart.sh script?

A reproducer-quickstart.sh script is generated at the top-level log directory for jobs that run TripleO-Quickstart and toci_gate_test.sh. Running the script from a host machine will set up a stack to the point where the user can ssh to the undercloud, source a variable file, and run toci_gate_test.sh. As such, reproducing the complete jobs result requires some manual interaction.

The reproducer-quickstart.sh script is generated to be specific to that job and reproducer-quickstart.sh scripts from other jobs will be different.

Running the reproducer-quickstart.sh script

Use cURL, wget or a similar tool to copy the reproducer-quickstart.sh to a clean working directory on a host from where you can access the cloud tenant you want to run the reproducer on. Make sure that the copied script is executable (has +x permissions) before you attempt to run it. Source the tenant credentials before running the script on a host cloud. Also, it is a good idea to check that the tenant has enough capacity and resources to reproduce the job before you begin.

Note that, by default, the reproducer-quickstart.sh script is written to run an a personal RDO Cloud tenant. Instructions on how to modify the script to run on another host cloud are included in a section below.

Running the reproducer-quickstart.sh script on a single virt host using libvirt

The -l|--libvirt option allows the user to reproduce multinode or single node jobs running on a single virt host, using libvirt. This option was added as an alternative when host clouds are not available.

Note that the script sets the virthost to be 127.0.0.2 so the reproducer must be run from the virt host itself. Attempting to use a working machine/laptop as the Ansible host and targeting a test box indirectly is not recommended. Run cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys to allow for login to 127.0.0.2.

When using libvirt, volumes (and later snapshots) have to be stored. The directory defaults to /opt/vm_images but can be overridden using the -e|--extras-params option, setting libvirt_volume_path to another location. This is useful because in a default Fedora installation, the root partition is not large enough to support the volumes.

When using libvirt, the default DNS server added to the VMs provides insufficient access in some cases. As such, a second DNS server, can be added by defining the custom_nameserver setting in the -e|--extras-params option. This nameserver is added to /etc/resolv.conf files on the VMs.

Executing toci_gate_test-oooq.sh

When the script completes, you will see a list of instructions printed out on how to run toci_gate_test.sh from the undercloud:

If you pass the -a options the above steps will be executed automatically.

Input argument options in the reproducer-quickstart.sh script

Running reproducer-quickstart.sh --help will show a list of the input options. All the options have a default and none are required. The options are listed below with explanations:

Using an alternative host cloud

The reproducer-quickstart.sh script is written to run an a personal RDO Cloud tenant. If you want to run on a different host cloud, modify the reproducer-quickstart.sh as follows: