def set_new_controller_role(session):
    xml_config = utils.get_config_as_xml(session)
    config_map = {key: utils.get_config_value_from_xml(key, xml_config)
                  for key in CONFIG_KEYS}
    current_role = new_role = config_map['controller_role']
    while current_role == new_role:
        new_role = random.choice(utils.get_controller_roles())
    config_map['controller_role'] = new_role
    utils.edit_running_config_by_xml_string(SWITCH_CONTROLLER % config_map, session)
    return new_role
def set_new_controller_role(session):
    xml_config = utils.get_config_as_xml(session)
    config_map = {
        key: utils.get_config_value_from_xml(key, xml_config)
        for key in CONFIG_KEYS
    }
    current_role = new_role = config_map['controller_role']
    while current_role == new_role:
        new_role = random.choice(utils.get_controller_roles())
    config_map['controller_role'] = new_role
    utils.edit_running_config_by_xml_string(SWITCH_CONTROLLER % config_map,
                                            session)
    return new_role
def assert_role_changed(expected_role, session):
    xml_config = utils.get_config_as_xml(session)
    role = utils.get_config_value_from_xml('controller_role', xml_config)
    assert role == expected_role,  "Controller's role is not %s" % expected_role
def assert_role_changed(expected_role, session):
    xml_config = utils.get_config_as_xml(session)
    role = utils.get_config_value_from_xml('controller_role', xml_config)
    assert role == expected_role, "Controller's role is not %s" % expected_role