Files
xen/tools/examples
kaf24@localhost.localdomain daddd6bbdd [TOOLS] Clean up routed vifs quietly on domain destruction.
I have experienced that the vif-route script does not work as expected
when deleting a virtual interface (Redhat FC5). Both of the commands
"ifdown" and "ip route" cause an early vif-route script exit and
therefore will cause skipping of the later script commands (such as
cleaning up iptables entries for the default 'antispoof'). The
vif-route
script creates the following syslog error entry:
"/etc/xen/scripts/vif-route failed; error detected."

It appears that both of the problematic commands are actually
redundant
when destroying domains:
1. the interface is already gone (I assume because the domain frontend
is gone already)  --> ifdown does not do anything
2. the route is gone as well since the interface has disappeared -->
ip
route del does not do anything

Executing those redundant commands with "do_without_error" ensures
that
the script completes and cleans up iptables rules. The attached
RFC-patch only masks those commands when bringing down an interface,
so
that domain creation continues to fail in case of vif setup problems
(intended behavior).

Having the iptables cleanup called correctly by vif-route is important
to keep the iptables rule-set clean, otherwise antispoof rules
accumulate with every vif creation.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>
2006-08-28 12:41:15 +01:00
..
2005-12-13 10:57:18 +00:00

Xen Control Tools - Examples
===================================

This directory contains example scripts and configurations for Xen.
For many operations you will either be able to use these scripts directly, or
incorporate code from them into your own scripts.

If you write a useful script and would like to share it, please do
send it (preferably with a little summary to go in this file) to
<xen-devel@lists.sourceforge.net> so we can add it to this directory.

block               - called by xen-backend.agent to bind/unbind dev  
block-common.sh     - sourced by block, block-*
block-enbd          - binds/unbinds network block devices
block-nbd           - binds/unbinds network block devices
external-device-migrate - called by xend for migrating external devices
locking.sh          - locking functions to prevent concurrent access to
                      critical sections inside script files
logging.sh          - logging function to log output using syslog
network-bridge      - xen network start/stop script when using bridging
network-nat         - xen network start/stop script when using NAT
network-route       - xen network start/stop script when using routing
vif-bridge          - virtual network start/stop script in bridged mode
vif-common.sh       - sourced by vif-bridge 
vif-nat             - xen virtual network start/stop script in NAT mode 
vif-route           - xen virtual network start/stop script in routed mode
vtpm                - called by xen-backend.agent to bind/unbind vTPM devices
vtpm-common.sh      - common code for vTPM handling
vtpm-delete         - remove an entry from the vTPM table given the
                      domain's name
vtpm-hotplug-common.sh - sourced by vtpm
vtpm-migration.sh   - sourced by external-device-migrate
xen-backend.agent   - calls block, vif-*, vtpm scripts to add, remove, hotplug
                      devices  
xen-backend.rules   - hotplug script rules
xend-config.sxp     - default xend configuration file
xen-hotplug-common.sh - sourced by vif-common.sh
xen-network-common.sh - sourced by vif-common.sh
xen-script-common.sh  - sourced by network-bridge, xen-hotplug-common.sh
xmexample1          - example configuration script for 'xm create'
xmexample2          - a more complex configuration script for 'xm create'
xmexample3          - an advanced configuration script for 'xm create' 
                      that utilizes the vmid
xmexample.nbd       - configuration script that uses NBD filesystems
xmexample.hvm       - a configuration script for creating a hvm domain with
                      'xm create'
xmexample.vti       - a configuration script for creating a domain on vti