Feature #4583

Design and implement a new kamaki commands naming scheme

Added by Stavros Sachtouris over 10 years ago. Updated over 10 years ago.

Status:Assigned Start date:11/12/2013
Priority:Medium Due date:11/18/2013
Assignee:Stavros Sachtouris % Done:

100%

Category:kamaki Spent time: 46.00 hours
Target version:v0.12 Estimated time:16.00 hours

Description

All kamaki commands should adopt a naming scheme that will look like this:

kamaki <object> <action> [positional arguments] [non-positional arguments]

e.g.,

kamaki server info <server id>
kamaki file download <remote file path> [local path] --container=pithos

The positional arguments will always be identification information for the object(s). In other words, the positional arguments will always answer the question "which object(s)". On the above examples, the server id answer the question "which server", and the positional arguments of the "file download" command answer the question "which (remote and local) files".

All objects may have the following actions:

kamaki <object>
   info <ids>        Information on the object (metadata, details, etc.)
   list              List all (or some, according to some filter) objects
   create            Create a new object (all parameters are given with non-positional arguments)
   delete <ids>      Delete the object
   modify <ids>      Change some properties of the object, using non-positional arguments
   various actions   Actions specific to each object (e.g., server start, file move, ip detach)

Some examples to clarify:

kamaki server info <server id>                        Get details for a server
kamaki quotas list                                    List all user quotas
kamaki container create --name=<container name>       Create a new container (--name is mandatory)
kamaki delete network <network id>                    Delete a network
kamaki image modify <image id> --property OS=Linux    Change the value of the image property "OS" for a specific image
kamaki file copy --source-account=other-person --container=pithos my.file --target-account=me my.file.copy

Effects: The scheme will produce a number of new 1st level commands and vast changes in documentation (not estimated).

Total objects in kamaki (hidden objects are enclosed in [brackets]:

user
quotas
resources
projects
[commission]
[service]
[endpoints]
server
flavor
image
ip
port
network
subnet
image
[computeimage]
file
sharers
container
shanshot
volume


Related issues

blocked by ./kamaki - Feature #4596: Wrap argumentparser to allow required yet non-positional ... Resolved 11/14/2013 11/18/2013
blocked by ./kamaki - Support #4625: pithos object identification Resolved 11/21/2013 11/26/2013

Associated revisions

Revision 25f9a991
Added by Stavros Sachtouris over 10 years ago

Apply naming scheme on astakos-related commands

Refs: #4583

Renames:
user session * --> user *
admin services * --> service *
admin endpoints * --> endpoint *
admin commission * --> commission *
admin resources --> resource list
user quotas --> quota list

Also, service, endpoint, commission are optional (hidden) command groups

Revision 49e85ee2
Added by Stavros Sachtouris over 10 years ago

Make shell syntax help as verbose as one-commands

Refs: #4583

Revision 0b052394
Added by Stavros Sachtouris over 10 years ago

Apply new naming convention for server

Refs: #4583

Renamings and merges in server:
rename/resize/firewall set/metadata set/metadata_delete -> modify

Removed in server:
metadata *, firewall *

Get all info with server info/list

Revision 00b1248e
Added by Stavros Sachtouris over 10 years ago

Apply naming conventions to 1st level image cmds

Refs: #4583

Revision 5c5eb675
Added by Stavros Sachtouris over 10 years ago

Apply naming scheme to image cmds

Refs: #4583

All image-property commands --> image modify --property-add/del
All image-compute commands --> imagecompute
imagecompute-property-* --> imagecompute modify --property-add/del

Revision 264a13f7
Added by Stavros Sachtouris over 10 years ago

Apply naming scheme to network + cyclades/network

Refs: #4583, #4563

Network connection has changed:
server create <usuall stuff here>
--network-id=NETWORK_ID --network-with-ip=NETWORK_ID,IP
port create/delete are also used to connect/disconnect networks to servers

deprecated:
- all network-related commands at cli/commands/cyclades.py
- ip attach/detach

Revision cec2dfcd
Added by Stavros Sachtouris over 10 years ago

Reimplement pithos commands (apply naming scheme)

Refs: #4625, #4583

So far: file list, file create

Revision d1bced10
Added by Stavros Sachtouris over 10 years ago

Expose Network floatingip commands

Refs: #4583, #4563

Revision effa4b8f
Added by Stavros Sachtouris over 10 years ago

Sketch-implement file copy/move

Refs: #4625, #4583

Revision de932277
Added by Stavros Sachtouris over 10 years ago

Complete file copy/move (improved)

Refs: #4583

Revision edc1182f
Added by Stavros Sachtouris over 10 years ago

Carefully copy file * up to car

Refs: #4583

Revision 74b7c6dc
Added by Stavros Sachtouris over 10 years ago

Implement file download

Refs: #4583

Revision 20206179
Added by Stavros Sachtouris over 10 years ago

Implement info and modify for file

Refs: #4583

Revision bfa33995
Added by Stavros Sachtouris over 10 years ago

Manage file versions

commands affected: info, modify

Refs: #4583

Revision 7b109aa7
Added by Stavros Sachtouris over 10 years ago

Complete container commands

Refs: #4583

Revision bfd0f8db
Added by Stavros Sachtouris over 10 years ago

Complete Pithos+ copmmands

Refs: #4583

Revision f3a239f6
Added by Stavros Sachtouris over 10 years ago

Update changelog

Refs: #4583

Revision c6afee48
Added by Stavros Sachtouris over 10 years ago

Implement port wait

Refs: #4583

Revision ec6c3949
Added by Stavros Sachtouris over 10 years ago

Adjust image register to new scheme

Refs: #4583

Revision 432cea25
Added by Stavros Sachtouris over 10 years ago

Adjust image register to new scheme

Refs: #4583

History

#1 Updated by Stavros Sachtouris over 10 years ago

  • % Done changed from 0 to 20

#2 Updated by Stavros Sachtouris over 10 years ago

  • % Done changed from 20 to 30

#3 Updated by Stavros Sachtouris over 10 years ago

  • % Done changed from 30 to 60

#4 Updated by Stavros Sachtouris over 10 years ago

  • % Done changed from 60 to 70

#5 Updated by Stavros Sachtouris over 10 years ago

  • % Done changed from 70 to 80

#6 Updated by Stavros Sachtouris over 10 years ago

  • % Done changed from 80 to 100

Also available in: Atom PDF