Prepare: Use PDK to build puppet module

The puppet module command is deprecated and
is replaced by using the PDK [1] [2].

The difference between the two commands is only
the output in the pkg directory.

The old puppet module command will create a folder and a tarball with the module.

$ls pkg/
openstack-openstacklib-14.1.0/
openstack-openstacklib-14.1.0.tar.gz

While the PDK will only create the tarball in the
pkg folder. This should be no problem since I can't
find anywhere were we are using the generated folder
in the pkg folder.

This is part 1 in a series of two changes, it contains a role to install
the package dependencies (run in pre.yaml before revoke-sudo is called),
the followup change adds the role to actually build. We need those two
steps to not introduce breakage since the users of build-puppet-module
need to be updated before we can change build-puppet-module.

Change-Id: Ief299751c001542b10fcdf44f1b40a169135877a
Needed-By: https://review.opendev.org/667589
Needed-By: https://review.opendev.org/667595
Co-Authored-By: Tobias Urdin <tobias.urdin@binero.se>
This commit is contained in:
Andreas Jaeger 2019-06-26 13:56:36 +02:00 committed by Andreas Jaeger
parent 311a3a84ed
commit 0efea94054
3 changed files with 25 additions and 0 deletions

View File

@ -2,5 +2,6 @@ Puppet Roles
============
.. zuul:autorole:: build-puppet-module
.. zuul:autorole:: install-pdk-dependencies
.. zuul:autorole:: fetch-puppet-module-output
.. zuul:autorole:: upload-forge

View File

@ -0,0 +1,5 @@
Ensure dependencies for Puppet Development Kit are installed
This role installs all dependencies for Puppet Development Kit (PDK)
so that puppet modules can be build with the PDK and published to the
forge.

View File

@ -0,0 +1,19 @@
- name: Install ruby dependencies on Red Hat/SUSE based distribution
package:
name:
- ruby-devel
- gcc-c++
- make
state: present
become: yes
when: ansible_os_family == "RedHat" or ansible_os_family == "Suse"
- name: Install ruby dependencies on Debian based distribution
package:
name:
- ruby-dev
- g++
- make
state: present
become: yes
when: ansible_os_family == "Debian"