I have a similar setup and the puppet-lint checker as well as the puppet run fine for me.
Issuing the :SyntasticInfo
command for a .pp
file gives me the following:
I am pretty sure that this just might be a case of the puppet executable not being on the path, and hence not available for the validation.