Bug 1146916

Summary: pulp-puppet-module-builder fails with modules that are missing manifests/init.pp
Product: Red Hat Satellite Reporter: cristi falcas <cristi.falcas>
Component: PulpAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED CURRENTRELEASE QA Contact: Corey Welton <cwelton>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0.0CC: bbuckingham, bkearney, bmbouter, bthurber, cristi.falcas, cwelton, daviddavis, dkliban, ggainey, ipanova, jcline, jortel, kabbott, mheldebr, mhrivnak, pcreech, pthomas, rbarlow, rchan, sdodson, tkolhar, ttereshc
Target Milestone: UnspecifiedKeywords: Reopened, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-12 16:04:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1145795    

Description cristi falcas 2014-09-26 11:02:28 UTC
Description of problem:
If there is no init.pp, pulp-puppet-module-builder will fail:

pulp-puppet-module-builder --working-dir=/opt/puppet --output-dir=/opt/puppet/modules --clean --url=https://github.com/puppetlabs/puppetlabs-inifile.git -t 1.1.3
rm -rf /opt/puppet/puppetlabs-inifile.git
cd /opt/puppet
git clone --recursive https://github.com/puppetlabs/puppetlabs-inifile.git
cd puppetlabs-inifile
git status
git remote show -n origin
git fetch
git fetch --tags
git checkout 1.1.3
find ./manifests -name init.pp
find: ‘./manifests’: No such file or directory

Same for puppetlabs-java_ks.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Jeff Ortel 2014-09-26 14:55:15 UTC
Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1146834

Comment 2 Jeff Ortel 2014-09-26 16:25:23 UTC
Is it legal for the init.pp to not be present?  Looking at the documentation it is not clear.

https://docs.puppetlabs.com/puppet/latest/reference/modules_fundamentals.html#module-layout

Comment 3 cristi falcas 2014-09-26 19:03:30 UTC
Considering that a lot of high profile modules don't have init.pp (mysql, postgresql, inifile, also some from foreman), I don't think it really matters. The modules should be supported.

Comment 4 Michael Hrivnak 2014-10-01 16:03:22 UTC
related to https://bugzilla.redhat.com/show_bug.cgi?id=1146834

Comment 5 Randy Barlow 2014-10-01 17:20:32 UTC
As per discussion, we are raising the priority on this bug.

Comment 6 Jeremy Cline 2014-11-03 21:06:23 UTC
https://github.com/pulp/pulp_puppet/pull/150

Comment 7 Jeremy Cline 2014-11-05 15:04:23 UTC
pulp-puppet-module-builder should now attempt to build any directory with a Modulefile or metadata.json file. To test, use some modules that don't have init.pp manifest (a module with nothing but a metadata.json file should work).

Note that I tested this with Puppet 3.7 and I believe that the current version in Fedora 20 is 3.4 and doesn't like building modules that don't have Modulefiles.

Comment 8 Scott Dodson 2014-11-14 16:30:58 UTC
(In reply to Jeremy Cline from comment #7)
> Note that I tested this with Puppet 3.7 and I believe that the current
> version in Fedora 20 is 3.4 and doesn't like building modules that don't
> have Modulefiles.

That's correct, 3.6.0 is the first version of puppet builds without a Modulefile.

Comment 9 Scott Dodson 2014-11-14 17:17:18 UTC
*** Bug 1142309 has been marked as a duplicate of this bug. ***

Comment 13 Chris Duryee 2014-12-23 20:52:55 UTC
fixed in pulp 2.6.0-0.2.beta

Comment 14 Preethi Thomas 2015-01-30 15:13:35 UTC
verified
[root@cloud-qe-4 puppet]# 
[root@cloud-qe-4 puppet]# rpm -qa |grep puppet
pulp-puppet-admin-extensions-2.6.0-0.5.beta.el7.noarch
pulp-puppet-tools-2.6.0-0.5.beta.el7.noarch
python-pulp-puppet-common-2.6.0-0.5.beta.el7.noarch
pulp-puppet-plugins-2.6.0-0.5.beta.el7.noarch
puppet-3.6.2-3.el7.noarch
[root@cloud-qe-4 puppet]# 



[root@cloud-qe-4 puppet]# pulp-puppet-module-builder --url=https://github.com/puppetlabs/puppetlabs-xinetd -o ../modules
cd /opt/puppet
git clone --recursive https://github.com/puppetlabs/puppetlabs-xinetd
cd puppetlabs-xinetd
git status
git remote show -n origin
git fetch
git fetch --tags
find . -name Modulefile
find . -name metadata.json
puppet module build 
mkdir -p ../modules
cp pkg/puppetlabs-xinetd-1.4.0.tar.gz ../modules
puppet module build .
mkdir -p ../modules
cp ./pkg/puppetlabs-xinetd-1.4.0.tar.gz ../modules
cd ../modules
cd /opt/puppet/puppetlabs-xinetd
cd /opt/puppet
[root@cloud-qe-4 puppet]# rpm -q puppet
puppet-3.6.2-3.el7.noarch
[root@cloud-qe-4 puppet]# 
[root@cloud-qe-4 puppet]# pulp-puppet-module-builder --working-dir=/opt/puppet --output-dir=/opt/puppet/modules --clean --url=https://github.com/puppetlabs/puppetlabs-inifile.git -t 1.1.3
rm -rf /opt/puppet/puppetlabs-inifile.git
cd /opt/puppet
git clone --recursive https://github.com/puppetlabs/puppetlabs-inifile.git
cd puppetlabs-inifile
git status
git remote show -n origin
git fetch
git fetch --tags
git checkout 1.1.3
find . -name Modulefile
find . -name metadata.json
puppet module build 
mkdir -p /opt/puppet/modules
cp pkg/puppetlabs-inifile-1.1.3.tar.gz /opt/puppet/modules
puppet module build .
mkdir -p /opt/puppet/modules
cp ./pkg/puppetlabs-inifile-1.1.3.tar.gz /opt/puppet/modules
cd /opt/puppet/modules
cd /opt/puppet/puppetlabs-inifile
cd /opt/puppet
rm -rf /opt/puppet/puppetlabs-inifile.git
[root@cloud-qe-4 puppet]# 
[root@cloud-qe-4 puppet]# 
[root@cloud-qe-4 puppet]# 
[root@cloud-qe-4 puppet]# 
[root@cloud-qe-4 puppet]#  pulp-puppet-module-builder --working-dir=/opt/puppet --output-dir=/opt/puppet/modules --clean --url=https://github.com/puppetlabs/puppetlabs-mcollective.git -t 2.0.0
rm -rf /opt/puppet/puppetlabs-mcollective.git
cd /opt/puppet
git clone --recursive https://github.com/puppetlabs/puppetlabs-mcollective.git
cd puppetlabs-mcollective
git status
git remote show -n origin
git fetch
git fetch --tags
git checkout 2.0.0
find . -name Modulefile
find . -name metadata.json
puppet module build 
mkdir -p /opt/puppet/modules
cp pkg/puppetlabs-mcollective-2.0.0.tar.gz /opt/puppet/modules
puppet module build ./examples/mco_profile
mkdir -p /opt/puppet/modules
cp ./examples/mco_profile/pkg/reidmv-mco_profile-0.1.0.tar.gz /opt/puppet/modules
puppet module build .
mkdir -p /opt/puppet/modules
cp ./pkg/puppetlabs-mcollective-2.0.0.tar.gz /opt/puppet/modules
cd /opt/puppet/modules
cd /opt/puppet/puppetlabs-mcollective
cd /opt/puppet
rm -rf /opt/puppet/puppetlabs-mcollective.git

Comment 15 Brian Bouterse 2015-02-28 22:23:37 UTC
Moved to https://pulp.plan.io/issues/549

Comment 16 RHEL Program Management 2015-03-03 20:19:34 UTC
Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

Comment 18 pulp-infra@redhat.com 2015-04-23 16:40:02 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.

Comment 19 Bryan Kearney 2015-04-27 20:35:34 UTC
Upstream has marked this as resolved in pulp 2.6.0 which is delivered by Satellite 6.1.0. I am moving this to ON_QA.

Comment 21 Karl Abbott 2015-05-13 12:16:08 UTC
Considering comment #19, should we now have 6.1+ instead of 6.1?

Karl

Comment 22 Bryan Kearney 2015-05-13 19:11:45 UTC
I am acking this, I will get this acked.

Comment 23 Corey Welton 2015-07-21 13:48:57 UTC
Verified in Satellite 6.1 Snap 13

[root@ibm-x3250m4-07 bz1146916]# pulp-puppet-module-builder --working-dir=/tmp/puppet --output-dir=/tmp/puppet/modules --clean --url=https://github.com/puppetlabs/puppetlabs-inifile.git -t 1.1.3
rm -rf /tmp/puppet/puppetlabs-inifile.git
cd /tmp/puppet
git clone --recursive https://github.com/puppetlabs/puppetlabs-inifile.git
cd puppetlabs-inifile
git status
git remote show -n origin
git fetch
git fetch --tags
git checkout 1.1.3
find . -name Modulefile
find . -name metadata.json
puppet module build 
mkdir -p /tmp/puppet/modules
cp pkg/puppetlabs-inifile-1.1.3.tar.gz /tmp/puppet/modules
puppet module build .
mkdir -p /tmp/puppet/modules
cp ./pkg/puppetlabs-inifile-1.1.3.tar.gz /tmp/puppet/modules
cd /tmp/puppet/modules
cd /tmp/puppet/puppetlabs-inifile
cd /root/bz1146916
rm -rf /tmp/puppet/puppetlabs-inifile.git
[root@ibm-x3250m4-07 bz1146916]#

Comment 24 Bryan Kearney 2015-08-12 16:04:49 UTC
This bug was fixed in Satellite 6.1.1 which was delivered on 12 August, 2015.