maito
2012-Aug-27 05:19 UTC
[Puppet Users] HELP ME to firstly setup a framework/system to deploy WebSphere applications
Hi guys. I''m new to this but have been going throught the Puppet Learning exercises but haven''t worked out a framework/system to deploy WebSphere applications. Rather than downloading a Puppet Module (there''s none for WebSphere) or whatever I''m trying to do anyway (well I couldn''t find it) so I tried to write myself but finding it challenging to set it up so appreciate all the help I can get but first just to set it up and have the POC showcased by this Friday. We can build on it later on. I started writing a module that calls a Unix script (which invokes Jython) but now I really need your help to FIRST OF ALL set it all up to utilise the master/agent configuration to manage the differences between environments and applications. That is: * what classes to write * what parameterised classes to use (which parameters to pass) * use inheritances * our environments are different (eg. multiple location of wsadmin.sh to invoke Jython, with different cellnames and sometimes different values for -MapModulesToServers/-MapResRefToEJB/-MapRolesToUsers) so probably need to use some sort of config file (but something with CSV format or maybe other type of delimiter so I can control/populate new apps from there to deploy so it must be self manage rather than having to write new code and that''s easy to summarise and later compare to different environment - see below). I may be wrong here in that we may not need this but at least a way to tell Puppet that this application is different especially in certain environments * use various templates (or use 1 template with variables in there) #autodeploy.cfg #type, app, appname, EAR destination, deployWS, ... ear, Claims, ClaimsEAR, \$(APP_INSTALL_ROOT)/Cell01,, ear, ClaimsReporting, ClaimsReportingEAR, \$(APP_INSTALL_ROOT)/\$(WAS_CELL_NAME),, ear, DMOrchestra, dm-orchestra-service-ear, \$(APP_INSTALL_ROOT)/\$(WAS_CELL_NAME), -deployws jar, xml, An example deployment tree structure of a typical WebSphere application where the logic below must iterate through (if it exists): /mnt/autodeploy/SIT/Claims/claims-admin-ear-5.1.15.ear /mnt/autodeploy/SIT/ClaimsReporting/ClaimsReporting-claims_reporting_ITPC-107.ear /mnt/autodeploy/UAT/Claims/claims-admin-ear-5.1.15.ear /mnt/autodeploy/UAT/ClaimsReporting/ClaimsReporting-claims_reporting_ITPC-107.ear /mnt/autodeploy/UAT/ContentUploadService /mnt/autodeploy/UAT/Unknown [Unknown app not listed in config file so display message] If you know Jython (WebSphere''s scripting language) then great as currently we don''t even detect for the cellname. Later on I want to transfer the Unix logic (if/for loop statements) to Puppet/Ruby language, see below for a draft plan. *Step* * * * * * * * * *Initial Tool* *Proposed Tool* *Additional info* display date Unix Puppet for each directory in /mnt/autodeploy Unix Puppet Values to pass (parameter or defined class)? for any *.ear/.jar/.xml file Unix Puppet Need? Array or Puppet template or config file (see below - use cut/awk/sed?)… if ear file Unix Puppet display msg ''Which ear file''s backup'' backup old ear file Jython identify cell Jython update app Jython rename/delete new ear file Unix Puppet else jar file Unix Puppet else xml file Unix Puppet else display msg ''Nothing found at that directory'' -- 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/-/gp6nYXTo2jEJ. 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.