Set the correct target versions for the RPC methods
This patch sets the correct target versions for the RPC methods in the RPC API. This is a first step towards being able to enable rolling upgrades for Ironic. Partial-Bug: #1317300 Change-Id: I67ce731731c38e48b4f3180a423cbc18a3728903
This commit is contained in:
parent
269adbd35a
commit
ec72bfa789
@ -66,7 +66,7 @@ class ConductorAPI(object):
|
|||||||
self.topic = manager.MANAGER_TOPIC
|
self.topic = manager.MANAGER_TOPIC
|
||||||
|
|
||||||
target = messaging.Target(topic=self.topic,
|
target = messaging.Target(topic=self.topic,
|
||||||
version=self.RPC_API_VERSION)
|
version='1.0')
|
||||||
serializer = objects_base.IronicObjectSerializer()
|
serializer = objects_base.IronicObjectSerializer()
|
||||||
self.client = rpc.get_client(target,
|
self.client = rpc.get_client(target,
|
||||||
version_cap=self.RPC_API_VERSION,
|
version_cap=self.RPC_API_VERSION,
|
||||||
@ -123,7 +123,7 @@ class ConductorAPI(object):
|
|||||||
:returns: updated node object, including all fields.
|
:returns: updated node object, including all fields.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.1')
|
||||||
return cctxt.call(context, 'update_node', node_obj=node_obj)
|
return cctxt.call(context, 'update_node', node_obj=node_obj)
|
||||||
|
|
||||||
def change_node_power_state(self, context, node_id, new_state, topic=None):
|
def change_node_power_state(self, context, node_id, new_state, topic=None):
|
||||||
@ -138,7 +138,7 @@ class ConductorAPI(object):
|
|||||||
async task.
|
async task.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.6')
|
||||||
return cctxt.call(context, 'change_node_power_state', node_id=node_id,
|
return cctxt.call(context, 'change_node_power_state', node_id=node_id,
|
||||||
new_state=new_state)
|
new_state=new_state)
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ class ConductorAPI(object):
|
|||||||
async task.
|
async task.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.12')
|
||||||
return cctxt.call(context, 'vendor_passthru', node_id=node_id,
|
return cctxt.call(context, 'vendor_passthru', node_id=node_id,
|
||||||
driver_method=driver_method, info=info)
|
driver_method=driver_method, info=info)
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ class ConductorAPI(object):
|
|||||||
specified driver_method.
|
specified driver_method.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.14')
|
||||||
return cctxt.call(context, 'driver_vendor_passthru',
|
return cctxt.call(context, 'driver_vendor_passthru',
|
||||||
driver_name=driver_name,
|
driver_name=driver_name,
|
||||||
driver_method=driver_method,
|
driver_method=driver_method,
|
||||||
@ -200,7 +200,7 @@ class ConductorAPI(object):
|
|||||||
undeployed state before this method is called.
|
undeployed state before this method is called.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.15')
|
||||||
return cctxt.call(context, 'do_node_deploy', node_id=node_id,
|
return cctxt.call(context, 'do_node_deploy', node_id=node_id,
|
||||||
rebuild=rebuild)
|
rebuild=rebuild)
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ class ConductorAPI(object):
|
|||||||
deployed state before this method is called.
|
deployed state before this method is called.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.6')
|
||||||
return cctxt.call(context, 'do_node_tear_down', node_id=node_id)
|
return cctxt.call(context, 'do_node_tear_down', node_id=node_id)
|
||||||
|
|
||||||
def validate_driver_interfaces(self, context, node_id, topic=None):
|
def validate_driver_interfaces(self, context, node_id, topic=None):
|
||||||
@ -232,7 +232,7 @@ class ConductorAPI(object):
|
|||||||
interface validation.
|
interface validation.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.5')
|
||||||
return cctxt.call(context, 'validate_driver_interfaces',
|
return cctxt.call(context, 'validate_driver_interfaces',
|
||||||
node_id=node_id)
|
node_id=node_id)
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ class ConductorAPI(object):
|
|||||||
:raises: NodeMaintenanceFailure.
|
:raises: NodeMaintenanceFailure.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.8')
|
||||||
return cctxt.call(context, 'change_node_maintenance_mode',
|
return cctxt.call(context, 'change_node_maintenance_mode',
|
||||||
node_id=node_id, mode=mode)
|
node_id=node_id, mode=mode)
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ class ConductorAPI(object):
|
|||||||
:raises: NodeInWrongPowerState if the node is not powered off.
|
:raises: NodeInWrongPowerState if the node is not powered off.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.9')
|
||||||
return cctxt.call(context, 'destroy_node', node_id=node_id)
|
return cctxt.call(context, 'destroy_node', node_id=node_id)
|
||||||
|
|
||||||
def get_console_information(self, context, node_id, topic=None):
|
def get_console_information(self, context, node_id, topic=None):
|
||||||
@ -275,7 +275,7 @@ class ConductorAPI(object):
|
|||||||
support console.
|
support console.
|
||||||
:raises: InvalidParameterValue when the wrong driver info is specified.
|
:raises: InvalidParameterValue when the wrong driver info is specified.
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.11')
|
||||||
return cctxt.call(context, 'get_console_information', node_id=node_id)
|
return cctxt.call(context, 'get_console_information', node_id=node_id)
|
||||||
|
|
||||||
def set_console_mode(self, context, node_id, enabled, topic=None):
|
def set_console_mode(self, context, node_id, enabled, topic=None):
|
||||||
@ -292,7 +292,7 @@ class ConductorAPI(object):
|
|||||||
:raises: NoFreeConductorWorker when there is no free worker to start
|
:raises: NoFreeConductorWorker when there is no free worker to start
|
||||||
async task.
|
async task.
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.11')
|
||||||
return cctxt.call(context, 'set_console_mode', node_id=node_id,
|
return cctxt.call(context, 'set_console_mode', node_id=node_id,
|
||||||
enabled=enabled)
|
enabled=enabled)
|
||||||
|
|
||||||
@ -309,5 +309,5 @@ class ConductorAPI(object):
|
|||||||
:returns: updated port object, including all fields.
|
:returns: updated port object, including all fields.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cctxt = self.client.prepare(topic=topic or self.topic)
|
cctxt = self.client.prepare(topic=topic or self.topic, version='1.13')
|
||||||
return cctxt.call(context, 'update_port', port_obj=port_obj)
|
return cctxt.call(context, 'update_port', port_obj=port_obj)
|
||||||
|
@ -144,17 +144,20 @@ class RPCAPITestCase(base.DbTestCase):
|
|||||||
def test_update_node(self):
|
def test_update_node(self):
|
||||||
self._test_rpcapi('update_node',
|
self._test_rpcapi('update_node',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.1',
|
||||||
node_obj=self.fake_node)
|
node_obj=self.fake_node)
|
||||||
|
|
||||||
def test_change_node_power_state(self):
|
def test_change_node_power_state(self):
|
||||||
self._test_rpcapi('change_node_power_state',
|
self._test_rpcapi('change_node_power_state',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.6',
|
||||||
node_id=self.fake_node['uuid'],
|
node_id=self.fake_node['uuid'],
|
||||||
new_state=states.POWER_ON)
|
new_state=states.POWER_ON)
|
||||||
|
|
||||||
def test_pass_vendor_info(self):
|
def test_pass_vendor_info(self):
|
||||||
self._test_rpcapi('vendor_passthru',
|
self._test_rpcapi('vendor_passthru',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.12',
|
||||||
node_id=self.fake_node['uuid'],
|
node_id=self.fake_node['uuid'],
|
||||||
driver_method='test-driver-method',
|
driver_method='test-driver-method',
|
||||||
info={"test_info": "test_value"})
|
info={"test_info": "test_value"})
|
||||||
@ -162,6 +165,7 @@ class RPCAPITestCase(base.DbTestCase):
|
|||||||
def test_driver_vendor_passthru(self):
|
def test_driver_vendor_passthru(self):
|
||||||
self._test_rpcapi('driver_vendor_passthru',
|
self._test_rpcapi('driver_vendor_passthru',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.14',
|
||||||
driver_name='test-driver-name',
|
driver_name='test-driver-name',
|
||||||
driver_method='test-driver-method',
|
driver_method='test-driver-method',
|
||||||
info={'test_key': 'test_value'})
|
info={'test_key': 'test_value'})
|
||||||
@ -169,38 +173,45 @@ class RPCAPITestCase(base.DbTestCase):
|
|||||||
def test_do_node_deploy(self):
|
def test_do_node_deploy(self):
|
||||||
self._test_rpcapi('do_node_deploy',
|
self._test_rpcapi('do_node_deploy',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.15',
|
||||||
node_id=self.fake_node['uuid'],
|
node_id=self.fake_node['uuid'],
|
||||||
rebuild=False)
|
rebuild=False)
|
||||||
|
|
||||||
def test_do_node_tear_down(self):
|
def test_do_node_tear_down(self):
|
||||||
self._test_rpcapi('do_node_tear_down',
|
self._test_rpcapi('do_node_tear_down',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.6',
|
||||||
node_id=self.fake_node['uuid'])
|
node_id=self.fake_node['uuid'])
|
||||||
|
|
||||||
def test_validate_driver_interfaces(self):
|
def test_validate_driver_interfaces(self):
|
||||||
self._test_rpcapi('validate_driver_interfaces',
|
self._test_rpcapi('validate_driver_interfaces',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.5',
|
||||||
node_id=self.fake_node['uuid'])
|
node_id=self.fake_node['uuid'])
|
||||||
|
|
||||||
def test_change_node_maintenance_mode(self):
|
def test_change_node_maintenance_mode(self):
|
||||||
self._test_rpcapi('change_node_maintenance_mode',
|
self._test_rpcapi('change_node_maintenance_mode',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.8',
|
||||||
node_id=self.fake_node['uuid'],
|
node_id=self.fake_node['uuid'],
|
||||||
mode=True)
|
mode=True)
|
||||||
|
|
||||||
def test_destroy_node(self):
|
def test_destroy_node(self):
|
||||||
self._test_rpcapi('destroy_node',
|
self._test_rpcapi('destroy_node',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.9',
|
||||||
node_id=self.fake_node['uuid'])
|
node_id=self.fake_node['uuid'])
|
||||||
|
|
||||||
def test_get_console_information(self):
|
def test_get_console_information(self):
|
||||||
self._test_rpcapi('get_console_information',
|
self._test_rpcapi('get_console_information',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.11',
|
||||||
node_id=self.fake_node['uuid'])
|
node_id=self.fake_node['uuid'])
|
||||||
|
|
||||||
def test_set_console_mode(self):
|
def test_set_console_mode(self):
|
||||||
self._test_rpcapi('set_console_mode',
|
self._test_rpcapi('set_console_mode',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.11',
|
||||||
node_id=self.fake_node['uuid'],
|
node_id=self.fake_node['uuid'],
|
||||||
enabled=True)
|
enabled=True)
|
||||||
|
|
||||||
@ -208,4 +219,5 @@ class RPCAPITestCase(base.DbTestCase):
|
|||||||
fake_port = dbutils.get_test_port()
|
fake_port = dbutils.get_test_port()
|
||||||
self._test_rpcapi('update_port',
|
self._test_rpcapi('update_port',
|
||||||
'call',
|
'call',
|
||||||
|
version='1.13',
|
||||||
port_obj=fake_port)
|
port_obj=fake_port)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user