PoC Assembly - TopCoder Competition Engine - Figure Out Way to Setup Linux Processor In a Different VM

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Project Overview

TopCoder Competition Engine is a system used for Single Round Matches (SRM) and Marathon Matches (MM).

About Source Code Change

Recently, we have migrated all source code for TopCoder Competition Engine from svn to github repositories, please check https://github.com/appirio-tech/arena-web/wiki/Source-Code-Repositories-for-TopCoder-Competition-Engine for details.

Competition Task Overview

About Architecture Changes

Previously, we are migrating the system to use amazon SQS. so the build and deploy process is slightly changed.

If you have a latest VM, you can see all services are setup in apps account, except mm web interface.

Login as apps account, and run 'jps', you can see all the processes.

440 WebSocketServer                    ---- Web Socket Listener as before
32694 Main                                    ---- JBoss as before
430 MPSQASListener                    ---- MPSQAS Listener as before
432 AdminListenerMain                  ----  Admin Listener as before
32766 ListenerMain                        ---- Main Listener
32652 elasticmq-server-0.8.5.jar      ---- 
Local SQS Service for compilation and testing task comsumption.
438 ProcessorMain                        ---  Farm Processor

and the build and deploy process is changed a lot, so the previous approach to add seperate Linux processor is not working.

For this challenge, we'd like to figure out and properly document the process to attach a new Farm Processor (Linux) separately for task comsumption.

An Arena VM with all services up and CentOS 64bit VM will be allocated for each competitor to work on.

Following are the expected use cases.

1. Stop the ProcessorMain in Arena VM.

2. Move the Farm Processor pieces to CentOS 64bit VM

3. Start the Farm Processor, and figure out way to make it can connect to Local SQS Service in Arena VM.

4. If specific domain needed, we can use sqs.cloud.topcoder.com

5. Make sure the compilation and testing is working properly with processor in a different VM.

Please also properly document the whole process to setup another processor in CentOS 64bit VM.

Reference

Please check deploy_arena.sh and start-services_aren.sh files under ~/dev/arena-vm (https://github.com/appirio-tech/arena-vm) to under the way to build the package for farm processor and the way to start the farm processor.

About 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.



Final Submission Guidelines

  • Code changes
  • Clear Guide to setup the farm processor separately.
  • Working VM for demonstration purpose. Reviewers will still need to setup their own env for testing and review.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30048528