Revision 5d28cb6f lib/query.py

b/lib/query.py
79 79

  
80 80
(IQ_CONFIG,
81 81
 IQ_LIVE,
82
 IQ_DISKUSAGE) = range(100, 103)
82
 IQ_DISKUSAGE,
83
 IQ_CONSOLE) = range(100, 104)
83 84

  
84 85
(LQ_MODE,
85 86
 LQ_OWNER,
......
664 665

  
665 666
  """
666 667
  def __init__(self, instances, cluster, disk_usage, offline_nodes, bad_nodes,
667
               live_data, wrongnode_inst):
668
               live_data, wrongnode_inst, console):
668 669
    """Initializes this class.
669 670

  
670 671
    @param instances: List of instance objects
......
679 680
    @param live_data: Per-instance live data
680 681
    @type wrongnode_inst: set
681 682
    @param wrongnode_inst: Set of instances running on wrong node(s)
683
    @type console: dict; instance name as key
684
    @param console: Per-instance console information
682 685

  
683 686
    """
684 687
    assert len(set(bad_nodes) & set(offline_nodes)) == len(offline_nodes), \
......
693 696
    self.bad_nodes = bad_nodes
694 697
    self.live_data = live_data
695 698
    self.wrongnode_inst = wrongnode_inst
699
    self.console = console
696 700

  
697 701
    # Used for individual rows
698 702
    self.inst_hvparams = None
......
991 995
  return usage
992 996

  
993 997

  
998
def _GetInstanceConsole(ctx, inst):
999
  """Get console information for instance.
1000

  
1001
  @type ctx: L{InstanceQueryData}
1002
  @type inst: L{objects.Instance}
1003
  @param inst: Instance object
1004

  
1005
  """
1006
  consinfo = ctx.console[inst.name]
1007

  
1008
  if consinfo is None:
1009
    return _FS_UNAVAIL
1010

  
1011
  return consinfo
1012

  
1013

  
994 1014
def _GetInstanceDiskFields():
995 1015
  """Get instance fields involving disks.
996 1016

  
......
1108 1128
     _GetItemAttr("admin_up")),
1109 1129
    (_MakeField("tags", "Tags", QFT_OTHER), IQ_CONFIG,
1110 1130
     lambda ctx, inst: list(inst.GetTags())),
1131
    (_MakeField("console", "Console", QFT_OTHER), IQ_CONSOLE,
1132
     _GetInstanceConsole),
1111 1133
    ]
1112 1134

  
1113 1135
  # Add simple fields

Also available in: Unified diff