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:

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 ole-dev testing environment. Refreshed nightly from

https://svn.kuali.org/repos/ole-cfg-dbs/trunk

 

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:

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