%(command-name)s --session <SESSION-REF> --pif <PIF-REF> [up|down|rewrite]
%(command-name)s --force <BRIDGE> [up|down|rewrite <CONFIG>]
%(command-name)s --force all down
+ %(command-name)s init-dbcache
where,
<CONFIG> = --device=<INTERFACE> --mode=dhcp
if len(force_rewrite_config) and not (force_interface and action == "rewrite"):
raise Usage("\"--force rewrite\" needed for --device, --mode, --ip, --netmask, and --gateway")
+ if action == "init-dbcache" and arglist:
+ raise Usage("\"init-dbcache\" action does not accept any options")
+
global db
if force_interface:
log("Force interface %s %s" % (force_interface, action))
action_down(pif)
else:
raise Usage("Unknown action %s" % action)
+ elif action == "init-dbcache":
+ DatabaseCache().save(dbcache_file)
else:
db = DatabaseCache(session_ref=session)
$RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-pki.8 \
$RPM_BUILD_ROOT/root/vswitch/share/openvswitch
+install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
+
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
+%post
if [ ! -f /etc/xensource-inventory ]; then
printf "XenSource inventory not present in /etc/xensource-inventory"
exit 1
fi
fi
-if test ! -e /etc/ovs-vswitch.dbcache; then
+if test ! -e /var/lib/openvswitch/dbcache; then
if test "$1" = 1; then
printf "Creating xapi database cache... "
else
printf "Re-creating xapi database cache... "
fi
- source /etc/xensource-inventory
- if python - "$INSTALLATION_UUID" <<EOF
-import XenAPI
-import pickle
-import sys
-
-session = XenAPI.xapi_local()
-try:
- session.xenapi.login_with_password("root", "")
-
- vlans = session.xenapi.VLAN.get_all_records()
- bonds = session.xenapi.Bond.get_all_records()
- pifs = session.xenapi.PIF.get_all_records()
- networks = session.xenapi.network.get_all_records()
- host = session.xenapi.host.get_by_uuid(sys.argv[1])
-finally:
- session.xenapi.session.logout()
-
-dbcache_file = "/etc/ovs-vswitch.dbcache"
-f = open(dbcache_file, 'w')
-pickle.dump({'vlans': vlans,
- 'bonds': bonds,
- 'pifs': pifs,
- 'networks': networks}, f)
-pickle.dump({'host': host}, f)
-f.close()
-EOF
- then
+ if /root/vswitch/scripts/interface-reconfigure init-dbcache; then
printf "done.\n"
else
printf "FAILED\n"
fi
fi
-%post
if grep -F net.ipv4.conf.all.arp_filter /etc/sysctl.conf >/dev/null 2>&1; then :; else
cat >>/etc/sysctl.conf <<EOF
# This works around an issue in xhad, which binds to a particular
/root/vswitch/share/man/man8/ovs-dpctl.8
/root/vswitch/share/man/man8/ovs-ofctl.8
/root/vswitch/share/man/man8/ovs-vswitchd.8
+/var/lib/openvswitch