On Sunday, December 15, 2013 8:06:34 AM UTC+1, Charlie Sharpsteen wrote:On Saturday, December 14, 2013 6:59:22 AM UTC-8, John Naggets wrote:Hi,
On some of my puppet agents at each puppet agent run I get the following error message:
err: Could not send report: Error 400 on SERVER: (<unknown>): found character that cannot start any token while scanning for the next token at line 1519 column 14
I believe the agent has some issues here sending the report to the puppet dashboard but I can't find what is the issue. Does anyone have an idea? Also which file exactly is this error message referring to (line 1519 column 14)?
Thanks
JohnHi John,This error is thrown by the Ruby YAML parser when it encounters a malformed YAML document (such as a report) that cannot be loaded. It looks like the report is being sent fine, but the YAML parser in the receiving dashboard is throwing an error. A copy of the report the agent was attempting to send can usually be found in /var/lib/puppet/state/last_run_report.yaml --- this is the file that the line and column numbers relate to.Hope this is helpful!--Charlie SharpsteenOpen Source Support EngineerPuppet Labs
On Wednesday, December 18, 2013 4:55:28 AM UTC-8, John Naggets wrote:
Hi Charlie,
Thanks for helping out here. I checked the /var/lib/puppet/state/last_run_report.yaml file but unfortunately there are no such files. I also tried running puppet agent --noop --test --verbose but it does not provide any more information relevant to this issue. I am using Debian 7 with its standard puppet packages. You have any other idea what I could check? Somehow I have the feeling this is related to the puppetlabs-mysql module as all the nodes failing to send the report to the dashboard are those which use this module.
Cheers
John
Unfortunately, errors thrown from the YAML parser are pretty vague and tough to diagnose without the file that is causing the problem. There is a possibility that the YAML error on the server is preventing the agent from saving a copy in last_run_report.yaml. If the errors consistently call out the same line and column in the YAML file, then you could try configuring the agent to save the report directly to disk instead of submitting it to the server.
This can be done by creating /etc/puppet/routes.yaml with the following contents:
---
agent:
report:
terminus: yaml
While that file is in place, reports should be dumped directly to /var/lib/puppet/state/last_run_report.yaml