Hi. The thread is a month old, but I sent a shorter version of this to Daneyon before with some info on the things we dealt with to get Magnum deployed successfully. We wrapped it up in a post (there's a video linked there with some demos at the end):
http://openstack-in-production.blogspot.ch/2016/04/containers-and-cern-cloud.html Hopefully the pointers to the relevant blueprints for some of the issues we found will be useful for others. Cheers, Ricardo On Fri, Mar 18, 2016 at 3:42 PM, Ricardo Rocha <rocha.po...@gmail.com> wrote: > Hi. > > We're running a Magnum pilot service - which means it's being > maintained just like all other OpenStack services and running on the > production infrastructure, but only available to a subset of tenants > for a start. > > We're learning a lot in the process and will happily report on this in > the next couple weeks. > > The quick summary is that it's looking good and stable with a few > hicks in the setup, which are handled by patches already under review. > The one we need the most is the trustee user (USER_TOKEN in the bay > heat params is preventing scaling after the token expires), but with > the review in good shape we look forward to try it very soon. > > Regarding barbican we'll keep you posted, we're working on the missing > puppet bits. > > Ricardo > > On Fri, Mar 18, 2016 at 2:30 AM, Daneyon Hansen (danehans) > <daneh...@cisco.com> wrote: >> Adrian/Hongbin, >> >> Thanks for taking the time to provide your input on this matter. After >> reviewing your feedback, my takeaway is that Magnum is not ready for >> production without implementing Barbican or some other future feature such >> as the Keystone option Adrian provided. >> >> All, >> >> Is anyone using Magnum in production? If so, I would appreciate your input. >> >> -Daneyon Hansen >> >>> On Mar 17, 2016, at 6:16 PM, Adrian Otto <adrian.o...@rackspace.com> wrote: >>> >>> Hongbin, >>> >>> One alternative we could discuss as an option for operators that have a >>> good reason not to use Barbican, is to use Keystone. >>> >>> Keystone credentials store: >>> http://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3.html#credentials-v3-credentials >>> >>> The contents are stored in plain text in the Keystone DB, so we would want >>> to generate an encryption key per bay, encrypt the certificate and store it >>> in keystone. We would then use the same key to decrypt it upon reading the >>> key back. This might be an acceptable middle ground for clouds that will >>> not or can not run Barbican. This should work for any OpenStack cloud since >>> Grizzly. The total amount of code in Magnum would be small, as the API >>> already exists. We would need a library function to encrypt and decrypt the >>> data, and ideally a way to select different encryption algorithms in case >>> one is judged weak at some point in the future, justifying the use of an >>> alternate. >>> >>> Adrian >>> >>>> On Mar 17, 2016, at 4:55 PM, Adrian Otto <adrian.o...@rackspace.com> wrote: >>>> >>>> Hongbin, >>>> >>>>> On Mar 17, 2016, at 2:25 PM, Hongbin Lu <hongbin...@huawei.com> wrote: >>>>> >>>>> Adrian, >>>>> >>>>> I think we need a boarder set of inputs in this matter, so I moved the >>>>> discussion from whiteboard back to here. Please check my replies inline. >>>>> >>>>>> I would like to get a clear problem statement written for this. >>>>>> As I see it, the problem is that there is no safe place to put >>>>>> certificates in clouds that do not run Barbican. >>>>>> It seems the solution is to make it easy to add Barbican such that it's >>>>>> included in the setup for Magnum. >>>>> No, the solution is to explore an non-Barbican solution to store >>>>> certificates securely. >>>> >>>> I am seeking more clarity about why a non-Barbican solution is desired. >>>> Why is there resistance to adopting both Magnum and Barbican together? I >>>> think the answer is that people think they can make Magnum work with >>>> really old clouds that were set up before Barbican was introduced. That >>>> expectation is simply not reasonable. If there were a way to easily add >>>> Barbican to older clouds, perhaps this reluctance would melt away. >>>> >>>>>> Magnum should not be in the business of credential storage when there is >>>>>> an existing service focused on that need. >>>>>> >>>>>> Is there an issue with running Barbican on older clouds? >>>>>> Anyone can choose to use the builtin option with Magnum if hey don't >>>>>> have Barbican. >>>>>> A known limitation of that approach is that certificates are not >>>>>> replicated. >>>>> I guess the *builtin* option you referred is simply placing the >>>>> certificates to local file system. A few of us had concerns on this >>>>> approach (In particular, Tom Cammann has gave -2 on the review [1]) >>>>> because it cannot scale beyond a single conductor. Finally, we made a >>>>> compromise to land this option and use it for testing/debugging only. In >>>>> other words, this option is not for production. As a result, Barbican >>>>> becomes the only option for production which is the root of the problem. >>>>> It basically forces everyone to install Barbican in order to use Magnum. >>>>> >>>>> [1] https://review.openstack.org/#/c/212395/ >>>>> >>>>>> It's probably a bad idea to replicate them. >>>>>> That's what Barbican is for. --adrian_otto >>>>> Frankly, I am surprised that you disagreed here. Back to July 2015, we >>>>> all agreed to have two phases of implementation and the statement was >>>>> made by you [2]. >>>>> >>>>> ================================================================ >>>>> #agreed Magnum will use Barbican for an initial implementation for >>>>> certificate generation and secure storage/retrieval. We will commit to a >>>>> second phase of development to eliminating the hard requirement on >>>>> Barbican with an alternate implementation that implements the functional >>>>> equivalent implemented in Magnum, which may depend on libraries, but not >>>>> Barbican. >>>>> ================================================================ >>>>> >>>>> [2] >>>>> http://lists.openstack.org/pipermail/openstack-dev/2015-July/069130.html >>>> >>>> The context there is important. Barbican was considered for two purposes: >>>> (1) CA signing capability, and (2) certificate storage. My willingness to >>>> implement an alternative was based on our need to get a certificate >>>> generation and signing solution that actually worked, as Barbican did not >>>> work for that at the time. I have always viewed Barbican as a suitable >>>> solution for certificate storage, as that was what it was first designed >>>> for. Since then, we have implemented certificate generation and signing >>>> logic within a library that does not depend on Barbican, and we can use >>>> that safely in production use cases. What we don’t have built in is what >>>> Barbican is best at, secure storage for our certificates that will allow >>>> multi-conductor operation. >>>> >>>> I am opposed to the idea that Magnum should re-implement Barbican for >>>> certificate storage just because operators are reluctant to adopt it. If >>>> we need to ship a Barbican instance along with each Magnum control plane, >>>> so be it, but I don’t see the value in re-inventing the wheel. I promised >>>> the OpenStack community that we were out to integrate with and enhance >>>> OpenStack not to replace it. >>>> >>>> Now, with all that said, I do recognize that not all clouds are motivated >>>> to use all available security best practices. They may be operating in >>>> environments that they believe are already secure (because of a secure >>>> perimeter), and that it’s okay to run fundamentally insecure software >>>> within those environments. As misguided as this viewpoint may be, it’s >>>> common. My belief is that it’s best to offer the best practice by default, >>>> and only allow insecure operation when someone deliberately turns of >>>> fundamental security features. >>>> >>>> With all this said, I also care about Magnum adoption as much as all of >>>> us, so I’d like us to think creatively about how to strike the right >>>> balance between re-implementing existing technology, and making that >>>> technology easily accessible. >>>> >>>> Thanks, >>>> >>>> Adrian >>>> >>>>> >>>>> Best regards, >>>>> Hongbin >>>>> >>>>> -----Original Message----- >>>>> From: Adrian Otto [mailto:adrian.o...@rackspace.com] >>>>> Sent: March-17-16 4:32 PM >>>>> To: OpenStack Development Mailing List (not for usage questions) >>>>> Subject: Re: [openstack-dev] [magnum] High Availability >>>>> >>>>> I have trouble understanding that blueprint. I will put some remarks on >>>>> the whiteboard. Duplicating Barbican sounds like a mistake to me. >>>>> >>>>> -- >>>>> Adrian >>>>> >>>>>> On Mar 17, 2016, at 12:01 PM, Hongbin Lu <hongbin...@huawei.com> wrote: >>>>>> >>>>>> The problem of missing Barbican alternative implementation has been >>>>>> raised several times by different people. IMO, this is a very serious >>>>>> issue that will hurt Magnum adoption. I created a blueprint for that [1] >>>>>> and set the PTL as approver. It will be picked up by a contributor once >>>>>> it is approved. >>>>>> >>>>>> [1] >>>>>> https://blueprints.launchpad.net/magnum/+spec/barbican-alternative-sto >>>>>> re >>>>>> >>>>>> Best regards, >>>>>> Hongbin >>>>>> >>>>>> -----Original Message----- >>>>>> From: Ricardo Rocha [mailto:rocha.po...@gmail.com] >>>>>> Sent: March-17-16 2:39 PM >>>>>> To: OpenStack Development Mailing List (not for usage questions) >>>>>> Subject: Re: [openstack-dev] [magnum] High Availability >>>>>> >>>>>> Hi. >>>>>> >>>>>> We're on the way, the API is using haproxy load balancing in the same >>>>>> way all openstack services do here - this part seems to work fine. >>>>>> >>>>>> For the conductor we're stopped due to bay certificates - we don't >>>>>> currently have barbican so local was the only option. To get them >>>>>> accessible on all nodes we're considering two options: >>>>>> - store bay certs in a shared filesystem, meaning a new set of >>>>>> credentials in the boxes (and a process to renew fs tokens) >>>>>> - deploy barbican (some bits of puppet missing we're sorting out) >>>>>> >>>>>> More news next week. >>>>>> >>>>>> Cheers, >>>>>> Ricardo >>>>>> >>>>>>> On Thu, Mar 17, 2016 at 6:46 PM, Daneyon Hansen (danehans) >>>>>>> <daneh...@cisco.com> wrote: >>>>>>> All, >>>>>>> >>>>>>> Does anyone have experience deploying Magnum in a highly-available >>>>>>> fashion? >>>>>>> If so, I'm interested in learning from your experience. My biggest >>>>>>> unknown is the Conductor service. Any insight you can provide is >>>>>>> greatly appreciated. >>>>>>> >>>>>>> Regards, >>>>>>> Daneyon Hansen >>>>>>> >>>>>>> _____________________________________________________________________ >>>>>>> _ ____ OpenStack Development Mailing List (not for usage questions) >>>>>>> Unsubscribe: >>>>>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>>> >>>>>> ______________________________________________________________________ >>>>>> ____ OpenStack Development Mailing List (not for usage questions) >>>>>> Unsubscribe: >>>>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>>> ______________________________________________________________________ >>>>>> ____ OpenStack Development Mailing List (not for usage questions) >>>>>> Unsubscribe: >>>>>> openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> __________________________________________________________________________ >>>>> OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> __________________________________________________________________________ >>>>> OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>> >>>> __________________________________________________________________________ >>>> OpenStack Development Mailing List (not for usage questions) >>>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>> >>> __________________________________________________________________________ >>> OpenStack Development Mailing List (not for usage questions) >>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> __________________________________________________________________________ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev