summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2010-07-02 10:39:04 -0500
committerVishvananda Ishaya <vishvananda@gmail.com>2010-07-02 10:39:04 -0500
commit45c192aee681eb684599ac2cacd9c38996ca2bb5 (patch)
treef56146ed403f60109f909697f455620b7483feef
parent04b7b42bde70c53e251f795a1d71cd7cd341b5dc (diff)
downloadnova-45c192aee681eb684599ac2cacd9c38996ca2bb5.tar.gz
nova-45c192aee681eb684599ac2cacd9c38996ca2bb5.tar.xz
nova-45c192aee681eb684599ac2cacd9c38996ca2bb5.zip
Fixes and add interface template
-rw-r--r--nova/compute/disk.py2
-rw-r--r--nova/compute/interfaces.template18
-rw-r--r--nova/compute/network.py2
-rw-r--r--nova/endpoint/cloud.py13
4 files changed, 28 insertions, 7 deletions
diff --git a/nova/compute/disk.py b/nova/compute/disk.py
index 3f528de61..3cf06e0eb 100644
--- a/nova/compute/disk.py
+++ b/nova/compute/disk.py
@@ -125,7 +125,7 @@ def inject_data(image, key=None, net=None, partition=None, execute=None):
# inject key file
yield _inject_key_into_fs(key, tmpdir, execute=execute)
if net:
- yield _inject_net_into_fs(net, tmpdir)
+ yield _inject_net_into_fs(net, tmpdir, execute=execute)
finally:
# unmount device
yield execute('sudo umount %s' % mapped_device)
diff --git a/nova/compute/interfaces.template b/nova/compute/interfaces.template
new file mode 100644
index 000000000..11df301f6
--- /dev/null
+++ b/nova/compute/interfaces.template
@@ -0,0 +1,18 @@
+# This file describes the network interfaces available on your system
+# and how to activate them. For more information, see interfaces(5).
+
+# The loopback network interface
+auto lo
+iface lo inet loopback
+
+# The primary network interface
+auto eth0
+iface eth0 inet static
+ address %(address)s
+ netmask %(netmask)s
+ network %(network)s
+ broadcast %(broadcast)s
+ gateway %(gateway)s
+ dns-nameservers %(dns)s
+
+
diff --git a/nova/compute/network.py b/nova/compute/network.py
index 5223e59da..1cb202ea9 100644
--- a/nova/compute/network.py
+++ b/nova/compute/network.py
@@ -75,7 +75,7 @@ flags.DEFINE_string('simple_network_gateway', '192.168.0.1',
'Broadcast for simple network')
flags.DEFINE_string('simple_network_broadcast', '192.168.0.255',
'Broadcast for simple network')
-flags.DEFINE_string('simple_network_dns', '8.8.8.8',
+flags.DEFINE_string('simple_network_dns', '8.8.4.4',
'Dns for simple network')
logging.getLogger().setLevel(logging.DEBUG)
diff --git a/nova/endpoint/cloud.py b/nova/endpoint/cloud.py
index 50c087f2d..960c1e9af 100644
--- a/nova/endpoint/cloud.py
+++ b/nova/endpoint/cloud.py
@@ -538,7 +538,7 @@ class CloudController(object):
inst['ami_launch_index'] = num
inst['bridge_name'] = bridge_name
if FLAGS.simple_network:
- network.allocate_simple_ip(mac=inst['mac_address'])
+ address = network.allocate_simple_ip()
else:
if inst['image_id'] == FLAGS.vpn_image_id:
address = network.allocate_vpn_ip(
@@ -579,10 +579,13 @@ class CloudController(object):
pass
if instance.get('private_dns_name', None):
logging.debug("Deallocating address %s" % instance.get('private_dns_name', None))
- try:
- self.network.deallocate_ip(instance.get('private_dns_name', None))
- except Exception, _err:
- pass
+ if FLAGS.simple_network:
+ network.deallocate_simple_ip(instance.get('private_dns_name', None))
+ else:
+ try:
+ self.network.deallocate_ip(instance.get('private_dns_name', None))
+ except Exception, _err:
+ pass
if instance.get('node_name', 'unassigned') != 'unassigned': #It's also internal default
rpc.cast('%s.%s' % (FLAGS.compute_topic, instance['node_name']),
{"method": "terminate_instance",