From fbcfc8967aca733bb629cf846ffb94a9d3833ecc Mon Sep 17 00:00:00 2001 From: Jason Koelker Date: Thu, 21 Jul 2011 12:45:53 -0500 Subject: [PATCH 1/6] allow 2 dns servers to be specified on network create --- bin/nova-manage | 15 ++++++++++++--- nova/tests/test_network.py | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index b6029bb5..11d25459 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -566,12 +566,14 @@ class NetworkCommands(object): def create(self, label=None, fixed_range=None, num_networks=None, network_size=None, multi_host=None, vlan_start=None, vpn_start=None, fixed_range_v6=None, gateway_v6=None, - flat_network_bridge=None, bridge_interface=None): + flat_network_bridge=None, bridge_interface=None, + dns=None, dns2=None): """Creates fixed ips for host by range arguments: label, fixed_range, [num_networks=FLAG], [network_size=FLAG], [multi_host=FLAG], [vlan_start=FLAG], [vpn_start=FLAG], [fixed_range_v6=FLAG], [gateway_v6=FLAG], [flat_network_bridge=FLAG], [bridge_interface=FLAG] + [dns=FLAG], [dns2] If you wish to use a later argument fill in the gaps with ""s Ex: network create private 10.0.0.0/8 1 16 T "" "" "" "" xenbr1 eth1 network create private 10.0.0.0/8 1 16 @@ -605,6 +607,8 @@ class NetworkCommands(object): bridge_interface = FLAGS.flat_interface or FLAGS.vlan_interface if not gateway_v6: gateway_v6 = FLAGS.gateway_v6 + if not dns: + dns = FLAGS.flat_network_dns net_manager = utils.import_object(FLAGS.network_manager) try: @@ -619,17 +623,21 @@ class NetworkCommands(object): cidr_v6=fixed_range_v6, gateway_v6=gateway_v6, bridge=flat_network_bridge, - bridge_interface=bridge_interface) + bridge_interface=bridge_interface, + dns=dns, + dns2=dns2) except ValueError, e: print e raise e def list(self): """List all created networks""" - print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % (_('network'), + print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % ( + _('network'), _('netmask'), _('start address'), _('DNS'), + _('DNS2'), _('VlanID'), 'project') for network in db.network_get_all(context.get_admin_context()): @@ -637,6 +645,7 @@ class NetworkCommands(object): network.netmask, network.dhcp_start, network.dns, + network.dns2, network.vlan, network.project_id) diff --git a/nova/tests/test_network.py b/nova/tests/test_network.py index 7cc17484..9fefc695 100644 --- a/nova/tests/test_network.py +++ b/nova/tests/test_network.py @@ -56,6 +56,7 @@ networks = [{'id': 0, 'gateway': '192.168.0.1', 'broadcast': '192.168.0.255', 'dns': '192.168.0.1', + 'dns2': '192.168.0.2', 'vlan': None, 'host': None, 'project_id': 'fake_project', @@ -74,6 +75,7 @@ networks = [{'id': 0, 'gateway': '192.168.1.1', 'broadcast': '192.168.1.255', 'dns': '192.168.0.1', + 'dns2': '192.168.0.2', 'vlan': None, 'host': None, 'project_id': 'fake_project', From e2600aa8cc00e590720b85ecb2d6f3624c941c7f Mon Sep 17 00:00:00 2001 From: Jason Koelker Date: Thu, 21 Jul 2011 15:26:48 -0500 Subject: [PATCH 2/6] only use the flag if it evaluates true --- bin/nova-manage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/nova-manage b/bin/nova-manage index 11d25459..c5ea30fc 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -607,7 +607,7 @@ class NetworkCommands(object): bridge_interface = FLAGS.flat_interface or FLAGS.vlan_interface if not gateway_v6: gateway_v6 = FLAGS.gateway_v6 - if not dns: + if not dns and FLAGS.flat_network_dns: dns = FLAGS.flat_network_dns net_manager = utils.import_object(FLAGS.network_manager) From e5de21a2b69c2d5e6803fc8e704667922aad9d49 Mon Sep 17 00:00:00 2001 From: Jason Koelker Date: Thu, 21 Jul 2011 16:15:18 -0500 Subject: [PATCH 3/6] add in the right number of fields --- bin/nova-manage | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/nova-manage b/bin/nova-manage index c5ea30fc..ece63e54 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -641,7 +641,8 @@ class NetworkCommands(object): _('VlanID'), 'project') for network in db.network_get_all(context.get_admin_context()): - print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % (network.cidr, + print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % ( + network.cidr, network.netmask, network.dhcp_start, network.dns, From 85eed6d10900e6e8cf54f6c90c0c532b504df46c Mon Sep 17 00:00:00 2001 From: Jason Koelker Date: Fri, 22 Jul 2011 16:47:37 -0500 Subject: [PATCH 5/6] default to None in the method signature --- bin/nova-manage | 12 ++++++------ nova/tests/test_network.py | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index ece63e54..e97596a5 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -567,7 +567,7 @@ class NetworkCommands(object): network_size=None, multi_host=None, vlan_start=None, vpn_start=None, fixed_range_v6=None, gateway_v6=None, flat_network_bridge=None, bridge_interface=None, - dns=None, dns2=None): + dns1=None, dns2=None): """Creates fixed ips for host by range arguments: label, fixed_range, [num_networks=FLAG], [network_size=FLAG], [multi_host=FLAG], [vlan_start=FLAG], @@ -607,8 +607,8 @@ class NetworkCommands(object): bridge_interface = FLAGS.flat_interface or FLAGS.vlan_interface if not gateway_v6: gateway_v6 = FLAGS.gateway_v6 - if not dns and FLAGS.flat_network_dns: - dns = FLAGS.flat_network_dns + if not dns1 and FLAGS.flat_network_dns: + dns1 = FLAGS.flat_network_dns net_manager = utils.import_object(FLAGS.network_manager) try: @@ -624,7 +624,7 @@ class NetworkCommands(object): gateway_v6=gateway_v6, bridge=flat_network_bridge, bridge_interface=bridge_interface, - dns=dns, + dns1=dns1, dns2=dns2) except ValueError, e: print e @@ -636,7 +636,7 @@ class NetworkCommands(object): _('network'), _('netmask'), _('start address'), - _('DNS'), + _('DNS1'), _('DNS2'), _('VlanID'), 'project') @@ -645,7 +645,7 @@ class NetworkCommands(object): network.cidr, network.netmask, network.dhcp_start, - network.dns, + network.dns1, network.dns2, network.vlan, network.project_id) diff --git a/nova/tests/test_network.py b/nova/tests/test_network.py index c37e30c0..fbe7d769 100644 --- a/nova/tests/test_network.py +++ b/nova/tests/test_network.py @@ -55,7 +55,7 @@ networks = [{'id': 0, 'bridge_interface': 'fake_fa0', 'gateway': '192.168.0.1', 'broadcast': '192.168.0.255', - 'dns': '192.168.0.1', + 'dns1': '192.168.0.1', 'dns2': '192.168.0.2', 'vlan': None, 'host': None, @@ -74,7 +74,7 @@ networks = [{'id': 0, 'bridge_interface': 'fake_fa1', 'gateway': '192.168.1.1', 'broadcast': '192.168.1.255', - 'dns': '192.168.0.1', + 'dns1': '192.168.0.1', 'dns2': '192.168.0.2', 'vlan': None, 'host': None, From 345823be2b9c85290afb3cf651e3945c32f8881d Mon Sep 17 00:00:00 2001 From: Jason Koelker Date: Fri, 22 Jul 2011 17:02:31 -0500 Subject: [PATCH 6/6] docstring update --- bin/nova-manage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/nova-manage b/bin/nova-manage index e97596a5..7477c213 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -573,7 +573,7 @@ class NetworkCommands(object): [network_size=FLAG], [multi_host=FLAG], [vlan_start=FLAG], [vpn_start=FLAG], [fixed_range_v6=FLAG], [gateway_v6=FLAG], [flat_network_bridge=FLAG], [bridge_interface=FLAG] - [dns=FLAG], [dns2] + [dns1=FLAG], [dns2] If you wish to use a later argument fill in the gaps with ""s Ex: network create private 10.0.0.0/8 1 16 T "" "" "" "" xenbr1 eth1 network create private 10.0.0.0/8 1 16