-
Notifications
You must be signed in to change notification settings - Fork 105
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
ldap integration unuseable, toml requires native extension #205
Comments
Hi @joernott , Do you have a better way to implement this, without the gem? |
In our wrapper (which does the data setuip as well, I commented out the ldap_cfg parameter for grafana and added the following:
The template is pretty simple (see attached file):
|
The point is that the things you write in the documentation don't work. The gem requires a native extension. puppetserver gem install toml fails as jruby doesn't properly support native extensions. |
@joernott on which puppetserver/jruby version are you on? |
@bastelfreak We use Puppet Enterprise 2019.1 and we are currently updating to 2019.5. As puppetserver 6.11.0 is quite new, I doubt, that it will be a part of 2019.1. I will check, once I am back in the office. |
According to /opt/puppetlabs/server/ezbake.manifest, the jruby version is 9.2.0.0-1 and the puppet enterprise version is 2019.1.1 according to /opt/puppetlabs/server/pe_version. |
@joernott did you find any solutions ? |
I created a fresh PE 2019 VM and the installation works fine for me:
@lucasmaurice which issue do you see? |
@lucasmaurice I provided the toml file myself with a simple file resource using a template (see above). That eliminated the need for a native extension completely. |
Stdlib 8.1.0 introduced a |
@alexjfisher id be interested in switching over to using Stdlib to_toml instead of requiring the GEM ( and contributing) if that was something we could entertain. It would make offline installations easier of some of our downstream use cases |
@MartyEwings this would be an awesome contribution! |
I did the same, however the Puppetserver still fails;
How can we fix this? I am not actually using LDAP, I just want to install Grafana. |
Did you read my comment I posted 4 years ago? #205 (comment) |
@bastelfreak, I solved it by not using the feature at all. I created the toml file, using a simple file resource and a template, see #205 (comment). That solved the issue for us. |
@bastelfreak Yes, I did. The readme actually suggests the same what comment #1034610151 describes and what I executed. But the Puppetserver still fails. @joernott suggestion is not applicable for me, I think? I don't actually want to use LDAP nor did I enable it in the config. |
#374 I updated the README.md to explain the toml process a bit better. tl;dr the "generate types" option uses the puppet agent ruby, not the puppetserver ruby. So you need to install the gem for the puppet-agent as well. |
@bastelfreak thank you, the deployment does succeed now. As we are using a repository to manage our Puppet Code, which gets deployed to our Puppet server through r10k when pushing changes, I don't believe I can run node 'puppetserver.domain.tld' {
package { ['toml']:
ensure => 'installed',
provider => puppetserver_gem
}
package { ['toml']:
ensure => 'installed',
provider => puppet_gem
}
} |
Affected Puppet, Ruby, OS and module versions/distributions
How to reproduce (e.g Puppet code you use)
Define a LDAP configuration. Puppet runs will fail due to the missing toml gem on the puppet server. Try to install the gem on the puppet server to solve this issue.
What are you seeing
Installation of the toml gem fails as it requires a native extension to be installed.
What behaviour did you expect instead
The puppet module should not rely on gems which require native extensions r even better not require the gem at all.
Output log
Any additional information you'd like to impart
I also tried installing the toml-rb gem instead (as this is recommended e.g. for the puppetserver dashboards. But that requires another gem"citrus" which in turn needs a native extension.
I have worked around this issue by creating the toml file by using a file resource and an epp template.
The text was updated successfully, but these errors were encountered: