<div dir="ltr">Hi Patrizio,<div><br></div><div>Judging by the code in develop, we do not check the tenant_id when choosing a FIP.  There is an attempt to ensure the FIP is in the provided external network, if specified.  So that may be another work around.</div><div><br></div><div>Please file a bug.  I'm wondering if there are more places the provider should be checking the tenant as well.</div><div><br></div><div>-Heather</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 27, 2017 at 9:04 AM, Patrizio Bassi <span dir="ltr"><<a href="mailto:patrizio.bassi@gmail.com" target="_blank">patrizio.bassi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all
<div><br></div><div>i'm using juju 2.1.2.1 (i didn't upgrade to 2.2 yet, that's why i didn't open a bug on launchpad) with openstack as cloud provider.</div><div><br></div><div>When i use as credentials an Admin user (but a specific tenant) i have issues with floating ip assignment: the admin user can see all the floating ips in the openstack region. </div><div>So, if another tenant allocates an IP without assigning to a VM (so, unused) juju tries to use it and attach to the VM it just deployed.</div><div><br></div><div>i.e.</div><div><br></div><div>user test1 is Admin and has primary project "tenant-one"</div><div>user test2 is member of project "tenant-two"</div><div><br></div><div>credentials given to juju are test1, test1_password, tenant-one and RegionOne.</div><div><br></div><div># source novarc_test1</div><div><br></div><div><div># neutron floatingip-list</div><div>+-----------------------------<wbr>---------+------------------+-<wbr>--------------------+---------<wbr>-----------------------------+</div><div>| id                                   | fixed_ip_address | floating_ip_address | port_id                              |</div><div>+-----------------------------<wbr>---------+------------------+-<wbr>--------------------+---------<wbr>-----------------------------+</div><div>| 03d1a8e8-fd55-4d6e-ab7e-b62061<wbr>ea6206 | 192.168.0.10     | 10.1.2.19         | b6ac7caf-0c6e-4d81-b055-ecb8b4<wbr>bdeebd |</div><div>| 2b4e48ba-aad6-4d78-aff6-88b912<wbr>f89bf5 | 192.168.0.20     | 10.1.2.9          | 17f69b3b-97d0-4cec-8208-e4d2ac<wbr>2f1034 |<br></div><div>| 3144b683-2cf5-43cf-bddd-b06cb5<wbr>662430 |                  | 10.1.2.22         |                                      |</div><div>| 55145d85-58ea-4f15-8a0c-96a719<wbr>c0fa8d | 192.168.0.22     | 10.1.2.4          | 6eeaa12b-0971-496c-bd38-89e9b9<wbr>d71818 |<br></div><div>+-----------------------------<wbr>---------+------------------+-<wbr>--------------------+---------<wbr>-----------------------------+<br></div></div><div><br></div><div>the third line shows and ip address assigned to tenant-two by test2.</div><div><br></div><div>User test1 has admin role so he has permission to see the ip.</div><div>Using a command like "neutron floatingip-show 3144b683-2cf5-43cf-bddd-b06cb5<wbr>662430" correctly shows the project_id uuid related to tenant-two and not tenant-one.</div><div><br></div><div>juju model is configured with</div><div><div>use-default-secgroup          model       true</div><div>use-floating-ip               model       true</div></div><div><br></div><div>When trying to deploy any application juju spawns a VM, but it never ends and logs:<br></div><div>







<div class="m_-1105198152116894179gmail-WordSection1">

<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal"><span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:black">Unable to associate floating IP </span>10.1.2.22<span style="font-size:10pt;font-family:"Segoe UI",sans-serif;color:black"> to fixed IP
192.168.0.9 for instance </span><span style="color:black;font-family:"Segoe UI",sans-serif;font-size:10pt">3d95283c-69f2-4cf1-<wbr>8980-99462a5904a2.</span></p>









</div></div><div><br></div><div>Removing the unused floating ip address or using a member-only (not admin user) bypass the problem: juju will allocate a new ip and associate with the new VM.</div><div><br></div><div>I didn't try but i do think that if an user is member of two different tenants it may try to mis-use the addresses and mess with them, failing to deploy.</div><div><br></div><div>Desiderata: juju should check if the allocated ip address is in the same tenant view of the given credentials.</div><div><br></div><div>Regards</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Patrizio</div></font></span></div>
<br>--<br>
Juju mailing list<br>
<a href="mailto:Juju@lists.ubuntu.com">Juju@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/juju" rel="noreferrer" target="_blank">https://lists.ubuntu.com/<wbr>mailman/listinfo/juju</a><br>
<br></blockquote></div><br></div>