ironic.dhcp.neutron module¶
- class ironic.dhcp.neutron.NeutronDHCPApi[source]¶
- Bases: - BaseDHCP- API for communicating to neutron 2.x API. - get_ip_addresses(task)[source]¶
- Get IP addresses for all ports/portgroups in task. - Parameters:
- task – a TaskManager instance. 
- Returns:
- List of IP addresses associated with task’s ports/portgroups. 
 
 - supports_ipxe_tag()[source]¶
- Whether the provider will correctly apply the ‘ipxe’ tag. - When iPXE makes a DHCP request, does this provider support adding the tag ipxe or ipxe6 (for IPv6). When the provider returns True, options can be added which filter on these tags. - Returns:
- True 
 
 - update_dhcp_opts(task, options, vifs=None)[source]¶
- Send or update the DHCP BOOT options for this node. - Parameters:
- task – A TaskManager instance. 
- options – - this will be a list of dicts, e.g. - [{'opt_name': '67', 'opt_value': 'pxelinux.0', 'ip_version': 4}, {'opt_name': '66', 'opt_value': '123.123.123.456', 'ip_version': 4}] 
- vifs – - a dict of Neutron port/portgroup dicts to update DHCP options on. The port/portgroup dict key should be Ironic port UUIDs, and the values should be Neutron port UUIDs, e.g. - {'ports': {'port.uuid': vif.id}, 'portgroups': {'portgroup.uuid': vif.id}} If the value is None, will get the list of ports/portgroups from the Ironic port/portgroup objects. 
 
 
 - update_port_dhcp_opts(port_id, dhcp_options, context=None)[source]¶
- Update a port’s attributes. - Update one or more DHCP options on the specified port. For the relevant API spec, see https://docs.openstack.org/api-ref/network/v2/index.html#update-port - Parameters:
- port_id – designate which port these attributes will be applied to. 
- dhcp_options – - this will be a list of dicts, e.g. - [{'opt_name': '67', 'opt_value': 'pxelinux.0', 'ip_version': 4}, {'opt_name': '66', 'opt_value': '123.123.123.456'}, 'ip_version': 4}] 
- context (ironic.common.context.RequestContext) – request context 
 
- Raises:
- FailedToUpdateDHCPOptOnPort 
 
 
