Compile Titan

This is a quick tutorial to compile titan. Titan can be compiled in windows or linux, as it is pure java.

Please install

  1. openjdk in linux or jdk in windows.
  2. Maven 3.x
  3. I use Eclipse, need these plugins:
    1. m2e, it is a maven plugin
    2. subversive, subversion plugin
    3. egit, git plugin
    4. window builder, designing the UI, https://www.eclipse.org/windowbuilder

Step 1 : checkout everything:

  1. https://github.com/mcheung63/peter-swing
  2. https://github.com/mcheung63/titan-server
  3. https://github.com/mcheung63/titan-rest-server
  4. https://github.com/mcheung63/titan-monitor
  5. https://github.com/mcheung63/titan

titan is the openstack admin program. titan-server is the search to control the openstack. peter-swing is the UI toolkit.

Step 2 : compile everything

  1. peter-swing : mvn clean package install
  2. titan-rest-server : mvn clean package install
  3. titan-monitor : mvn clean package install
  4. titan-server : mvn clean package install
  5. titan : mvn clean package

If everything goes well, you will have titan.jar and titan-server.jar in “target” directory.

Step 3 : run it

  1. First, generate the titan-server.xml by “java -jar titan-server.jar -s”
  2. Edit titan-server.xml, fill in all your openstack passwords
  3. Run the titan server by “java -jar titan-server.jar”, add “-gui” if you want a UI
  4. Run the titan client by “java -jar titan.jar”

The compile process is easy and simple, just maven, no need additional script or whatever, if you have trouble, email me mcheung63@hotmail.com, my name is Peter.

Option Step : Use eclipse to develop

Here is how my eclipse projects look like, if you have egis, just clone all projects into eclipse, you will see below:

titan - eclipse setup

Right click the project, you can build it by maven:

titan eclipse m2e

To edit the GUI, right click the file and open it by “window builder”

window builder

Then you can edit the GUI directly, see below:

edit gui

 

To run the titan, do this:

run titan in eclipse

Fork me on GitHub