[openstack-dev] [Neutron][LBaaS] new common module for Barbican TLS containers interaction
Evgeny Fedoruk
EvgenyF at Radware.com
Sun Jul 27 12:21:38 UTC 2014
Carlos,
The module skeleton, including API functions and their brief description, was committed at https://review.openstack.org/#/c/109849/
checkContainerExistance -should be used by LBaaS API, I will merge it into TLS implementation change.
- Throwing TLSContainerNotFound exception
validateContainer -should be used LBaaS API instead of checkContainerExistance if we will be able to implement it for Juno.
- Throwing TLSContainerNotFound or TLSContainerInvalid exceptions
_getContainerAndRegisterConsumer - internal. Used by checkContainerExistance and validateContainer. Getting container by posting service as a container consumer.
unregisterContainerConsumer - should be used by LBaaS API when container is not used for listeners anymore. I will implement it in TLS implementation change. Also used by
- also used by checkContainerExistance and validateContainer in order not to leave containers consumed in Barbican before
- driver does the real consumer registration with getCertificateX509 and/or extractCertificateHostNames
getCertificateX509 - should be used by specific vendor driver. Getting container by posting service as a container consumer. Returns certificate's X509
extractCertificateHostNames - should be used by specific vendor driver. Getting certificate's X509 by using getCertificateX509 and returns SCN and SAN names dict.
I will appreciate your opinion on this API.
Thanks,
Evg
-----Original Message-----
From: Carlos Garza [mailto:carlos.garza at rackspace.com]
Sent: Thursday, July 24, 2014 7:08 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Neutron][LBaaS] new common module for Barbican TLS containers interaction
Sorry I meant to say I'm pretty agreeable just park a stub module so I can populate it.
On Jul 24, 2014, at 11:06 AM, Carlos Garza <carlos.garza at rackspace.com>
wrote:
> I'Just park a module with a stub call that I can populate with pyasn1.
> On Jul 24, 2014, at 10:38 AM, Evgeny Fedoruk <EvgenyF at Radware.com>
> wrote:
>
>> Hi,
>>
>> Following our talk on TLS work items split, We need to decide how
>> will we validate/extract certificates Barbican TLS containers.
>> As we agreed on IRC, the first priority should be certificates fetching.
>>
>> TLS RST describes a new common module that will be used by LBaaS API and LBaaS drivers.
>> It's proposed front-end API is currently:
>> 1. Ensuring Barbican TLS container existence (used by LBaaS API) 2.
>> Validating Barbican TLS container (used by LBaaS API)
>> This API will also "register" LBaaS as a container's consumer in Barbican's repository.
>> POST request:
>> http://admin-api/v1/containers/{container-uuid}/consumers
>> {
>> "type": "LBaaS",
>> "URL": "https://lbaas.myurl.net/loadbalancers/<lbaas_loadbalancer_id>/"
>> }
>>
>> 3. Extracting SubjectCommonName and SubjectAltName information
>> from certificates' X509 (used by LBaaS front-end API)
>> As for now, only dNSName (and optionally directoryName) types will be extracted from
>> SubjectAltName sequence,
>>
>> 4. Fetching certificate's data from Barbican TLS container
>> (used by provider/driver code)
>>
>> 5. Unregistering LBaaS as a consumer of the container when container is not
>> used by any listener any more (used by LBaaS front-end API)
>>
>> So this new module's front-end is used by LBaaS API/drivers and its back-end is facing Barbican API.
>> Please give your feedback on module API, should we merge 1 and 2?
>>
>> I will be able to start working on the new module skeleton on Sunday morning. It will include API functions.
>>
>> TLS implementation patch has a spot where container validation should
>> happen:https://review.openstack.org/#/c/109035/3/neutron/db/loadbalancer/loadbalancer_dbv2.py line 518 After submitting the module skeleton I can make the TLS implementation patch to depend on that module patch and use its API.
>>
>> As an alternative we might leave this job to drivers, if common
>> module will be not implemented
>>
>> What are your thoughts/suggestions/plans?
>>
>> Thanks,
>> Evg
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list