I''ve installed the puppet labs lvm module. After fixing the missing "}" at line 20 in init.pp (really?!?!), I''m getting this:'' err: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type physical_volume at /truth/sauce/env/prod/modules/role/manifests/common.pp:43 on node testweb10.us1.xxx.com Seems related to: http://projects.puppetlabs.com/issues/4409 I''m using environments. Is this fixed? Doug -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas Garstang
2012-Aug-14 21:35 UTC
[Puppet Users] Re: Custom Providers and Environmemts.
On Tue, Aug 14, 2012 at 2:25 PM, Douglas Garstang <doug.garstang@gmail.com> wrote:> I''ve installed the puppet labs lvm module. After fixing the missing > "}" at line 20 in init.pp (really?!?!), I''m getting this:'' > > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: > Invalid resource type physical_volume at > /truth/sauce/env/prod/modules/role/manifests/common.pp:43 on node > testweb10.us1.xxx.com > > Seems related to: > http://projects.puppetlabs.com/issues/4409 > > I''m using environments. Is this fixed? > > DougJeez, I dunno... the rb files are on the client... [us1:i-f8350ebe] root@testweb10:/etc/sysctl.d# ls -l /var/lib/puppet/lib/puppet/type total 16 -rw-r--r-- 1 root root 531 2012-08-14 20:35 filesystem.rb -rw-r--r-- 1 root root 1380 2012-08-14 20:35 logical_volume.rb -rw-r--r-- 1 root root 320 2012-08-14 20:35 physical_volume.rb -rw-r--r-- 1 root root 458 2012-08-14 20:35 volume_group.rb Doug -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas, Do you intend to use different versions of the type in different environments, or are you just concerned with trying to get the same code out everywhere? According to http://projects.puppetlabs.com/issues/13858 this is fixed for Telly, and there is a patch available if you want to give it a try. If you don''t mind the type being available on the master as well, making it available in the modulepath the master uses as a client should resolve the issue. The problem is that the master loads new types locally for validation, and so needs access to them itself. -Eric -- Eric Shamow Professional Services http://puppetlabs.com/ (c)631.871.6441 Join us for PuppetConf 2012 at the Mission Bay Convention Center in San Francisco, California on September 27th and 28th --> http://bit.ly/pcsig12 On Tuesday, August 14, 2012 at 5:25 PM, Douglas Garstang wrote:> I''ve installed the puppet labs lvm module. After fixing the missing > "}" at line 20 in init.pp (really?!?!), I''m getting this:'' > > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: > Invalid resource type physical_volume at > /truth/sauce/env/prod/modules/role/manifests/common.pp:43 on node > testweb10.us1.xxx.com (http://testweb10.us1.xxx.com) > > Seems related to: > http://projects.puppetlabs.com/issues/4409 > > I''m using environments. Is this fixed? > > Doug > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com (mailto:puppet-users@googlegroups.com). > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com). > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas Garstang
2012-Aug-14 21:47 UTC
Re: [Puppet Users] Custom Providers and Environmemts.
On Tue, Aug 14, 2012 at 2:40 PM, Eric Shamow <eric@puppetlabs.com> wrote:> Douglas, > > Do you intend to use different versions of the type in different environments, or are you just concerned with trying to get the same code out everywhere? > > According to > > http://projects.puppetlabs.com/issues/13858 > > this is fixed for Telly, and there is a patch available if you want to give it a try. > > If you don''t mind the type being available on the master as well, making it available in the modulepath the master uses as a client should resolve the issue. The problem is that the master loads new types locally for validation, and so needs access to them itself.Eric, Not sure I follow. Your saying that puppetlabs-lvm-0.1.0/* needs to be placed in the location set by modulepath on the server? Doug. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Specifically the types need to be in the server''s $libdir. You can place them there manually, but the way they generally get there is via pluginsync. So the easiest way to ensure the master can process them is to place them in the module path used by the server *when the server is acting as a puppet agent* and run puppet agent on the server. This will sync the types to the correct directory on the master and enable it to parse them when they are used elsewhere. -Eric -- Eric Shamow Professional Services http://puppetlabs.com/ (c)631.871.6441 Join us for PuppetConf 2012 at the Mission Bay Convention Center in San Francisco, California on September 27th and 28th --> http://bit.ly/pcsig12 On Tuesday, August 14, 2012 at 5:47 PM, Douglas Garstang wrote:> On Tue, Aug 14, 2012 at 2:40 PM, Eric Shamow <eric@puppetlabs.com (mailto:eric@puppetlabs.com)> wrote: > > Douglas, > > > > Do you intend to use different versions of the type in different environments, or are you just concerned with trying to get the same code out everywhere? > > > > According to > > > > http://projects.puppetlabs.com/issues/13858 > > > > this is fixed for Telly, and there is a patch available if you want to give it a try. > > > > If you don''t mind the type being available on the master as well, making it available in the modulepath the master uses as a client should resolve the issue. The problem is that the master loads new types locally for validation, and so needs access to them itself. > > Eric, > > Not sure I follow. Your saying that puppetlabs-lvm-0.1.0/* needs to be > placed in the location set by modulepath on the server? > > Doug. > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com (mailto:puppet-users@googlegroups.com). > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com). > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas Garstang
2012-Aug-14 21:59 UTC
Re: [Puppet Users] Custom Providers and Environmemts.
On Tue, Aug 14, 2012 at 2:49 PM, Eric Shamow <eric@puppetlabs.com> wrote:> Specifically the types need to be in the server''s $libdir. You can place them there manually, but the way they generally get there is via pluginsync. So the easiest way to ensure the master can process them is to place them in the module path used by the server *when the server is acting as a puppet agent* and run puppet agent on the server. > > This will sync the types to the correct directory on the master and enable it to parse them when they are used elsewhere. > > -EricActually, *sigh* something else is wrong, because I used the concat module earlier, after enabling pluginsync on both master and client, and it seems to have synced what it needs ok: [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# ls -l total 8 drwxr-sr-x 2 root root 4096 2012-08-14 18:02 facter drwxr-sr-x 4 root root 4096 2012-08-14 20:35 puppet [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# cd facter/ [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/facter# ls -l total 4 -rw-r--r-- 1 root root 103 2012-08-14 18:02 concat_basedir.rb Something else is wrong, something specifically with puppetlabs/lvm. The concat module is in the same environment too. Doug. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas Garstang
2012-Aug-14 22:03 UTC
Re: [Puppet Users] Custom Providers and Environmemts.
On Tue, Aug 14, 2012 at 2:59 PM, Douglas Garstang <doug.garstang@gmail.com> wrote:> On Tue, Aug 14, 2012 at 2:49 PM, Eric Shamow <eric@puppetlabs.com> wrote: >> Specifically the types need to be in the server''s $libdir. You can place them there manually, but the way they generally get there is via pluginsync. So the easiest way to ensure the master can process them is to place them in the module path used by the server *when the server is acting as a puppet agent* and run puppet agent on the server. >> >> This will sync the types to the correct directory on the master and enable it to parse them when they are used elsewhere. >> >> -Eric > > Actually, *sigh* something else is wrong, because I used the concat > module earlier, after enabling pluginsync on both master and client, > and it seems to have synced what it needs ok: > > [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# ls -l > total 8 > drwxr-sr-x 2 root root 4096 2012-08-14 18:02 facter > drwxr-sr-x 4 root root 4096 2012-08-14 20:35 puppet > [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# cd facter/ > [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/facter# ls -l > total 4 > -rw-r--r-- 1 root root 103 2012-08-14 18:02 concat_basedir.rb > > Something else is wrong, something specifically with puppetlabs/lvm. > The concat module is in the same environment too. > > Doug.Now I''m really confused... The files _ARE_ on the client... [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/puppet# find . -ls 274588 4 drwxr-sr-x 4 root root 4096 Aug 14 20:35 . 274597 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./type 274598 4 -rw-r--r-- 1 root root 1380 Aug 14 20:35 ./type/logical_volume.rb 274601 4 -rw-r--r-- 1 root root 458 Aug 14 20:35 ./type/volume_group.rb 274599 4 -rw-r--r-- 1 root root 320 Aug 14 20:35 ./type/physical_volume.rb 274600 4 -rw-r--r-- 1 root root 531 Aug 14 20:35 ./type/filesystem.rb 274589 4 drwxr-sr-x 6 root root 4096 Aug 14 20:35 ./provider 274593 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./provider/logical_volume 274596 4 -rwxr-xr-x 1 root root 3653 Aug 14 20:35 ./provider/logical_volume/lvm.rb 274591 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./provider/filesystem 274592 4 -rw-r--r-- 1 root root 825 Aug 14 20:35 ./provider/filesystem/lvm.rb 274594 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./provider/physical_volume 274595 4 -rw-r--r-- 1 root root 401 Aug 14 20:35 ./provider/physical_volume/lvm.rb 274590 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./provider/volume_group 274602 4 -rw-r--r-- 1 root root 1856 Aug 14 20:35 ./provider/volume_group/lvm.rb But... [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/puppet# puppet agent --test --onetime --verbose info: Retrieving plugin info: Loading facts in concat_basedir info: Loading facts in concat_basedir err: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type physical_volume at /truth/sauce/env/prod/modules/role/manifests/common.pp:44 on node testweb10.us1.xxx.com Doug. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas Garstang
2012-Aug-14 22:06 UTC
Re: [Puppet Users] Custom Providers and Environmemts.
On Tue, Aug 14, 2012 at 3:03 PM, Douglas Garstang <doug.garstang@gmail.com> wrote:> On Tue, Aug 14, 2012 at 2:59 PM, Douglas Garstang > <doug.garstang@gmail.com> wrote: >> On Tue, Aug 14, 2012 at 2:49 PM, Eric Shamow <eric@puppetlabs.com> wrote: >>> Specifically the types need to be in the server''s $libdir. You can place them there manually, but the way they generally get there is via pluginsync. So the easiest way to ensure the master can process them is to place them in the module path used by the server *when the server is acting as a puppet agent* and run puppet agent on the server. >>> >>> This will sync the types to the correct directory on the master and enable it to parse them when they are used elsewhere. >>> >>> -Eric >> >> Actually, *sigh* something else is wrong, because I used the concat >> module earlier, after enabling pluginsync on both master and client, >> and it seems to have synced what it needs ok: >> >> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# ls -l >> total 8 >> drwxr-sr-x 2 root root 4096 2012-08-14 18:02 facter >> drwxr-sr-x 4 root root 4096 2012-08-14 20:35 puppet >> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# cd facter/ >> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/facter# ls -l >> total 4 >> -rw-r--r-- 1 root root 103 2012-08-14 18:02 concat_basedir.rb >> >> Something else is wrong, something specifically with puppetlabs/lvm. >> The concat module is in the same environment too. >> >> Doug. > > Now I''m really confused... The files _ARE_ on the client... > > [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/puppet# find . -ls > 274588 4 drwxr-sr-x 4 root root 4096 Aug 14 20:35 . > 274597 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./type > 274598 4 -rw-r--r-- 1 root root 1380 Aug 14 20:35 > ./type/logical_volume.rb > 274601 4 -rw-r--r-- 1 root root 458 Aug 14 20:35 > ./type/volume_group.rb > 274599 4 -rw-r--r-- 1 root root 320 Aug 14 20:35 > ./type/physical_volume.rb > 274600 4 -rw-r--r-- 1 root root 531 Aug 14 20:35 > ./type/filesystem.rb > 274589 4 drwxr-sr-x 6 root root 4096 Aug 14 20:35 ./provider > 274593 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 > ./provider/logical_volume > 274596 4 -rwxr-xr-x 1 root root 3653 Aug 14 20:35 > ./provider/logical_volume/lvm.rb > 274591 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 > ./provider/filesystem > 274592 4 -rw-r--r-- 1 root root 825 Aug 14 20:35 > ./provider/filesystem/lvm.rb > 274594 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 > ./provider/physical_volume > 274595 4 -rw-r--r-- 1 root root 401 Aug 14 20:35 > ./provider/physical_volume/lvm.rb > 274590 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 > ./provider/volume_group > 274602 4 -rw-r--r-- 1 root root 1856 Aug 14 20:35 > ./provider/volume_group/lvm.rb > > But... > > [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/puppet# puppet > agent --test --onetime --verbose > info: Retrieving plugin > info: Loading facts in concat_basedir > info: Loading facts in concat_basedir > err: Could not retrieve catalog from remote server: Error 400 on > SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: > Invalid resource type physical_volume at > /truth/sauce/env/prod/modules/role/manifests/common.pp:44 on node > testweb10.us1.xxx.com > > Doug.Files are on the server too.. [us1] root@truth:/truth# find / -name physical_volume.rb /truth/sauce/env/prod/modules/lvm/spec/unit/puppet/type/physical_volume.rb /truth/sauce/env/prod/modules/lvm/lib/puppet/type/physical_volume.rb The second one, under env/prod is the correct environment. So... this should work... Doug. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Douglas Garstang
2012-Aug-14 22:09 UTC
Re: [Puppet Users] Custom Providers and Environmemts.
On Tue, Aug 14, 2012 at 3:06 PM, Douglas Garstang <doug.garstang@gmail.com> wrote:> On Tue, Aug 14, 2012 at 3:03 PM, Douglas Garstang > <doug.garstang@gmail.com> wrote: >> On Tue, Aug 14, 2012 at 2:59 PM, Douglas Garstang >> <doug.garstang@gmail.com> wrote: >>> On Tue, Aug 14, 2012 at 2:49 PM, Eric Shamow <eric@puppetlabs.com> wrote: >>>> Specifically the types need to be in the server''s $libdir. You can place them there manually, but the way they generally get there is via pluginsync. So the easiest way to ensure the master can process them is to place them in the module path used by the server *when the server is acting as a puppet agent* and run puppet agent on the server. >>>> >>>> This will sync the types to the correct directory on the master and enable it to parse them when they are used elsewhere. >>>> >>>> -Eric >>> >>> Actually, *sigh* something else is wrong, because I used the concat >>> module earlier, after enabling pluginsync on both master and client, >>> and it seems to have synced what it needs ok: >>> >>> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# ls -l >>> total 8 >>> drwxr-sr-x 2 root root 4096 2012-08-14 18:02 facter >>> drwxr-sr-x 4 root root 4096 2012-08-14 20:35 puppet >>> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib# cd facter/ >>> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/facter# ls -l >>> total 4 >>> -rw-r--r-- 1 root root 103 2012-08-14 18:02 concat_basedir.rb >>> >>> Something else is wrong, something specifically with puppetlabs/lvm. >>> The concat module is in the same environment too. >>> >>> Doug. >> >> Now I''m really confused... The files _ARE_ on the client... >> >> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/puppet# find . -ls >> 274588 4 drwxr-sr-x 4 root root 4096 Aug 14 20:35 . >> 274597 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 ./type >> 274598 4 -rw-r--r-- 1 root root 1380 Aug 14 20:35 >> ./type/logical_volume.rb >> 274601 4 -rw-r--r-- 1 root root 458 Aug 14 20:35 >> ./type/volume_group.rb >> 274599 4 -rw-r--r-- 1 root root 320 Aug 14 20:35 >> ./type/physical_volume.rb >> 274600 4 -rw-r--r-- 1 root root 531 Aug 14 20:35 >> ./type/filesystem.rb >> 274589 4 drwxr-sr-x 6 root root 4096 Aug 14 20:35 ./provider >> 274593 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 >> ./provider/logical_volume >> 274596 4 -rwxr-xr-x 1 root root 3653 Aug 14 20:35 >> ./provider/logical_volume/lvm.rb >> 274591 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 >> ./provider/filesystem >> 274592 4 -rw-r--r-- 1 root root 825 Aug 14 20:35 >> ./provider/filesystem/lvm.rb >> 274594 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 >> ./provider/physical_volume >> 274595 4 -rw-r--r-- 1 root root 401 Aug 14 20:35 >> ./provider/physical_volume/lvm.rb >> 274590 4 drwxr-sr-x 2 root root 4096 Aug 14 20:35 >> ./provider/volume_group >> 274602 4 -rw-r--r-- 1 root root 1856 Aug 14 20:35 >> ./provider/volume_group/lvm.rb >> >> But... >> >> [us1:i-f8350ebe] root@testweb10:/var/lib/puppet/lib/puppet# puppet >> agent --test --onetime --verbose >> info: Retrieving plugin >> info: Loading facts in concat_basedir >> info: Loading facts in concat_basedir >> err: Could not retrieve catalog from remote server: Error 400 on >> SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: >> Invalid resource type physical_volume at >> /truth/sauce/env/prod/modules/role/manifests/common.pp:44 on node >> testweb10.us1.xxx.com >> >> Doug. > > Files are on the server too.. > > [us1] root@truth:/truth# find / -name physical_volume.rb > /truth/sauce/env/prod/modules/lvm/spec/unit/puppet/type/physical_volume.rb > /truth/sauce/env/prod/modules/lvm/lib/puppet/type/physical_volume.rb > > The second one, under env/prod is the correct environment. So... this > should work...No... wait.... those files are the original ones imported into the git source. Ignore that. Losing sanity. Doug. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.