diff options
author | Yushiro FURUKAWA <y.furukawa_2@jp.fujitsu.com> | 2017-04-04 23:38:30 +0900 |
---|---|---|
committer | Yushiro FURUKAWA <y.furukawa_2@jp.fujitsu.com> | 2017-07-27 00:44:04 +0900 |
commit | f0164133fabcd4583c2d318b589cdbda6c5996de (patch) | |
tree | 69a9b33157b0d57706edb52e0e45e8bc486ff99b | |
parent | b14e842b4ff8cda21ae573fc4240e5e5200b9b27 (diff) | |
download | python-neutronclient-f0164133fabcd4583c2d318b589cdbda6c5996de.tar.gz |
[FWaaS] Migrate 'public' attribute to 'shared'
This patch is the first in the series of patches which tracks the
migration of 'public' attribute to 'shared' in FWaaS v2.
Co-Authored-By: Reedip <reedip.banerjee@nectechnologies.in>
Closes-Bug: #1676922
Depends-On: I0be5fca27c9696714ba8b91de2098448c5a18265
Change-Id: Ibc3b90e28ae82ccc8ed044b12d83e97907f1dfb8
-rw-r--r-- | neutronclient/osc/v2/fwaas/firewallgroup.py | 47 | ||||
-rw-r--r-- | neutronclient/osc/v2/fwaas/firewallpolicy.py | 45 | ||||
-rw-r--r-- | neutronclient/osc/v2/fwaas/firewallrule.py | 45 | ||||
-rw-r--r-- | neutronclient/tests/unit/osc/v2/fwaas/common.py | 82 | ||||
-rw-r--r-- | neutronclient/tests/unit/osc/v2/fwaas/fakes.py | 6 | ||||
-rw-r--r-- | neutronclient/tests/unit/osc/v2/fwaas/test_firewallgroup.py | 25 | ||||
-rw-r--r-- | neutronclient/tests/unit/osc/v2/fwaas/test_firewallpolicy.py | 26 | ||||
-rw-r--r-- | neutronclient/tests/unit/osc/v2/fwaas/test_firewallrule.py | 14 | ||||
-rw-r--r-- | releasenotes/notes/bug-1676922-81341b70bc6f055a.yaml | 19 |
9 files changed, 202 insertions, 107 deletions
diff --git a/neutronclient/osc/v2/fwaas/firewallgroup.py b/neutronclient/osc/v2/fwaas/firewallgroup.py index ce7aac3..3d25022 100644 --- a/neutronclient/osc/v2/fwaas/firewallgroup.py +++ b/neutronclient/osc/v2/fwaas/firewallgroup.py @@ -40,7 +40,7 @@ _attr_map = ( ('status', 'Status', osc_utils.LIST_LONG_ONLY), ('ports', 'Ports', osc_utils.LIST_LONG_ONLY), ('admin_state_up', 'State', osc_utils.LIST_LONG_ONLY), - ('public', 'Public', osc_utils.LIST_LONG_ONLY), + ('shared', 'Shared', osc_utils.LIST_LONG_ONLY), ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), ) @@ -75,17 +75,31 @@ def _get_common_parser(parser): dest='no_egress_firewall_policy', action='store_true', help=_('Detach egress firewall policy from the firewall group')) - public_group = parser.add_mutually_exclusive_group() - public_group.add_argument( + shared_group = parser.add_mutually_exclusive_group() + shared_group.add_argument( '--public', action='store_true', help=_('Make the firewall group public, which allows it to be ' 'used in all projects (as opposed to the default, ' - 'which is to restrict its use to the current project)')) - public_group.add_argument( + 'which is to restrict its use to the current project). ' + 'This option is deprecated and would be removed in R release.')) + shared_group.add_argument( '--private', action='store_true', help=_('Restrict use of the firewall group to the ' + 'current project. This option is deprecated ' + 'and would be removed in R release.')) + + shared_group.add_argument( + '--share', + action='store_true', + help=_('Share the firewall group to be used in all projects ' + '(by default, it is restricted to be used by the ' + 'current project).')) + shared_group.add_argument( + '--no-share', + action='store_true', + help=_('Restrict use of the firewall group to the ' 'current project')) admin_group = parser.add_mutually_exclusive_group() admin_group.add_argument( @@ -132,10 +146,10 @@ def _get_common_attrs(client_manager, parsed_args, is_create=True): cmd_resource=const.CMD_FWP)['id'] elif parsed_args.no_egress_firewall_policy: attrs['egress_firewall_policy_id'] = None - if parsed_args.public: - attrs['public'] = True - if parsed_args.private: - attrs['public'] = False + if parsed_args.share or parsed_args.public: + attrs['shared'] = True + if parsed_args.no_share or parsed_args.private: + attrs['shared'] = False if parsed_args.enable: attrs['admin_state_up'] = True if parsed_args.disable: @@ -333,9 +347,18 @@ class UnsetFirewallGroup(command.Command): action='store_true', dest='egress_firewall_policy', help=_('Egress firewall policy (name or ID) to delete')) - parser.add_argument( + shared_group = parser.add_mutually_exclusive_group() + shared_group.add_argument( '--public', action='store_true', + help=_('Make the firewall group public, which allows it to be ' + 'used in all projects (as opposed to the default, ' + 'which is to restrict its use to the current project). ' + 'This option is deprecated and would be removed in R' + ' release.')) + shared_group.add_argument( + '--share', + action='store_true', help=_('Restrict use of the firewall group to the ' 'current project')) parser.add_argument( @@ -351,8 +374,8 @@ class UnsetFirewallGroup(command.Command): attrs['ingress_firewall_policy_id'] = None if parsed_args.egress_firewall_policy: attrs['egress_firewall_policy_id'] = None - if parsed_args.public: - attrs['public'] = False + if parsed_args.share or parsed_args.public: + attrs['shared'] = False if parsed_args.enable: attrs['admin_state_up'] = False if parsed_args.port: diff --git a/neutronclient/osc/v2/fwaas/firewallpolicy.py b/neutronclient/osc/v2/fwaas/firewallpolicy.py index 84f8906..cee8406 100644 --- a/neutronclient/osc/v2/fwaas/firewallpolicy.py +++ b/neutronclient/osc/v2/fwaas/firewallpolicy.py @@ -37,7 +37,7 @@ _attr_map = ( ('firewall_rules', 'Firewall Rules', osc_utils.LIST_BOTH), ('description', 'Description', osc_utils.LIST_LONG_ONLY), ('audited', 'Audited', osc_utils.LIST_LONG_ONLY), - ('public', 'Public', osc_utils.LIST_LONG_ONLY), + ('shared', 'Shared', osc_utils.LIST_LONG_ONLY), ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), ) @@ -79,10 +79,10 @@ def _get_common_attrs(client_manager, parsed_args, is_create=True): attrs['name'] = str(parsed_args.name) if parsed_args.description: attrs['description'] = str(parsed_args.description) - if parsed_args.public: - attrs['public'] = True - if parsed_args.private: - attrs['public'] = False + if parsed_args.share or parsed_args.public: + attrs['shared'] = True + if parsed_args.no_share or parsed_args.private: + attrs['shared'] = False return attrs @@ -99,16 +99,29 @@ def _get_common_parser(parser): '--no-audited', action='store_true', help=_('Disable auditing for the policy')) - public_group = parser.add_mutually_exclusive_group() - public_group.add_argument( + shared_group = parser.add_mutually_exclusive_group() + shared_group.add_argument( + '--share', + action='store_true', + help=_('Share the firewall policy to be used in all projects ' + '(by default, it is restricted to be used by the ' + 'current project).')) + shared_group.add_argument( '--public', action='store_true', help=_('Make the firewall policy public, which allows it to be ' - 'used in all projects (as opposed to the default, ' - 'which is to restrict its use to the current project)')) - public_group.add_argument( + 'used in all projects (as opposed to the default, which ' + 'is to restrict its use to the current project.) This ' + 'option is deprecated and would be removed in R release.')) + shared_group.add_argument( '--private', action='store_true', + help=_( + 'Restrict use of the firewall policy to the current project.' + 'This option is deprecated and would be removed in R release.')) + shared_group.add_argument( + '--no-share', + action='store_true', help=_('Restrict use of the firewall policy to the ' 'current project')) return parser @@ -385,10 +398,16 @@ class UnsetFirewallPolicy(command.Command): action='store_true', help=_('Disable auditing for the policy')) parser.add_argument( - '--public', + '--share', action='store_true', help=_('Restrict use of the firewall policy to the ' 'current project')) + parser.add_argument( + '--public', + action='store_true', + help=_('Restrict use of the firewall policy to the ' + 'current project. This option is deprecated ' + 'and would be removed in R release.')) return parser def _get_attrs(self, client_manager, parsed_args): @@ -408,8 +427,8 @@ class UnsetFirewallPolicy(command.Command): attrs[const.FWRS] = [] if parsed_args.audited: attrs['audited'] = False - if parsed_args.public: - attrs['public'] = False + if parsed_args.share or parsed_args.public: + attrs['shared'] = False return attrs def take_action(self, parsed_args): diff --git a/neutronclient/osc/v2/fwaas/firewallrule.py b/neutronclient/osc/v2/fwaas/firewallrule.py index f2eeb19..aee0441 100644 --- a/neutronclient/osc/v2/fwaas/firewallrule.py +++ b/neutronclient/osc/v2/fwaas/firewallrule.py @@ -44,7 +44,7 @@ _attr_map = ( ('destination_ip_address', 'Destination IP Address', osc_utils.LIST_LONG_ONLY), ('destination_port', 'Destination Port', osc_utils.LIST_LONG_ONLY), - ('public', 'Public', osc_utils.LIST_LONG_ONLY), + ('shared', 'Shared', osc_utils.LIST_LONG_ONLY), ('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY), ) @@ -111,16 +111,29 @@ def _get_common_parser(parser): '--no-destination-port', action='store_true', help=_('Detach destination port number or range')) - public_group = parser.add_mutually_exclusive_group() - public_group.add_argument( + shared_group = parser.add_mutually_exclusive_group() + shared_group.add_argument( '--public', action='store_true', - help=_('Make the firewall rule public, which allows it to be ' + help=_('Make the firewall policy public, which allows it to be ' 'used in all projects (as opposed to the default, ' - 'which is to restrict its use to the current project)')) - public_group.add_argument( + 'which is to restrict its use to the current project). ' + 'This option is deprecated and would be removed in R Release')) + shared_group.add_argument( '--private', action='store_true', + help=_( + 'Restrict use of the firewall rule to the current project.' + 'This option is deprecated and would be removed in R release.')) + shared_group.add_argument( + '--share', + action='store_true', + help=_('Share the firewall rule to be used in all projects ' + '(by default, it is restricted to be used by the ' + 'current project).')) + shared_group.add_argument( + '--no-share', + action='store_true', help=_('Restrict use of the firewall rule to the current project')) enable_group = parser.add_mutually_exclusive_group() enable_group.add_argument( @@ -175,10 +188,10 @@ def _get_common_attrs(client_manager, parsed_args, is_create=True): attrs['enabled'] = True if parsed_args.disable_rule: attrs['enabled'] = False - if parsed_args.public: - attrs['public'] = True - if parsed_args.private: - attrs['public'] = False + if parsed_args.share or parsed_args.public: + attrs['shared'] = True + if parsed_args.no_share or parsed_args.private: + attrs['shared'] = False return attrs @@ -364,10 +377,16 @@ class UnsetFirewallRule(command.Command): help=_('Destination port number or range' '(integer in [1, 65535] or range like 123:456)')) parser.add_argument( - '--public', + '--share', action='store_true', help=_('Restrict use of the firewall rule to the current project')) parser.add_argument( + '--public', + action='store_true', + help=_('Restrict use of the firewall rule to the current project. ' + 'This option is deprecated and would be removed in ' + 'R Release.')) + parser.add_argument( '--enable-rule', action='store_true', help=_('Disable this rule')) @@ -383,8 +402,8 @@ class UnsetFirewallRule(command.Command): attrs['destination_ip_address'] = None if parsed_args.destination_port: attrs['destination_port'] = None - if parsed_args.public: - attrs['public'] = False + if parsed_args.share or parsed_args.public: + attrs['shared'] = False if parsed_args.enable_rule: attrs['enabled'] = False return attrs diff --git a/neutronclient/tests/unit/osc/v2/fwaas/common.py b/neutronclient/tests/unit/osc/v2/fwaas/common.py index cfd4df9..8acd51c 100644 --- a/neutronclient/tests/unit/osc/v2/fwaas/common.py +++ b/neutronclient/tests/unit/osc/v2/fwaas/common.py @@ -106,6 +106,20 @@ class TestSetFWaaS(test_fakes.TestNeutronClientOSCV2): target, {self.res: {'description': update}}) self.assertIsNone(result) + def test_set_shared(self): + target = self.resource['id'] + arglist = [target, '--share'] + verifylist = [ + (self.res, target), + ('share', True), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + result = self.cmd.take_action(parsed_args) + + self.mocked.assert_called_once_with( + target, {self.res: {'shared': True}}) + self.assertIsNone(result) + def test_set_public(self): target = self.resource['id'] arglist = [target, '--public'] @@ -117,70 +131,70 @@ class TestSetFWaaS(test_fakes.TestNeutronClientOSCV2): result = self.cmd.take_action(parsed_args) self.mocked.assert_called_once_with( - target, {self.res: {'public': True}}) + target, {self.res: {'shared': True}}) self.assertIsNone(result) - def test_set_duplicate_public(self): + def test_set_duplicate_shared(self): target = self.resource['id'] - arglist = [target, '--public', '--public'] + arglist = [target, '--share', '--share'] verifylist = [ (self.res, target), - ('public', True), + ('share', True), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) self.mocked.assert_called_once_with( - target, {self.res: {'public': True}}) + target, {self.res: {'shared': True}}) self.assertIsNone(result) - def test_set_private(self): + def test_set_no_share(self): target = self.resource['id'] - arglist = [target, '--private'] + arglist = [target, '--no-share'] verifylist = [ (self.res, target), - ('public', False), + ('share', False), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) self.mocked.assert_called_once_with( - target, {self.res: {'public': False}}) + target, {self.res: {'shared': False}}) self.assertIsNone(result) - def test_set_duplicate_private(self): + def test_set_duplicate_no_share(self): target = self.resource['id'] - arglist = [target, '--private', '--private'] + arglist = [target, '--no-share', '--no-share'] verifylist = [ (self.res, target), - ('public', False), + ('no_share', True), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) self.mocked.assert_called_once_with( - target, {self.res: {'public': False}}) + target, {self.res: {'shared': False}}) self.assertIsNone(result) - def test_set_private_and_public(self): + def test_set_no_share_and_shared(self): target = self.resource['id'] - arglist = [target, '--private', '--public'] + arglist = [target, '--no-share', '--share'] verifylist = [ (self.res, target), - ('private', True), - ('public', True), + ('no_share', True), + ('share', True), ] self.assertRaises( utils.ParserException, self.check_parser, self.cmd, arglist, verifylist) - def test_set_public_and_priavte(self): + def test_set_shared_and_no_share(self): target = self.resource['id'] - arglist = [target, '--public', '--private'] + arglist = [target, '--share', '--no_share'] verifylist = [ (self.res, target), - ('public', True), - ('private', True), + ('share', True), + ('no_share', True), ] self.assertRaises( utils.ParserException, @@ -265,45 +279,45 @@ class TestDeleteFWaaS(test_fakes.TestNeutronClientOSCV2): class TestUnsetFWaaS(test_fakes.TestNeutronClientOSCV2): - def test_unset_public(self): + def test_unset_shared(self): target = self.resource['id'] arglist = [ target, - '--public', + '--share', ] verifylist = [ (self.res, target), - ('public', True), + ('share', True), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) self.mocked.assert_called_once_with( - target, {self.res: {'public': False}}) + target, {self.res: {'shared': False}}) self.assertIsNone(result) - def test_set_public_and_priavte(self): + def test_set_shared_and_no_shared(self): target = self.resource['id'] - arglist = [target, '--public', '--private'] + arglist = [target, '--share', '--no-share'] verifylist = [ (self.res, target), - ('public', True), - ('private', True), + ('share', True), + ('no_share', True), ] - # check_parser: error: unrecognized arguments: --private + # check_parser: error: unrecognized arguments: --no-share self.assertRaises( utils.ParserException, self.check_parser, self.cmd, arglist, verifylist) - def test_set_duplicate_public(self): + def test_set_duplicate_shared(self): target = self.resource['id'] - arglist = [target, '--public', '--public'] + arglist = [target, '--share', '--share'] verifylist = [ (self.res, target), - ('public', True), + ('share', True), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.take_action(parsed_args) self.mocked.assert_called_once_with( - target, {self.res: {'public': False}}) + target, {self.res: {'shared': False}}) self.assertIsNone(result) diff --git a/neutronclient/tests/unit/osc/v2/fwaas/fakes.py b/neutronclient/tests/unit/osc/v2/fwaas/fakes.py index b2883ed..61bc112 100644 --- a/neutronclient/tests/unit/osc/v2/fwaas/fakes.py +++ b/neutronclient/tests/unit/osc/v2/fwaas/fakes.py @@ -78,7 +78,7 @@ class FirewallGroup(FakeFWaaS): ('status', 'INACTIVE'), ('ports', []), ('admin_state_up', True), - ('public', False), + ('shared', False), ('tenant_id', 'tenant-id-' + uuidutils.generate_uuid(dashed=False)), )) @@ -98,7 +98,7 @@ class FirewallPolicy(FakeFWaaS): ('description', 'my-desc-' + uuidutils.generate_uuid(dashed=False)), ('audited', True), - ('public', False), + ('shared', False), ('tenant_id', 'tenant-id-' + uuidutils.generate_uuid(dashed=False)), )) @@ -124,7 +124,7 @@ class FirewallRule(FakeFWaaS): ('source_port', '1:11111'), ('destination_ip_address', '192.168.2.2'), ('destination_port', '2:22222'), - ('public', False), + ('shared', False), ('tenant_id', 'tenant-id-' + uuidutils.generate_uuid(dashed=False)), )) diff --git a/neutronclient/tests/unit/osc/v2/fwaas/test_firewallgroup.py b/neutronclient/tests/unit/osc/v2/fwaas/test_firewallgroup.py index 87fb4c2..cc54d40 100644 --- a/neutronclient/tests/unit/osc/v2/fwaas/test_firewallgroup.py +++ b/neutronclient/tests/unit/osc/v2/fwaas/test_firewallgroup.py @@ -36,8 +36,8 @@ CONVERT_MAP = { 'egress_firewall_policy': 'egress_firewall_policy_id', 'no_ingress_firewall_policy': 'ingress_firewall_policy_id', 'no_egress_firewall_policy': 'egress_firewall_policy_id', - 'public': 'public', - 'private': 'public', + 'share': 'shared', + 'no_share': 'shared', 'project': 'tenant_id', 'enable': 'admin_state_up', 'disable': 'admin_state_up', @@ -115,7 +115,7 @@ class TestFirewallGroup(test_fakes.TestNeutronClientOSCV2): 'Status', 'Ports', 'State', - 'Public', + 'Shared', 'Project', )) self.data = _generate_response() @@ -128,7 +128,7 @@ class TestFirewallGroup(test_fakes.TestNeutronClientOSCV2): _fwg['name'], _fwg['ports'], _fwg['tenant_id'], - _fwg['public'], + _fwg['shared'], v2_utils.AdminStateColumn(_fwg['admin_state_up']), _fwg['status'], ) @@ -140,7 +140,7 @@ class TestFirewallGroup(test_fakes.TestNeutronClientOSCV2): 'name', 'ports', 'tenant_id', - 'public', + 'shared', 'admin_state_up', 'status', ) @@ -180,7 +180,6 @@ class TestCreateFirewallGroup(TestFirewallGroup, common.TestCreateFWaaS): verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) headers, data = self.cmd.take_action(parsed_args) - self.assertEqual(self.ordered_headers, headers) self.assertItemEqual(self.ordered_data, data) @@ -250,7 +249,7 @@ class TestCreateFirewallGroup(TestFirewallGroup, common.TestCreateFWaaS): '--egress-firewall-policy', egress_policy, '--port', port, '--project', tenant_id, - '--public', + '--share', '--disable', ] verifylist = [ @@ -259,7 +258,7 @@ class TestCreateFirewallGroup(TestFirewallGroup, common.TestCreateFWaaS): ('ingress_firewall_policy', ingress_policy), ('egress_firewall_policy', egress_policy), ('port', [port]), - ('public', True), + ('share', True), ('project', tenant_id), ('disable', True), ] @@ -270,14 +269,14 @@ class TestCreateFirewallGroup(TestFirewallGroup, common.TestCreateFWaaS): self.check_results(headers, data, request) - def test_create_with_public_and_private(self): + def test_create_with_shared_and_no_share(self): arglist = [ - '--public', - '--private', + '--share', + '--no-share', ] verifylist = [ - ('public', True), - ('private', True), + ('share', True), + ('no_share', True), ] self.assertRaises( utils.ParserException, diff --git a/neutronclient/tests/unit/osc/v2/fwaas/test_firewallpolicy.py b/neutronclient/tests/unit/osc/v2/fwaas/test_firewallpolicy.py index c2e9b1b..316eec8 100644 --- a/neutronclient/tests/unit/osc/v2/fwaas/test_firewallpolicy.py +++ b/neutronclient/tests/unit/osc/v2/fwaas/test_firewallpolicy.py @@ -31,8 +31,8 @@ from neutronclient.tests.unit.osc.v2.fwaas import fakes _fwp = fakes.FirewallPolicy().create() CONVERT_MAP = { - 'public': 'public', - 'private': 'public', + 'share': 'shared', + 'no_share': 'shared', 'project': 'tenant_id', 'port': 'ports', 'name': 'name', @@ -109,7 +109,7 @@ class TestFirewallPolicy(test_fakes.TestNeutronClientOSCV2): self.headers = tuple(self.list_headers + ( 'Description', 'Audited', - 'Public', + 'Shared', 'Project') ) self.data = _generate_data() @@ -120,7 +120,7 @@ class TestFirewallPolicy(test_fakes.TestNeutronClientOSCV2): 'ID', 'Name', 'Project', - 'Public', + 'Shared', ) self.ordered_data = ( _fwp['audited'], @@ -129,7 +129,7 @@ class TestFirewallPolicy(test_fakes.TestNeutronClientOSCV2): _fwp['id'], _fwp['name'], _fwp['tenant_id'], - _fwp['public'], + _fwp['shared'], ) self.ordered_columns = ( 'audited', @@ -138,7 +138,7 @@ class TestFirewallPolicy(test_fakes.TestNeutronClientOSCV2): 'id', 'name', 'tenant_id', - 'public', + 'shared', ) @@ -234,7 +234,7 @@ class TestCreateFirewallPolicy(TestFirewallPolicy, common.TestCreateFWaaS): '--firewall-rule', rule1, '--firewall-rule', rule2, '--project', project, - '--public', + '--share', '--audited', ] verifylist = [ @@ -242,7 +242,7 @@ class TestCreateFirewallPolicy(TestFirewallPolicy, common.TestCreateFWaaS): ('description', desc), ('firewall_rule', [rule1, rule2]), ('project', project), - ('public', True), + ('share', True), ('audited', True), ] request, response = _generate_req_and_res(verifylist) @@ -271,17 +271,17 @@ class TestCreateFirewallPolicy(TestFirewallPolicy, common.TestCreateFWaaS): utils.ParserException, self.check_parser, self.cmd, arglist, verifylist) - def test_create_with_public_and_private(self): + def test_create_with_shared_and_no_share(self): name = 'my-fwp' arglist = [ name, - '--public', - '--private', + '--share', + '--no-share', ] verifylist = [ ('name', name), - ('public', True), - ('private', True), + ('share', True), + ('no_share', True), ] self.assertRaises( utils.ParserException, diff --git a/neutronclient/tests/unit/osc/v2/fwaas/test_firewallrule.py b/neutronclient/tests/unit/osc/v2/fwaas/test_firewallrule.py index 94e1199..e38306e 100644 --- a/neutronclient/tests/unit/osc/v2/fwaas/test_firewallrule.py +++ b/neutronclient/tests/unit/osc/v2/fwaas/test_firewallrule.py @@ -35,6 +35,8 @@ CONVERT_MAP = { 'project': 'tenant_id', 'enable_rule': 'enabled', 'disable_rule': 'enabled', + 'share': 'shared', + 'no_share': 'shared', } @@ -115,7 +117,7 @@ class TestFirewallRule(test_fakes.TestNeutronClientOSCV2): 'Source Port', 'Destination IP Address', 'Destination Port', - 'Public', + 'Shared', 'Project', ) self.data = _generate_data() @@ -130,7 +132,7 @@ class TestFirewallRule(test_fakes.TestNeutronClientOSCV2): 'Name', 'Project', 'Protocol', - 'Public', + 'Shared', 'Source IP Address', 'Source Port', ) @@ -145,7 +147,7 @@ class TestFirewallRule(test_fakes.TestNeutronClientOSCV2): _fwr['name'], _fwr['tenant_id'], _replace_display_columns('protocol', _fwr['protocol']), - _fwr['public'], + _fwr['shared'], _fwr['source_ip_address'], _fwr['source_port'], ) @@ -160,7 +162,7 @@ class TestFirewallRule(test_fakes.TestNeutronClientOSCV2): 'name', 'tenant_id', 'protocol', - 'public', + 'shared', 'source_ip_address', 'source_port', ) @@ -217,12 +219,12 @@ class TestCreateFirewallRule(TestFirewallRule, common.TestCreateFWaaS): '--action', action, '--project', tenant_id, '--disable-rule', - '--public', + '--share', ] verifylist = [ ('name', name), ('description', description), - ('public', True), + ('share', True), ('protocol', protocol), ('ip_version', ip_version), ('source_ip_address', source_ip), diff --git a/releasenotes/notes/bug-1676922-81341b70bc6f055a.yaml b/releasenotes/notes/bug-1676922-81341b70bc6f055a.yaml new file mode 100644 index 0000000..9dc6aef --- /dev/null +++ b/releasenotes/notes/bug-1676922-81341b70bc6f055a.yaml @@ -0,0 +1,19 @@ +--- +deprecations: + - | + The ``--public`` and ``--private`` attribute of Firewall-as-a-Service v2 + have been deprecated. While the ``--public`` attribute will now be replaced + by ``--share``, the ``--private`` attribute will be replaced by + ``--no-share``. This is because of the similarity between the behavior of + ``--public`` attribute in FireWall-as-a-Service and the ``--share`` + attribute used in OpenStack. This deprecation affects the following CLIs. + + * openstack firewall group create + * openstack firewall group set + * openstack firewall group unset + * openstack firewall policy create + * openstack firewall policy set + * openstack firewall policy unset + * openstack firewall rule create + * openstack firewall rule set + * openstack firewall rule unset |