Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

needed to specify puppetdb version #44

Merged

Conversation

LinguineCode
Copy link
Contributor

Need your opinion on this one. I am not happy with how I hardcoded version param, especially the el6 portion of it.

This PR is a fix for what we were talking the other day. I mentioned that I can't ./bootstrap.sh successfully because of this "termini vs. terminus" problem. You linked me to some info HERE. Short story is: if you are going to use puppetlabs-puppetdb v5.x with PuppetDB 2.x, then we have to specify the version param.

It seems that our other options are to:

  1. Downgrade to PuppetDB 4.x module to use with PuppetDB 2.x
  2. Consider supporting PuppetDB 3.x which probably needs Puppet 4.x

@rnelson0
Copy link
Contributor

rnelson0 commented Sep 2, 2015

The Puppetfile pins the puppetdb module to v3.0.1, so I wonder if that was modified in your setup somehow and is part of the issue. If you ca provide the steps to replicate your issue, that will prove it one way or the other.

@LinguineCode
Copy link
Contributor Author

bootstrap.sh does not have it pinned, but you're right that Puppetfile does. Now that I realize you prefer to use v3.0.1 of the module I will redo this fix to bootstrap.sh accordingly.

@rnelson0
Copy link
Contributor

@seanscottking Are you still interested in reworking this PR?

@LinguineCode
Copy link
Contributor Author

Yes I am, need more time, I msg'd you on IRC

@Wicaeed
Copy link

Wicaeed commented Oct 29, 2015

Any info on when that bootstrap.sh is going to be updated? I'm running into the exact same issue with puppetdb not installing properly due to the termini vs. terminus problem.

@rnelson0
Copy link
Contributor

@Wicaeed @seanscottking I would like to have a better understanding of this. Can one of you provide some log output showing the bootstrap process and the errors encountered?

I think this should not occur unless the puppetdb (module) has been bumped to 5.x which is not the case in the Puppetfile. Clearly it is, I just do not understand why well enough.

@Wicaeed
Copy link

Wicaeed commented Oct 30, 2015

I've attached a pastebin of a failed run with the current master.pp file on the repo: http://pastebin.com/216Ai3Zf

If I put in the fix @seanscottking proposed, I get a successful run: http://pastebin.com/NuEkS6z4

That being said, in the end the first run of puppet agent -t is still unsuccessful.

Here's which modules I see in place with both the fix & original master.pp in the bootstrap folder:

puppet module list --modulepath=/root/bootstrap/modules                                                                 /root/bootstrap/modules
├── croddy-make (v0.0.5)
├── gentoo-portage (v2.3.0)
├── hunner-hiera (v1.1.1)
├── puppetlabs-apache (v1.6.0)
├── puppetlabs-apt (v2.2.0)
├── puppetlabs-concat (v1.2.4)
├── puppetlabs-firewall (v1.7.1)
├── puppetlabs-gcc (v0.3.0)
├── puppetlabs-git (v0.4.0)
├── puppetlabs-inifile (v1.4.2)
├── puppetlabs-pe_gem (v0.1.1)
├── puppetlabs-postgresql (v4.6.0)
├── puppetlabs-puppetdb (v5.0.0)
├── puppetlabs-ruby (v0.4.0)
├── puppetlabs-stdlib (v4.9.0)
├── puppetlabs-vcsrepo (v1.3.1)
├── stahnma-epel (v1.0.2)
├── stephenrjohnson-puppet (v1.3.1)
└── zack-r10k (v2.5.4)

Here's what I see in the actual /etc/puppet/environment/production/modules folder after the first successful run using the edited master.pp file:

[[root@puppet controlrepo]# puppet module list
Warning: Missing dependency 'puppetlabs-apache':
  'puppetinabox-profile' (v1.0.0) requires 'puppetlabs-apache' (>= 0.0.0)
Warning: Missing dependency 'puppetlabs-firewall':
  'puppetinabox-profile' (v1.0.0) requires 'puppetlabs-firewall' (>= 0.0.0)
Warning: Missing dependency 'puppetlabs-lvm':
  'puppetinabox-profile' (v1.0.0) requires 'puppetlabs-lvm' (>= 0.0.0)
Warning: Missing dependency 'puppetlabs-ntp':
  'puppetinabox-profile' (v1.0.0) requires 'puppetlabs-ntp' (>= 0.0.0)
Warning: Missing dependency 'puppetlabs-puppetdb':
  'puppetinabox-profile' (v1.0.0) requires 'puppetlabs-puppetdb' (>= 0.0.0)
Warning: Missing dependency 'puppetlabs-stdlib':
  'puppetinabox-lab_config' (v1.0.0) requires 'puppetlabs-stdlib' (>= 1.0.0)
  'puppetinabox-profile' (v1.0.0) requires 'puppetlabs-stdlib' (>= 0.0.0)
  'puppetinabox-role' (v1.0.0) requires 'puppetlabs-stdlib' (>= 0.0.0)
Warning: Missing dependency 'saz-rsyslog':
  'puppetinabox-profile' (v1.0.0) requires 'saz-rsyslog' (>= 0.0.0)
Warning: Missing dependency 'saz-ssh':
  'puppetinabox-profile' (v1.0.0) requires 'saz-ssh' (>= 0.0.0)
Warning: Missing dependency 'stephenrjohnson-puppet':
  'puppetinabox-profile' (v1.0.0) requires 'stephenrjohnson-puppet' (>= 0.0.0)
/etc/puppet/environments/production/dist
├── puppetinabox-profile (v1.0.0)
└── puppetinabox-role (v1.0.0)
/etc/puppet/environments/production/modules
├── ajjahn-dhcp (v0.2.0)
├── croddy-make (v0.0.5)
├── garethr-erlang (v0.3.0)
├── gentoo-portage (v2.2.0)
├── maestrodev-rvm (v1.6.6)
├── nanliu-staging (v1.0.2)
├── palli-createrepo (v0.9.5)
├── puppetinabox-lab_config (v1.0.0)
├── puppetlabs-activemq (v0.2.0)
├── puppetlabs-apache (v1.2.0)
├── puppetlabs-apt (v1.5.0)
├── puppetlabs-concat (v1.1.2)
├── puppetlabs-firewall (v1.1.2)
├── puppetlabs-gcc (v0.1.0)
├── puppetlabs-git (v0.1.0)
├── puppetlabs-inifile (v1.1.0)
├── puppetlabs-java (v1.1.1)
├── puppetlabs-java_ks (v1.2.4)
├── puppetlabs-lvm (v0.4.0)
├── puppetlabs-mcollective (v1.1.5)
├── puppetlabs-mysql (v3.1.0)
├── puppetlabs-ntp (v3.1.1)
├── puppetlabs-pe_gem (v0.0.1)
├── puppetlabs-postgresql (v3.3.3)
├── puppetlabs-puppetdb (v3.0.1)
├── puppetlabs-rabbitmq (v4.0.0)
├── puppetlabs-ruby (v0.4.0)
├── puppetlabs-stdlib (v4.5.0)
├── puppetlabs-tftp (v0.2.3)
├── puppetlabs-vcsrepo (v1.0.1)
├── puppetlabs-xinetd (v1.4.0)
├── richardc-datacat (v0.4.3)
├── rnelson0-certs (v0.6.1)
├── rnelson0-local_user (v0.9.3)
├── saz-ssh (v2.4.0)
├── saz-sudo (v3.0.6)
├── stahnma-epel (v0.1.0)
├── stephenrjohnson-puppet (v0.0.23)
├── thias-bind (v0.5.1)
├── yguenane-augeas (v0.1.1)
├── yguenane-ygrpms (v0.1.0)
└── zack-r10k (v2.8.0)
/etc/puppet/modules (no modules installed)
/usr/share/puppet/modules (no modules installed)

I'm not 100% sure what's happening when the first puppet agent -t runs, but is it possible that the initial module installation and first puppet apply runs are installing more up to date versions of puppetdb and postgresql, and then they aren't able to be downgraded by the puppet agent -t run?

That's just my guess though.

@rnelson0
Copy link
Contributor

Oooooh, I see. During the bootstrap, the dependency tracker for stephenrjohnson/puppet requires puppetlabs/puppetdb >= 2.0.0. So despite the pinned version in the Puppetfile, the puppet module install ... commands get us a newer version of the module.

At least it makes sense now. I'm not sure how to fix it quite yet (it's 2am here, yay on-call!) but now I know what needs done. This is imminently solvable.

@rnelson0
Copy link
Contributor

@Wicaeed Thanks SO much for the puppet module list, made all the difference!

@Wicaeed
Copy link

Wicaeed commented Nov 4, 2015

Hey @rnelson , any idea on when a fix might be made available?

@rnelson
Copy link

rnelson commented Nov 4, 2015

No, but @rnelson0 might know.

On Wed, Nov 4, 2015 at 1:13 PM, Wicaeed notifications@github.com wrote:

Hey @rnelson , any idea on when a fix might be made available?

Reply to this email directly or view it on GitHub:
#44 (comment)

@Wicaeed
Copy link

Wicaeed commented Nov 4, 2015

Oops :)

@rnelson0
Copy link
Contributor

rnelson0 commented Nov 4, 2015

@Wicaeed Sorry for the delay. I have not had the time to fully test this, but I created a new puppetdb_pin branch with an updated bootstrap. The simple test - run the module install commands and then module list - shows that the right version of puppetlabs/puppetdb is installed to not require the additional changes @seanscottking suggested. This should allow things to proceed. If either of you are in a good position to test, can you try that branch?

If this is successful then I will update the wiki with the non-bootstrap process. That should tide things over until puppet4/puppetdb3 come to puppetinabox.

@Wicaeed
Copy link

Wicaeed commented Nov 5, 2015

Can confirm that after puppet module install --modulepath=/root/bootstrap/modules puppetlabs/puppetdb --version 3.0.1 was added to the bootstrap.sh script I no longer get an error regarding puppetdb, however now I am getting errors regarding puppet passenger not being able to be installed via yum. I've opened a new issue for that problem.

@rnelson0
Copy link
Contributor

rnelson0 commented Dec 4, 2015

@seanscottking Can you rebase this against production? I don't like this fix but with passenger broken for the moment it's kind of required anyway as a stopgap until I have puppet 4 ready in #55.

@LinguineCode
Copy link
Contributor Author

rebased!

rnelson0 added a commit that referenced this pull request Dec 4, 2015
@rnelson0 rnelson0 merged commit 299113a into puppetinabox:production Dec 4, 2015
@rnelson0
Copy link
Contributor

rnelson0 commented Dec 4, 2015

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants