Skip to content

Commit 04d1fc6

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Security group rule delete broken"
2 parents 4ce3d1d + 62bb88f commit 04d1fc6

2 files changed

Lines changed: 16 additions & 35 deletions

File tree

‎doc/source/backwards-incompatible.rst‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@ List of Backwards Incompatible Changes
3535
* Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1404073
3636
* Commit: https://review.openstack.org/#/c/143242/
3737

38+
3. Command `openstack security group rule delete` now requires rule id
39+
40+
Previously, the command was `openstack security group rule delete --proto
41+
<proto> [--src-ip <ip-address> --dst-port <port-range>] <group>`,
42+
whereas now it is: `openstack security group rule delete <rule>`.
43+
44+
* In favor of: Using `openstack security group rule delete <rule>`.
45+
* As of: 1.2.1
46+
* Removed in: NA
47+
* Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1450872
48+
* Commit: https://review.openstack.org/#/c/179446/
49+
3850
For Developers
3951
==============
4052

‎openstackclient/compute/v2/security_group.py‎

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -328,48 +328,17 @@ class DeleteSecurityGroupRule(command.Command):
328328
def get_parser(self, prog_name):
329329
parser = super(DeleteSecurityGroupRule, self).get_parser(prog_name)
330330
parser.add_argument(
331-
'group',
332-
metavar='<group>',
333-
help='Security group rule to delete (name or ID)',
334-
)
335-
parser.add_argument(
336-
"--proto",
337-
metavar="<proto>",
338-
default="tcp",
339-
help="IP protocol (icmp, tcp, udp; default: tcp)",
340-
)
341-
parser.add_argument(
342-
"--src-ip",
343-
metavar="<ip-address>",
344-
default="0.0.0.0/0",
345-
help="Source IP (may use CIDR notation; default: 0.0.0.0/0)",
346-
)
347-
parser.add_argument(
348-
"--dst-port",
349-
metavar="<port-range>",
350-
action=parseractions.RangeAction,
351-
help="Destination port, may be a range: 137:139 (default: 0; "
352-
"only required for proto tcp and udp)",
331+
'rule',
332+
metavar='<rule>',
333+
help='Security group rule ID to delete',
353334
)
354335
return parser
355336

356337
def take_action(self, parsed_args):
357338
self.log.debug('take_action(%s)', parsed_args)
358339

359340
compute_client = self.app.client_manager.compute
360-
group = utils.find_resource(
361-
compute_client.security_groups,
362-
parsed_args.group,
363-
)
364-
from_port, to_port = parsed_args.dst_port
365-
# sigh...delete by ID?
366-
compute_client.security_group_rules.delete(
367-
group.id,
368-
parsed_args.proto,
369-
from_port,
370-
to_port,
371-
parsed_args.src_ip,
372-
)
341+
compute_client.security_group_rules.delete(parsed_args.rule)
373342
return
374343

375344

0 commit comments

Comments
 (0)