summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-01-10 12:31:48 +0000
committerGerrit Code Review <review@openstack.org>2012-01-10 12:31:48 +0000
commitfa43949c05ff4e5165baa2f0a0f1555e94bcf212 (patch)
tree257727bde45442607e07ea2f27f554e74f0be243 /bin
parentef6058a44649715d5215958475c444ad811fe491 (diff)
parent26b24b7e2305d9aa179a9d257b715e6d67b75573 (diff)
downloadnova-fa43949c05ff4e5165baa2f0a0f1555e94bcf212.tar.gz
nova-fa43949c05ff4e5165baa2f0a0f1555e94bcf212.tar.xz
nova-fa43949c05ff4e5165baa2f0a0f1555e94bcf212.zip
Merge "Adds support for floating ip pools"
Diffstat (limited to 'bin')
-rwxr-xr-xbin/nova-manage20
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):