Template server
Our current procedure starts with the SSG team setting up a new VM(s) by cloning the template server. the template server is an image that is generic enough that it can be made into any type of app server (kfs, batch, rice or krapps).
Â
Jenkins
With each new server in an environment a jenkins job will need to be either created (first node of an load balanced environment, or not load balanced environment) or modified.In general: create a 'new job' and copy from existing, choose one that fits like if it's going to be load balanced kfs, choose uat_kfs, if not copy dev etc.
Here is the current ANT properties for KFS bulids (set using 'invoke ant -> advanced button') they are the same for any bulid except for production where build.environment=prd instead of dev
user.home=/srv/uconn_build
tag.jenkins.build.number=UConn DEV-KFS:4.1.1
convert_dba=bootstrap
kuali.build.full=false
set.rice.standalone=true
skip.tomcat.deploy=true
deploy_local_cas=false
rice_ksb_batch_mode=false
rice_dev_mode=false
rice_kim_soapexposedservice=true
#institution_security_properties_file=/apps/tomcat/builditonce/src/build/properties/uconn-ldap-security.properties
grace_period=0
svn.revision=${SVN_REVISION}
run.by.jenkins=true
cas_url=https://login.uconn.edu/cas
build.environment=dev
is.clustered=true
http.session.timeout.minutes=60
# this property determines whether the build will do a local deployment or package for a deployment on the test node
# comment out if you want to run the test deployment process locally to evaluate the output
is.local.build=
# this property can be used to turn p6spy logging on and off (we use p6spy to log the sql generated by ojb)
use.p6spy=false
# indicates whether schema validation should be built from data dictionary, otherwise validation is basic xsd types only
use.dd.schema.validation=false
# this property determines what tests are included when the test target is executed via test-local
tests.includes=**/*Test.java
# this property determines what log statements will be printed by default and whether the logs go to the log file or standard out
appenders=INFO, LogFile, StdOut
tomcat.version=6
appserver.home=/usr/share/tomcat6
drivers.directory=/srv/uconn_build/externalJars
external.config.directory=/srv/uconn_configs/kfs-config
mail.relay.server=smtp.uconn.edu
batch.mailing.list=kfs-batch@rsmart.com
incident.mailing.list=kfs-batch@rsmart.com
appserver.url=\\${appserver.url}
application.url=\\${appserver.url}
cas.url=https://login.uconn.edu/cas
deploy.local.cas.server=false
use.quartz.scheduling=true
build.environment=dev
do.filter.project.help=true
is.local.build=true
institution.build.properties.file=build/properties/uconn-build.properties
datasource.ojb.platform=Oracle9i
#SciQuest Integration
b2b.test.purchase.order.identity=UCONN
b2b.test.purchase.order.password=[[ FILL ME IN ]]
b2b.test.shopping.identity=UCONN
b2b.test.shopping.password=[[ FILL ME IN ]]
b2b.test.punch.back.url=\\${appserver.url}/kfs-dev/b2b.do?methodToCall=returnFromShopping
b2b.test.punch.out.url=http://usertest.sciquest.com/apps/Router/ExternalAuth/cXML/UCONN
b2b.test.purchase.order.url=https://usertest.sciquest.com/apps/Router/POXMLImport
# RICE STANDALONE ACCESS
#standalone.rice=true
rice.standalone=true
rice.url=\\${appserver.url}/kr-dev
deploy.local.rice.server=false
rice.ksb.batch.mode=false
rice.dev.mode=false
rice.kim.soapExposedService.jaxws.security=true
context.docbase=
rice.ldap.username=uid=UITS - Kuali,ou=accounts,dc=uconn,dc=edu
rice.ldap.password=[[ FILL ME IN ]]
rice.ldap.url=ldap:/ldap.uconn.edu:389
rice.ldap.base=dc=uconn,dc=edu
institution.security.properties.file=/srv/uconn_build/kfs_app/src/build/properties/uconn-ldap-security.properties
####LDAP NEW POOL CHANGE ###
datasource.pool.maxWait=30000
datasource.pool.minSize=10
datasource.pool.maxSize=500
rice.kim.employee.status.id=employee
uconn.jaxwsExposedService.security=false
kim.soapExposedService.jaxws.security=false
javamelody.spring.file=,spring-monitoring.xml
datasource.username=[[ FILL ME IN ]]
datasource.password=[[ FILL ME IN ]]
oracle.datasource.url=jdbc:oracle:thin:@[[FILL ME IN ]]:1521:[[ FILL ME IN ]]
datasource.ojb.platform=Oracle9i
rice.server.datasource.url=jdbc:oracle:thin:@[[FILL ME IN ]]:1521:[[ FILL ME IN ]]
rice.server.datasource.username=[[ FILL ME IN ]]
rice.server.datasource.password=[[ FILL ME IN ]]
kfs.datasource.username=[[ FILL ME IN ]]
kfs.datasource.password=[[ FILL ME IN ]]
kfs.datasource.url=jdbc:oracle:thin:@[[FILL ME IN ]]:1521:[[ FILL ME IN ]]
svn.revision=${SVN_REVISION}
Java-melody
If the build worked properly, then you wolud just have to add the node into the collect server to start viewing metrics. Right now only production is in the collect server because the metrics take up a lot of disk space.
Psi-Probe
the template already comes with probe installed but you'll need to configure it properly:
- make sure that the access list in /srv/uconn_configs/probe/users-roles.properties is accurate
- change /etc/tomcat6/Catalina/localhost/probe.xml , make serverName reflect the servers cname (NOT the hostname on the load balancer)
Control-M
There is a schedule associated with the DBA's schedule, such that all the test app servers are taken down in parallel
('sh /srv/cm_area/jenkins/build/scripts/tomcat stop')Â ,
then the the backup commences, and if that succeeds it runs
( Â 'sh /srv/cm_area/jenkins/build/scripts/tomcat start' )
for every new server you add you'll need to notify scheduling that you need both a new start and stop job (unless it's a batch job in case youll only need a stop). they can copy it from any other existing jobs, but will need to change the copy to ssh into the new server.
Â
KFS
/srv/uconn_configs/configuration-defaults-config.xml
File "configuration-defaults-config-template.xml" loaded on server tomcat-template. Â Add system specific info and rename file to "configuration-defaults-config.xml"
/srv/uconn_configs/kfs-config/sa_forms/java/{dev|prd}/kfs/security.properties
File "security-template.properties" loaded on server tomcat-template. Â Add system specific info and rename file to "security.properties"
/etc/tomcat6/tomcat6.conf
File "tomcat6-template.conf" loaded on server tomcat-template. Â Add system specific info and rename file to "tomcat6.conf"
Â
Â
KFS BATCH
Same as regular KFS except the app server should never run
has wrapper.ksh in /home/kfsctmuser so control m can get in