From: "Daniel P. Berrange" <berrange@redhat.com>
To: xen-devel@lists.xensource.com
Subject: How to stop XenD creating bridge devices on startup?
Date: Mon, 23 Jul 2007 04:26:37 +0100 [thread overview]
Message-ID: <20070723032637.GA29416@redhat.com> (raw)
Prior to starting XenD I have a single bridge device 'eth0' containing a
physical interface 'peth0':
# brctl show
bridge name bridge id STP enabled interfaces
eth0 8000.00161745105a no peth0
The /etc/xen/xend-config.sxp is configured to a no-op network-script config,
and yet when I start XenD:
# /etc/init.d/xend start
Starting xend: [ OK ]
It still feels the need to create a whole bunch of bridge devices...
# brctl show
bridge name bridge id STP enabled interfaces
eth0 8000.00161745105a no peth0
virbr0 8000.000000000000 no
virbr1 8000.000000000000 no
vnet0 8000.000000000000 no
These bridge devices it is creating correspond to bridge devices I had
previously configured on the host, but since deleted. XenD happily
re-creates them every time it starts.
This problem is pretty repeatable, if you simply define a bridge and
then start & stop Xen
# brctl addbr foo
# /etc/init.d/xend start
Starting xend: [ OK ]
# /etc/init.d/xend stop
Stopping xend: [ OK ]
Now delete the bridge and start Xend again
# brctl delbr foo
# /etc/init.d/xend start
Starting xend: [ OK ]
Low and behold it has re-created the bridge
# brctl show | grep foo
foo 8000.000000000000 no
This is seriously unhelpful behaviour, the only way to kill it seems to be
to stop XenD and then hand edit its persistent state file.
The problem code is in XendNode.py
bridges = Brctl.get_state().keys()
configured_bridges = [XendAPIStore.get(
network_uuid, "network")
.get_name_label()
for network_uuid in XendNetwork.get_all()]
unconfigured_bridges = [bridge
for bridge in bridges
if bridge not in configured_bridges]
for unconfigured_bridge in unconfigured_bridges:
XendNetwork.create_phy(unconfigured_bridge)
This re-creates asks brctl for a list of all devices, records all their
names and then re-creates any it previously saw, but which no longer
exist. In essence once XenD has seen a bridge you can never remove it.
IMHO, any devices XenD sees from 'brctl' need to be marked as 'transient'
in some way and not kept in XenD persistent state file - it should only
be re-creating bridges that the user created via XenD's APIs
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
next reply other threads:[~2007-07-23 3:26 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-23 3:26 Daniel P. Berrange [this message]
2007-07-25 15:07 ` How to stop XenD creating bridge devices on startup? Luiz Vitor Martinez Cardoso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070723032637.GA29416@redhat.com \
--to=berrange@redhat.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.