Development Environment Setup
This page details the steps to start development on OneOps. The instructions are aimed for OSX and Linux operating system usage.
- Apache Maven 3.1.1
- Favorite IDE like EclipseIDE or STS
- Create an
installdirectory inside your home directory.
- Download the following open-source softwares into the
Fork, clone and import the following projects into your favorite IDE. Use a common directory such as
- cmsdal - https://github.com/oneops/cmsdal
- oo-commons - https://github.com/oneops/oo-commons
- amq-plugin - https://github.com/oneops/amq-plugin
- adapter - https://github.com/oneops/adapter
- antenna - https://github.com/oneops/antenna
- cms-admin - https://github.com/oneops/cms-admin
- controller - https://github.com/oneops/controller
- opamp - https://github.com/oneops/opamp
- sensor - https://github.com/oneops/sensor
- transistor - https://github.com/oneops/transistor
- transmitter - https://github.com/oneops/transmitter
- inductor - https://github.com/oneops/inductor
- search - https://github.com/oneops/search
- circuit-oneops-1 - https://github.com/oneops/circuit-oneops-1
- db-schema - https://github.com/oneops/db-schema
- display - https://github.com/oneops/display
- oneops-admin - https://github.com/oneops/oneops-admin
Run a build on the projects with
mvn clean install in this specific order:
Configure the required environment variables as per your local setup.
Optionally configure these variables in a script or even in your shell startup in
Add a number of host names for OneOps in your
etc/hosts file in addition to
Create the database schema:
- Navigate to $OO_HOME/db-schema/db
- Connect to the local postgres database via command line with -
$sudo -u postgres psql postgres
- Execute the scripts
Validate database setup by connecting to all 3 databases -
Copy the file
~/.m2/repository/com/oneops/amqplugin/1.0.0/ to ActiveMQ’s
Copy activemq.xml to the ActiveMP
Set environment variable
Now start ActivemqMQ server with
Once the server started successfully, check the user interface at http://localhost:8161/admin and log in with the default credentials admin/admin.
Setup the stub for inductor:
Prepare and install the Inductor gem:
This step might take 2-3 mins.
You can validate a successful install with the command
inductor help. In case of any errors, it can be helpful
to provide complete permissions to rvm or rubies folder.
Create one inductor for each cloud like aws, azure, openstack, etc..
Edit cloud related information in
~/install/inductor/clouds-enabled/public.oneops.clouds.aws/conf/inductor.properties as shown below
trustStore as JVM startup argument for proper activeMQ connection in
Link circuit-oneops-1 inside inductor.
Start the inductor.
You can check the status of Inductor with
inductor status (or)
ps –ef | grep inductor
Running the Applications on Tomcat
You can stop Cassandra with
sudo -S pgrep -f cassandra | xargs -n 1 sudo kill -9
Add the following projects to Tomcat server.
Add the additional JVM arguments to Tomcat server startup parameters
Create a file with 24 byte random string in
Add environment variables to Tomcat server.
Replace $OO_HOME value as the expression is not evaluated here. We provided default credentials. Relace those according to yours.
Start the Tomcat server. All applications should be deployed without any error in console.
Run below command to install the Circuit component after installing Inductor.
In case if you face any errors try
bundle exec circuit create and ensure that Tomcat is running
Add below environment variables to
Set up the database’s DDL & DML
Start the Ruby on Rails server
If the above gives error, try with
bundle exec rails server
Now, the OneOps UI is available at http://localhost:3000
As part of development environment setup Elasticsearch is already downloaded at
Change cluster name to
Start Elasticsearch and access the UI at http://localhost:9200/
Setup OneOps related templates & data. Refer to README.