← Back to team overview

openstack team mailing list archive

ip: SIOCGIFFLAGS: No such device

 

 

Hi, 

I've asked this question a few times on the IRC channel, and I
have an open question on ask.openstack.org but so far noone has managed
to answer it successfully. 

I have installed OpenStack Grizzly on
Ubuntu 12.04 LTS with Quantum and it is up to date with the Ubuntu
OpenStack respository. 

I have a simple problem: the network interface
is not being created when an instance starts up. Horizon seems to think
that the interface is correct. It lists: 

IP
Addresses
---------------
Officenet

However, in the logs of the
instance I get: 

ip: SIOCGIFFLAGS: No such device 

...and the only
interface that exists inside the instance is lo. 

I don't appear to get
any obvious errors in any of the quantum or nova logs. 

I believe that
quantum is supposed to create a tap port on the OVS bridge specified by
externel_network_bridge (br-eth1), but this is not happening. The
network physical port connected via eth1 has a hardware DHCP server on
it, but it doesn't appear to assigning a network device on that bridge,
so the DHCP request is not being forwarded. 

I have included my quantum
config, l3_agent.ini, and the output of ovs-vsctl as I guess these are
the most appropriate. (Removing commented-out defaults) 

Other than
solving my particular problem, I'm also trying to understand the process
that occurs here. What service (nova/quantum/something else?) actually
creates the port on the OVS bridge and links it to the instance's
virtual network device? 

Thanks for the help,
Tudor. 

Quantum.conf


========= 

[DEFAULT]
# Show more verbose log output (sets INFO log
level output)
verbose = True 

# Show debugging output in logs (sets
DEBUG log level output)
debug = True 

# Address to bind the API
server
bind_host = 0.0.0.0 

# Port the bind the API server to
bind_port
= 9696 

# Quantum plugin provider module 

core_plugin =
quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 

#
Paste configuration file
api_paste_config = /etc/quantum/api-paste.ini


# The strategy to be used for auth.
# Supported values are
'keystone'(default), 'noauth'.
auth_strategy = keystone 

# AMQP
exchange to connect to if using RabbitMQ or QPID 

control_exchange =
quantum 

# If passed, use a fake RabbitMQ provider
fake_rabbit = False


# IP address of the RabbitMQ installation
rabbit_host = 10.0.0.1
#
Password of the RabbitMQ server
rabbit_password = password 

#
============ Notification System Options ===================== 

#
Notifications can be sent when network/subnet/port are create, updated
or deleted.
# There are four methods of sending notifications, logging
(via the
# log_file directive), rpc (via a message queue),
# noop (no
notifications sent, the default) or list of them 

# Defined in notifier
api
notification_driver =
quantum.openstack.common.notifier.list_notifier 

# Defined in
list_notifier 

list_notifier_drivers =
quantum.openstack.common.notifier.rabbit_notifier 

[QUOTAS]


L3_agent.ini 

======== 

[DEFAULT] 

# OVS 

interface_driver =
quantum.agent.linux.interface.OVSInterfaceDriver
#
LinuxBridge
#interface_driver =
quantum.agent.linux.interface.BridgeInterfaceDriver 

# The Quantum user
information for accessing the Quantum API.
auth_url =
http://10.0.0.1:35357/v2.0
auth_region = RegionOne
admin_tenant_name =
service
admin_user = quantum 
admin_password = password 

# Use "sudo
quantum-rootwrap /etc/quantum/rootwrap.conf" to use the real
# root
filter facility.
# Change to "sudo" to skip the filtering and just run
the comand directly
root_helper = sudo /usr/bin/quantum-rootwrap
/etc/quantum/rootwrap.conf 

# Allow overlapping IP (Must have kernel
build with CONFIG_NET_NS=y and
# iproute2 package that supports
namespaces).
# use_namespaces = True
use_namespaces = False 

# If
use_namespaces is set as False then the agent can only configure one
router.
# This is done by setting the specific router_id.
# router_id
=
router_id = e263323d-ad1d-4930-8739-ebf80cef3f96 

# Each L3 agent can
be associated with at most one external network. This
# value should be
set to the UUID of that external network. If empty,
# the agent will
enforce that only a single external networks exists and
# use that
external network id
# gateway_external_net_id =
gateway_external_net_id
= e1bbbcb1-e20d-48e5-ae89-823c1a485625 

# Indicates that this L3 agent
should also handle routers that do not have 

# an external network
gateway configured. This option should be True only
# for a single agent
in a Quantum deployment, and may be False for all agents
# if all
routers must have an external network gateway
#
handle_internal_only_routers = True 

# Name of bridge used for external
network traffic. This should be set to
# empty value for the linux
bridge
# external_network_bridge = br-ex
external_network_bridge =
br-eth1 

# IP address used by Nova metadata server
# metadata_ip
=
metadata_ip = 10.0.0.1 

# TCP Port used by Nova metadata server
#
metadata_port = 8775 

# The time in seconds between state poll
requests
# polling_interval = 3 

ovs-vsctl show 

========= 

#
ovs-vsctl show
e1bbbcb1-e20d-48e5-ae89-823c1a485625
 Bridge "br-eth1"

Port "phy-br-eth1"
 Interface "phy-br-eth1"
 Port "eth1"
 Interface
"eth1"
 Port "br-eth1"
 Interface "br-eth1"
 type: internal
 Bridge
br-tun
 Port patch-int
 Interface patch-int
 type: patch
 options:
{peer=patch-tun}
 Port br-tun
 Interface br-tun
 type: internal
 Bridge
"br-eth0"
 Port "phy-br-eth0"
 Interface "phy-br-eth0"
 Port "eth0"

Interface "eth0"
 Port "br-eth0"
 Interface "br-eth0"
 type: internal

ovs_version: "1.4.0+build0" 

 

Follow ups