X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=xenserver%2Fopt_xensource_libexec_interface-reconfigure;h=ff4b97669c12caa7fe2f2e361546c518c33037bb;hb=2c11e6d91216a1f40e9a499ee37868c81fc34f35;hp=153f509ed4abd04f588a43b8e160445b807fa69f;hpb=64ddb6fecfe21a7b50c5907dd88de67a87ec6eca;p=sliver-openvswitch.git diff --git a/xenserver/opt_xensource_libexec_interface-reconfigure b/xenserver/opt_xensource_libexec_interface-reconfigure index 153f509ed..ff4b97669 100755 --- a/xenserver/opt_xensource_libexec_interface-reconfigure +++ b/xenserver/opt_xensource_libexec_interface-reconfigure @@ -34,6 +34,7 @@ --pif-uuid The UUID of a PIF. --force An interface name. --root-prefix=DIR Use DIR as alternate root directory (for testing). + --no-syslog Write log messages to stderr instead of system log. """ # Notes: @@ -203,6 +204,8 @@ def ifup(netdev): # def pif_rename_physical_devices(pif): + if pif_is_tunnel(pif): + return if pif_is_vlan(pif): pif = pif_get_vlan_slave(pif) @@ -285,7 +288,8 @@ def ipdev_configure_network(pif, dp): """ pifrec = db().get_pif_record(pif) - nwrec = db().get_network_record(pifrec['network']) + nw = pifrec['network'] + nwrec = db().get_network_record(nw) ipdev = pif_ipdev_name(pif) @@ -320,12 +324,13 @@ def ipdev_configure_network(pif, dp): if len(offload): f.write("ETHTOOL_OFFLOAD_OPTS=\"%s\"\n" % str.join(" ", offload)) - mtu = mtu_setting(nwrec['other_config']) - if mtu: - f.write("MTU=%s\n" % mtu) - ipdev_configure_static_routes(ipdev, nwrec['other_config'], f) + mtu = mtu_setting(nw, "Network", nwrec['other_config']) + if mtu: + f.write("MTU=%s\n" % mtu) + + if pifrec.has_key('DNS') and pifrec['DNS'] != "": ServerList = pifrec['DNS'].split(",") for i in range(len(ServerList)): f.write("DNS%d=%s\n" % (i+1, ServerList[i])) @@ -412,7 +417,7 @@ def action_up(pif, force): pifrec = db().get_pif_record(pif) ipdev = pif_ipdev_name(pif) - dp = DatapathFactory(pif) + dp = DatapathFactory()(pif) log("action_up: %s" % ipdev) @@ -452,7 +457,7 @@ def action_up(pif, force): def action_down(pif): ipdev = pif_ipdev_name(pif) - dp = DatapathFactory(pif) + dp = DatapathFactory()(pif) log("action_down: %s" % ipdev) @@ -460,6 +465,9 @@ def action_down(pif): dp.bring_down() +def action_rewrite(): + DatapathFactory().rewrite() + # This is useful for reconfiguring the mgmt interface after having lost connectivity to the pool master def action_force_rewrite(bridge, config): def getUUID(): @@ -519,6 +527,8 @@ def action_force_rewrite(bridge, config): f.write('\t\t\n') f.write('\t\tOpaqueRef:NULL\n') f.write('\t\t-1\n') + f.write('\t\t\n') + f.write('\t\t\n') f.write('\t\t%s\n' % interface) f.write('\t\t%s\n' % mac) f.write('\t\t\n') @@ -582,6 +592,7 @@ def main(argv=None): "management", "mac=", "device=", "mode=", "ip=", "netmask=", "gateway=", "root-prefix=", + "no-syslog", "help" ] arglist, args = getopt.gnu_getopt(argv[1:], shortops, longops) except getopt.GetoptError, msg: @@ -604,12 +615,15 @@ def main(argv=None): force_rewrite_config[o[2:]] = a elif o == "--root-prefix": set_root_prefix(a) + elif o == "--no-syslog": + set_log_destination("stderr") elif o == "-h" or o == "--help": print __doc__ % {'command-name': os.path.basename(argv[0])} return 0 - syslog.openlog(os.path.basename(argv[0])) - log("Called as " + str.join(" ", argv)) + if get_log_destination() == "syslog": + syslog.openlog(os.path.basename(argv[0])) + log("Called as " + str.join(" ", argv)) if len(args) < 1: raise Usage("Required option not present") @@ -659,7 +673,7 @@ def main(argv=None): pif = db().get_pif_by_uuid(pif_uuid) if action == "rewrite": - pass + action_rewrite() else: if not pif: raise Usage("No PIF given")