[openstack-dev] [puppet] [oslo] Proposal of adding puppet-oslo to OpenStack

Emilien Macchi emilien at redhat.com
Thu Jan 21 15:58:59 UTC 2016



On 01/21/2016 08:15 AM, Doug Hellmann wrote:
> Excerpts from Cody Herriges's message of 2016-01-19 15:50:05 -0800:
>> Colleen Murphy wrote:
>>> On Tue, Jan 19, 2016 at 9:57 AM, Xingchao Yu <yuxcer at gmail.com
>>> <mailto:yuxcer at gmail.com>> wrote:
>>>
>>>     Hi, Emilien:
>>>
>>>          Thanks for your efforts on this topic, I didn't attend V
>>>     release summit and missed related discussion about puppet-oslo.
>>>
>>>          As the reason for not using a unified way to manage oslo_*
>>>     parameters is there maybe exist different oslo_* version between
>>>     openstack projects.
>>>         
>>>          I have an idea to solve this potential problem,we can maintain
>>>     several versions of puppet-oslo, each module can map to different
>>>     version of puppet-oslo.
>>>
>>>         It would be something like follows: (the map info is not true,
>>>     just for example)
>>>
>>>         In Mitaka release
>>>         puppet-nova maps to puppet-oslo with 8.0.0
>>>         puppet-designate maps to puppet-oslo with 7.0.0
>>>         puppet-murano maps to puppet-oslo with 6.0.0
>>>
>>>         In Newton release
>>>         puppet-nova maps to puppet-oslo with 9.0.0
>>>         puppet-designate maps to puppet-oslo with 9.0.0
>>>         puppet-murano maps to puppet-oslo with 7.0.0
>>>
>>> For the simplest case of puppet infrastructure configuration, which is a
>>> single puppetmaster with one environment, you cannot have multiple
>>> versions of a single puppet module installed. This means you absolutely
>>> cannot have an openstack infrastructure depend on having different
>>> versions of a single module installed. In your example, a user would not
>>>  be able to use both puppet-nova and puppet-designate since they are
>>> using different versions of the puppet-oslo module.
>>>
>>> When we put out puppet modules, we guarantee that version X.x.x of a
>>> given module works with the same version of every other module, and this
>>> proposal would totally break that guarantee. 
>>>
>>
>> How does OpenStack solve this issue?
>>
>> * Do they literally install several different versions of the same
>> python library?
>> * Does every project vendor oslo?
>> * Is the oslo library its self API compatible with older versions?
> 
> Each Oslo library has its own version. Only one version of each
> library is installed at a time. We use the global requirements list
> to sync compatible requirements specifications across all OpenStack
> projects to make them co-installable. And we try hard to maintain
> API compatibility, using SemVer versioning to indicate when that
> was not possible.
> 
> If you want to have a single puppet module install all of the Oslo
> libraries, you could pull the right versions from the upper-constraints.txt
> file in the openstack/requirements repository. That file lists the
> versions that were actually tested in the gate.

Thanks for this feedback Doug!
So I propose we create the module in openstack namespace, please vote for:
https://review.openstack.org/#/c/270872/

I talked with xingchao on IRC #puppet-openstack and he's doing
project-config patch today.
Maybe could we start with Nova, Neutron, Cinder, Glance, Keystone, see
how it works and iterate later with other modules.

Thoughts are welcome,
-- 
Emilien Macchi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160121/dc4bdd3f/attachment.pgp>


More information about the OpenStack-dev mailing list