Revision e91cfc2a

b/doc/rapi.rst
515 515
- ops: involved OpCodes as a list of dictionaries for each opcodes in
516 516
  the job
517 517
- opstatus: OpCodes status as a list
518
- opresult: OpCodes results as a list of lists
518
- opresult: OpCodes results as a list
519

  
520
For a successful opcode, the ``opresult`` field corresponding to it will
521
contain the raw result from its :term:`LogicalUnit`. In case an opcode
522
has failed, its element in the opresult list will be a list of two
523
elements:
524

  
525
- first element the error type (the Ganeti internal error name)
526
- second element a list of either one or two elements:
527

  
528
  - the first element is the textual error description
529
  - the second element, if any, will hold an error classification
530

  
531
The error classification is most useful for the ``OpPrereqError``
532
error type - these errors happen before the OpCode has started
533
executing, so it's possible to retry the OpCode without side
534
effects. But whether it make sense to retry depends on the error
535
classification:
536

  
537
``resolver_error``
538
  Resolver errors. This usually means that a name doesn't exist in DNS,
539
  so if it's a case of slow DNS propagation the operation can be retried
540
  later.
541

  
542
``insufficient_resources``
543
  Not enough resources (iallocator failure, disk space, memory,
544
  etc.). If the resources on the cluster increase, the operation might
545
  succeed.
546

  
547
``wrong_input``
548
  Wrong arguments (at syntax level). The operation will not ever be
549
  accepted unless the arguments change.
550

  
551
``wrong_state``
552
  Wrong entity state. For example, live migration has been requested for
553
  a down instance, or instance creation on an offline node. The
554
  operation can be retried once the resource has changed state.
555

  
556
``unknown_entity``
557
  Entity not found. For example, information has been requested for an
558
  unknown instance.
559

  
560
``already_exists``
561
  Entity already exists. For example, instance creation has been
562
  requested for an already-existing instance.
563

  
564
``resource_not_unique``
565
  Resource not unique (e.g. MAC or IP duplication).
566

  
567
``internal_error``
568
  Internal cluster error. For example, a node is unreachable but not set
569
  offline, or the ganeti node daemons are not working, etc. A
570
  ``gnt-cluster verify`` should be run.
571

  
572
``environment_error``
573
  Environment error (e.g. node disk error). A ``gnt-cluster verify``
574
  should be run.
575

  
576
Note that in the above list, by entity we refer to a node or instance,
577
while by a resource we refer to an instance's disk, or NIC, etc.
578

  
519 579

  
520 580
``DELETE``
521 581
~~~~~~~~~~

Also available in: Unified diff