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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to