Statistics
| Branch: | Tag: | Revision:

root / docs / commands.rst @ 82cc4b8f

History | View | Annotate | Download (14.8 kB)

1
List of commands
2
================
3

    
4
The commands described bellow are grouped by service. The examples showcase a
5
sample set of group commands. The kamaki interactive shell (check
6
`Usage section <usage.html#interactive-shell>`_ for details) is chosen as the
7
execution environment.
8

    
9

    
10
user (Identity Manager)
11
-----------------------
12

    
13
.. code-block:: text
14

    
15
    authenticate:  Authenticate a user
16

    
17
Showcase: get user information
18
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19

    
20
In the following, the token has been set in a previous step (see
21
`setup section <setup.html>`_ or the
22
`quick setup guide <usage.html#quick-setup>`_)
23

    
24
.. code-block:: console
25
    :emphasize-lines: 1,4
26

    
27
    * Enter user context *
28
    [kamaki]: user
29

    
30
    * Authenticate user *
31
    [user]: authenticate
32
    ...
33
    user:
34
        name:  My Real Name
35
        uuid:  ab1cde23-45fg-6h7i-8j9k-10l1m11no2pq
36

    
37
.. note:: actual call returns a full list of service endpoints accessible to
38
    the user with a specific token
39

    
40
flavor (Compute/Cyclades)
41
-------------------------
42

    
43
.. code-block:: text
44

    
45
    info:  Get flavor details
46
    list:  List flavors
47

    
48
Showcase: show details for flavor with id 43
49
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
50

    
51
.. code-block:: console
52
    :emphasize-lines: 1,4
53

    
54
    * Enter flavor context *
55
    [kamaki]: flavor
56

    
57
    * Get details about flavor with id 43 *
58
    [flavor]: info 43
59
    SNF:disk_template:  drbd
60
    cpu :  4
61
    disk:  10
62
    id  :  43
63
    name:  C4R2048D10
64
    ram :  2048
65

    
66
image (Plankton commands + Compute Image subcommands)
67
-----------------------------------------------------
68

    
69
.. code-block:: text
70

    
71
    list      :  List images accessible by user
72
    info      :  Get image metadata
73
    meta      :  Manage image metadata
74
        set     :   Add / update metadata and properties for an image
75
        delete  :   Remove/empty image metadata and/or custom properties
76
    register  :  (Re)Register an image
77
    unregister:  Unregister an image (does not delete the image file)
78
    shared    :  List shared images
79
    compute   :  Compute Image API commands
80
        list      :  List images
81
        delete    :  Delete image
82
        info      :  Get image details
83
        properties:  Manage properties related to OS installation in an image
84
            delete:  Delete a property from an image
85
            get   :  Get an image property
86
            list  :  List all image properties
87
            set   :  Add / update a set of properties for an image
88
    members   :  Manage members (users who can modify an image)
89
        add   :  Add a member to an image
90
        delete:  Remove a member from an image
91
        list  :  List members of an image
92
        set   :  Set the members of an image
93

    
94
Showcase: Pick an image and list the properties
95
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96

    
97
.. code-block:: console
98
    :emphasize-lines: 1,4,18
99

    
100
    * Enter image context *
101
    [kamaki]: image
102

    
103
    * list all available images *
104
    [image]: list
105
    926ab1c5-2d85-49d4-aebe-0fce712789b9 Windows Server 2008
106
     container_format:  bare
107
     disk_format     :  diskdump
108
     id              :  926ab1c5-2d85-49d4-aebe-0fce712789b9
109
     size            :  11917066240
110
     status          :  available
111
    78262ee7-949e-4d70-af3a-85360c3de57a Windows Server 2012
112
     container_format:  bare
113
     disk_format     :  diskdump
114
     id              :  78262ee7-949e-4d70-af3a-85360c3de57a
115
     size            :  11697913856
116
     status          :  available
117
    5ed5a29b-292c-4fe0-b32c-2e2b65628635 ubuntu
118
     container_format:  bare
119
     disk_format     :  diskdump
120
     id              :  5ed5a29b-292c-4fe0-b32c-2e2b65628635
121
     size            :  2578100224
122
     status          :  available
123
    1f8454f0-8e3e-4b6c-ab8e-5236b728dffe Debian_Wheezy_Base
124
     container_format:  bare
125
     disk_format     :  diskdump
126
     id              :  1f8454f0-8e3e-4b6c-ab8e-5236b728dffe
127
     size            :  795107328
128
     status          :  available
129

    
130
    * Get properties of image with id 1f8454f0-8e3e-4b6c-ab8e-5236b728dffe *
131
    [image]: compute properties 1f8454f0-8e3e-4b6c-ab8e-5236b728dffe
132
    description   :  Debian 6.0.6 (Squeeze) Base System
133
    gui           :  No GUI
134
    kernel        :  2.6.32
135
    os            :  debian
136
    osfamily      :  linux
137
    root_partition:  1
138
    sortorder     :  1
139
    users         :  root
140

    
141
server (Compute/Cyclades)
142
-------------------------
143

    
144
.. code-block:: text
145

    
146
    addr    :  List a server's nic address
147
    console :  Get a VNC console
148
    create  :  Create a server
149
    delete  :  Delete a server
150
    firewall:  Manage server's firewall profile
151
        set :  Set the server's firewall profile
152
        get :  Get the server's firewall profile
153
    ip      :  Manage floating IPs for the servers
154
        attach:  Attach a floating ip to a server with server_id
155
        info  :  A floating IPs' details
156
        detach:  Detach floating ip from server
157
        list  :  List all floating ips
158
        create:  Create a new floating IP
159
        delete:  Delete a floating ip
160
        pools :  List all floating pools of floating ips
161
    info    :  Get server details
162
    list    :  List servers
163
    metadata:  Manage Server Metadata
164
        list  :  List server metadata
165
        set   :  Add / update server metadata
166
        delete:  Delete a piece of server metadata
167
    reboot  :  Reboot a server
168
    rename  :  Update a server's name
169
    shutdown:  Shutdown a server
170
    start   :  Start a server
171
    stats   :  Get server statistics
172
    resize  :  Set a different flavor for an existing server
173
    wait    :  Wait for server to finish
174

    
175
Showcase: Create a server
176
^^^^^^^^^^^^^^^^^^^^^^^^^
177

    
178
.. code-block:: console
179
    :emphasize-lines: 1,4,21,35,44,62
180

    
181
    * Enter server context *
182
    [kamaki]: server
183

    
184
    * See server-create help *
185
    [server]: create -h
186
    usage: create <name> <flavor id> <image id>
187
            [--personality PERSONALITY] [-h] [--config CONFIG] [--cloud CLOUD]
188

    
189
    Create a server
190

    
191
    optional arguments:
192
      -v, --verbose         More info at response
193
      --personality PERSONALITY
194
                            add a personality file
195
      -d, --debug           Include debug output
196
      -h, --help            Show help message
197
      -i, --include         Include protocol headers in the output
198
      --config CONFIG       Path to configuration file
199
      -s, --silent          Do not output anything
200
      --cloud CLOUD         Chose a cloud to connect to
201

    
202
    * List all available images *
203
    [server]: /image compute list
204
    1395fdfb-51b4-419f-bb02-f7d632860611 Ubuntu Desktop LTS
205
    1580deb4-edb3-4496-a27f-7a246c4c0528 Ubuntu Desktop
206
    18a82962-43eb-4b32-8e28-8f8880af89d7 Kubuntu LTS
207
    6aa6eafd-dccb-422d-a904-67fe2bdde87e Debian Desktop
208
    6b5681e4-7502-46ae-b1e9-9fd837932095 maelstrom
209
    78262ee7-949e-4d70-af3a-85360c3de57a Windows Server 2012
210
    86bc2414-0fb3-4898-a637-240292243302 Fedora
211
    926ab1c5-2d85-49d4-aebe-0fce712789b9 Windows Server 2008
212
    b2dffe52-64a4-48c3-8a4c-8214cc3165cf Debian Base
213
    baf2321c-57a0-4a69-825d-49f49cea163a CentOS
214
    c1d27b46-d875-4f5c-b7f1-f39b5af62905 Kubuntu
215

    
216
    * See details of flavor with id 1 *
217
    [server]: /flavor info 1
218
    SNF:disk_template:  drbd
219
    cpu              :  1
220
    disk             :  20
221
    id               :  1
222
    name             :  C1R1024D20
223
    ram              :  1024
224

    
225
    * Create a debian server named 'My Small Debian Server'
226
    [server]: create 'My Small Debian Server' 1 b2dffe52-64a4-48c3-8a4c-8214cc3165cf
227
    adminPass:  L8gu2wbZ94
228
    created  :  2012-11-23T16:56:04.190813+00:00
229
    flavorRef:  1
230
    hostId   :  
231
    id       :  11687
232
    imageRef :  b2dffe52-64a4-48c3-8a4c-8214cc3165cf
233
    metadata : 
234
               os   :  debian
235
               users:  root
236
    name     :  My Small Debian Server
237
    progress :  0
238
    status   :  BUILD
239
    suspended:  False
240
    updated  :  2012-11-23T16:56:04.761962+00:00
241

    
242
    * wait for server to build (optional) *
243
    [server]: wait 11687
244
    Server 11687 still in BUILD mode |||||||||||||||||    | 80%
245
    Server 11687 is now in ACTIVE mode
246

    
247
.. Note:: In kamaki shell, / is used to access top-level command groups while working in command group contexts
248

    
249
network (Compute/Cyclades)
250
--------------------------
251

    
252
.. code-block:: text
253

    
254
    connect   :  Connect a server to a network
255
    create    :  Create a network
256
    delete    :  Delete a network
257
    disconnect:  Disconnect a nic of a server to a network
258
    info      :  Get network details
259
    list      :  List networks
260
    rename    :  Update network name
261

    
262
Showcase: Connect a network to a VM
263
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
264

    
265
.. code-block:: console
266
    :emphasize-lines: 1,4,9,24,27,44
267

    
268
    * Enter network context *
269
    [kamaki]: network
270

    
271
    * List user-owned VMs *
272
    [network]: /server list
273
    11687 (My Small Debian Server)
274
    11688 (An Ubuntu server)
275

    
276
    * Try network-connect (to get help) *
277
    [network]: connect 
278
    Syntax error
279
    usage: connect <server id> <network id> [-s] [-h] [-i] [--config CONFIG]
280

    
281
    Connect a server to a network
282

    
283
    Syntax: connect  <server id> <network id>
284
      --config    :  Path to configuration file
285
      -d,--debug  :  Include debug output
286
      -h,--help   :  Show help message
287
      -i,--include:  Include protocol headers in the output
288
      -s,--silent :  Do not output anything
289
      -v,--verbose:  More info at response
290

    
291
    * Connect VM with id 11687 to network with id 1409
292
    [network]: connect 11687 1409
293

    
294
    * Get details on network with id 1409
295
    [network]: info 1409
296
      attachments: 
297
                 nic-11687-1
298
      cidr    :  192.168.1.0/24
299
      cidr6   :  None
300
      created :  2012-11-23T17:17:20.560098+00:00
301
      dhcp    :  True
302
      gateway :  None
303
      gateway6:  None
304
      id      :  1409
305
      name    :  my network
306
      public  :  False
307
      status  :  ACTIVE
308
      type    :  MAC_FILTERED
309
      updated :  2012-11-23T17:18:25.095225+00:00
310

    
311
    * Get connectivity details on VM with id 11687 *
312
    [network]: /server addr 11687
313
    id:  nic-11687-1
314
        ipv4       :  192.168.1.1
315
        ipv6       :  None
316
        mac_address:  aa:0f:c2:0b:0e:85
317
        network_id :  1409
318
        firewallProfile:  DISABLED
319
    id:  nic-11687-0
320
        ipv4           :  83.212.106.111
321
        ipv6           :  2001:648:2ffc:1116:a80c:f2ff:fe12:a9e
322
        mac_address    :  aa:0c:f2:12:0a:9e
323
        network_id     :  1369
324

    
325
.. Note:: In kamaki shell, / is used to access top-level command groups while working in command group contexts
326

    
327
file (Storage/Pithos+)
328
----------------------
329

    
330
.. code-block:: text
331

    
332
    append        :  Append local file to remote
333
    cat           :  Print a file to console
334
    copy          :  Copy an object
335
    containerlimit:  Container size limit commands
336
        set       :  Set container data limit
337
        get       :  Get container data limit
338
    create        :  Create a container
339
    delete        :  Delete a container [or an object]
340
    download      :  Download a file or directory
341
    group         :  Manage access groups and group members
342
        delete:  Delete a user group
343
        list  :  List groups and group members
344
        set   :  Set a user group
345
    hashmap       :  Get the hashmap of an object
346
    info          :  Get information for account [, container [or object]]
347
    list          :  List containers, object trees or objects in a directory
348
    manifest      :  Create a remote file with uploaded parts by manifestation
349
    metadata      :  Metadata are attached on objects (key:value pairs)
350
        delete:  Delete metadata with given key
351
        get   :  Get metadatum
352
        set   :  Set a piece of metadata
353
    mkdir         :  Create a directory
354
    move          :  Copy an object
355
    overwrite     :  Overwrite part (from start to end) of a remote file
356
    permissions   :  Manage user and group accessibility for objects
357
        delete:  Delete all permissions set on object
358
        get   :  Get read and write permissions of an object
359
        set   :  Set permissions for an object
360
    publish       :  Publish an object
361
    purge         :  Purge a container
362
    quota         :  Get  quota for account
363
    sharers       :  List the accounts that share objects with default account
364
    touch         :  Create an empty object (file)
365
    truncate      :  Truncate remote file up to a size
366
    unpublish     :  Unpublish an object
367
    upload        :  Upload a file or directory
368
    versioning    :  Manage the versioning scheme of current pithos user account
369
        get:  Get  versioning for account or container
370
        set:  Set versioning mode (auto, none) for account or container
371
    versions      :  Get the version list of an object
372

    
373
Showcase: Upload and download a file
374
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
375

    
376
.. code-block:: console
377
    :emphasize-lines: 1,7,11,16,21,29,33,37,41,44,51,55,60,64
378

    
379
    * Create a random binarry file at current OS path *
380
    [kamaki]: !dd bs=4M if=/dev/zero of=rndm_local.file count=5
381
    5+0 records in
382
    5+0 records out
383
    20971520 bytes (21 MB) copied, 0.016162 s, 1.3 GB/s
384

    
385
    * Enter file context *
386
    [kamaki]: file
387

    
388

    
389
    * Check local file *
390
    [file]: !ls -lh rndm_local.file
391
    -rw-rw-r-- 1 ******** ******** 20M Nov 26 15:36 rndm_local.file
392

    
393

    
394
    * Create two containers *
395
    [file]: create mycont1
396
    [file]: create mycont2
397

    
398

    
399
    * List accessible containers *    
400
    [file]: list
401
    1. mycont1 (0B, 0 objects)
402
    2. mycont2 (0B, 0 objects)
403
    3. pithos (0B, 0 objects)
404
    4. trash (0B, 0 objects)
405

    
406

    
407
    * Upload local file to 1st container *
408
    [file]: upload rndm_local.file mycont1
409

    
410

    
411
    * Check if file has been uploaded *
412
    [file]: list mycont1
413
    1.    20M rndm_local.file
414

    
415
    * Create directory mydir on second container *
416
    [file]: mkdir mycont2:mydir
417

    
418

    
419
    * Move file from 1st to 2nd container (and in the directory) *
420
    [file]: move mycont1:rndm_local.file mycont2:mydir/rndm_local.file
421

    
422
    * Check contents of both containers *
423
    [file]: list mycont1
424
    [file]: list mycont2
425
    1.      D mydir/
426
    2.    20M mydir/rndm_local.file
427

    
428

    
429
    * Copy file from 2nd to 1st container, with a new name *
430
    [file]: copy mycont2:mydir/rndm_local.file mycont1:rndm_remote.file
431

    
432

    
433
    * Check pasted file *
434
    [file]: list mycont1
435
    1.    20M rndm_remote.file
436

    
437

    
438
    * Download pasted file to local file system *
439
    [file]: download mycont1:rndm_remote.file rndm_remote.file
440

    
441

    
442
    * Check if file is downloaded and if it is the same to original *
443
    [file]: !ls -lh *.file
444
    -rw-rw-r-- 1 ******** ******** 20M Nov 26 15:36 rndm_local.file
445
    -rw-rw-r-- 1 ******** ******** 20M Nov 26 15:42 rndm_remote.file
446
    [file]: !diff rndm_local.file rndm_remote.file
447

    
448
.. Note:: In kamaki shell, ! is used to execute OS shell commands (e.g. bash)
449

    
450
.. warning:: The container:object/path syntax does not function if the
451
    container and / or the object path contain one or more : characters. To use
452
    containers and objects with : use the --container and --dst-container
453
    arguments, e.g. to copy test.py object from grnet:dev container to
454
    grnet:deploy ::
455

    
456
        $ kamaki file copy --container=grnet:dev test.py --dst-container=grnet:deploy