Git Product home page Git Product logo

eucalyptus-console's Introduction

Eucalyptus User Console

The Eucalyptus User Console allows cloud users to do in a web browser what otherwise is done over the Eucalyptus API or command-line interface. The design goal is to build a tool that is elegant and easy to use. The tool provides graphical access to the underlying API and CLI, but does not provide additional functionality of its own

The user console consists of a web server implementation using Python Tornado and a rich Ajax client based on JQuery. The server exposes various REST interfaces, which are roughly equivalent to EC2/S3 apis.

PREREQUISITE

The user console works with Eucalyptus version 3.2 and later (earlier versions do not work). This is due to the new authentication mechanism added in 3.2 to support the user console. If you run the console in mock mode (see below), the Eucalyptus 3.2 is not required (Eucalyptus cloud is not required).

The user console was tested with the following browsers:

  • Firefox 15 (Recommended)
  • Google Chrome 22 (Recommended)
  • Safari 6
  • Internet Explorer 9

INSTALLATION

You will need to download and install tornado based on their instructions: http://www.tornadoweb.org/. For RHEL or Centos 5/6, you can install it from the package repository:

Likewise, for UBUNTU, use:

apt-get install python-tornado

You also need to install python-boto and m2crypto, which are required to communicate with Eucalyptus Cloud Controller, and python-sockjs-tornado, required as a fallback for browsers without WebSocket API support.

For RHEL or Centos 5/6, use:

yum install m2crypto python-boto python-sockjs-tornado

For UBUNTU, use:

apt-get install python-m2crypto python-boto python-sockjs-tornado

INSTALLATION VIA PIP

To install via pip, use:

pip install -r requirements.txt

Note: On OS X you will need to install swig (brew install swig) prior to running pip install

CONFIGURATION

To configure the console to work with your Eucalyptus cloud (version 3.2 and later), edit server/console.ini and change the endpoint.

  • clchost: "HOSTNAME OR IP OF YOUR EUCALYPTUS CLC". Make sure that the 'clchost' is reachable from the host that runs console's web server.

You can also test the console's functionality using the supplied mock data. To enable the mock mode:

  • usemock: True

Other notable configuration options include:

  • uiport: the port number to listen for incoming HTTP request
  • sslcert/sslkey: the path to the SSL certificate to be used for HTTPS
  • session.idle.timeout: the timeout that expires users' session after idling period
  • session.abs.timeout: the absolute timeout afterwhich users' should log-in the console again
  • language: the language code to be used for internationalization (see below)
  • support.url: the url (or mailto: admin ) of your Cloud support page

HOW TO RUN

To launch the console's web server, simply run "launcher.sh".

USING THE CONSOLE

  • Open your web brower and point to 'http://localhost:8888' (replace localhost and 8888, with the address of console's web server and the uiport).
  • When prompted the log-in screen, use your Eucalyptus credential to log-in. For example,
    • Account name : fred
    • Username : admin
    • Password : foobar You may need to visit Eucalyptus admin console to setup your account first. The default address of the admin console is 'https:{clchost}:8443'.
  • Make sure your account/username has the corresponding access key and secret key. You can create one using the admin console.
  • If you are running the console in mock mode, you can put any string in the log-in field.

INTERNATIONALIZATION

The user console is designed to support many different languages. Currently Russian and Korean are supported, in addition to English by default. We expect the more languages would be added by the Eucalyptus community. To add a language, follow these steps:

  • Go to 'static/custom/' and copy 'Messages.properties' file to a new file. The new file name should starts with 'Messages', followed by the language and country code, according to the convention defined in ISO 639 and ISO 3166. For example, for main-land Chinese use 'Messages_zh_CN.properties'. For Japanese, one can use 'Messages_ja_JP.properties'
  • Update 'language' option in server/console.ini to the new language. For example, 'language = zh_CN' for main-land Chinese.
  • After updating 'Messages_xx_YY.properties' during the translation, you can simply refresh your browser to see the change.
  • The console includes HTML help files stored under 'static/help'. You may want to translate the static HTML files as well to your language (If no such translation found, the console falls back to the English help). You should create a subdirectory named after the language&country code, under 'static/help', and store your translated help files.

eucalyptus-console's People

Contributors

a13m avatar arsatiki avatar dharmabumstead avatar dkavanagh avatar eigood avatar eucalyptus-qa avatar gelinasc avatar gholms avatar habuka036 avatar jmolo avatar jpommer avatar kamalgill avatar kyolee310 avatar mspaulding06 avatar noirin avatar sangmin avatar schue avatar sjones4 avatar timboudreau avatar vasiliykochergin avatar viglesiasce avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.