Challenge Overview
Project Overview
For TopCoder Competition Engine, we will enter into a FAST development phase this year, but we see there are shortcomings for using Arena VM for development.
Due to port restrictions and network speeds, it is not possible or easy to debug through the desired part to get familar with the code and understand the specific logic.
So we'd like to seek ways to setup a local environment to develop, build and testing, which makes our competitiors more efficient.
The local environment can native OS or OS under VM environment locally like VirtualBox, etc.
The first target OS will be CentOS 6.4 x64, should be similar for all CentOS 6.x system.
Competition Task Overview
This contest is going to mimic similar setup of OpenLDAP and Databases (Informix and MySQL) in CentOS 6.4 X64 and write up clear steps to replicate locally, and update configurations in Arena VM, making sure the TopCoder Competition Engine Can still work properly.
Documentation
The setup guide should be general to CentOS 6.4 x64 environment. For the purposes of this contest, two VMs will be assigned to you with root access, so you can check existing setups easily and install softwares properly.
- Arena VM - this VM contains existing setup of OpenLDAP, Informix database and MySQL database. You can grab any existing configuration or learn from that.
- CentOS 6.4 64bit VM - this VM will be used to setup OpenLDAP and Databases, so you can easily update the Arena VM to working with it. Since it is all in the Amazon EC2.
OpenLDAP Setup
Please check the attached TopCoder_LDAP.pdf file for initial guide for OpenLDAP setup. You can grab any configuration from Arena VM. You are expected to do the following
- Setup OpenLDAP by following TopCoder_LDAP.pdf file
- Setup the Custom Schema for TopCoder
- Setup the users same as the Arena VM.
Verify the Setup by using Apache Directory Studio or ldapsearch command.
Databases Setup
There are two kinds of databases used in TopCoder Competition Engine.
- Informix - persist user and contests related data.
- MySQL - persist data related to farm processor and controller.
For Informix setup, you can follow TopCoder Databases Setup Guide - TopCoder Wiki , please use 64bit version of Informix instead, and stick to 11.50 version, If there is any change from the wiuki, please include that in your submission.
For Mysql setup, the schema and data can be found at https://coder.topcoder.com/internal/database/scripts/trunk/mysql/
Please setup with the same accounts as Arena VM.
Arena VM Update for TestingPlease make changes in Arena VM to integrate with the setup in CentOS 6.4 64bit VM, and verify the completion system is working. Ideally only IP related changes is required.
Sample Problems and Contests are already avaiable in database, please also check the Deployment Guide in forums.
VMs
Before asking your own VM, you need to have a public key on your profile before asking for the VM.
You can find more details on how to generate a key http://apps.topcoder.com/wiki/display/projects/Generate+SSH+Key and how to connect using it http://apps.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.
To use the Arena VM, please follow http://apps.topcoder.com/wiki/display/docs/Competition+Engine+VM+Setup
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
- Clear Guide for OpenLDAP Setup and Databases Setup with screenshots if necessory
- Working VMs to testing purpose.
Final Submission
For each member, the final submission should be uploaded to the Online Review Tool.