OLE Development Infrastructure - Retire
Infrastructure Overview
OLE utilizes Amazon services for its development infrastructure with the exception of SVN. All test servers and databases are being hosted within the Amazon EC2 cloud.
To support development, we have:
- Development Database Servers (Oracle and MySQL)
- Integration Testing Environments (DEV)
- Continuous Integration Environment (Hudson)
- JIRA (issue tracking) https://jira.kuali.org
- Confluence (documentation) https://wiki.kuali.org
- Subversion (version tracking) https://svn.kuali.org/repos/ole
Application Servers
Name | Host/URL | Description | Location | IP Type |
---|---|---|---|---|
Hudson | https://ci.ole.kuali.org | Unit Testing and overall control server for OLE databases and application server instances. | EC2 (i-0706ec6b) | Elastic IP: 50.16.198.41 |
DEV Application Server | http://dev.ole.kuali.org/ole-dev/ | Integration Testing server | EC2 (i-varies) | Elastic IP: 50.16.205.247 |
Kuali uses DNS Made Easy for registering our domain names. They are a combination of static addresses (for long running servers with Elastic IP addresses) and dynamic addresses (for short term systems.) Addresses are managed by the Kuali and OLE configuration managers.
Database Servers/Schemas
Instances
Name | Connect Information | Database Type/Version | Location |
---|---|---|---|
Test Oracle | jdbc:oracle:thin:@oracle.ole.kuali.org:1521:XE | Oracle 10g XE | Amazon RDS (on the Hudson Server) |
Schemas
Schema/User | Database | Purpose |
---|---|---|
OLEDBA | Test Oracle | Master data source for OLE development. Extracted nightly and stored into https://svn.kuali.org/repos/ole-cfg-dbs/trunk/development |
OLELOCAL | Test Oracle | Database schema for developer work. Refreshed nightly from https://svn.kuali.org/repos/ole-cfg-dbs/trunk |
OLEDEV | Test Oracle | Database schema for the  |
OLECI | Test Oracle | Database schema for the OLE unit tests. Refreshed nightly from https://svn.kuali.org/repos/ole-cfg-dbs/trunk |
Continuous Integration
OLE Uses Hudson (http://hudson-ci.org/) both to run testing suites as well as manage the deployment of the OLE Testing servers and refreshing of the database instances. While Hudson has the hooks for running unit tests, it also serves as a web-based scheduling console which can run shell scripts, Ant scripts, and Maven.
Reference Jobs:
Server Controls
The jobs within Hudson utilize the Amazon-provided command-line tools to create and destroy the servers. Amazon has a lot of documentation on these tools at: http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/
Reference Jobs:
- Template-Check-Instance-Status
- Template-Launch-EC2-Server
- Template-Start-Instance
- Template-Stop-Instance
Tomcat Server Deployment / Control
Hudson jobs are also used to build and deploy the OLE application to the test servers. They can also be used to start and stop the tomcat instance as needed.
Reference Jobs:
Database Schema Refreshes
TODO
- Use of Hudson
- Document important jobs?
Amazon Web Console
- EC2
- Creation and termination of instances. (Much of this is automated through Hudson.)
- RDS
- Amazon MySQL database service - creation, deletion, and snapshots of instances.
- S3
- Amazon storage service. Used to store OLE releases and (indirectly) EC2 and RDS instance snapshots.
Operated as a Community Resource by the Open Library Foundation