Sorry for getting behind on these, but we're nearing the finish line on summit session recaps. :)

We had a design summit session to reflect a bit on what went well and what didn't go so well with the libvirt imagebackend refactor work in the Newton release, and where to go from here. The full etherpad is here:

https://etherpad.openstack.org/p/ocata-nova-summit-libvirt-imagebackend

We start with the mini retrospective.

What went well:

- mdbooth gained knowledge on some really gross and tricky parts of the nova code base, like block devices and the libvirt image backend/cache code. The more people know about this code the better though.
- We identified some integration testing gaps.
- The smaller incremental changes were easier to review.

What didn't go so well:

- A lot of code was written but didn't land. This was due to a few things, such as review fatigue on a seemingly endless series of changes with no end goal in sight, and just in general we had a lot of priorities in the Newton release so core reviewers were also spending time reviewing other priorities. - The EMC/ScaleIO team was told their new libvirt imagebackend code needed to wait for the refactor work to complete and they pushed up a single large patch to refactor all of the code, which was -2ed as it conflicted with what mdbooth was working on. There was an obvious breakdown in communication here, but we want to stress that we are open to new ideas on how to write all of this code, it was just a distraction at the time in Newton though so bad timing. We'd probably also need better testing coverage before we could totally rewrite all of it.

What to change:

- Work in smaller chunks (10 changes in a series max) to avoid reviewer fatigue. - Do the changes in a single topic branch - the changes in Newton moved around a bit and were hard for reviewers to follow.

After the retrospective we talked about the plans for this effort in Ocata.

The major change here is potentially not persisting the storage metadata in the nova database as originally laid out in the spec. There are thoughts now around storing the canonical domain xml for a libvirt guest and then using that for things like reboot. So Matt Booth isn't going to focus on the storage persistence part of the spec for Ocata and just continue working on refactoring and cleaning up the libvirt image backend and image cache code.

We also said that we wouldn't block the ScaleIO imagebackend on the refactor work now, same with Virtuozzo supporting ephemeral disks.

Finally, we talked a bit about reviving some CI testing around resizing with ephemeral disks here:

https://review.openstack.org/#/c/338411/

We want to try and move forward on that by modifying the test flavors created in devstack to include some ephemeral disk and then change the proposed test in Tempest to check if the flavors that Tempest is configured to use contain ephemeral disk and if so, then resize the instance and ssh into the guest to verify the ephemeral disks were resized, else just skip the test.

--

Thanks,

Matt Riedemann


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to