Create a dev mode option

Bug #1572958 reported by John Trowbridge
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo-quickstart
Fix Released
Medium
Attila Darazs

Bug Description

This is partially discussed in https://bugs.launchpad.net/tripleo-quickstart/+bug/1569477 but it is a bit of a separate issue. We need a way to make tripleo-quickstart more closely resemble tripleoci.

The key things that need to be handled are:

1. Puppet modules from source

For the undercloud this is easy, as there is already a mechanism to pass arbitrary environment variables to the undercloud install. For the overcloud, I have had success with using the puppet modules from the undercloud via deploy artifacts, but this is not wired in to tripleo-quickstart.

2. Repo setup

We need a way to pass in extra repos, so we can get a repo setup like tripleoci. To start, this would just be a trunk 'current' repo with the whitelisted tripleo packages. However, it would be good if we could use this same mechanism to pass in a delorean repo created on the fly for CI purposes.

3. Some way to conditionally enable the above behaviors

There is a good reason that RDO does not do the above steps. Since we are using HEAD of master of all of tripleo and puppet, it is more fragile. I would like to keep the default path as something that has a very high probability of success at all times. This is obviously what we want for new users, but I think even the dev case benefits from that default. It makes it easy to see if something is unexpectedly broken with the tool itself or with one of the projects it sets up. I think both of the above steps are completely additive to the existing RDO configuration, so we could create a dev.yml configuration that enables those behaviors, and gets used with a --dev option to quickstart.sh.

Revision history for this message
John Trowbridge (trown) wrote :

I set this as critical, because we will not likely get a non-dev mode promotion of the master repo this week[1], and next week is summit. Without a promotion in RDO, we do not have ANY image on master to consume. That severely limits tripleo-quickstart's value.

I have a repo hash that will pass with using puppet modules from source (by the time the manual OPM process happened there was some other breakage on trunk), and given that we have no image now, I do think it is a step forward to have an image that only works in dev mode.

[1] For one there are multiple failures to build from source from a new unpackaged dependency, which now blocks moving the pin forward even if we fixed all of the other breakages.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-quickstart (master)

Fix proposed to branch: master
Review: https://review.openstack.org/310778

Changed in tripleo-quickstart:
assignee: nobody → John Trowbridge (trown)
status: Triaged → In Progress
Revision history for this message
John Trowbridge (trown) wrote :

Now that we have split out puppet-modules packages, I think https://review.openstack.org/310778 is no longer needed.

Also, for "2. Repo Setup", we do not need that if we have an option to use the cached image from the tripleo-ci mirror server.

What we do still need, is a way to build DLRN packages, and inject them in to the undercloud and overcloud images.

There is a new anisble role in the RDO github that can be used to build DLRN packages[1], and it is already partially integrated into tripleo-quickstart[2]. There are a couple of open reviews against this new role [3,4] that improve the interface for manual usage allowing for the following configuration to test unmerged code and packaging packages:

```
artg_change_list:
  - project: openstack/ironic
    branch: master
    packaging_repo: https://review.rdoproject.org/r/openstack/ironic-distgit
    packaging_refspec: refs/changes/57/1157/6
  - project: openstack/puppet-nova
    branch: master
    code_repo: https://git.openstack.org/openstack/puppet-nova
    code_refspec: refs/changes/41/316241/8
  - project: openstack/cinder
    branch: master
    code_repo: https://git.openstack.org/openstack/cinder
    code_refspec: refs/changes/44/318744/3
    packaging_repo: http://review.rdoproject.org/r/openstack/cinder-distgit
    packaging_refspec: refs/changes/48/1148/4
```

Above is purely an example, but shows that we can test an ironic packaging change with a puppet-nova code change, with a cinder change to both packaging and code.

There is also a review for tripleo-quickstart to make sure we inject the packages into the overcloud-full image as well. [5]

The only missing pieces are documentation on using this functionality in tripleo-quickstart, as well as completing the integration of the external tripleo-gate role into quickstart.sh.

[1] https://github.com/redhat-openstack/ansible-role-tripleo-gate/
[2] https://github.com/openstack/tripleo-quickstart/commit/9bdf34606dff9ff3477cddb804f1dbe5511a4c65
[3] https://review.gerrithub.io/#/c/277358
[4] https://review.gerrithub.io/#/c/277418
[5] https://review.openstack.org/#/c/319901

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-quickstart (master)

Change abandoned by John Trowbridge (<email address hidden>) on branch: master
Review: https://review.openstack.org/310778
Reason: See https://bugs.launchpad.net/tripleo-quickstart/+bug/1572958 for why this is no longer needed.

Changed in tripleo-quickstart:
assignee: John Trowbridge (trown) → Attila Darazs (adarazs)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-quickstart (master)

Reviewed: https://review.openstack.org/319901
Committed: https://git.openstack.org/cgit/openstack/tripleo-quickstart/commit/?id=c682b00179469daa86ad15785319f8e867b5b973
Submitter: Jenkins
Branch: master

commit c682b00179469daa86ad15785319f8e867b5b973
Author: John Trowbridge <email address hidden>
Date: Mon May 23 08:21:12 2016 -0400

    Inject gating repo in overcloud-full image as well

    For some packages (puppet modules), we need to inject
    them in both the undercloud and overcloud. This patch
    handles the overcloud case, by first extracting the
    overcloud-full image. Then, injecting the gating repo,
    and finally, putting the updated image back on to
    the undercloud.

    Partial-Bug: 1572958
    Change-Id: I2fc326b640d7f6020c27d2040f6328192cf890f3

Revision history for this message
John Trowbridge (trown) wrote :

We merged dev-mode, so closing this. It would be good to open a new bug for improving dev mode to be more useful.

Changed in tripleo-quickstart:
importance: Critical → Medium
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.