def test_edit_by_adding_slaves_to_bond(self, BondMock, dhclient_mock, address_mock, ConfMock): config_mock = ConfMock() bond_slaves = {'nic1', 'nic2'} bond_options = 'mode=1 miimon=120' bond_attrs = { 'nics': list(bond_slaves), 'options': bond_options, 'switch': 'foo', } setup_edit_bond = {BOND1_NAME: bond_attrs} setup_bonds = linksetup.SetupBonds({}, setup_edit_bond, {}, config_mock) # Initial state: Bond exists with no slaves. BondMock.return_value.master = BOND1_NAME BondMock.return_value.slaves = set() setup_bonds.edit_bonds() assert bond_slaves | {BOND1_NAME} == setup_bonds.ifaces_for_acquirement BondMock.assert_called_with(BOND1_NAME) BondMock.return_value.add_slaves.assert_called_once_with(bond_slaves) config_mock.setBonding.assert_called_with(BOND1_NAME, bond_attrs)
def test_add_bonds(self, BondMock, dhclient_mock, address_mock, ConfMock): config_mock = ConfMock() bond_slaves = ['nic1', 'nic2'] bond_options = 'mode=1 miimon=120' bond_attrs = { 'nics': bond_slaves, 'options': bond_options, 'switch': 'foo', } setup_new_bond = {BOND1_NAME: bond_attrs} setup_bonds = linksetup.SetupBonds(setup_new_bond, {}, {}, config_mock) setup_bonds.add_bonds() expected_ifaces = set(bond_slaves + [BOND1_NAME]) assert expected_ifaces == setup_bonds.ifaces_for_acquirement BondMock.assert_called_once_with( BOND1_NAME, slaves=set(bond_slaves), options={ 'mode': '1', 'miimon': '120' }, ) config_mock.setBonding.assert_called_once_with(BOND1_NAME, bond_attrs) self._assert_ip_flush_called(bond_slaves, dhclient_mock, address_mock)
def test_remove_bonds(self, BondMock, dhclient_mock, address_mock, ConfMock): config_mock = ConfMock() setup_remove_bond = {BOND1_NAME: {'remove': True}} setup_bonds = linksetup.SetupBonds({}, {}, setup_remove_bond, config_mock) setup_bonds.remove_bonds() BondMock.assert_called_once_with(BOND1_NAME) config_mock.removeBonding.assert_called_once_with(BOND1_NAME)
def test_add_bonds(self, BondMock, dhclient_mock, address_mock, ConfMock): config_mock = ConfMock() bond_slaves = ['nic1', 'nic2'] bond_attrs = {'nics': bond_slaves} setup_new_bond = {BOND1_NAME: bond_attrs} setup_bonds = linksetup.SetupBonds(setup_new_bond, {}, {}, config_mock) setup_bonds.add_bonds() self.assertEqual(set(bond_slaves + [BOND1_NAME]), setup_bonds.ifaces_for_acquirement) BondMock.assert_called_once_with(BOND1_NAME, slaves=set(bond_slaves)) config_mock.setBonding.assert_called_once_with(BOND1_NAME, bond_attrs) self._assert_ip_flush_called(bond_slaves, dhclient_mock, address_mock)