Example #1
0
    def test_bond(self):
        manager = if_mgr()
        ifs_list = manager.interface_name_list()
        test_ifs_name = get_net_if()
        if test_ifs_name == "":
            return
        self.assertTrue(test_ifs_name in ifs_list)
        ifs = manager.get_interface_by_name(test_ifs_name)  # last interface to test
        ip, mask, gateway = ifs.get_ip_config()
        bond_manager = bond_mgr()
        bond_name = bond_manager.add_group(80, 1, [test_ifs_name],
                                           ip, mask, gateway)
        bond_list = bond_manager.get_group_list()
        self.assertTrue(True, isinstance(bond_list, list))
        self.assertGreater(len(bond_list), 0)


        bond_ifs = bond_manager.get_group_by_name(bond_name)
        self.assertEqual(bond_ifs.miimon, 80)
        self.assertEqual(bond_ifs.mode, 1)
        self.assertTrue(test_ifs_name in bond_ifs.slaves)
        self.assertEqual((ip, mask, gateway), bond_ifs.get_ip_config())

        bond_manager.del_group(bond_name)
        ifs = manager.get_interface_by_name(test_ifs_name)
        self.assertEqual((ip, mask, gateway), ifs.get_ip_config())
Example #2
0
    def test_bond(self):
        manager = if_mgr()
        ifs_list = manager.interface_name_list()
        test_ifs_name = get_net_if()
        if test_ifs_name == "":
            return
        self.assertTrue(test_ifs_name in ifs_list)
        ifs = manager.get_interface_by_name(
            test_ifs_name)  # last interface to test
        ip, mask, gateway = ifs.get_ip_config()
        bond_manager = bond_mgr()
        bond_name = bond_manager.add_group(80, 1, [test_ifs_name], ip, mask,
                                           gateway)
        bond_list = bond_manager.get_group_list()
        self.assertTrue(True, isinstance(bond_list, list))
        self.assertGreater(len(bond_list), 0)

        bond_ifs = bond_manager.get_group_by_name(bond_name)
        self.assertEqual(bond_ifs.miimon, 80)
        self.assertEqual(bond_ifs.mode, 1)
        self.assertTrue(test_ifs_name in bond_ifs.slaves)
        self.assertEqual((ip, mask, gateway), bond_ifs.get_ip_config())

        bond_manager.del_group(bond_name)
        ifs = manager.get_interface_by_name(test_ifs_name)
        self.assertEqual((ip, mask, gateway), ifs.get_ip_config())
Example #3
0
def add_bond_group(request):
    params = get_params_from_request(request, bond_add_schema)
    bond_manager = bond.bond_mgr()
    bond_name = bond_manager.add_group(params['miimon'], params['mode'], params['ifs'],
                                       params['ip'], params['netmask'], params['gateway'],
                                       request.client_addr)

    resp = Response(status=201)
    resp.location = request.route_url('bond_port', port_name=bond_name)
    return resp
Example #4
0
def add_bond_group(request):
    params = get_params_from_request(request, bond_add_schema)
    bond_manager = bond.bond_mgr()
    bond_name = bond_manager.add_group(params['miimon'], params['mode'],
                                       params['ifs'], params['ip'],
                                       params['netmask'], params['gateway'],
                                       request.client_addr)

    resp = Response(status=201)
    resp.location = request.route_url('bond_port', port_name=bond_name)
    return resp
Example #5
0
def modify_bond_group(request):
    bond_name = request.matchdict['port_name']
    params = get_params_from_request(request, bond_mod_schema)
    mode = params.get("mode")
    miimon = params.get("miimon")
    bond_manager = bond.bond_mgr()
    bond_group = bond_manager.get_group_by_name(bond_name)
    if mode is None:
        mode = bond_group.mode
    if miimon is None:
        miimon = bond_group.miimon
    bond_group.set_bond_config(miimon, mode, request.client_addr)
    return Response(status=200)
Example #6
0
def get_bond_port_info(request):
    bond_name = request.matchdict['port_name']
    bond_manager = bond.bond_mgr()
    bond_group = bond_manager.get_group_by_name(bond_name)

    bond_info = {
        'name': bond_group.name,
        'mode': bond_group.mode,
        'miimon': bond_group.miimon,
        'slaves': bond_group.slaves
    }

    return bond_info
Example #7
0
def modify_bond_group(request):
    bond_name = request.matchdict['port_name']
    params = get_params_from_request(request, bond_mod_schema)
    mode = params.get("mode")
    miimon = params.get("miimon")
    bond_manager = bond.bond_mgr()
    bond_group = bond_manager.get_group_by_name(bond_name)
    if mode is None:
        mode = bond_group.mode
    if miimon is None:
        miimon = bond_group.miimon
    bond_group.set_bond_config(miimon, mode, request.client_addr)
    return Response(status=200)
Example #8
0
def get_bond_port_info(request):
    bond_name = request.matchdict['port_name']
    bond_manager = bond.bond_mgr()
    bond_group = bond_manager.get_group_by_name(bond_name)

    bond_info = {
        'name': bond_group.name,
        'mode': bond_group.mode,
        'miimon': bond_group.miimon,
        'slaves': bond_group.slaves
    }

    return bond_info
Example #9
0
def get_bond_list(request):
    bond_manager = bond.bond_mgr()
    bond_name_list = bond_manager.group_name_list()
    bond_info_dict = []

    for bond_name in bond_name_list:
        bond_object = bond_manager.get_group_by_name(bond_name)
        bond_info = {
            'name': bond_object.name,
            'mode': bond_object.mode,
            'miimon': bond_object.miimon,
            'slaves': bond_object.slaves
        }
        bond_info_dict.append(bond_info)
    return bond_info_dict
Example #10
0
def get_bond_list(request):
    bond_manager = bond.bond_mgr()
    bond_name_list = bond_manager.group_name_list()
    bond_info_dict = []
    
    for bond_name in bond_name_list:
        bond_object = bond_manager.get_group_by_name(bond_name)
        bond_info = {
            'name': bond_object.name,
            'mode': bond_object.mode,
            'miimon': bond_object.miimon,
            'slaves': bond_object.slaves
        }
        bond_info_dict.append(bond_info)
    return bond_info_dict
Example #11
0
def delete_bond_group(request):
    bond_name = request.matchdict['port_name']
    bond_manager = bond.bond_mgr()
    bond_manager.del_group(bond_name, request.client_addr)
    return Response(status=200)
Example #12
0
def delete_bond_group(request):
    bond_name = request.matchdict['port_name']
    bond_manager = bond.bond_mgr()
    bond_manager.del_group(bond_name, request.client_addr)
    return Response(status=200)