# Makefile for Sphinx documentation
#
-
+
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
--- /dev/null
+Command Line Interfaces
+===========================
+
+.. toctree::
+
+ commands
+
+argument
+--------
+
+.. automodule:: kamaki.cli.argument
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+command_shell
+-------------
+
+.. automodule:: kamaki.cli.command_shell
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+command_tree
+------------
+
+.. automodule:: kamaki.cli.command_tree
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+config
+------
+
+.. automodule:: kamaki.cli.config
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+errors
+------
+
+.. automodule:: kamaki.cli.errors
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+history
+-------
+
+.. automodule:: kamaki.cli.history
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+utils
+-----
+
+.. automodule:: kamaki.cli.utils
+ :members:
+ :show-inheritance:
+ :undoc-members:
Clients lib
===========
+.. toctree::
+
+ connection
+
compute
-------
:show-inheritance:
:undoc-members:
+Compute stuff. This is what we do here in GRNet. We are compute people, after all!
+
cyclades
--------
:show-inheritance:
:undoc-members:
+pithos_rest_api
+---------------
+
+.. automodule:: kamaki.clients.pithos_rest_api
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
image
-----
:undoc-members:
+utils
+-----
+
+.. automodule:: kamaki.clients.utils
+ :members:
+ :show-inheritance:
+ :undoc-members:
--- /dev/null
+Commands
+========
+
+Command specifications for the kamaki.cli
+
+compute_cli
+-----------
+
+.. automodule:: kamaki.cli.commands.compute_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+cyclades_cli
+------------
+
+.. automodule:: kamaki.cli.commands.cyclades_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+storage_cli
+-----------
+
+.. automodule:: kamaki.cli.commands.storage_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+pithos_cli
+----------
+
+.. automodule:: kamaki.cli.commands.pithos_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+image_cli
+---------
+
+.. automodule:: kamaki.cli.commands.image_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+
+astakos_cli
+-----------
+
+.. automodule:: kamaki.cli.commands.astakos_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+config_cli
+----------
+
+.. automodule:: kamaki.cli.commands.config_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
+
+history_cli
+-----------
+
+.. automodule:: kamaki.cli.commands.history_cli
+ :members:
+ :show-inheritance:
+ :undoc-members:
# documentation root, use os.path.abspath to make it absolute, like shown here.
import sys, os
+sys.path.append("gevent.monkey")
+sys.path.append("~/src/synnefo/snf-common")
+sys.path.append("snf-common")
sys.path.append("../")
# -- General configuration -----------------------------------------------------
# built documents.
#
# The short X.Y version.
-version = '0.2'
+version = '0.6'
# The full version, including alpha/beta/rc tags.
-release = '0.2'
+release = '0.6~rc1'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
--- /dev/null
+Connection
+==========
+
+An http connection package with connection pooling.
+
+In version 0.6 and on it is safe to use parallel connections with greenlets.
+
+It uses httplib and GRNet Synnefo snf-common packages. All pooling parameters are configures in the external snf-common package.
\ No newline at end of file
sphinx-quickstart on Tue Nov 29 15:15:50 2011.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
-
+
Kamaki project documentation
============================
./kamaki is open source and released under a 2-clause BSD Licence.
-**Warning:** Kamaki is still a work in progress and can not yet authenticate
-with *Nova*.
-
Contents:
.. toctree::
- :maxdepth: 2
+ :maxdepth: 3
overview
clients
+ cli
Synopsis
--------
-**kamaki** <*group*> <*command*> [*options*]
+**kamaki** [*group*] [*command*] [...] [*options*]
Description
-----------
:program:`kamaki` is a simple, yet intuitive, command-line tool for managing
-clouds.
+clouds. It can be used in three forms: as an interactive shell, as a command line tool or as a clients API for other applications.
-List of available groups:
+To run kamaki as an interactive shell, type
+
+ kamaki
+
+To run kamaki as tool type
+
+ kamaki <group> <command> [...] [options]
+
+The kamaki clients API can be imported in python applications as kamaki.clients
+
+
+List of available command groups:
config
Edit configuration options. Config options are stored in ~/.kamakirc file.
+history
+
+ Access kamaki user history, which is stored in ~/.kamaki.history file.
+
server
Manage compute API virtual machines.
Manage compute API flavors.
-image
-
- Manage compute API images.
-
network
Manage compute API networks.
-glance
+image
- Manage Glance API images.
+ Manage compute API and glance images.
store
Options
-------
---help Show help message and exit.
+--help, -h Show help message and exit.
-v Use verbose output.
-d Use debug output.
-o KEY=VAL Override a config value (can be used multiple times)
* del delete a configuration option
+history commands
+****************
+
+Show command user history, as stored in ~/.kamaki.history
+
+* clean clean up history
+
server commands
***************
image commands and options
**************************
-* list list images
-* info get image details
-* delete delete image
-* meta get image metadata
-* addmeta add image metadata
-* setmeta update image metadata
-* delmeta delete image metadata
-
+* list list images
+* info get image details
+* public list public images
+* shared list shared images
+* delete delete image
+* register register an image
+* meta get image metadata
+* members get image members
+* addmember add a member to an image
+* delmember remove a member from an image
+* setmembers set the members of an image
+* properties get image properties
+* setproperty update an image property
+* addproperty add an image property
+* delproperty delete an image property
network commands
****************
* disconnect disconnect a server from a network
-glance commands
-***************
-
-* list list images
-* meta get image metadata
-* register register an image
-* members get image members
-* shared list shared images
-* addmember add a member to an image
-* delmember remove a member from an image
-* setmembers set the members of an image
-
-
store commands
**************
Here, at the
`Greek Research and Technology Network <http://grnet.gr/default.asp?pid=1&la=2>`_,
we have been developing an IaaS cloud management software called **synnefo**
-(or **+nefo**) that is accessed and managed via the OpenStack Compute API v1.1.
-We have also recently deployed synnefo in one of our datacenters to provide the
-`~okeanos <http://okeanos.grnet.gr/>`_ IaaS service to the Greek Research and
-Academic Community (currenty in alpha testing phase).
+(or **+nefo**) that is accessed and managed via an extended OpenStack Compute API v1.1. Synnefo has been deployed in many enviroments to cover multiple needs. For example, the `~okeanos <http://okeanos.grnet.gr/>`_ IaaS service, running in our datacenters, is used to offer services for the Greek Research and Academic Community.
-From the early start, we needed a simple command-line tool to test the OpenStack API.
-That's why we developed ./kamaki, which proved to be powerful and intuitive enough,
-to be used not only for testing purposes but also as a complete Openstack Compute API v1.1
-client, able to manage our cloud from the command line.
+From the early start, we needed a simple command-line tool to test the OpenStack API. That's why we developed *kamaki*, which proved to be powerful and intuitive enough, to be used not only for testing purposes but also as a complete Openstack Compute API v1.1 client, able to manage our cloud from the command line.
-Once it proved so useful to us, we decided to open the source, so the community can benefit
-from it, and ./kamaki can benefit from the community too.
+Once it proved so useful to us, we decided to open the source, so the community can benefit from it, and *kamaki* can benefit from the community too.
-Who uses ./kamaki?
+Who uses *kamaki*?
------------------
-./kamaki is currently used internally in GRNET by the development team to test the synnefo
-software, by the deployment team who operates the ~okeanos service and by all the alpha
-testers using the ~okeanos service and want to access the service from the command line.
+*kamaki* is currently used internally in GRNET by the development team to test the synnefo software, by the deployment team who operates the ~okeanos service and by the testers using the ~okeanos service and want to access the service from the command line.
+
+What's more, *kamaki* clients API is used in synnefo as an API for accessing remote services as well as for building manager tools of various synnefo functions (e.g. admin image registration).
Contributing and helping out
----------------------------
-For the ./kamaki to improve and be useful to others too, your help is very important.
-Any contributions and bug reports will be highly appreciated. Using ./kamaki and sending
-us feedback is also a good start.
+The *kamaki* development team values your help and depends on community feedback for feature evolution. Any contributions and bug reports will be highly appreciated. Using *kamaki* and sending us feedback is also a good start.
Community & Support
-------------------
-For any problems you may bump into while using ./kamaki or for help from the development
-team please contact us at:
+For any problems you may bump into while using *kamaki* or for help from the development team please contact us at:
* synnefo@lists.grnet.gr
Please be sure to have read the Documentation and check the known
-`issues <https://code.grnet.gr/projects/kamaki/issues>`_ before contacting the
+`issues <https://code.grnet.gr/project*kamaki*/issues>`_ before contacting the
team.