xenserver: no such option flat_network_bridge

Bug #1229743 reported by guillaume thouvenin
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
devstack
Invalid
Undecided
Unassigned

Bug Description

In the file lib/nova, if VIRT_DRIVER is set to xenserver the FLAT_NETWORK_BRIDGE_DEFAULT is set according to the /proc/cmdline

# Set defaults according to the virt driver
if [ "$VIRT_DRIVER" = 'xenserver' ]; then
    PUBLIC_INTERFACE_DEFAULT=eth2
    GUEST_INTERFACE_DEFAULT=eth1
    # Allow ``build_domU.sh`` to specify the flat network bridge via kernel args
    FLAT_NETWORK_BRIDGE_DEFAULT=$(sed -e 's/.* flat_network_bridge=\([[:alnum:]]*\).*$/\1/g' /proc/cmdline)

The problem is if I run a devstack in a VM that I created because the output of the /proc/cmdline is as follow:

$ cat /proc/cmdline
root=UUID=35af4500-5bab-49e4-9641-28b1dc3e777a ro console=hvc0 splash quiet $vt_handoff -- quiet console=hvc0

So if you don't set a flat_network_bridge in your localrc, in stack.log you see:

2013-09-24 15:26:07 + local option=flat_network_bridge
2013-09-24 15:26:07 + local line
2013-09-24 15:26:07 ++ sed -ne '/^\[DEFAULT\]/,/^\[.*\]/ { /^flat_network_bridge[ \t]*=/ p; }' /etc/nova/nova.conf
2013-09-24 15:26:07 + line=
2013-09-24 15:26:07 + '[' -n '' ']'
2013-09-24 15:26:07 + sed -i -e '/^\[DEFAULT\]/ a\
2013-09-24 15:26:07 flat_network_bridge = root=UUID=35af4500-5bab-49e4-9641-28b1dc3e777a ro console=hvc0 splash quiet $vt_handoff -- quiet console=hvc0

and of course nova-api can not start:

2013-09-24 15:49:59.576 CRITICAL nova [-] no such option: flat_network_bridge
2013-09-24 15:49:59.576 TRACE nova Traceback (most recent call last):
2013-09-24 15:49:59.576 TRACE nova File "/usr/local/bin/nova-api", line 10, in <module>
2013-09-24 15:49:59.576 TRACE nova sys.exit(main())
2013-09-24 15:49:59.576 TRACE nova File "/opt/stack/nova/nova/cmd/api.py", line 53, in main
2013-09-24 15:49:59.576 TRACE nova launcher.wait()
2013-09-24 15:49:59.576 TRACE nova File "/opt/stack/nova/nova/openstack/common/service.py", line 277, in wait
2013-09-24 15:49:59.576 TRACE nova CONF.log_opt_values(LOG, std_logging.DEBUG)
2013-09-24 15:49:59.576 TRACE nova File "/opt/stack/oslo.config/oslo/config/cfg.py", line 1934, in log_opt_values
2013-09-24 15:49:59.576 TRACE nova _sanitize(opt, getattr(self, opt_name)))
2013-09-24 15:49:59.576 TRACE nova File "/opt/stack/oslo.config/oslo/config/cfg.py", line 1641, in __getattr__
2013-09-24 15:49:59.576 TRACE nova raise NoSuchOptError(name)
2013-09-24 15:49:59.576 TRACE nova NoSuchOptError: no such option: flat_network_bridge
2013-09-24 15:49:59.576 TRACE nova

Tags: xenserver
Revision history for this message
Bob Ball (bob-ball) wrote :

You can set FLAT_NETWORK_BRIDGE in the localrc to avoid reading this from /proc/cmdline.

lib/nova_plugins/hypervisor-xenserver will read the value from /proc/cmdline into FLAT_NETWORK_BRIDGE_DEFAULT however lib/nova will use FLAT_NETWORK_BRIDGE if it is defined before reading FLAT_NETWORK_BRIDGE_DEFAULT

Bob Ball (bob-ball)
Changed in devstack:
status: New → Invalid
tags: added: xenserver
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.