Skip to content

Instantly share code, notes, and snippets.

@halcyondude
Last active May 22, 2018 14:09
Show Gist options
  • Save halcyondude/3644469b4d558a69aacbd7cdafcc3b0b to your computer and use it in GitHub Desktop.
Save halcyondude/3644469b4d558a69aacbd7cdafcc3b0b to your computer and use it in GitHub Desktop.
Sprint Planning: 14, 15 (preview)

Sprint Planning: 14, 15 (preview)

sprint 14

Where to put a zuul patch (etherpad)

At any place in the playbooks where we have a call to repo-setup role, we will also have a call to install-built-repo role (guarded by a when condition). Each of these places in code will have a unique name derived from where it is (the places linked in "current status" section could be called undercloud_deploy, overcloud_deploy, undercloud_mixed_upgrade).

  • Create a zuul_repo_enabled_at variable. It's an array, multiple values are allowed. It is set in a featureset yaml file, its value must be a subset of the unique install-built-repo points mentioned above. The default value is ['undercloud_deploy', 'overcloud_deploy'] which should work nicely for normal deploy jobs. We only execute the install-built-repo role at the spots which are in the zuul_repo_enabled_at list.

  • Add more insertion points than we have now, e.g. undercloud_mixed_update for minor update jobs, currently in minor updates we can just go from current+zuul to current+zuul.

  • With full switch to containers, a critical part of success will be inserting the zuul changes into container images. This is a big chunk of additional work, but i think driving the decision "when to use images with zull changes vs. without zuul changes" with the zuul_repo_enabled_at variable should be still valid.

  • gate jobs for upgrade

  • libvirt reproducer CI

    • Q: ovb reproducer CI has been suggested to be 'hard' what are the gaps?
    • We could avoid a bunch of work if we could launch tasks direclty on the libvirt host

Discussion

(panda)

one of the reasons why the upgrade team wants the capability to inject repos at multiple places/phases is that they want to add a variety of new jobs

  • pike --> queens
  • queens --> rocky

Wes: scenario...(baseline)

  • Let: Change is in queens... (P->Q)

  • Let: containers are always updated (might not be true today)

  • "If we have repo-setup and install-built-repo.."

    • when we call upgrade w/ "QUEENS"
      • update UC
      • update OC repos
      • update containers
    • in this case install built repo will run because there's a match on "change is in queens" predicate of python tool
  • Bigger challange...Mixed Upgrade (see (etherpad) @ L64+)

Regarding how we think about this sprint...

  • would like to avoid calling this a "tech debt sprint"
  • this seems like a "jumble" of tasks that are not related to a specific epic
  • if we think about all changes being packaged into RPM's, yum manages having rpm's updated in the correct places
    • ensure repos are in place (yay sprint 13...makes this simpler)
  • would be great to have visual aids that help to show how upgrade/update CI is working
    • some diagrams / line charts (e.g. Google Draw)
    • open question: for just our team vs. "time to communicate to community" ?

Regarding priorities

  1. Generate diagram for team (ahead of sprint planning)

    • this is to have discussion, and is a starting point. we can polish later.
    • can be used as a framework for testing / validation.
    • TC: this is a complex workflow + complex design, clarity will pay dividends here. It's worth it
  2. jobs 37, 50, $newThing in place and voting

    • $newThing := "keystone only upgrade"
  3. makeing sure repo-setup and build-test-change bits/roles/playbooks are working

    • gives us protections to make changes for (etherpad) safely

Retrospective Preview

  • simple things are not always simple
  • we had unknown unknowns coming into this sprint

sprint 15

Internal Software Factory! (rhinternal zuul v3

  • bringing up additional jobs
  • RDO on RHEL images and containers
  • Building OSP images and containers (reldel work under way)
  • refactoring TOCI work in a controllable safe place
    • zuul v3
    • mad hacking / prototyping on python release tool
    • we do need to excercise caution so we don't break the world
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment