def update_port_dhcp_opts(self, port_id, dhcp_options, token=None):
    "Update a port's attributes.\n\n        Update one or more DHCP options on the specified port.\n        For the relevant API spec, see\n        http://docs.openstack.org/api/openstack-network/2.0/content/extra-dhc-opt-ext-update.html\n\n        :param port_id: designate which port these attributes\n                        will be applied to.\n        :param dhcp_options: this will be a list of dicts, e.g.\n\n                             ::\n\n                              [{'opt_name': 'bootfile-name',\n                                'opt_value': 'pxelinux.0'},\n                               {'opt_name': 'server-ip-address',\n                                'opt_value': '123.123.123.456'},\n                               {'opt_name': 'tftp-server',\n                                'opt_value': '0.0.0.0'}]\n        :param token: optional auth token.\n\n        :raises: FailedToUpdateDHCPOptOnPort\n        "
    port_req_body = {'port': {'extra_dhcp_opts': dhcp_options}}
    try:
        _build_client(token).update_port(port_id, port_req_body)
    except neutron_client_exc.NeutronClientException:
        LOG.exception(_LE('Failed to update Neutron port %s.'), port_id)
        raise exception.FailedToUpdateDHCPOptOnPort(port_id=port_id)
Update a port's attributes.

Update one or more DHCP options on the specified port.
For the relevant API spec, see
http://docs.openstack.org/api/openstack-network/2.0/content/extra-dhc-opt-ext-update.html

:param port_id: designate which port these attributes
                will be applied to.
:param dhcp_options: this will be a list of dicts, e.g.

                     ::

                      [{'opt_name': 'bootfile-name',
                        'opt_value': 'pxelinux.0'},
                       {'opt_name': 'server-ip-address',
                        'opt_value': '123.123.123.456'},
                       {'opt_name': 'tftp-server',
                        'opt_value': '0.0.0.0'}]
:param token: optional auth token.

:raises: FailedToUpdateDHCPOptOnPort
def update_port_dhcp_opts(self, port_id, dhcp_options, token=None):
    "Update a port's attributes.\n\n        Update one or more DHCP options on the specified port.\n        For the relevant API spec, see\n        http://docs.openstack.org/api/openstack-network/2.0/content/extra-dhc-opt-ext-update.html\n\n        :param port_id: designate which port these attributes\n                        will be applied to.\n        :param dhcp_options: this will be a list of dicts, e.g.\n\n                             ::\n\n                              [{'opt_name': 'bootfile-name',\n                                'opt_value': 'pxelinux.0'},\n                               {'opt_name': 'server-ip-address',\n                                'opt_value': '123.123.123.456'},\n                               {'opt_name': 'tftp-server',\n                                'opt_value': '0.0.0.0'}]\n        :param token: optional auth token.\n\n        :raises: FailedToUpdateDHCPOptOnPort\n        "
    port_req_body = {'port': {'extra_dhcp_opts': dhcp_options}}
    try:
        _build_client(token).update_port(port_id, port_req_body)
    except neutron_client_exc.NeutronClientException:
        LOG.exception(_LE('Failed to update Neutron port %s.'), port_id)
        raise exception.FailedToUpdateDHCPOptOnPort(port_id=port_id)