diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-01-10 12:31:48 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-01-10 12:31:48 +0000 |
| commit | fa43949c05ff4e5165baa2f0a0f1555e94bcf212 (patch) | |
| tree | 257727bde45442607e07ea2f27f554e74f0be243 /bin | |
| parent | ef6058a44649715d5215958475c444ad811fe491 (diff) | |
| parent | 26b24b7e2305d9aa179a9d257b715e6d67b75573 (diff) | |
| download | nova-fa43949c05ff4e5165baa2f0a0f1555e94bcf212.tar.gz nova-fa43949c05ff4e5165baa2f0a0f1555e94bcf212.tar.xz nova-fa43949c05ff4e5165baa2f0a0f1555e94bcf212.zip | |
Merge "Adds support for floating ip pools"
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/nova-manage | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/bin/nova-manage b/bin/nova-manage index a61b5c1dd..79683fef7 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -1,6 +1,7 @@ #!/usr/bin/env python # vim: tabstop=4 shiftwidth=4 softtabstop=4 +# Copyright (c) 2011 X.commerce, a business unit of eBay Inc. # Copyright 2010 United States Government as represented by the # Administrator of the National Aeronautics and Space Administration. # All Rights Reserved. @@ -103,6 +104,8 @@ flags.DECLARE('multi_host', 'nova.network.manager') flags.DECLARE('network_size', 'nova.network.manager') flags.DECLARE('vlan_start', 'nova.network.manager') flags.DECLARE('vpn_start', 'nova.network.manager') +flags.DECLARE('default_floating_pool', 'nova.network.manager') +flags.DECLARE('public_interface', 'nova.network.linux_net') flags.DECLARE('libvirt_type', 'nova.virt.libvirt.connection') flags.DEFINE_flag(flags.HelpFlag()) flags.DEFINE_flag(flags.HelpshortFlag()) @@ -684,14 +687,23 @@ class FixedIpCommands(object): class FloatingIpCommands(object): """Class for managing floating ip.""" - @args('--ip_range', dest="range", metavar='<range>', help='IP range') - def create(self, range): + @args('--ip_range', dest="ip_range", metavar='<range>', help='IP range') + @args('--pool', dest="pool", metavar='<pool>', help='Optional pool') + @args('--interface', dest="interface", metavar='<interface>', + help='Optional interface') + def create(self, ip_range, pool=None, interface=None): """Creates floating ips for zone by range""" - addresses = netaddr.IPNetwork(range) + addresses = netaddr.IPNetwork(ip_range) admin_context = context.get_admin_context() + if not pool: + pool = FLAGS.default_floating_pool + if not interface: + interface = FLAGS.public_interface for address in addresses.iter_hosts(): db.floating_ip_create(admin_context, - {'address': str(address)}) + {'address': str(address), + 'pool': pool, + 'interface': interface}) @args('--ip_range', dest="ip_range", metavar='<range>', help='IP range') def delete(self, ip_range): |
