X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=xenserver%2Fopt_xensource_libexec_InterfaceReconfigureVswitch.py;h=9e069f306be5051cd429e712c24f4e2c35589597;hb=f7cd0081f525dd1d45fafc68397b5393196e978d;hp=22201ae27007059f7270b5321877890a7346b5b2;hpb=c2875f43a2de6e3d8c31b63601aa136c64a1053e;p=openvswitch diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py index 22201ae2..9e069f30 100644 --- a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py +++ b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py @@ -332,14 +332,21 @@ def configure_datapath(pif): 'other-config:hwaddr=%s' % vsctl_escape(db().get_pif_record(pif)['MAC'])] pool = db().get_pool_record() + network = db().get_network_by_bridge(bridge) + fail_mode = None + valid_fail_modes = ['standalone', 'secure'] - if pool: + if network: + network_rec = db().get_network_record(network) + fail_mode = network_rec['other_config'].get('vswitch-controller-fail-mode') + + if (fail_mode not in valid_fail_modes) and pool: fail_mode = pool['other_config'].get('vswitch-controller-fail-mode') - else: + + if fail_mode not in valid_fail_modes: fail_mode = 'standalone' - if fail_mode in ['standalone', 'secure']: - vsctl_argv += ['--', 'set', 'Bridge', bridge, 'fail_mode=%s' % fail_mode] + vsctl_argv += ['--', 'set', 'Bridge', bridge, 'fail_mode=%s' % fail_mode] vsctl_argv += set_br_external_ids(pif) vsctl_argv += ['## done configuring datapath %s' % bridge]