def create_bond_definition(nic_list, next_bond_num): slaves_list = [HostNic(id=nic.id) for nic in nic_list] if len(slaves_list) > 1: bonding = Bonding(options=[ Option(name=const.BOND_MODE_OPTION_NAME, value=const.BOND_MODE_OPTION_VALUE) ], slaves=slaves_list) bond_name = const.BOND_PREFIX + str(next_bond_num) logging.info('Creating bond %s with slaves: %s', bond_name, ', '.join([nic.name for nic in nic_list])) return HostNic(name=bond_name, bonding=bonding) else: return None
def _bond_nics(number, host): slaves = [HostNic(name=nic) for nic in _host_vm_nics( # eth2, eth3 prefix, host.name, LIBVIRT_NETWORK_FOR_BONDING)] options = [ Option(name='mode', value='active-backup'), Option(name='miimon', value='200'), ] bond = HostNic( name=BOND_NAME, bonding=Bonding(slaves=slaves, options=options)) ip_configuration = network_utils_v4.create_static_ip_configuration( MIGRATION_NETWORK_IPv4_ADDR.format(number), MIGRATION_NETWORK_IPv4_MASK, MIGRATION_NETWORK_IPv6_ADDR.format(number), MIGRATION_NETWORK_IPv6_MASK) host_service = engine.hosts_service().host_service(id=host.id) network_utils_v4.attach_network_to_host( host_service, BOND_NAME, MIGRATION_NETWORK, ip_configuration, [bond])