<div dir="ltr">Greetings,<div><br></div><div>Matt Young and I had a conversation regarding the CI for RDO on RHEL 7.4.  The implementation of this job is still up for debate, however I would like to make this a public conversation to get input from the community.</div><div><br></div><div>CI Requirements: ( please feel free to add, change or correct )</div><div> * Latest RDO installed on latest GA or beta RHEL ( RHEL 7.4 in this case )</div><div> * The undercloud is *not* image based, but installed</div><div> * The overcloud images are built via customer supported commands</div><div> * The upstream ping test is used to validate</div><div> * The default tempest parameters in oooq are used to validate</div><div><br></div><div>By not using undercloud images, problems with the install will be more readily detected and obvious especially rpm dependency issues arise.  On the same token by using customer facing commands to build the overcloud images we can be assured that any problems with images are legitimate failures.  Using this design the entire workflow can be in one job and not rely on prerequisite image build steps.</div><div><br></div><div>My suggested design is to follow the upstream design pattern shown below.</div><div><br></div><div>If we use and ovb based job the upstream tripleo ovb periodic/promote jobs can be used as an example.  This design pattern can also be used in libvirt using baseos_rhel_libvirt [7].</div><div><br></div><div>In the ovb case the undercloud is provisioned using openstack api's and the undercloud is installed [1-2].  A determination of whether or not overcloud images are required to be imported or built is made [3].  Images are either imported [4], or built [5]</div><div><br></div><div>If the images are built they are done using customer facing commands [6]</div><div><br></div><div>This design has not yet been executed on the internal CI systems so I am looking for input, changes or comments.</div><div><br>Thank you!!</div><div><br></div><div><br></div><div>[1] <a href="https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L14-L18">https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L14-L18</a></div><div>[2] <a href="https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L58-L65">https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L58-L65</a></div><div>[3] <a href="https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L26-L28">https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L26-L28</a></div><div>[4] <a href="https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L42-L56">https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L42-L56</a></div><div>[5]  <a href="https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L72-L79">https://github.com/openstack-infra/tripleo-ci/blob/master/toci-quickstart/playbooks/ovb.yml#L72-L79</a>.</div><div>[6] <a href="https://github.com/openstack/tripleo-quickstart-extras/blob/master/roles/build-images/templates/overcloud-image-build.sh.j2#L30-L33">https://github.com/openstack/tripleo-quickstart-extras/blob/master/roles/build-images/templates/overcloud-image-build.sh.j2#L30-L33</a><br>[7] <a href="https://github.com/openstack/tripleo-quickstart/blob/master/config/environments/baseos_rhel_libvirt.yml.example">https://github.com/openstack/tripleo-quickstart/blob/master/config/environments/baseos_rhel_libvirt.yml.example</a></div><div><br></div><div><br></div><div><br></div></div>