Hi. I have three modules in my puppet/modules - 1. jdk_installer 2. weblogic_installer 3. wldomain_create Each of them have one class (same names as modules). I have a node in site.pp which calls these 3 classes. And these classes need to be executed in a particular order. This is what I have in site.pp - node "devdomain.org"{ $config = hiera(''domaincreation'') class{''jdk_installer'': } class{''weblogic_installer'': require => Class["jdk_installer"], } class{''wldomain_create'': require => Class["weblogic_installer"], } } Execution order that I am trying to implement is first - jdk_installer followed by weblogic_installer and ending at wldomain_create. When I run the puppet agent --verbose --test from the agent node, in the output it even looks like it is executing in the correct order. But towards the end, when it is running the wldomain_create class, it errors out saying the domain is already created; as if this class was already ran. Here''s the last part of the output - notice: /Stage[main]/Weblogic_installer/Exec[Delete Existing jar]/returns: executed successfully notice: /Stage[main]/Weblogic_installer/File[Copy_weblogic_jar]/ensure: defined content as ''{md5}33d45745ff0510381de84427a7536f65'' notice: /Stage[main]/Weblogic_installer/File[Copy_silent_xml]/ensure: defined content as ''{md5}e71e523800541d4cfa6d60a1da0f4e2a'' notice: /Stage[main]/Weblogic_installer/Exec[install_wls]/returns: Extracting 0%....................................................................................................100% notice: /Stage[main]/Weblogic_installer/Exec[install_wls]/returns: executed successfully notice: /Stage[main]/Wldomain_create/File[Copy domaincreate script]/ensure: defined content as ''{md5}9eb3f3645f8fb3be20af4f64116a9861'' info: /Stage[main]/Wldomain_create/File[Copy domaincreate script]: Scheduling refresh of Exec[Execute domain create script] notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: CLASSPATH=/opt/oracle/middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/oracle/jdk/lib/tools.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic.jar:/opt/oracle/middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/webservices.jar:/opt/oracle/middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/oracle/middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/oracle/middleware/utils/config/10.3/config-launch.jar::/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbynet.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbytools.jar:: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Initializing WebLogic Scripting Tool (WLST) ... notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Welcome to WebLogic Server Administration Scripting Shell notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Type help() for help on available commands notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Length of args: 8 [''create_domain.py'', ''/opt/oracle/user_projects/domains/domaincreation'', ''8901'', ''8902'', ''managed_test'', ''8903'', ''8904'', ''weblogic1''] notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Error: Current path is invalid for creation. cd() to its parent first. notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Domain Created Successfully! notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: executed successfully notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: CLASSPATH=/opt/oracle/middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/oracle/jdk/lib/tools.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic.jar:/opt/oracle/middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/webservices.jar:/opt/oracle/middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/oracle/middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/oracle/middleware/utils/config/10.3/config-launch.jar::/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbynet.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbytools.jar:: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Initializing WebLogic Scripting Tool (WLST) ... notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Welcome to WebLogic Server Administration Scripting Shell notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Type help() for help on available commands notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Length of args: 8 [''create_domain.py'', ''/opt/oracle/user_projects/domains/domaincreation'', ''8901'', ''8902'', ''managed_test'', ''8903'', ''8904'', ''weblogic1''] notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Error: writeDomain() failed. Do dumpStack() to see details. notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: Problem invoking WLST - Traceback (innermost last): notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: File "/opt/oracle/middleware/wlserver_10.3/common/bin/create_domain.py", line 45, in ? notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: File "/tmp/WLSTOfflineIni2948488573983965516.py", line 71, in writeDomain notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at com.oracle.cie.domain.script.jython.CommandExceptionHandler.handleException(CommandExceptionHandler.java:51) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at com.oracle.cie.domain.script.jython.WLScriptContext.handleException(WLScriptContext.java:1538) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at com.oracle.cie.domain.script.jython.WLScriptContext.writeDomain(WLScriptContext.java:803) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: at java.lang.reflect.Method.invoke(Method.java:601) notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: notice: /Stage[main]/Wldomain_create/Exec[Execute domain create script]/returns: com.oracle.cie.domain.script.jython.WLSTException: com.oracle.cie.domain.script.jython.WLSTException: com.oracle.cie.domain.script.ScriptException: A domain with an identical name exists at the location you have selected. Change the domain name or location. err: /Stage[main]/Wldomain_create/Exec[Execute domain create script]: Failed to call refresh: sh /opt/oracle/middleware/wlserver_10.3/common/bin/wlst.sh create_domain.py /opt/oracle/user_projects/domains/domaincreation 8901 8902 managed_test 8903 8904 weblogic1 returned 1 instead of one of [0] at /etc/puppetlabs/puppet/modules/wldomain_create/manifests/init.pp:63 notice: /Stage[main]/Wldomain_create/File[Copy server script]/ensure: defined content as ''{md5}bd373cdcf6cd24a059705b6bf7f125b4'' info: /Stage[main]/Wldomain_create/File[Copy server script]: Scheduling refresh of Exec[create server startup script] notice: /Stage[main]/Wldomain_create/Exec[create server startup script]/returns: executed successfully notice: /Stage[main]/Wldomain_create/Exec[create server startup script]/returns: mkdir: cannot create directory `servers/managed_test'': File exists notice: /Stage[main]/Wldomain_create/Exec[create server startup script]/returns: mkdir: cannot create directory `servers/managed_test/security'': File exists notice: /Stage[main]/Wldomain_create/Exec[create server startup script]: Triggered ''refresh'' from 1 events notice: Finished catalog run in 172.26 seconds After execution completes, I see yep, the domain is there. I rm -rf the whole user_projects directory and run the puppet agent again. And I get the same error. The wldomain_create class itself is not wrongly coded. If I comment out everything else other than that, i.e. node "devdomain.org"{ $config = hiera(''domaincreation'') class{''wldomain_create'': } } This runs just fine and creates the domain. (provided I already have jdk and weblogic installed, of course). Anyone has any ideas what exactly is happening here? Even though it looks like it is executing classes in the order, it ends up creating the domain first. What''s wrong here? -- 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 puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
On Thursday, May 23, 2013 1:45:55 PM UTC-5, Bikram Agarwal wrote:> > Hi. > > I have three modules in my puppet/modules - > > 1. jdk_installer > 2. weblogic_installer > 3. wldomain_create > > Each of them have one class (same names as modules). > > I have a node in site.pp which calls these 3 classes. And these classes > need to be executed in a particular order. This is what I have in site.pp - > > node "devdomain.org"{ > $config = hiera(''domaincreation'') > class{''jdk_installer'': > } > class{''weblogic_installer'': > require => Class["jdk_installer"], > } > class{''wldomain_create'': > require => Class["weblogic_installer"], > } > } > > Execution order that I am trying to implement is first - jdk_installer > followed by weblogic_installer and ending at wldomain_create. > > When I run the puppet agent --verbose --test from the agent node, in the > output it even looks like it is executing in the correct order. But towards > the end, when it is running the wldomain_create class, it errors out saying > the domain is already created; as if this class was already ran. Here''s the > last part of the output - > > notice: /Stage[main]/Weblogic_installer/Exec[Delete Existing jar]/returns: > executed successfully > notice: /Stage[main]/Weblogic_installer/File[Copy_weblogic_jar]/ensure: > defined content as ''{md5}33d45745ff0510381de84427a7536f65'' > notice: /Stage[main]/Weblogic_installer/File[Copy_silent_xml]/ensure: > defined content as ''{md5}e71e523800541d4cfa6d60a1da0f4e2a'' > notice: /Stage[main]/Weblogic_installer/Exec[install_wls]/returns: > Extracting > 0%....................................................................................................100% > notice: /Stage[main]/Weblogic_installer/Exec[install_wls]/returns: > executed successfully > notice: /Stage[main]/Wldomain_create/File[Copy domaincreate > script]/ensure: defined content as ''{md5}9eb3f3645f8fb3be20af4f64116a9861'' > info: /Stage[main]/Wldomain_create/File[Copy domaincreate script]: > Scheduling refresh of Exec[Execute domain create script] > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > CLASSPATH=/opt/oracle/middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/oracle/jdk/lib/tools.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic.jar:/opt/oracle/middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/webservices.jar:/opt/oracle/middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/oracle/middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/oracle/middleware/utils/config/10.3/config-launch.jar::/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbynet.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbytools.jar:: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Initializing WebLogic Scripting Tool (WLST) ... > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Welcome to WebLogic Server Administration Scripting Shell > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Type help() for help on available commands > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Length of args: 8 [''create_domain.py'', > ''/opt/oracle/user_projects/domains/domaincreation'', ''8901'', ''8902'', > ''managed_test'', ''8903'', ''8904'', ''weblogic1''] > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Error: Current path is invalid for creation. cd() to its > parent first. > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Domain Created Successfully! > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: executed successfully > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > CLASSPATH=/opt/oracle/middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/oracle/jdk/lib/tools.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/weblogic.jar:/opt/oracle/middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/oracle/middleware/wlserver_10.3/server/lib/webservices.jar:/opt/oracle/middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/oracle/middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/opt/oracle/middleware/utils/config/10.3/config-launch.jar::/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbynet.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/opt/oracle/middleware/wlserver_10.3/common/derby/lib/derbytools.jar:: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Initializing WebLogic Scripting Tool (WLST) ... > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Welcome to WebLogic Server Administration Scripting Shell > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Type help() for help on available commands > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Length of args: 8 [''create_domain.py'', > ''/opt/oracle/user_projects/domains/domaincreation'', ''8901'', ''8902'', > ''managed_test'', ''8903'', ''8904'', ''weblogic1''] > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Error: writeDomain() failed. Do dumpStack() to see details. > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: Problem invoking WLST - Traceback (innermost last): > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: File > "/opt/oracle/middleware/wlserver_10.3/common/bin/create_domain.py", line > 45, in ? > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: File "/tmp/WLSTOfflineIni2948488573983965516.py", line > 71, in writeDomain > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at > com.oracle.cie.domain.script.jython.CommandExceptionHandler.handleException(CommandExceptionHandler.java:51) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at > com.oracle.cie.domain.script.jython.WLScriptContext.handleException(WLScriptContext.java:1538) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at > com.oracle.cie.domain.script.jython.WLScriptContext.writeDomain(WLScriptContext.java:803) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: at java.lang.reflect.Method.invoke(Method.java:601) > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: > notice: /Stage[main]/Wldomain_create/Exec[Execute domain create > script]/returns: com.oracle.cie.domain.script.jython.WLSTException: > com.oracle.cie.domain.script.jython.WLSTException: > com.oracle.cie.domain.script.ScriptException: A domain with an identical > name exists at the location you have selected. Change the domain name or > location. > err: /Stage[main]/Wldomain_create/Exec[Execute domain create script]: > Failed to call refresh: sh > /opt/oracle/middleware/wlserver_10.3/common/bin/wlst.sh create_domain.py > /opt/oracle/user_projects/domains/domaincreation 8901 8902 managed_test > 8903 8904 weblogic1 returned 1 instead of one of [0] at > /etc/puppetlabs/puppet/modules/wldomain_create/manifests/init.pp:63 > notice: /Stage[main]/Wldomain_create/File[Copy server script]/ensure: > defined content as ''{md5}bd373cdcf6cd24a059705b6bf7f125b4'' > info: /Stage[main]/Wldomain_create/File[Copy server script]: Scheduling > refresh of Exec[create server startup script] > notice: /Stage[main]/Wldomain_create/Exec[create server startup > script]/returns: executed successfully > notice: /Stage[main]/Wldomain_create/Exec[create server startup > script]/returns: mkdir: cannot create directory `servers/managed_test'': > File exists > notice: /Stage[main]/Wldomain_create/Exec[create server startup > script]/returns: mkdir: cannot create directory > `servers/managed_test/security'': File exists > notice: /Stage[main]/Wldomain_create/Exec[create server startup script]: > Triggered ''refresh'' from 1 events > notice: Finished catalog run in 172.26 seconds > > > > After execution completes, I see yep, the domain is there. I rm -rf the > whole user_projects directory and run the puppet agent again. And I get the > same error. > The wldomain_create class itself is not wrongly coded. If I comment out > everything else other than that, i.e. > > node "devdomain.org"{ > $config = hiera(''domaincreation'') > class{''wldomain_create'': > } > } > > This runs just fine and creates the domain. (provided I already have jdk > and weblogic installed, of course). > > Anyone has any ideas what exactly is happening here? Even though it looks > like it is executing classes in the order, it ends up creating the domain > first. What''s wrong here? >If you apply only the first two classes to a clean system, does the domain get created? I bet it does. John -- 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 puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
jcbollinger <John.Bollinger <at> stJude.org> writes:> If you apply only the first two classes to a clean system, does the domainget created? I bet it does.John>Yes, if I run the first two classes first and then separately run the wldomain_create class, it creates the domain successfully. When I run all of them together, in that order, that''s when it fails. I''m baffled. -- 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 puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
jcbollinger
2013-May-29 13:06 UTC
Re: [Puppet Users] Re: Execution order of classes in a node
On Tuesday, May 28, 2013 3:02:20 PM UTC-5, Bikram wrote:> > jcbollinger <John.Bollinger <at> stJude.org> writes: > > > If you apply only the first two classes to a clean system, does the > domain > get created? I bet it does.John > > > > > Yes, if I run the first two classes first and then separately run the > wldomain_create class, it creates the domain successfully. When I run all > of > them together, in that order, that''s when it fails. I''m baffled. > >That''s not what I meant. If you apply ONLY the first two classes, and not the third, then does the domain get created? In any case, the behavior you observe is surely related to the details of the modules involved. As such, I can only guess about causes without having the modules to examine. Nevertheless, my guesses are sometimes pretty good, and in this case I suspect you have a containment problem. See the docs (http://docs.puppetlabs.com/puppet/3/reference/lang_containment.html) for an explanation of the issue and a possible solution. John -- 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 puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.