humm...... not sure but looks like couple of steps from my previous post are missing. Can you pls confirm that you have all of these:
1. The line: *import 'modules'* in */etc/puppet/manifests/site.pp* 2. The line: *import 'jb_test'* in* /etc/puppet/manifests/modules.pp* 3. The file:* /etc/puppet/modules/jb_test/manifests/jb_config.pp* 4. The file:* /etc/puppet/modules/jb_test/manifests/init_config.pp* 5. The file:* /etc/puppet/modules/jb_test/files/group_test* 6. and finally, in the */etc/puppet/manifests/nodes.pp* node 'vm-jeeva2' { > include cp_jboss_conf > } (don't add inherits jeeva_base for the time being) Cheers!! On Monday, April 16, 2012 1:06:59 PM UTC+1, Jeeva wrote: > > Hi Sans, > > I followed your steps, but i am getting the same error again > > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: Could not find class > cp_jboss_conf for vm-jeeva2.aircell.prod at > /etc/puppet/manifests/nodes/vm-jeeva2.aircell.prod.pp:2 on node > vm-jeeva2.aircell.prod > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: Could not find class > cp_jboss_conf for vm-jeeva2.aircell.prod at > /etc/puppet/manifests/nodes/vm-jeeva2.aircell.prod.pp:2 on node > vm-jeeva2.aircell.prod > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: > (//vm-jeeva2.aircell.prod/Puppet) Could not retrieve catalog from remote > server: Error 400 on SERVER: Could not find class cp_jboss_conf for > vm-jeeva2.aircell.prod at > /etc/puppet/manifests/nodes/vm-jeeva2.aircell.prod.pp:2 on node > vm-jeeva2.aircell.prod > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: > (//vm-jeeva2.aircell.prod/Puppet) Using cached catalog > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: > (//vm-jeeva2.aircell.prod/Puppet) Could not retrieve catalog; skipping run > > @All, Just not to confuse anyone, currently my puppet server is working as > expected. i have lot of modules created and it works. This is how my > configuration is > > 1 ) my site.pp file is under /etc/puppet/manifest/site.pp and below is my > content > import 'nodes/*' > $puppetserver = 'puppet-server.domain.com' > > 2) All my modules is under below path > > /etc/puppet/modules/ > > 3) under below path i have all my .pp files . eg > > /etc/puppet/manifests/nodes/server1.pp > /etc/puppet/manifests/nodes/server2.pp > /etc/puppet/manifests/nodes/server3.pp > /etc/puppet/manifests/nodes/server4.pp > > addition to this i have a jeeva_base.pp file where i include all my > modules. below is the portion of its content > ----------------------------------- > node jeeva_base { > include all_scripts > include dev_jboss_jeeva > } > --------------------------------------- > below is the content of my server1.pp file . i have created individual .pp > file for each server which inherits jeeva_base node. > ------------------------------------------ > node server1 inherits jeeva_base { > } > ------------------------------------------- > > As i said above, this is my requirement. > > we have 3 version of jboss running in our environment in different > servers. eg. jboss4 in server1, jboss5 in server2 , jboss6 in server3 , and > no jboss in server 4 , etc > > on each server, jboss config file sits under different path. > eg: in server 1 it sits under /opt/jboss4/ > in server 2 it sits under /opt/jboss5/ > in server 3 it sits under /opt/jboss6/ > in server 4 no jboss is running > > now i have 3 different configuration file for each version of jboss which > i need to replace. eg. > file1, i need to replace it to jboss4 > file2 , i need to replace it to jboss5 > file3 , i need to replace it to jboss6 > also we need to keep in mind that it should not create a files/folder on > server4 which doesnt have jboss. > > Now i need a module which checks the jboss path on each server and should > replace the sepcific file if it finds the specific path. eg > > if it finds /opt/jboss4, then it should replace file1, if it finds > /opt/jboss5, then replace file2 and so on. But if no jboss path is found > then dont perform any thing on that server. > > As suggested by Gary ( initial conversation) , gary helped me to create > the custom facts. but it didnt work. Not sure what went wrong. > in general, my requirement is very simple. just do a check on each server > for specific path. if found, then copy/replace respective file , if not > found then dont perform any action on that server. > I hope i didnt confuse anyone. > > Thanks, > Jeeva > > > > On Mon, Apr 16, 2012 at 5:54 AM, Munna S <19.mu...@gmail.com> wrote: > >> Hi Sans >> i am trying it now. will let you know the output soon. Also in my site.pp >> i have the below content >> >> import 'nodes/*' >> $puppetserver = 'puppet-server.domain.com' >> >> >> >> I do have many modules , which works as expected. >> >> Thanks, >> Jeeva >> >> cat /etc/puppet/manifests/site.pp >> On Mon, Apr 16, 2012 at 5:36 AM, Sans <r.santanu....@gmail.com> wrote: >> >>> It's definitely a class loading problem and I don't think Jeeva is using >>> "modules" at all. >>> >>> Jeeva: >>> Could you pls try the things I said in my previous post and see if that >>> works? Cheers!! >>> >>> >>> >>> On Monday, April 16, 2012 1:34:31 AM UTC+1, Wil Cooley wrote: >>>> >>>> On Apr 13, 10:49 am, Munna S <19.mu...@gmail.com> wrote: >>>> > I followed your steps. now i am getting below error >>>> > >>>> > Apr 13 17:42:44 pil-vm-pup-01 puppet-master[7899]: Could not find >>>> class >>>> > dev_jboss_jeeva for vm-jeeva2.aircell.prod at >>>> >>>> ... >>>> >>>> > i have jeeva_base.pp file under /etc/puppet/manifests/nodes and below >>>> is >>>> > its content >>>> > ------------------------------**-- >>>> > node jeeva_base { >>>> > include dev_jboss_jeeva} >>>> > >>>> > ------------------------------**-------- >>>> > >>>> > also i have a another .pp file by name vm-jeeva2 under >>>> > /etc/puppet/manifests/nodes and below is its content. we have >>>> seperate .pp >>>> > file for each server name. one server is vm-jeeva2. >>>> > ------------------ >>>> > node vm-jeeva2 inherits jeeva_base {} >>>> > >>>> > -------------------- >>>> > >>>> > what could be the problem ? >>>> >>>> Where is the class dev_jboss_jeeva defined? You mentioned above an >>>> 'init.pp', which would be usual if you were using modules, but it does >>>> not seem like you are using modules. >>>> >>>> It sounds like the problem you are having is wholly outside of the >>>> complicated machinations of what you're trying to do. It looks more >>>> like you have a much simpler class-loading problem. >>>> >>>> Here are a few things to try: >>>> * Comment out all of the stuff from dev_jboss_jeeva and replace it >>>> with a "warning" function call, to log that everything is working >>>> right: >>>> class dev_jboss_jeeva { >>>> warning("dev_jboss_jeeva has successfully loaded") >>>> } >>>> * Copy your class dev_jboss_jeeva { ... } right before the "node >>>> jeeva_base" and see if you see your warning message (I suggest warning >>>> instead of info because info sometimes requires using --verbose on the >>>> command line; warning will always show): >>>> class dev_jboss_jeeva { >>>> warning("dev_jboss_jeeva was here") >>>> } >>>> node jeeva_base { >>>> include dev_jboss_jeeva >>>> } >>>> >>>> If you see the message with the class defined right before the node, >>>> but not wherever else you have it, then you know the problem is that >>>> it is unable to actually find the class and you should give specifics >>>> about that instead. >>>> >>>> Wil >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Users" group. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msg/puppet-users/-/_Puid9FxhfAJ. >>> >>> To post to this group, send email to puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/puppet-users?hl=en. >>> >> >> > On Monday, April 16, 2012 1:06:59 PM UTC+1, Jeeva wrote: > > Hi Sans, > > I followed your steps, but i am getting the same error again > > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: Could not find class > cp_jboss_conf for vm-jeeva2.aircell.prod at > /etc/puppet/manifests/nodes/vm-jeeva2.aircell.prod.pp:2 on node > vm-jeeva2.aircell.prod > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: Could not find class > cp_jboss_conf for vm-jeeva2.aircell.prod at > /etc/puppet/manifests/nodes/vm-jeeva2.aircell.prod.pp:2 on node > vm-jeeva2.aircell.prod > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: > (//vm-jeeva2.aircell.prod/Puppet) Could not retrieve catalog from remote > server: Error 400 on SERVER: Could not find class cp_jboss_conf for > vm-jeeva2.aircell.prod at > /etc/puppet/manifests/nodes/vm-jeeva2.aircell.prod.pp:2 on node > vm-jeeva2.aircell.prod > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: > (//vm-jeeva2.aircell.prod/Puppet) Using cached catalog > Apr 16 11:29:39 pil-vm-pup-01 puppet-master[8092]: > (//vm-jeeva2.aircell.prod/Puppet) Could not retrieve catalog; skipping run > > @All, Just not to confuse anyone, currently my puppet server is working as > expected. i have lot of modules created and it works. This is how my > configuration is > > 1 ) my site.pp file is under /etc/puppet/manifest/site.pp and below is my > content > import 'nodes/*' > $puppetserver = 'puppet-server.domain.com' > > 2) All my modules is under below path > > /etc/puppet/modules/ > > 3) under below path i have all my .pp files . eg > > /etc/puppet/manifests/nodes/server1.pp > /etc/puppet/manifests/nodes/server2.pp > /etc/puppet/manifests/nodes/server3.pp > /etc/puppet/manifests/nodes/server4.pp > > addition to this i have a jeeva_base.pp file where i include all my > modules. below is the portion of its content > ----------------------------------- > node jeeva_base { > include all_scripts > include dev_jboss_jeeva > } > --------------------------------------- > below is the content of my server1.pp file . i have created individual .pp > file for each server which inherits jeeva_base node. > ------------------------------------------ > node server1 inherits jeeva_base { > } > ------------------------------------------- > > As i said above, this is my requirement. > > we have 3 version of jboss running in our environment in different > servers. eg. jboss4 in server1, jboss5 in server2 , jboss6 in server3 , and > no jboss in server 4 , etc > > on each server, jboss config file sits under different path. > eg: in server 1 it sits under /opt/jboss4/ > in server 2 it sits under /opt/jboss5/ > in server 3 it sits under /opt/jboss6/ > in server 4 no jboss is running > > now i have 3 different configuration file for each version of jboss which > i need to replace. eg. > file1, i need to replace it to jboss4 > file2 , i need to replace it to jboss5 > file3 , i need to replace it to jboss6 > also we need to keep in mind that it should not create a files/folder on > server4 which doesnt have jboss. > > Now i need a module which checks the jboss path on each server and should > replace the sepcific file if it finds the specific path. eg > > if it finds /opt/jboss4, then it should replace file1, if it finds > /opt/jboss5, then replace file2 and so on. But if no jboss path is found > then dont perform any thing on that server. > > As suggested by Gary ( initial conversation) , gary helped me to create > the custom facts. but it didnt work. Not sure what went wrong. > in general, my requirement is very simple. just do a check on each server > for specific path. if found, then copy/replace respective file , if not > found then dont perform any action on that server. > I hope i didnt confuse anyone. > > Thanks, > Jeeva > > > > On Mon, Apr 16, 2012 at 5:54 AM, Munna S <19.mu...@gmail.com> wrote: > >> Hi Sans >> i am trying it now. will let you know the output soon. Also in my site.pp >> i have the below content >> >> import 'nodes/*' >> $puppetserver = 'puppet-server.domain.com' >> >> >> >> I do have many modules , which works as expected. >> >> Thanks, >> Jeeva >> >> cat /etc/puppet/manifests/site.pp >> On Mon, Apr 16, 2012 at 5:36 AM, Sans <r.santanu....@gmail.com> wrote: >> >>> It's definitely a class loading problem and I don't think Jeeva is using >>> "modules" at all. >>> >>> Jeeva: >>> Could you pls try the things I said in my previous post and see if that >>> works? Cheers!! >>> >>> >>> >>> On Monday, April 16, 2012 1:34:31 AM UTC+1, Wil Cooley wrote: >>>> >>>> On Apr 13, 10:49 am, Munna S <19.mu...@gmail.com> wrote: >>>> > I followed your steps. now i am getting below error >>>> > >>>> > Apr 13 17:42:44 pil-vm-pup-01 puppet-master[7899]: Could not find >>>> class >>>> > dev_jboss_jeeva for vm-jeeva2.aircell.prod at >>>> >>>> ... >>>> >>>> > i have jeeva_base.pp file under /etc/puppet/manifests/nodes and below >>>> is >>>> > its content >>>> > ------------------------------**-- >>>> > node jeeva_base { >>>> > include dev_jboss_jeeva} >>>> > >>>> > ------------------------------**-------- >>>> > >>>> > also i have a another .pp file by name vm-jeeva2 under >>>> > /etc/puppet/manifests/nodes and below is its content. we have >>>> seperate .pp >>>> > file for each server name. one server is vm-jeeva2. >>>> > ------------------ >>>> > node vm-jeeva2 inherits jeeva_base {} >>>> > >>>> > -------------------- >>>> > >>>> > what could be the problem ? >>>> >>>> Where is the class dev_jboss_jeeva defined? You mentioned above an >>>> 'init.pp', which would be usual if you were using modules, but it does >>>> not seem like you are using modules. >>>> >>>> It sounds like the problem you are having is wholly outside of the >>>> complicated machinations of what you're trying to do. It looks more >>>> like you have a much simpler class-loading problem. >>>> >>>> Here are a few things to try: >>>> * Comment out all of the stuff from dev_jboss_jeeva and replace it >>>> with a "warning" function call, to log that everything is working >>>> right: >>>> class dev_jboss_jeeva { >>>> warning("dev_jboss_jeeva has successfully loaded") >>>> } >>>> * Copy your class dev_jboss_jeeva { ... } right before the "node >>>> jeeva_base" and see if you see your warning message (I suggest warning >>>> instead of info because info sometimes requires using --verbose on the >>>> command line; warning will always show): >>>> class dev_jboss_jeeva { >>>> warning("dev_jboss_jeeva was here") >>>> } >>>> node jeeva_base { >>>> include dev_jboss_jeeva >>>> } >>>> >>>> If you see the message with the class defined right before the node, >>>> but not wherever else you have it, then you know the problem is that >>>> it is unable to actually find the class and you should give specifics >>>> about that instead. >>>> >>>> Wil >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Puppet Users" group. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msg/puppet-users/-/_Puid9FxhfAJ. >>> >>> To post to this group, send email to puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users+unsubscr...@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 view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/n1-iTusITgQJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.