lp:~mike-mayo/+junk/nova

Created by Mike Mayo and last modified
Get this branch:
bzr branch lp:~mike-mayo/+junk/nova
Only Mike Mayo can upload to this branch. If you are Mike Mayo please log in for upload directions.

Related bugs

Related blueprints

Branch information

Owner:
Mike Mayo
Status:
Development

Recent revisions

350. By Mike Mayo

disable openstack auth

349. By Mike Mayo

disable openstack auth

348. By Mike Mayo

use only openstack api

347. By Vish Ishaya

Adds flat networking + dhcpserver mode.

346. By Vish Ishaya

This patch removes the ugly network_index that is used by VlanManager and turns network itself into a pool. It adds support for creating the networks through an api command:
    nova-manage network create # creates all of the networks defined by flags
or
    nova-manage network create 5 # create the first five networks

This moves the network out of project.create, associating a network to a project lazily in project_get_network. This allows for a bit greater control over networks. There are a couple outstanding issues:
   1) Where do networks get disassociated? Right now I'm not disassociating at all. We're sharing ldap users across different deploys, whereas sql db is unique per deploy. Perhaps the solution is to have a flag like disassociate_on_project_destroy and make it optional?
   2) How do we handle creation of networks for tests? It is really slow to create a pool of networks and fixed_ips for each test case. Right now I'm taking advantage of the fact that the db isn't cleaned between tests, and creating them if they don't exist in BaseTestCase.SetUp() and disassociating in TearDown(). Ideally this should be replaced with fixtures of some sort.

Comments on these two issues are welcome.

345. By Michael Gundlach

Revert the conversion to 64-bit ints stored in a PickleType column, because PickleType is incompatible with having a unique constraint.

We moved away from 32 bit ints because of the chance of collision. It turns out the existing code already checked for collisions and retried, so this wasn't an issue.

344. By Soren Hansen

This patch adds support for EC2 security groups using libvirt's nwfilter mechanism, which in turn uses iptables and ebtables on the individual compute nodes.
This has a number of benefits:
 * Inter-VM network traffic can take the fastest route through the network without our having to worry about getting it through a central firewall.
 * Not relying on a central firewall also removes a potential SPOF.
 * The filtering load is distributed, offering great scalability.

Caveats:
 * It only works with libvirt and only with libvirt drivers that support nwfilter (qemu (and thus kvm) and uml, at the moment)

343. By Michael Gundlach

Change internal_id from a 32 bit int to a 64 bit int.

Specifically, generate internal_id as a random number in [0, 2^64). SQLAlchemy has no built-in type for big integers, so the internal_id column is a PickleType, set to non-mutable to avoid performance penalties associated with mutable column types. Under the hood, this is stored as a Binary.

In Austin+1 we'll probably be replacing internal_id with a string, but we need something bigger than 32 bits for Austin.

342. By Michael Gundlach

Make Instance.name a string again instead of an integer.

Prefix it with some characters for good measure in case any code consumes .name and can't handle strings of the form /[0-9]+/.

341. By Ewan Mellor <emellor@silver>

Catch exception.NotFound when getting project VPN data.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers