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) <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote: >>> >>> Hongbin, >>> >>>> On Mar 17, 2016, at 2:25 PM, Hongbin Lu <[email protected]> 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:[email protected]] >>>> 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 <[email protected]> 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:[email protected]] >>>>> 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) >>>>>> <[email protected]> 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: >>>>>> [email protected]?subject:unsubscribe >>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> >>>>> ______________________________________________________________________ >>>>> ____ OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: >>>>> [email protected]?subject:unsubscribe >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>>> ______________________________________________________________________ >>>>> ____ OpenStack Development Mailing List (not for usage questions) >>>>> Unsubscribe: >>>>> [email protected]?subject:unsubscribe >>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>> >>>> __________________________________________________________________________ >>>> OpenStack Development Mailing List (not for usage questions) >>>> Unsubscribe: [email protected]?subject:unsubscribe >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>>> >>>> __________________________________________________________________________ >>>> OpenStack Development Mailing List (not for usage questions) >>>> Unsubscribe: [email protected]?subject:unsubscribe >>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >>> >>> __________________________________________________________________________ >>> OpenStack Development Mailing List (not for usage questions) >>> Unsubscribe: [email protected]?subject:unsubscribe >>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> __________________________________________________________________________ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: [email protected]?subject:unsubscribe >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: [email protected]?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
