Merge "Add security group calls missing from latest compute rpc api version bump"
This commit is contained in:
commit
0313392efb
|
@ -3825,7 +3825,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
|
|||
def __init__(self, skip_policy_check=False, **kwargs):
|
||||
super(SecurityGroupAPI, self).__init__(**kwargs)
|
||||
self.skip_policy_check = skip_policy_check
|
||||
self.security_group_rpcapi = compute_rpcapi.SecurityGroupAPI()
|
||||
self.compute_rpcapi = compute_rpcapi.ComputeAPI()
|
||||
|
||||
def validate_property(self, value, property, allowed):
|
||||
"""Validate given security group property.
|
||||
|
@ -4022,7 +4022,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
|
|||
security_group['id'])
|
||||
# NOTE(comstud): No instance_uuid argument to this compute manager
|
||||
# call
|
||||
self.security_group_rpcapi.refresh_security_group_rules(context,
|
||||
self.compute_rpcapi.refresh_security_group_rules(context,
|
||||
security_group['id'], host=instance.host)
|
||||
|
||||
@wrap_check_security_groups_policy
|
||||
|
@ -4045,7 +4045,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
|
|||
security_group['id'])
|
||||
# NOTE(comstud): No instance_uuid argument to this compute manager
|
||||
# call
|
||||
self.security_group_rpcapi.refresh_security_group_rules(context,
|
||||
self.compute_rpcapi.refresh_security_group_rules(context,
|
||||
security_group['id'], host=instance.host)
|
||||
|
||||
def get_rule(self, context, id):
|
||||
|
@ -4150,7 +4150,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
|
|||
|
||||
for instance in security_group['instances']:
|
||||
if instance.host is not None:
|
||||
self.security_group_rpcapi.refresh_instance_security_rules(
|
||||
self.compute_rpcapi.refresh_instance_security_rules(
|
||||
context, instance.host, instance)
|
||||
|
||||
def trigger_members_refresh(self, context, group_ids):
|
||||
|
@ -4186,7 +4186,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
|
|||
# ..then we send a request to refresh the rules for each instance.
|
||||
for instance in instances.values():
|
||||
if instance.host:
|
||||
self.security_group_rpcapi.refresh_instance_security_rules(
|
||||
self.compute_rpcapi.refresh_instance_security_rules(
|
||||
context, instance.host, instance)
|
||||
|
||||
def get_instance_security_groups(self, context, instance_uuid,
|
||||
|
|
|
@ -6745,6 +6745,17 @@ class _ComputeV4Proxy(object):
|
|||
bdms, recreate, on_shared_storage,
|
||||
preserve_ephemeral=preserve_ephemeral)
|
||||
|
||||
def refresh_security_group_rules(self, ctxt, security_group_id):
|
||||
return self.manager.refresh_security_group_rules(ctxt,
|
||||
security_group_id)
|
||||
|
||||
def refresh_security_group_members(self, ctxt, security_group_id):
|
||||
return self.manager.refresh_security_group_members(ctxt,
|
||||
security_group_id)
|
||||
|
||||
def refresh_instance_security_rules(self, ctxt, instance):
|
||||
return self.manager.refresh_instance_security_rules(ctxt, instance)
|
||||
|
||||
def refresh_provider_fw_rules(self, ctxt):
|
||||
return self.manager.refresh_provider_fw_rules(ctxt)
|
||||
|
||||
|
|
|
@ -1054,43 +1054,21 @@ class ComputeAPI(object):
|
|||
cctxt.cast(ctxt, 'unquiesce_instance', instance=instance,
|
||||
mapping=mapping)
|
||||
|
||||
|
||||
class SecurityGroupAPI(object):
|
||||
'''Client side of the security group rpc API.
|
||||
|
||||
API version history:
|
||||
|
||||
1.0 - Initial version.
|
||||
1.41 - Adds refresh_instance_security_rules()
|
||||
|
||||
2.0 - Remove 1.x backwards compat
|
||||
|
||||
3.0 - Identical to 2.x, but has to be bumped at the same time as the
|
||||
compute API since it's all together on the server side.
|
||||
'''
|
||||
|
||||
def __init__(self):
|
||||
super(SecurityGroupAPI, self).__init__()
|
||||
target = messaging.Target(topic=CONF.compute_topic, version='3.0')
|
||||
version_cap = ComputeAPI.VERSION_ALIASES.get(
|
||||
CONF.upgrade_levels.compute, CONF.upgrade_levels.compute)
|
||||
self.client = rpc.get_client(target, version_cap)
|
||||
|
||||
def refresh_security_group_rules(self, ctxt, security_group_id, host):
|
||||
version = '3.0'
|
||||
version = self._compat_ver('4.0', '3.0')
|
||||
cctxt = self.client.prepare(server=host, version=version)
|
||||
cctxt.cast(ctxt, 'refresh_security_group_rules',
|
||||
security_group_id=security_group_id)
|
||||
|
||||
def refresh_security_group_members(self, ctxt, security_group_id,
|
||||
host):
|
||||
version = '3.0'
|
||||
version = self._compat_ver('4.0', '3.0')
|
||||
cctxt = self.client.prepare(server=host, version=version)
|
||||
cctxt.cast(ctxt, 'refresh_security_group_members',
|
||||
security_group_id=security_group_id)
|
||||
|
||||
def refresh_instance_security_rules(self, ctxt, host, instance):
|
||||
version = '3.0'
|
||||
version = self._compat_ver('4.0', '3.0')
|
||||
instance_p = jsonutils.to_primitive(instance)
|
||||
cctxt = self.client.prepare(server=_compute_host(None, instance),
|
||||
version=version)
|
||||
|
|
|
@ -9640,7 +9640,7 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
rule_get)
|
||||
self.stubs.Set(self.compute_api.db, 'security_group_get', group_get)
|
||||
|
||||
rpcapi = self.security_group_api.security_group_rpcapi
|
||||
rpcapi = compute_rpcapi.ComputeAPI
|
||||
self.mox.StubOutWithMock(rpcapi, 'refresh_instance_security_rules')
|
||||
rpcapi.refresh_instance_security_rules(self.context,
|
||||
instance['host'],
|
||||
|
@ -9666,7 +9666,7 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
rule_get)
|
||||
self.stubs.Set(self.compute_api.db, 'security_group_get', group_get)
|
||||
|
||||
rpcapi = self.security_group_api.security_group_rpcapi
|
||||
rpcapi = compute_rpcapi.ComputeAPI
|
||||
self.mox.StubOutWithMock(rpcapi, 'refresh_instance_security_rules')
|
||||
rpcapi.refresh_instance_security_rules(self.context,
|
||||
instance['host'],
|
||||
|
@ -9690,7 +9690,7 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
rule_get)
|
||||
self.stubs.Set(self.compute_api.db, 'security_group_get', group_get)
|
||||
|
||||
rpcapi = self.security_group_api.security_group_rpcapi
|
||||
rpcapi = compute_rpcapi.ComputeAPI
|
||||
self.mox.StubOutWithMock(rpcapi, 'refresh_instance_security_rules')
|
||||
|
||||
self.mox.ReplayAll()
|
||||
|
@ -9706,7 +9706,7 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
|
||||
self.stubs.Set(self.compute_api.db, 'security_group_get', group_get)
|
||||
|
||||
rpcapi = self.security_group_api.security_group_rpcapi
|
||||
rpcapi = compute_rpcapi.ComputeAPI
|
||||
self.mox.StubOutWithMock(rpcapi, 'refresh_instance_security_rules')
|
||||
rpcapi.refresh_instance_security_rules(self.context,
|
||||
instance['host'],
|
||||
|
@ -9724,7 +9724,7 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
|
||||
self.stubs.Set(self.compute_api.db, 'security_group_get', group_get)
|
||||
|
||||
rpcapi = self.security_group_api.security_group_rpcapi
|
||||
rpcapi = compute_rpcapi.ComputeAPI
|
||||
self.mox.StubOutWithMock(rpcapi, 'refresh_instance_security_rules')
|
||||
rpcapi.refresh_instance_security_rules(self.context,
|
||||
instance['host'],
|
||||
|
@ -9740,7 +9740,7 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
|
||||
self.stubs.Set(self.compute_api.db, 'security_group_get', group_get)
|
||||
|
||||
rpcapi = self.security_group_api.security_group_rpcapi
|
||||
rpcapi = compute_rpcapi.ComputeAPI
|
||||
self.mox.StubOutWithMock(rpcapi, 'refresh_instance_security_rules')
|
||||
self.mox.ReplayAll()
|
||||
|
||||
|
|
|
@ -579,23 +579,29 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
|
|||
|
||||
def test_refresh_security_group_rules(self):
|
||||
self._test_compute_api('refresh_security_group_rules', 'cast',
|
||||
rpcapi_class=compute_rpcapi.SecurityGroupAPI,
|
||||
security_group_id='id', host='host')
|
||||
security_group_id='id', host='host', version='4.0')
|
||||
|
||||
self.flags(compute='kilo', group='upgrade_levels')
|
||||
self._test_compute_api('refresh_security_group_rules', 'cast',
|
||||
rpcapi_class=compute_rpcapi.SecurityGroupAPI,
|
||||
security_group_id='id', host='host')
|
||||
security_group_id='id', host='host', version='3.0')
|
||||
|
||||
def test_refresh_security_group_members(self):
|
||||
self._test_compute_api('refresh_security_group_members', 'cast',
|
||||
rpcapi_class=compute_rpcapi.SecurityGroupAPI,
|
||||
security_group_id='id', host='host')
|
||||
security_group_id='id', host='host', version='4.0')
|
||||
|
||||
self.flags(compute='kilo', group='upgrade_levels')
|
||||
self._test_compute_api('refresh_security_group_members', 'cast',
|
||||
rpcapi_class=compute_rpcapi.SecurityGroupAPI,
|
||||
security_group_id='id', host='host')
|
||||
security_group_id='id', host='host', version='3.0')
|
||||
|
||||
def test_refresh_instance_security_rules(self):
|
||||
self._test_compute_api('refresh_instance_security_rules', 'cast',
|
||||
host='fake_host', instance=self.fake_instance_obj,
|
||||
version='4.0', assert_dict=True)
|
||||
|
||||
self.flags(compute='kilo', group='upgrade_levels')
|
||||
self._test_compute_api('refresh_instance_security_rules', 'cast',
|
||||
host='fake_host', instance=self.fake_instance_obj,
|
||||
version='3.0', assert_dict=True)
|
||||
|
||||
def test_remove_aggregate_host(self):
|
||||
self._test_compute_api('remove_aggregate_host', 'cast',
|
||||
|
|
Loading…
Reference in New Issue