ironic.dhcp.base module¶
Abstract base class for dhcp providers.
- class ironic.dhcp.base.BaseDHCP[source]¶
- Bases: - object- Base class for DHCP provider APIs. - clean_dhcp_opts(task)[source]¶
- Clean up the DHCP BOOT options for all ports in task. - Parameters:
- task – A TaskManager instance. 
- Raises:
- FailedToCleanDHCPOpts 
 
 - 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 and 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 when the driver supports tagging iPXE DHCP requests 
 
 - abstract 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 with keys ‘ports’ and ‘portgroups’ and dicts as values. Each dict has key/value pairs of the form <ironic UUID>:<neutron port UUID>. 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. 
 
- Raises:
- FailedToUpdateDHCPOptOnPort 
 
 - abstract update_port_dhcp_opts(port_id, dhcp_options, context=None)[source]¶
- Update one or more DHCP options on the specified 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 
 
 
