-
Notifications
You must be signed in to change notification settings - Fork 289
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
Puppet 6.2 fails to apply sensu config, failing with: "Error 500 on SERVER: Server Error: no parameter named 'custom' (file: /etc/puppetlabs/code/environments/ta _dit_production/modules/sensu/manifests/enterprise/dashboard.pp, line: 56) on Sensu_enterprise_dashboard_config" #1080
Comments
@jwoytek What does your Puppet code look like that is invoking |
I just ran acceptance tests locally with Puppet 6.2.0 and defined this:
I got no errors. The error is like the type code isn't in sync with module because manifest is calling |
We're not even invoking enterprise or enterprise_dashboard. Those values are unconfigured in our sensu class definition, which itself is pretty vanilla. We define the rabbitmq info and a couple of other bits. I can't access it right this second but will see if I can grab and redact it in a little while. I did not understand the intent of the different way custom was handled from everything else in the ruby code, so I understand that the simplistic fix is probably not ideal. |
@treydock we configure the sensu module through hiera. Our client configuration is pretty simple:
|
What's the server configuration look like? That bit of Hiera wouldn't invoke any enterprise features. |
@treydock FTR, on the hosts where we were seeing these errors, the sensu server configuration is not applied. It, too, however, is pretty simple:
|
@treydock additionally, we have a separate API server, which gets this config applied:
|
I think because you set |
@treydock the group that maintains our puppet server just recently updated to 6.2 (from 5), and introduced some problems when they did. When they were fixing those problems, they did update the sensu module from 2.58.0 to 2.62.3. Interestingly, the failure was inconsistent: Sometimes the configuration would apply, and other times not, and I was unable to tie success to any specific variable. However, your idea on sensu:purge makes sense, and would help to explain why we were taking the code path for something we are not using. Is there a better way to do the check as originally intended in the code that would fail gracefully in that condition like the other members of that config object? |
The error your seeing is more than likely something on the puppetserver side, I honestly don't think there's anything we could do on sensu module to stop that error since the error is because the master doesn't see that I'd check to ensure puppetserver hosts have their plugins synced (just run puppet on them or run plugin sync) and also may help to restart puppetserver after it's verified that the types are synced. Also check if the puppetserver is using Some other debugging would be inspecting the |
@treydock OK, well, we don't have direct access to the puppet server, but I'll see if we can get the group that manages it to restart it. It is a single server, no multiple masters. I don't know if this tells you anything interesting, but our local cache on the client side while we were having the problems did have the file sensu_enterprise_dashboard_config.rb, and it did define custom. Now that all of our systems have updated with my patched module, though, switching back to the 2.62.3 code seems to present no problems, and configurations apply correctly. Now that I can't reproduce this error, this might be entirely moot. I need to bail for the moment, but I'll be back at this Monday and will run through some less well-used systems to see if I can trigger the problem again so I can get the code out of the cache to see if it differs from the code in cache on a working system. If I can't duplicate the issue, I'll update here and will close this issue and withdraw the associated PR. |
@treydock apologies for not updating this sooner. I meant to do that and forgot to come back. The manager of the upstream puppet master reset the server and made sure that the type cache had been updated. After doing that and swapping back to the 2.62.3 code without my patch, it looked like everything was working correctly. We are still unable to explain how the cache apparently wedged when the module was upgraded, but a few service restarts on the puppet server apparently made things happy again. Thanks for the help tracking down this issue. Hopefully this ticket will help others who might end up in the same situation. Closing this as an active issue. |
Description of problem
Tried to apply existing sensu config after an update to Puppet 6.2
Update did not apply, failing with:
Error
500 on SERVER: Server Error: no parameter named 'custom' (file: /etc/puppetlabs/code/environments/ta_dit_production/modules/sensu/manifests/enterprise/dashboard.pp, line: 56) on Sensu_enterprise_dashboard_config`
Update should apply cleanly.
Attempt to apply a sensu config with Puppet 6.2 and sensu-puppet 2.62.3.
Command used and debugging output
[not able to share]
Master
Platform and version information
RHEL 7.5
Open Source 6.2
0.26.5-2
2.62.3
Anything else to add that you think will be helpful?
I patched around what I think is the issue. Pull request to come.
The text was updated successfully, but these errors were encountered: