[openstack-dev] [puppet] Running Debian packages on top of Trusty

Ivan Berezovskiy iberezovskiy at mirantis.com
Fri Oct 2 14:35:45 UTC 2015


Hello,

thanks for bringing up this topic, that's what I wanted to discuss on next
puppet-openstack irc meeting.

So, user case is following: users may want to install Debian packages on
Ubuntu host or vice versa,
the same problem can probably happen with CentOS, RHEL, Fedora; or users
may use non-official
package repositories with their own package (service) naming strategy and
so on.
Current situation in puppet modules is following that package and service
names are (let's say)
hardcoded in 'params' class (e.g. [0]). But in situation that I've
described it won't work.
Puppet will try to use Ubuntu names on Ubuntu host and it won't allow to
install and work with
Debian packages.

I've researched puppet modules and found an interesting example which can
help to solve
this issue. It's implemented in puppetlabs mongodb module:
they have 'globals' class [1] that allows to override most part of
parameters from 'params' class [2].

So, I've decided to rework this soltuion and use it in OpenStack modules.
As result I got draft patch
for ceilometer module [3]. By default we use parameters from 'params'
class, but every parameter
can be now overridden using 'globals' class.

OpenStack Puppet team, what do you think about this solution?

Also, I'l bring up this topic on weekly puppet-openstack irc meeting.

[0] -
https://github.com/openstack/puppet-ceilometer/blob/master/manifests/params.pp
[1] -
https://github.com/puppetlabs/puppetlabs-mongodb/blob/master/manifests/globals.pp
[2] -
https://github.com/puppetlabs/puppetlabs-mongodb/blob/master/manifests/params.pp
[3] - https://review.openstack.org/#/c/229918/

2015-10-02 15:43 GMT+03:00 Ivan Udovichenko <iudovichenko at mirantis.com>:

> Hello,
>
> On 10/02/2015 03:15 PM, Emilien Macchi wrote:
> > Hey Thomas,
> >
> > On 10/02/2015 04:33 AM, Thomas Goirand wrote:
> > [...]
> >> We also may need, at some point, to add the type mosdebian and moscentos
> >> to the list of supported package suite, as there still will be some
> >> differences between the upstream Debian or CentOS packages. What is the
> >> best way to add this variable values?
> >>
> >> Could you Puppet experts explain to me and my Mirantis colleagues again?
> >
> > So we partially discussed about that during our last weekly meeting [1]
> > and it come out the best way to support both Debian & Ubuntu are Puppet
> > conditionals, like we already have in place.
> >
> > [1]
> >
> http://eavesdrop.openstack.org/meetings/puppet_openstack/2015/puppet_openstack.2015-09-29-15.00.html
>
> It does not solve the original problem. Let's say you want to install
> Debian packages on-top of Ubuntu, it will fail and you will have to use
> workarounds, for example in the params.pp [1] you have specified.
>
> [1]
>
> https://github.com/openstack/puppet-nova/blob/master/manifests/params.pp#L100-L107
>
> >
> > See the example with puppet-nova |2] where we use $::operatingsystem
> > fact [3] to detect if we're running Ubuntu or Debian.
> > If we're running Ubuntu, we take reference from UCA packaging. If
> > Debian, we take your work as reference.
> >
> > [2]
> >
> https://github.com/openstack/puppet-nova/blob/master/manifests/params.pp#L100-L107
> > [3] https://puppetlabs.com/facter
> >
>
> What we need is some variable which can override the decision which
> Operating System is used and thereby required packages will be
> installed. At least for Debian, that is what we really need.
> I'd be grateful if you look into it. Thank you.
>
> >
> >> Sorry that I didn't take notes about it and couldn't explain,
> >> Cheers,
> >>
> >> Thomas Goirand (zigo)
> >>
> >> P.S: Where may I find the best tutorial to get up-to-speed about puppet,
> >> so that I know what I'm talking about next time?
> >>
> >
> > I personally learnt (and am still learning) by using official
> > documentation [4], that I suggest you to start with.
> >
> > [4] http://docs.puppetlabs.com/puppet/
> >
> > Hope it helps,
> >
> >
> >
> >
> __________________________________________________________________________
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe:
> OpenStack-dev-request at 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-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Thanks, Ivan Berezovskiy
MOS Puppet Team Lead
at Mirantis <https://www.mirantis.com/>

slack: iberezovskiy
skype: bouhforever
phone: + 7-960-343-42-46
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20151002/d8641367/attachment.html>


More information about the OpenStack-dev mailing list