X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=xenserver%2Fopt_xensource_libexec_InterfaceReconfigureVswitch.py;h=9e069f306be5051cd429e712c24f4e2c35589597;hb=82272eded1ede569bcec3ba4ab212e5e3fb632ff;hp=a3d4bd24d54f48946875347324ad76eb273c3c24;hpb=0671665d935c88ebccc49675cbc615c108d9716d;p=openvswitch diff --git a/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py b/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py index a3d4bd24..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: - fail_mode = pool['other_config']['vswitch-controller-fail-mode'] - else: + 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') + + 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]