Sorry for responding so late but I don't think we should be doing ref 
counting at all.
In a closed system its hard enough to guarantee they are correct but in an open 
distributed system I really doubt every service will bother decrementing and 
incrementing the counters properly.

On Jun 16, 2014, at 1:35 PM, Stephen Balukoff <sbaluk...@bluebox.net> wrote:

> I would like to see something more sophisticated than a simple counter (it's 
> so easy for a counter to get off when dealing with non-atomic asynchronous 
> commands). But a counter is a good place to start.
> 
> On Jun 13, 2014 6:54 AM, "Jain, Vivek" <vivekj...@ebay.com> wrote:
> +2. I totally agree with your comments Doug. It defeats the purpose if 
> Barbican does not want to deal with consumers of its service.
> 
> Barbican can simply have a counter field on each container to signify how 
> many consumers are using it. Every time a consumer uses a container, it 
> increases the counter using barbican API.  If counter is 0, container is safe 
> to delete.
> 
> —vivek
> 
> From: Doug Wiegley <do...@a10networks.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 at 2:41 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> Of what use is a database that randomly delete rows?  That is, in effect, 
> what you’re allowing.
> 
> The secrets are only useful when paired with a service.  And unless I’m 
> mistaken, there’s no undo.  So you’re letting users shoot themselves in the 
> foot, for what reason, exactly?  How do you expect openstack to rely on a 
> data store that is fundamentally random at the whim of users?  Every single 
> service that uses Barbican will now have to hack in a defense mechanism of 
> some kind, because they can’t trust that the secret they rely on will still 
> be there later.  Which defeats the purpose of this mission statement:  
> "Barbican is a ReST API designed for the secure storage, provisioning and 
> management of secrets.”
> 
> (And I don’t think anyone is suggesting that blind refcounts are the answer.  
> At least, I hope not.)
> 
> Anyway, I hear this has already been decided, so, so be it.  Sounds like 
> we’ll hack around it.
> 
> Thanks,
> doug
> 
> 
> From: Douglas Mendizabal <douglas.mendiza...@rackspace.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 at 3:26 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> I think that having Barbican decide whether the user is or isn’t allowed to 
> delete a secret that they own based on a reference count that is not directly 
> controlled by them is unacceptable.   This is indeed policy enforcement, and 
> we’d rather not go down that path.
> 
> I’m opposed to the idea of reference counting altogether, but a couple of 
> other Barbican-core members are open to it, as long as it does not affect the 
> delete behaviors.
> 
> -Doug M.
> 
> From: Adam Harwell <adam.harw...@rackspace.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 at 4:17 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> Doug: Right, we actually have a blueprint draft for EXACTLY this, but the 
> Barbican team gave us a flat "not happening, we reject this change" on 
> causing a delete to fail. The shadow-copy solution I proposed only came about 
> because the option you are proposing is not possible. :(
> 
> I also realized that really, this whole thing is an issue for the backend, 
> not really for the API itself — the LBaaS API will be retrieving the key/cert 
> from Barbican and passing it to the backend, and the backend it what's 
> responsible for handling it from that point (F5, Stingray etc would never 
> actually call back to Barbican). So, really, the Service-VM solution we're 
> architecting is where the shadow-copy solution needs to live, at which point 
> it no longer is really an issue we'd need to discuss on this mailing list, I 
> think. Stephen, does that make sense to you?
> --Adam
> 
> https://keybase.io/rm_you
> 
> 
> From: Doug Wiegley <do...@a10networks.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 4:10 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> A third option, that is neither shadow copying nor policy enforcement:
> 
> Ask the Barbican team to put in a small api that is effectively, “hey, I’m 
> using this container” and “hey, I’m done with this container”, and the have 
> their delete fail if someone is still using it.  This isn’t calling into 
> other services, it’s simply getting informed of who’s using what, and not 
> stomping it.  That seems pretty core to me, and the workarounds if we can’t 
> trust the store to store things are pretty hacky.
> 
> Doug
> 
> 
> From: Adam Harwell <adam.harw...@rackspace.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 at 3:04 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> Right, service VMs are the biggest case for this, because then we WILL need 
> to be tracking the barbicanID even in the backend. I also agree that it would 
> be more useful for OpenStack as a whole if it were managed by a central 
> service (i.e., Barbican handles this issue) rather than having to duplicate 
> all of this logic in every service that utilizes the containers (VPN/FW would 
> have to use essentially the same strategy, or else fragment and do something 
> entirely different — the first of which is a lot of duplicated effort, and 
> the second is just generally bad, already way too much fragmentation going 
> on). On the other hand, the Barbican team is very opposed to doing policy 
> enforcement within Barbican, and I can't say I fault them for that opinion 
> (Barbican was never designed to include a policy enforcement engine). The 
> shadow-copy strategy is the best alternative I can think of given the current 
> project/political landscape. :(
> 
> --Adam
> 
> https://keybase.io/rm_you
> 
> 
> From: Doug Wiegley <do...@a10networks.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 3:42 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> > Doug: The reasons a LB might be reprovisioned are fairly important — mostly 
> > around HA, for fail overs or capacity — exactly the times we're trying 
> > avoid a failure.
> 
> Certainly the ticking time bomb is a bad idea, but HA seems cleaner to do in 
> the backend, rather than at the openstack API level (the dangling reference 
> doesn’t kick in until the lbaas api is used to accomplish that failover.)  
> And the lbaas api also doesn’t have any provisions for helping to shuffle for 
> capacity, so that also becomes a backend issue.  And the backend won’t be 
> natively dealing with a barbican reference.
> 
> However, couple this with service VM’s, and I guess the issue pops back into 
> the forefront.  This is going to be an issue that everyone using ssl certs in 
> barbican is going to have, so it seems we’re applying a band-aid in the wrong 
> place.
> 
> Doug
> 
> 
> From: Adam Harwell <adam.harw...@rackspace.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 at 2:19 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> Doug: The reasons a LB might be reprovisioned are fairly important — mostly 
> around HA, for fail overs or capacity — exactly the times we're trying avoid 
> a failure.
> 
> Stephen: yes, I am talking about storing the copy in a non-tenant way (on the 
> tenant-id for the LBaaS Service Account, not visible to the user). We would 
> have to delete our shadow-copy when the loadbalancer was updated with a new 
> barbicanID by the user, and make a copy of the new container to take its 
> place.
> Also, yes, I think it would be quite surprising (and far from ideal) when the 
> LB you set up breaks weeks or months later when an HA event occurs and you 
> haven't actually made any "changes" in quite a long time. Unfortunately, 
> "making the key unusable in all other contexts" on a Barbican delete isn't 
> really an option, so this is the best fallback I can think of.
> 
> --Adam
> 
> https://keybase.io/rm_you
> 
> 
> From: Doug Wiegley <do...@a10networks.com>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 2:53 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> > In any case, it strikes me as misleading to have an explicit delete command 
> > sent to Barbican not have the effect of making the key unusable in all 
> > other contexts. It would be less surprising behavior, IMO, to have a 
> > deleted barbican container result in connected load balancing services 
> > breaking. (Though without notification to LBaaS, the connected service 
> > might break weeks or months after the key disappeared from barbican, which 
> > would be more surprising behavior.)
> 
> Since a delete in barbican will not affect neutron/lbaas, and since most 
> backends will have had to make their own copy of the key at lb provision 
> time, the barbican delete will not result in lbaas breaking, I think.  The 
> shadow copy would only get used if the lb had to be re-provisioned for some 
> reason before it was given a new key id, which seems a fair bit of complexity 
> for what is gained.
> 
> doug
> 
> 
> From: Stephen Balukoff <sbaluk...@bluebox.net>
> Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Date: Tuesday, June 10, 2014 at 1:47 PM
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev@lists.openstack.org>
> Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS 
> Integration Ideas
> 
> Adam--
> 
> Wouldn't the user see the duplicate key/cert copy in their barbican 
> interface, or are you proposing storing these secrets in a 
> not-assigned-to-the-tenant kind of way?
> 
> In any case, it strikes me as misleading to have an explicit delete command 
> sent to Barbican not have the effect of making the key unusable in all other 
> contexts. It would be less surprising behavior, IMO, to have a deleted 
> barbican container result in connected load balancing services breaking. 
> (Though without notification to LBaaS, the connected service might break 
> weeks or months after the key disappeared from barbican, which would be more 
> surprising behavior.)
> 
> Personally, I like your idea, as I think most of our users would rather have 
> LBaaS issue warnings when the user has done something stupid like this rather 
> than break entirely. I know our support staff would rather it behaved this 
> way.
> 
> What's your proposal for cleaning up copied secrets when they're actually no 
> longer in use by any LB?
> 
> Stephen
> 
> 
> On Tue, Jun 10, 2014 at 12:04 PM, Adam Harwell <adam.harw...@rackspace.com> 
> wrote:
> So, it looks like any sort of validation on Deletes in Barbican is going
> to be a no-go. I'd like to propose a third option, which might be the
> safest route to take for LBaaS while still providing some of the
> convenience of using Barbican as a central certificate store. Here is a
> diagram of the interaction sequence to create a loadbalancer:
> http://bit.ly/1pgAC7G
> 
> Summary: Pass the Barbican "TLS Container ID" to the LBaaS create call,
> get the container from Barbican, and store a "shadow-copy" of the
> container again in Barbican, this time on the LBaaS service account.
> The secret will now be duplicated (it still exists on the original tenant,
> but also exists on the LBaaS tenant), but we're not talking about a huge
> amount of data here -- just a few kilobytes. With this approach, we retain
> most of the advantages we wanted to get from using Barbican -- we don't
> need to worry about taking secret data through the LBaaS API (we still
> just take a barbicanID from the user), and the user can still use a single
> barbicanID (the original one they created -- the copies are invisible to
> them) when passing their TLS info to other services. We gain the
> additional advantage that it no longer matters what happens to the
> original TLS container -- it could be deleted and it would not impact our
> service.
> 
> What do you guys think of that option?
> 
> 
> 
> As an addendum (not saying we necessarily want to do this, but it's an
> option), we COULD retain both the original and the copied barbicanID in
> our database and attempt to fetch them in that order when we need the TLS
> info again, which would allow us to do some alerting if the user does
> delete their key. For example: the user has deleted their key because it
> was compromised, but they forgot they used it on their loadbalancer -> a
> failover event occurs and we attempt to fetch the info from Barbican ->
> the first fetch fails, but the second fetch to our copy succeeds -> the
> failover of the LB is successful, and we send an alert to notify the user
> that their LB is using TLS info that has been deleted from Barbican.
> 
> 
>         --Adam
> 
> 
> https://keybase.io/rm_you
> 
> 
> 
> 
> 
> On 6/10/14 6:21 AM, "Clark, Robert Graham" <robert.cl...@hp.com> wrote:
> 
> >It looks like this has come full circle and we are back at the simplest
> >case.
> >
> ># Containers are immutable
> ># Changing a cert means creating a new container and, when ready,
> >pointing LBaaS at the new container
> >
> >This makes a lot of sense to me, it removes a lot of handholding and
> >keeps Barbican and LBaaS nicely decoupled. It also keeps certificate
> >lifecycle management firmly in the hands of the user, which imho is a
> >good thing. With this model it¹s fairly trivial to provide guidance /
> >additional tooling for lifecycle management if required but at the same
> >time the simplest case (I want a cert and I want LBaaS) is met without
> >massive code overhead for edge-cases.
> >
> >
> >From: Vijay Venkatachalam
> ><vijay.venkatacha...@citrix.com<mailto:vijay.venkatacha...@citrix.com>>
> >Reply-To: OpenStack List
> ><openstack-dev@lists.openstack.org<mailto:openstack-...@lists.openstack.or
> >g>>
> >Date: Tuesday, 10 June 2014 05:48
> >To: OpenStack List
> ><openstack-dev@lists.openstack.org<mailto:openstack-...@lists.openstack.or
> >g>>
> >Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS
> >Integration Ideas
> >
> >
> >My vote is for option #2 (without the registration). It is simpler to
> >start with this approach. How is delete handled though?
> >
> >Ex. What is the expectation when user attempts to delete a
> >certificate/container which is referred by an entity like LBaaS listener?
> >
> >
> >1.       Will there be validation in Barbican to prevent this? *OR*
> >
> >2.       LBaaS listener will have a dangling reference/pointer to
> >certificate?
> >
> >Thanks,
> >Vijay V.
> >
> >From: Stephen Balukoff [mailto:sbaluk...@bluebox.net]
> >Sent: Tuesday, June 10, 2014 7:43 AM
> >To: OpenStack Development Mailing List (not for usage questions)
> >Subject: Re: [openstack-dev] [Neutron][LBaaS] Barbican Neutron LBaaS
> >Integration Ideas
> >
> >Weighing in here:
> >
> >I'm all for option #2 as well.
> >
> >Stephen
> >
> >On Mon, Jun 9, 2014 at 4:42 PM, Clint Byrum
> ><cl...@fewbar.com<mailto:cl...@fewbar.com>> wrote:
> >Excerpts from Douglas Mendizabal's message of 2014-06-09 16:08:02 -0700:
> >> Hi all,
> >>
> >> I¹m strongly in favor of having immutable TLS-typed containers, and very
> >> much opposed to storing every revision of changes done to a container.
> >>I
> >> think that storing versioned containers would add too much complexity to
> >> Barbican, where immutable containers would work well.
> >>
> >Agree completely. Create a new one for new values. Keep the old ones
> >while they're still active.
> >
> >>
> >> I¹m still not sold on the idea of registering services with Barbican,
> >>even
> >> though (or maybe especially because) Barbican would not be using this
> >>data
> >> for anything.  I understand the problem that we¹re trying to solve by
> >> associating different resources across projects, but I don¹t feel like
> >> Barbican is the right place to do this.
> >>
> >Agreed also, this is simply not Barbican or Neutron's role. Be a REST
> >API for secrets and networking, not all dancing all singing nannies that
> >prevent any possibly dangerous behavior with said API's.
> >
> >> It seems we¹re leaning towards option #2, but I would argue that
> >> orchestration of services is outside the scope of Barbican¹s role as a
> >> secret-store.  I think this is a problem that may need to be solved at a
> >> higher level.  Maybe an openstack-wide registry of dependend entities
> >> across services?
> >An optional openstack-wide registry of depended entities is called
> >"Heat".
> >
> >_______________________________________________
> >OpenStack-dev mailing list
> >OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org
> >>
> >http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> >
> >
> >--
> >Stephen Balukoff
> >Blue Box Group, LLC
> >(800)613-4305 x807
> >
> >_______________________________________________
> >OpenStack-dev mailing list
> >OpenStack-dev@lists.openstack.org
> >http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> -- 
> Stephen Balukoff 
> Blue Box Group, LLC 
> (800)613-4305 x807
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to