lp:~vishvananda/nova/lp702741

Created by Vish Ishaya and last modified
Get this branch:
bzr branch lp:~vishvananda/nova/lp702741
Only Vish Ishaya can upload to this branch. If you are Vish Ishaya please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Vish Ishaya
Project:
OpenStack Compute (nova)
Status:
Merged

Recent revisions

568. By Vish Ishaya

fix test to respect xml changes

567. By Vish Ishaya

merged trunk

566. By Vish Ishaya

use .local and .rescue for disk images so they don't make app-armor puke

565. By Ed Leafe

Implements the blueprint for enabling the setting of the root/admin password on an instance.

It uses a new xenapi plugin 'agent' that handles communication to/from the agent running on the guest.

564. By Nachi Ueno

OpenStack Compute (Nova) IPv4/IPv6 dual stack support
http://wiki.openstack.org/BexarIpv6supportReadme

Tested with
 unit test
 smoke test

No conflict with current branch r 562.
Fixed comment by Soren and Vish

563. By MORITA Kazutaka

This change introduces support for Sheepdog (distributed block storage
system) which is proposed in
https://blueprints.launchpad.net/nova/+spec/sheepdog-support

Requirements:

 - libvirt 0.8.7 or later
 - qemu 0.13.0 or later

How to test:

1. install Sheepdog

  The software is available from SourceForge.net:
    https://sourceforge.net/projects/sheepdog/files/

  See also:
    http://wiki.qemu.org/Features/Sheepdog/Getting_Started#Install

2. run the sheepdog daemon on each hosts

    $ sheep /store_dir

  /store_dir is a directory to store sheepdog objects. The directory
  must be on the filesystem with an xattr support.

3. format the sheepdog storage

    $ collie cluster format --copies=3

4. run nova-volume

    $ nova-volume --volume_driver=nova.volume.driver.SheepdogDriver

562. By Vish Ishaya

This modifies libvirt to use CoW images instead of raw images. This is much more efficient and allows us to use the snapshotting capabilities available for qcow2 images. It also changes local storage to be a separate drive instead of a separate partition.

I'm proposing this branch for review to get feedback. I may have inadvertently broken a few things. Comments and possible issues:

1. I haven't tested the other hypervisors. I may have broken libvirt xen support and uml support with this patch.
2. Is it useful to have a use_cow_images param, or should it just be automatic for qemu/kvm and turned off for everything else.
3. create_image is a large annoying method. I tried to clean it up a bit, but it could probably use a bit more refactoring.
4. disk.py seems to be only used by the hypervisors, so perhaps it should move into virt dir.
5. disk.py/partition() is unused now. Should we leave it in or throw it away?

Comments welcome

561. By Soren Hansen

Add a new method to firewall drivers to tell them to stop filtering a particular instance. Call it when an instance has been destroyed.

Use dict()s (keyed off id's) instead of set()s for keeping track of instances and security groups in the iptables firewall driver. __eq__ for objects from sqlalchemy fetched in different sessions doesn't work as expected, so I needed to explicitly filter on ID.

560. By termie

Fixes related to how EC2 ids are displayed and dealt with.

Additionally adds two flags that define a template string that is used for the internal naming of things (like the volume name of a logical volume on disk), default being similar to the EC2 format, so that the ids are easy to match while testing when you may need to manually delete or check something.

559. By Vish Ishaya

Fixes broken call to __generate_rc in auth manager.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~hudson-openstack/nova/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers