-
-
Notifications
You must be signed in to change notification settings - Fork 178
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
1.1.2 does not work correctly with directory environments on Puppetserver 1.1.3 #225
Comments
Maybe you can also do require File.dirname(FILE) + ' /../../path/to/helper/code' as mentioned here |
In the same software environment and same module setup (archive 1.1.2 or 1.1.3-rc0 with jenkinsci-puppet 1.7.0) but with an environment named "jenkins" I saw the same autoload error. When i researched it i found #105 and made an environment called production. Autoload error stopped and was replaced with
So i then changed to elconas' branch for #226 and its giving me that same set of syntax errors. |
What is your environment ? (Puppetwise). |
@elconas The ie Do all of your environments (including the one your puppet server is in) use puppet-archive 1.1.2? |
From #105
@elconas I think there's a good chance that #226 appears to fix the problem, but you just got lucky when running puppet a second time. @gregswift I'm guessing you're running on a ruby 1.8 system? (CentOS/RHEL 6 usually). |
@alexjfisher yes, its CentOS 6. otherwise the rest is like @elconas
|
@gregswift Since version 1.0.0 of this module, ruby 1.8 is no longer supported. If you need a puppet 3 based puppetserver, you may have to think about migrating to Centos 7. It's not just puppet-archive, there are now lots of modules that don't support ruby 1.8 in their most recent releases. |
I tested again on the Puppetmaster with the code from pull #226. I created different environments and changed the version of puppet/archive in the branches (only the metadata.json).
Then I added code to the environments to print out the module version and create an dummy archive.
Then I cleared the environment cache (curl -X DELETE https://localhost:8140/puppet-admin-api/v1/environment-cache) Then I ran the agent. It seems it ALWAYS failes the first time:
However it WORKS the second time and so one:
Also module version is different in the environments:
Only devvm_emptybranch faiels all the time as expected:
If I clean the environment cache again, the first run failes again. @alexjfisher Can you explain ???? |
One more note. With the original code (puppet/archive 1.1.3-rc0 aka master), the test failes occasionally (1 out of 10) with:
Any it seems to ALWAYS fail after plugin sync (e.g. when running agains devvm_emptybranch before):
So it seems both somehow work "strange" :) |
thanks. We've got an el7 upgrade in our plans. |
@alexjfisher .. im not sure about SERVER-94. Now that I have read this:
I am totally confused. I can not answer anymore if environments work, if my code in #226 fixes something and what the problem is. Is 4.6.2 the solution ? What about https://docs.puppet.com/puppet/latest/reference/man/generate.html ? .. Maximum confusion for everyone using environments. My (internal) conclusion is: Puppet Environments are risky and do not not provide production level benefit / isolation (this is what they are used for typically) until SERVER-94 is fixed, which might never be fixed (as sandboxing is difficult). However the Problem is: rtyler/jenkins switched from camptocamp/archive to puppet/archive from 1.6.1 to 1.7.0 which seem incompatible. However rtyler/jenkins 1.7.0 is needed for Jenkins2 which needed, as Jenkins 1.6 is EOL. Due to the environment bug, I can not stage the rollout by testing on dev and then merge to master. ... very disappointing for a tool with an enterprise behind (puppetlabs) ... |
I agree https://tickets.puppetlabs.com/browse/SERVER-94 is incredibly frustrating. Perhaps you can deploy a separate puppet master for dev/testing? |
Affected Puppet, Ruby, OS and module versions/distributions
How to reproduce (e.g Puppet code you use)
Use environment name "myenvironment".
Puppet run failes with:
In this case puppet/archive is consumed by rtyler/jenkins 1.7.0 (https://github.com/jenkinsci/puppet-jenkins/releases/tag/v1.7.0).
What are you seeing
Class loading failes, caused by https://tickets.puppetlabs.com/browse/SERVER-973 on Puppetserver.
What behaviour did you expect instead
Should compile.
The text was updated successfully, but these errors were encountered: