Fix runtime_config_get method to avoid type error
An issue was found when config_applied for a host assumed
the default value, which is the string "install" (refer to [1]),
returning a type error in runtime_config_get trying to compare
string "install" with a column "id" with type int.
This commit fixes runtime_config_get method by inverting the
logic: if the id passed is an int then compare with id, if it
is not then assume it is a string and compare with config_uuid
column.
[1] 15aefdc468/sysinv/sysinv/sysinv/sysinv/agent/manager.py (L116)
Test Plan
PASS: set config_applied="install" for a host, force inventory
report and observe no more database errors on sysinv.log
PASS: install/bootstrap/unlock AIO-DX
Story: 2010676
Task: 49745
Signed-off-by: Heitor Matsui <heitorvieira.matsui@windriver.com>
Change-Id: I9c687a1eb67c62291f1d2aa9cef1d6fbe993d0fa
This commit is contained in:
parent
b5344801fd
commit
fd5d603d86
@ -9509,12 +9509,12 @@ class Connection(api.Connection):
|
||||
def runtime_config_get(self, id, host_id=None):
|
||||
query = model_query(models.RuntimeConfig)
|
||||
|
||||
if utils.is_uuid_like(id):
|
||||
if isinstance(id, int):
|
||||
query = query.filter_by(id=id)
|
||||
else:
|
||||
query = query.filter_by(config_uuid=id)
|
||||
if host_id:
|
||||
query = query.filter_by(forihostid=host_id)
|
||||
else:
|
||||
query = query.filter_by(id=id)
|
||||
|
||||
try:
|
||||
result = query.one()
|
||||
|
Loading…
Reference in New Issue
Block a user