Revision 19bed813
b/lib/cmdlib.py | ||
---|---|---|
2279 | 2279 |
""" |
2280 | 2280 |
_OP_REQP = ["output_fields", "names", "use_locking"] |
2281 | 2281 |
REQ_BGL = False |
2282 |
|
|
2283 |
_SIMPLE_FIELDS = ["name", "serial_no", "ctime", "mtime", "uuid", |
|
2284 |
"master_candidate", "offline", "drained"] |
|
2285 |
|
|
2282 | 2286 |
_FIELDS_DYNAMIC = utils.FieldSet( |
2283 | 2287 |
"dtotal", "dfree", |
2284 | 2288 |
"mtotal", "mnode", "mfree", |
... | ... | |
2286 | 2290 |
"ctotal", "cnodes", "csockets", |
2287 | 2291 |
) |
2288 | 2292 |
|
2289 |
_FIELDS_STATIC = utils.FieldSet( |
|
2290 |
"name", "pinst_cnt", "sinst_cnt",
|
|
2293 |
_FIELDS_STATIC = utils.FieldSet(*[
|
|
2294 |
"pinst_cnt", "sinst_cnt", |
|
2291 | 2295 |
"pinst_list", "sinst_list", |
2292 | 2296 |
"pip", "sip", "tags", |
2293 |
"serial_no", "ctime", "mtime", |
|
2294 |
"master_candidate", |
|
2295 | 2297 |
"master", |
2296 |
"offline", |
|
2297 |
"drained", |
|
2298 |
"role", |
|
2298 |
"role"] + _SIMPLE_FIELDS |
|
2299 | 2299 |
) |
2300 | 2300 |
|
2301 | 2301 |
def ExpandNames(self): |
... | ... | |
2396 | 2396 |
for node in nodelist: |
2397 | 2397 |
node_output = [] |
2398 | 2398 |
for field in self.op.output_fields: |
2399 |
if field == "name":
|
|
2400 |
val = node.name
|
|
2399 |
if field in self._SIMPLE_FIELDS:
|
|
2400 |
val = getattr(node, field)
|
|
2401 | 2401 |
elif field == "pinst_list": |
2402 | 2402 |
val = list(node_to_primary[node.name]) |
2403 | 2403 |
elif field == "sinst_list": |
... | ... | |
2412 | 2412 |
val = node.secondary_ip |
2413 | 2413 |
elif field == "tags": |
2414 | 2414 |
val = list(node.GetTags()) |
2415 |
elif field == "serial_no": |
|
2416 |
val = node.serial_no |
|
2417 |
elif field == "ctime": |
|
2418 |
val = node.ctime |
|
2419 |
elif field == "mtime": |
|
2420 |
val = node.mtime |
|
2421 |
elif field == "master_candidate": |
|
2422 |
val = node.master_candidate |
|
2423 | 2415 |
elif field == "master": |
2424 | 2416 |
val = node.name == master_node |
2425 |
elif field == "offline": |
|
2426 |
val = node.offline |
|
2427 |
elif field == "drained": |
|
2428 |
val = node.drained |
|
2429 | 2417 |
elif self._FIELDS_DYNAMIC.Matches(field): |
2430 | 2418 |
val = live_data[node.name].get(field, None) |
2431 | 2419 |
elif field == "role": |
... | ... | |
3983 | 3971 |
""" |
3984 | 3972 |
_OP_REQP = ["output_fields", "names", "use_locking"] |
3985 | 3973 |
REQ_BGL = False |
3974 |
_SIMPLE_FIELDS = ["name", "os", "network_port", "hypervisor", |
|
3975 |
"serial_no", "ctime", "mtime", "uuid"] |
|
3986 | 3976 |
_FIELDS_STATIC = utils.FieldSet(*["name", "os", "pnode", "snodes", |
3987 | 3977 |
"admin_state", |
3988 | 3978 |
"disk_template", "ip", "mac", "bridge", |
... | ... | |
3995 | 3985 |
r"(nic)\.(bridge)/([0-9]+)", |
3996 | 3986 |
r"(nic)\.(macs|ips|modes|links|bridges)", |
3997 | 3987 |
r"(disk|nic)\.(count)", |
3998 |
"serial_no", "hypervisor", "hvparams", |
|
3999 |
"ctime", "mtime", |
|
4000 |
] + |
|
3988 |
"hvparams", |
|
3989 |
] + _SIMPLE_FIELDS + |
|
4001 | 3990 |
["hv/%s" % name |
4002 | 3991 |
for name in constants.HVS_PARAMETERS] + |
4003 | 3992 |
["be/%s" % name |
... | ... | |
4100 | 4089 |
nic.nicparams) for nic in instance.nics] |
4101 | 4090 |
for field in self.op.output_fields: |
4102 | 4091 |
st_match = self._FIELDS_STATIC.Matches(field) |
4103 |
if field == "name": |
|
4104 |
val = instance.name |
|
4105 |
elif field == "os": |
|
4106 |
val = instance.os |
|
4092 |
if field in self._SIMPLE_FIELDS: |
|
4093 |
val = getattr(instance, field) |
|
4107 | 4094 |
elif field == "pnode": |
4108 | 4095 |
val = instance.primary_node |
4109 | 4096 |
elif field == "snodes": |
... | ... | |
4180 | 4167 |
val = _ComputeDiskSize(instance.disk_template, disk_sizes) |
4181 | 4168 |
elif field == "tags": |
4182 | 4169 |
val = list(instance.GetTags()) |
4183 |
elif field == "serial_no": |
|
4184 |
val = instance.serial_no |
|
4185 |
elif field == "ctime": |
|
4186 |
val = instance.ctime |
|
4187 |
elif field == "mtime": |
|
4188 |
val = instance.mtime |
|
4189 |
elif field == "network_port": |
|
4190 |
val = instance.network_port |
|
4191 |
elif field == "hypervisor": |
|
4192 |
val = instance.hypervisor |
|
4193 | 4170 |
elif field == "hvparams": |
4194 | 4171 |
val = i_hv |
4195 | 4172 |
elif (field.startswith(HVPREFIX) and |
Also available in: Unified diff