I’ve spent the past couple months building out a multi-context JSS environment in Rackspace, and I wanted to share what I’ve learned.
Server Time Settings
If you’re using Cloud Databases as your MySQL backend, your Cloud DB instance runs on UTC time. Your JSS pulls its time from your database, and there is no way in the JSS to offset to your local timezone. You just have to keep in mind that “server time” will always be different (eg. 5 hours ahead for EST). I have a feature request in for JSS timezone settings here.
Database Connection Times
If you’re using Cloud Databases as your MySQL backend, be aware that the Cloud DB instance will kill sleeping connections after 120 seconds. By default, the JSS has a keep alive time of 300 seconds. This could result in performance issues due to dropped DB connections. To fix this, change the value for IdleConnectionTestPeriod from 300 to something lower than 120 in the file /path/to/tomcat/webapps/$instanceName/WEB-INF/xml/DataBase.xml
This can be scripted as well (especially if you’re using my JSSDeploy script), with the following command:
sed “s@<IdleConnectionTestPeriod>.*@<IdleConnectionTestPeriod>100</IdleConnectionTestPeriod>@” -i /var/lib/tomcat7/webapps/$instanceName/WEB-INF/xml/DataBase.xml
As of version 8.63, the IP address in a machine’s inventory record is based on the IP the client is connecting from. If your client and JSS are on the same network (or talking over a site-to-site VPN), you will get the client’s local IP address. Unfortunately, once the JSS is in the cloud, the JSS will only see the client’s WAN address. If you have multiple locations with their own WAN connections, you can add the WAN address as a network segment, and the network segment functionality will still work as expected.