<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Hi Volodymyr,</div><div class=""><br class=""></div><div class="">There is an undocumented process to reserve IP addresses for use by DHCP servers [1]. It works by creating port with the desired IP and a device owner of “reserved_dhcp_port."</div><div class=""><br class=""></div><div class="">openstack port create dhcp-port1 --network <network UUID> --fixed-ip subnet=<subnet UUID>,ip-address=192.0.2.2 --device reserved_dhcp_port<br class=""></div><div class=""><br class=""></div><div class="">You can either create the port prior to enabling DHCP on the subnet, or delete an existing DHCP port after creating the reserved port. In either case Neutron should utilize the reserved port on subsequent DHCP agent creation.</div><div class=""><br class=""></div><div class="">Does this satisfy your use-case?</div><div class=""><div class=""><br class=""></div><div class="">[1] <a href="https://github.com/openstack/neutron/blob/31fd237/neutron/agent/linux/dhcp.py#L1417-L1419" class="">https://github.com/openstack/neutron/blob/31fd237/neutron/agent/linux/dhcp.py#L1417-L1419</a><br class=""><div class=""><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class="">—</div><div class="">Blake Covarrubias</div></div></div>
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On May 27, 2019, at 6:44 AM, Volodymyr Litovka <<a href="mailto:doka.ua@gmx.com" class="">doka.ua@gmx.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    Hi Slawomir,<br class="">
    <br class="">
    yes, thanks, it works:<br class="">
    <pre style="background-color: rgb(255, 255, 255); font-family: "Roboto Mono"; font-size: 9pt;" class="">neutron.list_ports(<span style="color:#660099;" class="">retrieve_all</span>=<span style="color:#000080;font-weight:bold;" class="">False</span>,
                   <span style="color:#660099;" class="">network_id</span>=<span style="color:#008080;font-weight:bold;" class="">'2697930d-65f2-4a7a-b360-91d75cc8750d'</span>,
                   <span style="color:#660099;" class="">device_owner</span>=<span style="color:#008080;font-weight:bold;" class="">'network:dhcp'</span>)</pre>
    Thank you.<br class="">
    <br class="">
    <div class="moz-cite-prefix">On 5/26/19 10:07 AM, Slawomir Kaplonski
      wrote:<br class="">
    </div>
    <blockquote type="cite" cite="mid:3954208F-442A-4519-AAEE-80AB6E5C15B2@redhat.com" class="">
      <pre class="moz-quote-pre" wrap="">Hi,

If You do something like:

openstack port list --network d79eea02-31dc-45c7-bd48-d98af46fd2d5 --device-owner network:dhcp

Then You will get only dhcp ports from specific network. And Fixed IP are by default displayed on this list. Is this enough “workaround” for You?


</pre>
      <blockquote type="cite" class="">
        <pre class="moz-quote-pre" wrap="">On 25 May 2019, at 22:19, Volodymyr Litovka <a class="moz-txt-link-rfc2396E" href="mailto:doka.ua@gmx.com"><doka.ua@gmx.com></a> wrote:

Hi,

it seems I wasn't first who asked for this - <a class="moz-txt-link-freetext" href="https://wiki.openstack.org/wiki/Neutron/enable-to-set-dhcp-port-attributes">https://wiki.openstack.org/wiki/Neutron/enable-to-set-dhcp-port-attributes</a> and it seems there was no progress on this?

Is it possible to at least include DHCP address in output of 'subnet show' API call?

The shortest way I've found is:
* openstack port list --project ... --device-owner network:dhcp
and then for **every port** in resulting list
* openstack port show
in order to extract 'Fixed IP Addresses' attribute for analysis

Too much calls, isn't it?

On 5/25/19 9:22 PM, Volodymyr Litovka wrote:
</pre>
        <blockquote type="cite" class="">
          <pre class="moz-quote-pre" wrap="">Dear colleagues,

is there way to explicitly assign DHCP address when creating subnet? The issue is that it isn't always first address from allocation pool, e.g.
$ openstack port list
+--------------------------------------+-------+-------------------+------------------------------------------------------------------------------+--------+
| ID                                   | Name  | MAC Address       | Fixed IP Addresses                                                           | Status |
+--------------------------------------+-------+-------------------+------------------------------------------------------------------------------+--------+
| 0897bcc4-6cad-479c-8743-ca7cc5a57271 |       | 72:d0:1c:d1:6b:51 | ip_address='172.16.53.3', subnet_id='20329549-124c-484d-8278-edca9829e262'   | ACTIVE |
|                                      |       |                   | ip_address='172.16.54.2', subnet_id='07249cd3-11a9-4da7-a4db-bd838aa8c4e7'   |        |

both subnet have similar configuration of allocation pool (172.16.xx.2-254/24) and there are two different addresses for DHCP in every subnet.

This makes a trouble during project generation with pre-assigned addresses for servers if the pre-assigned address is same as [surprisigly, non-first] address of DHCP namespace.

And, may be, there is a way to determine this address in more simple way than looking into 'openstack port list' output, searching for port (a) without name and (b) with multiple addresses from all belonging subnets :) At the moment, 'openstack subnet show' say nothing about assigned DHCP-address.

Thank you!

--
Volodymyr Litovka
  "Vision without Execution is Hallucination." -- Thomas Edison

</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">--
Volodymyr Litovka
  "Vision without Execution is Hallucination." -- Thomas Edison

</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">—
Slawek Kaplonski
Senior software engineer
Red Hat


</pre>
    </blockquote>
    <br class="">
    <pre class="moz-signature" cols="72">--
Volodymyr Litovka
  "Vision without Execution is Hallucination." -- Thomas Edison</pre>
  </div>

</div></blockquote></div><br class=""></div></div></div></body></html>