Commit 3b0bc8bc authored by Nikos Skalkotos's avatar Nikos Skalkotos
Browse files

Merge branch 'release-0.14'

parents 58fef81d 31a37bd6
Copyright 2011-2014 GRNET S.A. All rights reserved.
Copyright 2011-2016 GRNET S.A. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
......
.. _Changelog:
Unified Changelog file for Kamaki versions >= 0.13
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Changelog file for Kamaki versions >= 0.13
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. _Changelog-0.14:
v0.14
=====
Bugfixes
--------
* Fix handling of astakosclient errors
Features
--------
* Rename "wait_*" kamaki.clients.Client methods to
"wait_until" and "wait_while"
* Implement "wait" commands in CLI, where applicable
* Implement "wait" functionality for volumes
* Print public url in "kamaki file upload --public"
* Show HTTP data (body) with a single runtime argument "-vv"
* Document config options and show descriptions in
"kamaki config list"
* Modify some help messages (-c, -o, HTTP log separators) for clarity
* Show image file hashmap in "kamaki image info", with "--hashmap"
* Implement compute detachable volumes (API lib and CLI)
* Adjust BlockStorage client API and CLI commands to comply with
Synnefo 0.16next API
.. _Changelog-0.13:
......
FROM debian
# Install Python Setuptools
RUN apt-get update && apt-get install -y python-pip ca-certificates --no-install-recommends
# Bundle app source
ADD . /src
# Install test requirements
RUN pip install mock ansicolors
# Initialize app environment
WORKDIR /src
RUN python setup.py install
......@@ -22,7 +22,7 @@ Please see the [official Synnefo site](http://www.synnefo.org) and the
Copyright and license
=====================
Copyright (C) 2011-2014 GRNET S.A. All rights reserved.
Copyright (C) 2011-2016 GRNET S.A. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
......
#!/usr/bin/env sh
set -e
python kamaki/cli/test.py
python kamaki/clients/test.py
......@@ -216,6 +216,10 @@ server (Compute/Cyclades)
delete Delete a virtual server
console Create a VNC console and show connection information
wait Wait for server to finish [BUILD, STOPPED, REBOOT, ACTIVE]
attachment Details on a volume attachment
attachments List of all volume attachments for a server
attach Attach a volume on a server
detach Delete an attachment/detach a volume from a server
Showcase: Create a server
^^^^^^^^^^^^^^^^^^^^^^^^^
......
# -*- coding: utf-8 -*-
#
# Copyright 2011-2013 GRNET S.A. All rights reserved.
# Copyright 2011-2016 GRNET S.A. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
......@@ -123,13 +123,13 @@ master_doc = 'index'
# General information about the project.
project = u'Kamaki'
copyright = u'2014, GRNET'
copyright = u'2016, GRNET'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '0.13'
version = '0.14'
# The full version, including alpha/beta/rc tags.
try:
......@@ -325,6 +325,7 @@ latex_documents = [
# (source start file, name, description, authors, manual section).
man_pages = [
('man/kamaki', 'kamaki', 'Command-line tool for managing clouds', '', 1),
('man/kamaki-shell', 'kamaki-shell', 'Interactive shell for managing clouds', '', 1),
]
# If true, show URL addresses after external links.
......
:orphan:
kamaki shell manual page
========================
Synopsis
--------
**kamaki-shell** [*group*] [*command*] [...] [*arguments*]
Description
-----------
:program:`kamaki` is a simple, yet intuitive, command-line tool for managing
clouds. It can be used in three forms: as an interactive shell
(`kamaki-shell`), as a command line tool (`kamaki`) or as a clients API for
other applications (`kamaki.clients`).
Launch options
--------------
.. code-block:: console
-v Verbose output, without HTTP data
-vv Verbose output, including HTTP data
-d Use debug output.
-o KEY=VAL Override a config value (can be repeated)
--cloud CLOUD Cloud to be used for this shell session
Commands
--------
:manpage: `kamaki(1)`
Shell Management Commands
*************************
exit
Exit the interactive shell or a command namespace inside the shell
shell
Execute commands on host system shell (e.g. bash)
Kamaki and API commands
***********************
The Kamaki and API commands are the same in both the CLI and the shell. For a
complete list of the common commands, check the "COMMANDS" section at the
following manpage:
:manpage: `kamaki(1)`
Author
------
Synnefo development team <synnefo-devel@googlegroups.com>.
......@@ -7,8 +7,6 @@ Synopsis
--------
**kamaki** [*group*] [*command*] [...] [*options*] [*arguments*]
**kamaki-shell** [*group*] [*command*] [...] [*arguments*]
Description
-----------
......@@ -18,97 +16,13 @@ clouds. It can be used in three forms: as an interactive shell
(`kamaki-shell`), as a command line tool (`kamaki`) or as a clients API for
other applications (`kamaki.clients`).
To run `kamaki` as an interactive shell, type
kamaki-shell
To run `kamaki` as tool type
To run `kamaki`
kamaki <group> <command> [...] [options]
The kamaki clients API can be imported in python applications as
`kamaki.clients`
List of available command groups:
user
Astakos/Identity API commands
project
Astakos project API commands
membership
Astakos project membership API commands
quota
Astakos/Account API commands for quotas
resource
Astakos/Account API commands for resources
file
Pithos+/Storage object level API commands
container
Pithos+/Storage container level API commands
group
Pithos+/Storage user groups
sharer
Pithos+/Storage sharer accounts
server
Cyclades/Compute API server commands
flavor
Cyclades/Compute API flavor commands
image
Cyclades/Plankton API image commands
imagecompute
Cyclades/Compute API image commands
network
Networking API network commands
subnet
Networking API network commands
ip
Networking API floatingip commands
port
Networking API network Commands
volume
Block Storage API volume commands
snapshot
Block Storage API snapshot commands
config
Kamaki option and cloud configuration
history
Kamaki command history
Hidden command groups
---------------------
service
Astakos API service commands
endpoint
Astakos API endpoints commands
commission
Astakos API commission commands
Options
-------
......@@ -120,252 +34,371 @@ Options
-o KEY=VAL Override a config value (can be repeated)
--cloud CLOUD Choose a cloud to connect to
Commands
--------
user
****
* authenticate Authenticate a user, show user information
* info Get info for (current) session user
* uuid2name Get user name(s) from uuid(s)
* authenticate Authenticate a user and get all authentication information
* list List (cached) session users
* add Authenticate a user by token and add to kamaki session (cache)
* name2uuid Get user uuid(s) from name(s)
* select Select a user from the (cached) list as the current session user
* delete Delete a user (token) from the (cached) list of session users
project
*******
* info Get details for a project
* unsuspend Resume a suspended project (special privileges needed)
* suspend Suspend a project (special privileges needed)
* list List all projects
* create Apply for a new project
* modify Modify a project
* terminate Terminate a project (special privileges needed)
* application Application management commands
* reinstate Reinstate a terminated project (special privileges needed)
* join Join a project
* dismiss Dismiss your denied application
* deny Deny an application (special privileges needed)
* enroll Enroll somebody to a project you manage
* cancel Cancel a project application
* approve Approve an application (special privileges needed)
membership
**********
* info Details on a membership
* list List all memberships
* accept Accept a membership for a project you manage
* leave Leave a project you have membership to
* remove Remove a membership for a project you manage
* reject Reject a membership for a project you manage
* cancel Cancel your (probably pending) membership to a project
quota
*****
Kamaki Management Commands
**************************
* list Get user quotas
config
get
Show a configuration option
set
Set a configuration option
list
List all configuration options
delete
Delete a configuration option
help
List available commands or show help message for selected commands
volume
******
history
clean
Clean up history (permanent)
show
Show history
* info Get details about a volume
* list List volumes
* create Create a new volume
* modify Modify a volumes' properties
* reassign Reassign volume to a different project
* type Get volume type details
* types List volume types
* delete Delete a volume
scripts verifyfs
Verify/Fix the structure of directory objects inside a container
snapshot
********
Astakos/Account/Identity API
****************************
* info Get details about a snapshot
* list List snapshots
* create Create a new snapshot
* modify Modify a snapshots' properties
* delete Delete a snapshot
membership
info
Details on a project membership
list
List all project memberships
remove
Remove a project membership for a project you manage
leave
Leave a project you have membership to
accept
Accept a membership for a project you manage
reject
Reject a membership for a project you manage
cancel
Cancel your (probably pending) membership to a project
resource
********
* list List user resources
project
info
Get details for a project
unsuspend
Resume a suspended project (special privileges needed)
suspend
Suspend a project (special privileges needed)
join
Join a project
modify
Modify properties of a project
create
Apply for a new project
dismiss
Dismiss your denied application
list
List all projects
deny
Deny an application (special privileges needed)
terminate
Terminate a project (special privileges needed)
enroll
Enroll a user to a project
cancel
Cancel your application
approve
Approve an application (special privileges needed)
reinstate
Reinstate a terminated project (special privileges needed)
quota list
Show user quotas
resource list
Show user resources and usage
file
****
* info Get information/details about a file
* truncate Truncate remote file up to size
* mkdir Create a directory ( create --content-type='applcation/directory' )
* create Create an empty file
* move Move objects, even between different accounts or containers
* list List all objects in a container or a directory object
* upload Upload a file
* cat Fetch remote file contents
* modify Modify the attributes of a file or directory object
* append Append local file to (existing) remote object
* download Download a remove file or directory object to local file system
* copy Copy objects, even between different accounts or containers
* overwrite Overwrite part of a remote file
* delete Delete a file or directory object
user
info
Get info for (current) session user
uuid2name
Get user name(s) from uuid(s)
authenticate
Authenticate a user and get all authentication information
list
List (cached) session users
add
Authenticate a user by token and add to session user list (cache)
name2uuid
Get user uuid(s) from name(s)
select
Select a user from the (cached) list as the current session user
delete
Delete a user (token) from the list of session users
Pithos+/Object Storage API
**************************
container
*********
info
Get information about a container
modify
Modify the properties of a container
create
Create a new container
list
List all containers, or their contents
reassign
Assign a container to a different project
empty
Empty a container
delete
Delete a container
* info Get information about a container
* modify Modify the properties of a container
* create Create a new container
* list List all containers, or their contents
* empty Empty a container
* delete Delete a container
file
info
Get information/details about a file
copy
Copy objects, even between different accounts or containers
truncate
Truncate remote file up to size
mkdir
Create a directory object
create
Create an empty object
move
Move objects, even between different accounts or containers
list
List all objects in a container or a directory
upload
Upload a file
publish
Publish an object (creates a public URL)
unpublish
Unpublish an object
modify
Modify the attributes of a file or directory object
append
Append local file to (existing) remote object
download
Download a remote file or directory object to local file system
cat
Fetch remote file contents
overwrite
Overwrite part of a remote file
delete
Delete a file or directory object
group
*****
create
Create a group of users
list
list all groups and group members
delete
Delete a user group
* create Create a group of users
* list List all groups and group members
* delete Delete a user group
sharer
******
info
Details on a Pithos+ sharer account (default: current account)
list
List accounts who share file objects with current user
* info Details on a Pithos+ sharer account (default: current account)
* list List accounts who share file objects with current user
server
******
* info Detailed information on a Virtual Machine
* modify Modify attributes of a virtual server
* create Create a server (aka Virtual Machine)
* list List virtual servers accessible by user
* reboot Reboot a virtual server
* start Start an existing virtual server
* shutdown Shutdown an active virtual server
* delete Delete a virtual server
* console Create a VNC console and show connection information
* wait Wait for server to finish [BUILD, STOPPED, REBOOT, ACTIVE]
Cyclades/Compute API
********************
flavor
******
* list list flavors
* info get flavor details
info
Detailed information on a hardware flavor
list
List available hardware flavors
image
*****
* info Get image metadata
* list List images accessible by user
* register (Re)Register an image file to an Image service
* modify Add / update metadata and properties for an image
* unregister Unregister an image (does not delete the image file)
imagecompute
************
* info Get detailed information on an image
* list List images
* modify Modify image properties (metadata)
* delete Delete an image (WARNING: image file is also removed)
info
Get detailed information on an image
list
List images
modify
Modify image properties (metadata)
delete
Delete an image (WARNING: image file is also removed)
network
*******
* info: Get details about a network
* disconnect: Disconnect a network from a device
* modify: Modify network attributes
* create: Create a new network
* list: List networks
* connect: Connect a network with a device (server or router)
* delete: Delete a network
server
info
Detailed information on a Virtual Machine
console
Create a VNC console and show connection information
modify
Modify attributes of a virtual server
create
Create a server (aka Virtual Machine)
list
List virtual servers accessible by user
reboot
Reboot a virtual server
start
Start an existing virtual server
shutdown
Shutdown an active virtual server
reassign
Assign a virtual server to a different project
delete
Delete a virtual server
wait
Wait for server to change its status (default: --while BUILD)
Cyclades/Block Storage API
**************************
subnet
******
snapshot
info
Get details about a snapshot
list
List snapshots
create
Create a new snapshot
modify
Modify a snapshot's properties
delete
Delete a snapshot