2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-22 03:32:04 +00:00

fix rspconfig issues API related

This commit is contained in:
XuWei 2018-03-22 03:02:13 -04:00
parent 48e0e8eba8
commit 2c14238db9
4 changed files with 34 additions and 8 deletions

View File

@ -375,11 +375,12 @@ rmdir \"/tmp/$userid\" \n")
node = kw['node']
obmc = openbmc.OpenBMCRest(name=node, nodeinfo=kw['nodeinfo'], messager=self.callback,
debugmode=self.debugmode, verbose=self.verbose)
try:
obmc.login()
obmc.set_apis_values(key, value)
except (SelfServerException, SelfClientException) as e:
self.callback.error(e.message, node)
return self.callback.error(e.message, node)
self.callback.info("%s: BMC Setting %s..." % (node, openbmc.RSPCONFIG_APIS[key]['display_name']))
@ -392,9 +393,12 @@ rmdir \"/tmp/$userid\" \n")
value = obmc.get_apis_values(key)
except (SelfServerException, SelfClientException) as e:
self.callback.error(e.message, node)
return self.callback.error(e.message, node)
str_value = '0.'+str(value)
if isinstance(value, dict):
str_value = value.values()[0]
else:
str_value = value
result = '%s: %s: %s' % (node, openbmc.RSPCONFIG_APIS[key]['display_name'], str_value.split('.')[-1])
self.callback.info(result)

View File

@ -185,13 +185,17 @@ RSPCONFIG_APIS = {
'set_url': "attr/AutoReboot",
'get_url': "attr/AutoReboot",
'display_name': "BMC AutoReboot",
'attr_values': {
'0': False,
'1': True,
},
},
'powersupplyredundancy':{
'baseurl': "/sensors/chassis/PowerSupplyRedundancy/",
'set_url': "/action/setValue",
'get_url': "/action/getValue",
'set_url': "action/setValue",
'get_url': "action/getValue",
'get_method': 'POST',
'get_data': '[]',
'get_data': [],
'display_name': "BMC PowerSupplyRedundancy",
'attr_values': {
'disabled': "Disables",
@ -220,6 +224,16 @@ RSPCONFIG_APIS = {
'setup': "xyz.openbmc_project.Control.Boot.Mode.Modes.Setup",
},
},
'timesyncmethod': {
'baseurl': '/time/sync_method',
'get_url': '',
'set_url': '/attr/TimeSyncMethod',
'display_name': 'BMC TimeSyncMethod',
'attr_values': {
'ntp': 'xyz.openbmc_project.Time.Synchronization.Method.NTP',
'manual': 'xyz.openbmc_project.Time.Synchronization.Method.Manual',
},
},
}
EVENTLOG_URL = "/logging/enumerate"

View File

@ -82,7 +82,7 @@ RFLASH_URLS = {
}
}
RSPCONFIG_GET_OPTIONS = ['ip','ipsrc','netmask','gateway','vlan','ntpservers','hostname','bootmode','autoreboot','powersupplyredundancy','powerrestorepolicy']
RSPCONFIG_GET_OPTIONS = ['ip','ipsrc','netmask','gateway','vlan','ntpservers','hostname','bootmode','autoreboot','powersupplyredundancy','powerrestorepolicy', 'timesyncmethod']
RSPCONFIG_SET_OPTIONS = {
'ip':'.*',
'netmask':'.*',
@ -95,6 +95,7 @@ RSPCONFIG_SET_OPTIONS = {
'powerrestorepolicy':"^always_on$|^always_off$|^restore$",
'bootmode':"^regular$|^safe$|^setup$",
'admin_passwd':'.*,.*',
'timesyncmethod':'^ntp$|^manual$',
}
RSPCONFIG_USAGE = """
Handle rspconfig operations.
@ -124,6 +125,7 @@ The supported attributes and its values to set are:
autoreboot={0|1}
powersupplyredundancy={enabled|disabled}
powerrestorepolicy={always_on|always_off|restore}
timesyncmethod={ntp|manual}
""" % RSPCONFIG_GET_OPTIONS
XCAT_LOG_DIR = "/var/log/xcat"

View File

@ -1643,7 +1643,13 @@ sub parse_command_status {
# Everything else is invalid
xCAT::SvrUtils::sendmsg([1, "Invalid value '$subcommand_value' for '$subcommand_key'"], $callback);
my @valid_values = keys %{ $api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{attr_value} };
xCAT::SvrUtils::sendmsg([1, "Valid values: " . join(",", @valid_values)], $callback);
if (!@valid_values) {
if ($api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{type} eq "boolean") {
xCAT::SvrUtils::sendmsg([1, "Valid values: 0,1"], $callback);
}
} else {
xCAT::SvrUtils::sendmsg([1, "Valid values: " . join(",", @valid_values)], $callback);
}
return 1;
}
}