Add 'driver' to podmanager DB
With multi-podmanager support, new attribute 'driver' is added to specify driver while creating pod manager. It is not a required attribute, if not specified default podmanager driver redfishv1 will be used. Currently, it loads PodManagerBase using redfish v1. Partially-Implements blueprint add-vendor-extensible-framework Change-Id: I26d60562efa776ef96597b095d45b1506714e96e
This commit is contained in:
parent
a31acd11b0
commit
08ae9742d3
@ -39,6 +39,11 @@ def _check_creation(values):
|
|||||||
if values['name'] in names or values['url'] in urls:
|
if values['name'] in names or values['url'] in urls:
|
||||||
raise exception.BadRequest('duplicated name or url !')
|
raise exception.BadRequest('duplicated name or url !')
|
||||||
|
|
||||||
|
# If podmanager 'driver' is None, update as "redfishv1" which is default
|
||||||
|
# driver used to manage resources.
|
||||||
|
# 'driver' can take values like "redfishv1", "redfishv2" etc.
|
||||||
|
values['driver'] = values.get('driver', 'redfishv1')
|
||||||
|
|
||||||
# input status
|
# input status
|
||||||
values['status'] = get_podm_status(values['url'], values['authentication'])
|
values['status'] = get_podm_status(values['url'], values['authentication'])
|
||||||
|
|
||||||
|
@ -135,6 +135,9 @@ class PodManager(ModelBaseWithTimeStamp):
|
|||||||
'url': {
|
'url': {
|
||||||
'validate': types.Text.validate
|
'validate': types.Text.validate
|
||||||
},
|
},
|
||||||
|
'driver': {
|
||||||
|
'validate': types.Text.validate
|
||||||
|
},
|
||||||
'authentication': {
|
'authentication': {
|
||||||
'validate': types.List(types.Dict).validate
|
'validate': types.List(types.Dict).validate
|
||||||
},
|
},
|
||||||
|
@ -47,6 +47,7 @@ class TestPodManagers(unittest.TestCase):
|
|||||||
|
|
||||||
result_values = copy.deepcopy(values)
|
result_values = copy.deepcopy(values)
|
||||||
result_values['status'] = constants.PODM_STATUS_ONLINE
|
result_values['status'] = constants.PODM_STATUS_ONLINE
|
||||||
|
result_values['driver'] = 'redfishv1'
|
||||||
|
|
||||||
self.assertEqual(podmanagers._check_creation(values), result_values)
|
self.assertEqual(podmanagers._check_creation(values), result_values)
|
||||||
mock_get_podm_status.assert_called_once_with(values['url'],
|
mock_get_podm_status.assert_called_once_with(values['url'],
|
||||||
|
@ -56,6 +56,7 @@ podmanager_schema = {
|
|||||||
'type': 'string',
|
'type': 'string',
|
||||||
'format': 'uri',
|
'format': 'uri',
|
||||||
},
|
},
|
||||||
|
'driver': {'type': 'string'},
|
||||||
'authentication': {
|
'authentication': {
|
||||||
'type': 'array',
|
'type': 'array',
|
||||||
'minItems': 1,
|
'minItems': 1,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user