and one more piece of info: The puppet server is configured using 
Passenger+apache. When I run

puppet agent --test


on a client system, parsejson fails by truncating the hash output.

But if I just run 'puppet apply ...' on the puppet server, as in

puppet apply create-users.pp


which contains

$myusers = parsejson (generate ('/bin/sh', '-c', 
'/var/lib/puppet/lib/create-user-hash.sh'))
notice ($myusers)

 
it works perfectly.

- Allen 

 


On Wednesday, May 6, 2015 at 12:47:10 PM UTC-7, Allen Myers wrote:
>
> Hi,
>
> I've got the following statements in my manifest:
>
> $myusers_json = generate ('/bin/sh', '-c', '/path/to/my/script.sh')
> notice ($myusers_json)
> $myusers = parsejson ($myusers_json)
> notice ($myusers)
>
>
> My script generates a list of users in JSON and I've verified that the 
> output format from 'notice ($myusers_json)' is correct using jsonlint.com.
> However, the output of 'notice ($myusers)' is always limited to 1985 
> bytes. It's just truncating the output. I know it's not just a short-coming
> of the 'notice' function because when I call
>
> create_resources(user, $myusers)
>
>
> if fails with the error 
>
> Error: Could not retrieve catalog from remote server: Error 400 on SERVER: 
> expected ',' or '}' in object at '"user1" : {  "'! at 
> /etc/puppet/environments/mgmt/manifests/01-all-nodes.pp:24 on node 
> pupper-server1
>
>
> If I modify script.sh so that the result is less than a certain length 
> (depends on the number of fields and how many ':' get converted to '=>'), it
> works just fine. But the final output in puppet has format is being 
> limited to 1985 bytes.
>
> Any fix or work-around for this?
>
> Thanks!
>
> - Allen
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/e7024387-0934-47e3-917a-f67f7c16269b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to