REQ_BGL = False
_HID = "hidden"
_BLK = "blacklisted"
+ _VLD = "valid"
_FIELDS_STATIC = utils.FieldSet()
- _FIELDS_DYNAMIC = utils.FieldSet("name", "valid", "node_status", "variants",
+ _FIELDS_DYNAMIC = utils.FieldSet("name", _VLD, "node_status", "variants",
"parameters", "api_versions", _HID, _BLK)
def CheckArguments(self):
is_hid = os_name in cluster.hidden_oss
is_blk = os_name in cluster.blacklisted_oss
if ((self._HID not in self.op.output_fields and is_hid) or
- (self._BLK not in self.op.output_fields and is_blk)):
+ (self._BLK not in self.op.output_fields and is_blk) or
+ (self._VLD not in self.op.output_fields and not valid)):
continue
for field in self.op.output_fields:
if field == "name":
val = os_name
- elif field == "valid":
+ elif field == self._VLD:
val = valid
elif field == "node_status":
# this is just a copy of the dict
"""
cl = baserlib.GetClient()
- op = opcodes.OpDiagnoseOS(output_fields=["name", "valid", "variants"],
- names=[])
+ op = opcodes.OpDiagnoseOS(output_fields=["name", "variants"], names=[])
job_id = baserlib.SubmitJob([op], cl)
# we use custom feedback function, instead of print we log the status
result = cli.PollJob(job_id, cl, feedback_fn=baserlib.FeedbackFn)
raise http.HttpBadGateway(message="Can't get OS list")
os_names = []
- for (name, valid, variants) in diagnose_data:
- if valid:
- os_names.extend(cli.CalculateOSNames(name, variants))
+ for (name, variants) in diagnose_data:
+ os_names.extend(cli.CalculateOSNames(name, variants))
return os_names
# second, if requested, ask for an OS
if opts.select_os is True:
- op = opcodes.OpDiagnoseOS(output_fields=["name", "valid", "variants"],
- names=[])
+ op = opcodes.OpDiagnoseOS(output_fields=["name", "variants"], names=[])
result = SubmitOpCode(op, opts=opts)
if not result:
ToStdout("Available OS templates:")
number = 0
choices = []
- for (name, valid, variants) in result:
- if valid:
- for entry in CalculateOSNames(name, variants):
- ToStdout("%3s: %s", number, entry)
- choices.append(("%s" % number, entry, entry))
- number += 1
+ for (name, variants) in result:
+ for entry in CalculateOSNames(name, variants):
+ ToStdout("%3s: %s", number, entry)
+ choices.append(("%s" % number, entry, entry))
+ number += 1
choices.append(('x', 'exit', 'Exit gnt-instance reinstall'))
selected = AskUser("Enter OS template number (or x to abort):",
@return: the desired exit code
"""
- op = opcodes.OpDiagnoseOS(output_fields=["name", "valid", "variants"],
- names=[])
+ op = opcodes.OpDiagnoseOS(output_fields=["name", "variants"], names=[])
result = SubmitOpCode(op, opts=opts)
if not result:
headers = None
os_names = []
- for (name, valid, variants) in result:
- if valid:
- os_names.extend([[n] for n in CalculateOSNames(name, variants)])
+ for (name, variants) in result:
+ os_names.extend([[n] for n in CalculateOSNames(name, variants)])
data = GenerateTable(separator=None, headers=headers, fields=["name"],
data=os_names, units=None)
Err(msg, exit_code=err_code)
self.nodes = [data[0] for data in result if not (data[1] or data[2])]
- op_diagnose = opcodes.OpDiagnoseOS(output_fields=["name", "valid",
- "variants"], names=[])
+ op_diagnose = opcodes.OpDiagnoseOS(output_fields=["name", "variants"],
+ names=[])
result = self.ExecOp(True, op_diagnose)
if not result:
Err("Can't get the OS list")
found = False
- for (name, valid, variants) in result:
- if valid and self.opts.os in cli.CalculateOSNames(name, variants):
+ for (name, variants) in result:
+ if self.opts.os in cli.CalculateOSNames(name, variants):
found = True
break