[
https://issues.apache.org/jira/browse/WHIRR-745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Werner Buck updated WHIRR-745:
------------------------------
Attachment: WHIRR-745.patch
> Multiple puppet roles per node results in errorcode 128 failing bootstrap.
> --------------------------------------------------------------------------
>
> Key: WHIRR-745
> URL: https://issues.apache.org/jira/browse/WHIRR-745
> Project: Whirr
> Issue Type: Bug
> Components: service/puppet
> Affects Versions: 0.8.2
> Environment: Example whirr properties:
> {code}
> # Change the number of machines in the cluster here
> whirr.cluster-name=test
> whirr.instance-templates=1 puppet:apache+puppet:ntp
> whirr.firewall-rules=80
> # with puppet, you need to specify where to pull the modules from
> puppet.apache.module=git://github.com/metcalfc/puppet-apache.git
> puppet.ntp.module=git://github.com/puppetlabs/puppetlabs-ntp.git
> # with puppet, you can set class parameters
> ntp.servers=[ '0.pool.ntp.org', 'clock.redhat.com' ]
> ntp.autoupdate=true
> whirr.provider=openstack-nova
> whirr.identity=admin:admin
> whirr.credential=nova
> whirr.hardware-id=RegionOne/2ad6d75b-131b-477e-b9b1-58fbe23196e5
> whirr.image-id=RegionOne/dbe90162-ef25-4aef-8ecd-8906fc5d49fb
> whirr.location-id=RegionOne
> {code}
> Reporter: Werner Buck
> Attachments: WHIRR-745.patch
>
>
> Puppet role bootstrap is done per occurence of role, rather than once for all
> puppet roles.
> The problem is that during bootstrapping the {code}git clone whatever -b
> /etc/modules/directory{code} Is repeated times the different puppet roles
> specified.
> This causes the bootstrap procedure to fail with errorCode 128 as git clone
> does not want to overwrite existing directories.
> The same behaviour occurs in configure where the puppet init.p repeats calls
> to puppet classes:
> When three puppet roles are assigned the following happens:
> {code}
> 23:34:36.561 [deployer-api-akka.actor.default-dispatcher-8] INFO
> o.apache.whirr.service.ComputeCache - >> running
> InitScript{INSTANCE_NAME=configure-puppet:apache_puppet:stdlib_puppet:ntp} on
> node(1)
> 23:34:36.567 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping apache, produced
> manifest:
> class { 'apache':
> }
> 23:34:36.567 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping stdlib, produced
> manifest:
> class { 'stdlib':
> }
> 23:34:36.568 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping ntp, produced manifest:
> class { 'ntp':
> }
> 23:34:36.569 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping apache, produced
> manifest:
> class { 'apache':
> }
> 23:34:36.569 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping stdlib, produced
> manifest:
> class { 'stdlib':
> }
> 23:34:36.569 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping ntp, produced manifest:
> class { 'ntp':
> }
> 23:34:36.570 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping apache, produced
> manifest:
> class { 'apache':
> }
> 23:34:36.570 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping stdlib, produced
> manifest:
> class { 'stdlib':
> }
> 23:34:36.570 [deployer-api-akka.actor.default-dispatcher-8] DEBUG
> o.a.w.s.p.s.CreateSitePpAndApplyRoles - Bootstrapping ntp, produced manifest:
> class { 'ntp':
> }
> {code}
> I have attached a quick fix to pass the bootstrap phase for Puppet when
> multiple roles are identified by prepending "rm -rf MODULEDIR/module && " to
> the git clone command.
> This allows git to clone again and the bootstrap phase to at least
> successfully run.
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira