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
Touch seeded packages, 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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to