yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #12064
[Bug 1296532] [NEW] Network interface should be restarted if instance has a static ip address.
Public bug reported:
Network interface should be restarted if instance has a static ip
address.
Details are as follows.
1. create a instance with specifying a static ip address A.
2. create a snapshot of a instance.
3. create a instance from snapshot with specifying a static ip address
B.
3.1 instance start (At this time, network interface is still specified to use ip address A.)
3.2 cloud-init edits /etc/network/interface to use ip address B.
3.3 cloud-init executes ifup command.
but network interface has already up, so new network information is not reflected.
We have to modify the _bring_up_interface method like this.
--- cloudinit/distros/__init__.py 2014-02-12 19:56:55 +0000
+++ cloudinit/distros/__init__.py 2014-03-24 05:59:00 +0000
@@ -271,11 +271,13 @@
util.write_file(self.hosts_fn, contents.getvalue(), mode=0644)
def _bring_up_interface(self, device_name):
- cmd = ['ifup', device_name]
- LOG.debug("Attempting to run bring up interface %s using command %s",
- device_name, cmd)
+ cmd_down = ['ifdown', device_name]
+ cmd_up = ['ifup', device_name]
+ LOG.debug("Attempting to restart interface %s using command %s %s",
+ device_name, cmd_down, cmd_up)
try:
- (_out, err) = util.subp(cmd)
+ (_out, down_err) = util.subp(cmd_down)
+ (_out, up_err) = util.subp(cmd_up)
** Affects: cloud-init
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1296532
Title:
Network interface should be restarted if instance has a static ip
address.
Status in Init scripts for use on cloud images:
New
Bug description:
Network interface should be restarted if instance has a static ip
address.
Details are as follows.
1. create a instance with specifying a static ip address A.
2. create a snapshot of a instance.
3. create a instance from snapshot with specifying a static ip address
B.
3.1 instance start (At this time, network interface is still specified to use ip address A.)
3.2 cloud-init edits /etc/network/interface to use ip address B.
3.3 cloud-init executes ifup command.
but network interface has already up, so new network information is not reflected.
We have to modify the _bring_up_interface method like this.
--- cloudinit/distros/__init__.py 2014-02-12 19:56:55 +0000
+++ cloudinit/distros/__init__.py 2014-03-24 05:59:00 +0000
@@ -271,11 +271,13 @@
util.write_file(self.hosts_fn, contents.getvalue(), mode=0644)
def _bring_up_interface(self, device_name):
- cmd = ['ifup', device_name]
- LOG.debug("Attempting to run bring up interface %s using command %s",
- device_name, cmd)
+ cmd_down = ['ifdown', device_name]
+ cmd_up = ['ifup', device_name]
+ LOG.debug("Attempting to restart interface %s using command %s %s",
+ device_name, cmd_down, cmd_up)
try:
- (_out, err) = util.subp(cmd)
+ (_out, down_err) = util.subp(cmd_down)
+ (_out, up_err) = util.subp(cmd_up)
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1296532/+subscriptions
Follow ups
References