<div dir="ltr"><div>Having an extra node for FreeIPA spawn up by heat works for me. And it's not a hard-requirement that we have to wire this into the TripleO CI. But the most sustainable approach to having TLS everywhere (at least for the admin and internal endpoints of Openstack, the message broker server nodes and the database) is using FreeIPA as a CA. So if we advertise (at some point) that TripleO will support such a feature, then it's probably a good idea to have it in the official CI.<br><br></div>BR<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 5, 2016 at 4:01 PM, Steven Hardy <span dir="ltr"><<a href="mailto:shardy@redhat.com" target="_blank">shardy@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Apr 05, 2016 at 02:07:06PM +0300, Juan Antonio Osorio wrote:<br>
>    On Tue, Apr 5, 2016 at 11:36 AM, Steven Hardy <<a href="mailto:shardy@redhat.com">shardy@redhat.com</a>> wrote:<br>
><br>
>      On Sat, Apr 02, 2016 at 05:28:57PM -0400, Adam Young wrote:<br>
>      > I finally have enough understanding of what is going on with Tripleo<br>
>      to<br>
>      > reasonably discuss how to implement solutions for some of the main<br>
>      security<br>
>      > needs of a deployment.<br>
>      ><br>
>      ><br>
>      > FreeIPA is an identity management solution that can provide support<br>
>      for:<br>
>      ><br>
>      > 1. TLS on all network communications:<br>
</span>>      >  Â  A. HTTPS for web services<br>
>      >  Â  B. TLS for the message bus<br>
>      >  Â  C. TLS for communication with the Database.<br>
<span class="">>      > 2. Identity for all Actors in the system:<br>
</span>>      >  Â A.  API services<br>
>      >  Â B.  Message producers and consumers<br>
>      >  Â C.  Database consumers<br>
>      >  Â D.  Keystone service users<br>
>      > 3. Secure  DNS DNSSEC<br>
<span class="">>      > 4. Federation Support<br>
>      > 5. SSH Access control to Hosts for both undercloud and overcloud<br>
>      > 6. SUDO management<br>
>      > 7. Single Sign On for Applications running in the overcloud.<br>
>      ><br>
>      ><br>
>      > The main pieces of FreeIPA are<br>
>      > 1. LDAP (the 389 Directory Server)<br>
>      > 2. Kerberos<br>
>      > 3. DNS (BIND)<br>
>      > 4. Certificate Authority (CA) server (Dogtag)<br>
>      > 5. WebUI/Web Service Management Interface (HTTPD)<br>
>      ><br>
</span>>      > Of these, the CA is the most critical.  Without a centralized CA, we<br>
<span class="">>      have no<br>
>      > reasonable way to do certificate management.<br>
>      ><br>
>      > Now, I know a lot of people have an allergic reaction to some, maybe<br>
>      all, of<br>
>      > these technologies. They should not be required to be running in a<br>
</span>>      > development or testbed setup.  But we need to make it possible to<br>
<span class="">>      secure an<br>
>      > end deployment, and FreeIPA was designed explicitly for these kinds of<br>
</span>>      > distributed applications.  Here is what I would like to implement.<br>
<span class="">>      ><br>
>      > Assuming that the Undercloud is installed on a physical machine, we<br>
>      want to<br>
>      > treat the FreeIPA server as a managed service of the undercloud that<br>
>      is then<br>
>      > consumed by the rest of the overcloud. Right now, there are conflicts<br>
>      for<br>
>      > some ports (8080 used by both swift and Dogtag) that prevent a drop-in<br>
>      run<br>
</span>>      > of the server on the undercloud controller.  Even if we could<br>
<span class="">>      deconflict,<br>
>      > there is a possible battle between Keystone and the FreeIPA server on<br>
>      the<br>
</span>>      > undercloud.  So, while I would like to see the ability to run the<br>
<span class="">>      FreeIPA<br>
>      > server on the Undercloud machine eventuall, I think a more realistic<br>
>      > deployment is to build a separate virtual machine, parallel to the<br>
>      overcloud<br>
>      > controller, and install FreeIPA there. I've been able to modify<br>
>      Tripleo<br>
>      > Quickstart to provision this VM.<br>
><br>
>      IMO these services shouldn't be deployed on the undercloud - we only<br>
>      support a single node undercloud, and atm it's completely possible to<br>
>      take<br>
>      the undercloud down without any impact to your deployed cloud (other<br>
>      than<br>
>      losing the ability to manage it temporarily).<br>
><br>
>    This is fair enough, however, for CI purposes, would it be acceptable to<br>
>    deploy it there? Or where do you recommend we have it?<br>
<br>
</span>We're already well beyond capacity in CI, so to me this seems like<br>
something that's probably appropriate for a third-party CI job?<br>
<br>
To me it just doesn't make sense to integrate these pieces on the<br>
undercloud, and integrating it there just because we need it available for<br>
CI purposes seems like a poor argument, because we're not testing a<br>
representative/realistic environment.<br>
<br>
If we have to wire this in to TripleO CI I'd favor spinning up an extra<br>
node with the FreeIPA pieces in, e.g a separate Heat stack (so, e.g the<br>
nonha job takes 3 nodes, a "freeipa" stack of 1 and an overcloud of 2).<br>
<div class="HOEnZb"><div class="h5"><br>
Steve<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><font style="font-family:arial narrow,sans-serif;color:rgb(102,102,102)" size="2">Juan Antonio Osorio R.<br>e-mail: <a href="mailto:jaosorior@gmail.com" target="_blank">jaosorior@gmail.com</a><br></font><font style="font-family:arial narrow,sans-serif;color:rgb(102,102,102)" size="2"><br></font></div></div></div>
</div>