Feature #4583
Design and implement a new kamaki commands naming scheme
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
Associated revisions
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
Make shell syntax help as verbose as one-commands
Refs: #4583
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
Apply naming conventions to 1st level image cmds
Refs: #4583
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
Apply naming scheme to network + cyclades/network
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
Complete file copy/move (improved)
Refs: #4583
Carefully copy file * up to car
Refs: #4583
Implement file download
Refs: #4583
Implement info and modify for file
Refs: #4583
Complete container commands
Refs: #4583
Complete Pithos+ copmmands
Refs: #4583
Update changelog
Refs: #4583
Implement port wait
Refs: #4583
Adjust image register to new scheme
Refs: #4583
Adjust image register to new scheme
Refs: #4583
History
#1 Updated by Stavros Sachtouris over 9 years ago
- % Done changed from 0 to 20
#2 Updated by Stavros Sachtouris over 9 years ago
- % Done changed from 20 to 30
#3 Updated by Stavros Sachtouris over 9 years ago
- % Done changed from 30 to 60
#4 Updated by Stavros Sachtouris over 9 years ago
- % Done changed from 60 to 70
#5 Updated by Stavros Sachtouris over 9 years ago
- % Done changed from 70 to 80
#6 Updated by Stavros Sachtouris over 9 years ago
- % Done changed from 80 to 100