[Bug 1590052] [NEW] juju deploy brings up interfaces in wrong order
Hrvoje
hrvoje.habjanic at zg.ht.hr
Tue Jun 7 15:37:50 UTC 2016
Public bug reported:
Hi.
Upon using "juju bootstrap" for maas environment, deploying first
machine get stuck, if machine have only bond interface.
I would seem that problem is with add-juju-bridge.py script, which is
responsible for changing interfaces file, and bringing them up.
In this script, you have:
[snip]
ifquery = "$(ifquery --interfaces={} --exclude=lo --list)".format(args.filename)
print("**** Original configuration")
print_shell_cmd("cat {}".format(args.filename))
print_shell_cmd("ifconfig -a")
print_shell_cmd("ifdown --exclude=lo --interfaces={} {}".format(args.filename, ifquery))
print("**** Activating new configuration")
with open(args.filename, 'w') as f:
print_stanzas(stanzas, f)
f.close()
print_shell_cmd("cat {}".format(args.filename))
print_shell_cmd("ifup --exclude=lo --interfaces={} {}".format(args.filename, ifquery))
print_shell_cmd("ip link show up")
print_shell_cmd("ifconfig -a")
print_shell_cmd("ip route show")
print_shell_cmd("brctl show")
[snip]
Problem here is how "ifquery --interfaces={} --exclude=lo --list"
returns list of interfaces. If we assume interfaces:
bond0
eth0
eth1
sometimes, ifquery will return "bond0 eth0 eth1", and feed this to ifup.
Ifup will first try to bring up bond0 - and wait for it! Since nobody
will bring up eth0 or eth1 - this waits until infinity.
Possible solutions:
1. change add-juju-bridge.py to first bring up ordinary interfaces, then other ones
2. change ifenslave to internally call "ifup <slave>" before entering endless loop
I'm on trusty (14.4.04 LTS):
juju-core 1.25.5-0ubuntu3~14.04.1
ifenslave 2.4ubuntu1.2
Regards,
H.
** Affects: systemd (Ubuntu)
Importance: Undecided
Status: New
** Tags: add-juju-bridge.py bootstrap ifenslave juju stuck
** Tags added: add-juju-bridge.py bootstrap ifenslave juju stuck
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1590052
Title:
juju deploy brings up interfaces in wrong order
Status in systemd package in Ubuntu:
New
Bug description:
Hi.
Upon using "juju bootstrap" for maas environment, deploying first
machine get stuck, if machine have only bond interface.
I would seem that problem is with add-juju-bridge.py script, which is
responsible for changing interfaces file, and bringing them up.
In this script, you have:
[snip]
ifquery = "$(ifquery --interfaces={} --exclude=lo --list)".format(args.filename)
print("**** Original configuration")
print_shell_cmd("cat {}".format(args.filename))
print_shell_cmd("ifconfig -a")
print_shell_cmd("ifdown --exclude=lo --interfaces={} {}".format(args.filename, ifquery))
print("**** Activating new configuration")
with open(args.filename, 'w') as f:
print_stanzas(stanzas, f)
f.close()
print_shell_cmd("cat {}".format(args.filename))
print_shell_cmd("ifup --exclude=lo --interfaces={} {}".format(args.filename, ifquery))
print_shell_cmd("ip link show up")
print_shell_cmd("ifconfig -a")
print_shell_cmd("ip route show")
print_shell_cmd("brctl show")
[snip]
Problem here is how "ifquery --interfaces={} --exclude=lo --list"
returns list of interfaces. If we assume interfaces:
bond0
eth0
eth1
sometimes, ifquery will return "bond0 eth0 eth1", and feed this to
ifup. Ifup will first try to bring up bond0 - and wait for it! Since
nobody will bring up eth0 or eth1 - this waits until infinity.
Possible solutions:
1. change add-juju-bridge.py to first bring up ordinary interfaces, then other ones
2. change ifenslave to internally call "ifup <slave>" before entering endless loop
I'm on trusty (14.4.04 LTS):
juju-core 1.25.5-0ubuntu3~14.04.1
ifenslave 2.4ubuntu1.2
Regards,
H.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1590052/+subscriptions
More information about the foundations-bugs
mailing list