Revision d8052456 lib/cmdlib.py

b/lib/cmdlib.py
2418 2418
    This checks that the fields required are valid output fields.
2419 2419

  
2420 2420
    """
2421
    self.dynamic_fields = frozenset(["oper_state", "oper_ram"])
2421
    self.dynamic_fields = frozenset(["oper_state", "oper_ram", "status"])
2422 2422
    _CheckOutputFields(static=["name", "os", "pnode", "snodes",
2423 2423
                               "admin_state", "admin_ram",
2424 2424
                               "disk_template", "ip", "mac", "bridge",
......
2475 2475
            val = None
2476 2476
          else:
2477 2477
            val = bool(live_data.get(instance.name))
2478
        elif field == "status":
2479
          if instance.primary_node in bad_nodes:
2480
            val = "ERROR_nodedown"
2481
          else:
2482
            running = bool(live_data.get(instance.name))
2483
            if running:
2484
              if instance.status != "down":
2485
                val = "running"
2486
              else:
2487
                val = "ERROR_up"
2488
            else:
2489
              if instance.status != "down":
2490
                val = "ERROR_down"
2491
              else:
2492
                val = "ADMIN_down"
2478 2493
        elif field == "admin_ram":
2479 2494
          val = instance.memory
2480 2495
        elif field == "oper_ram":

Also available in: Unified diff