Merge "Add protocol value options to sg-rule-create"

This commit is contained in:
Jenkins
2016-01-04 21:12:30 +00:00
committed by Gerrit Code Review
2 changed files with 32 additions and 3 deletions

View File

@@ -317,16 +317,18 @@ class CreateSecurityGroupRule(neutronV20.CreateCommand):
help=_('IPv4/IPv6'))
parser.add_argument(
'--protocol',
help=_('Protocol of packet.'))
help=_('Protocol of packet. Allowed values are '
'[icmp, icmpv6, tcp, udp] and '
'integer representations [0-255]'))
parser.add_argument(
'--port-range-min',
help=_('Starting port range.'))
help=_('Starting port range. For ICMP it is type.'))
parser.add_argument(
'--port_range_min',
help=argparse.SUPPRESS)
parser.add_argument(
'--port-range-max',
help=_('Ending port range.'))
help=_('Ending port range. For ICMP it is code.'))
parser.add_argument(
'--port_range_max',
help=argparse.SUPPRESS)

View File

@@ -174,6 +174,33 @@ class CLITestV20SecurityGroupsJSON(test_cli20.CLITestV20Base):
self._test_create_resource(resource, cmd, None, myid, args,
position_names, position_values)
def test_create_security_group_rule_with_integer_protocol_value(self):
resource = 'security_group_rule'
cmd = securitygroup.CreateSecurityGroupRule(
test_cli20.MyApp(sys.stdout), None)
myid = 'myid'
direction = 'ingress'
ethertype = 'IPv4'
protocol = '2'
port_range_min = '22'
port_range_max = '22'
remote_ip_prefix = '10.0.0.0/24'
security_group_id = '1'
remote_group_id = '1'
args = ['--remote_ip_prefix', remote_ip_prefix, '--direction',
direction, '--ethertype', ethertype, '--protocol', protocol,
'--port_range_min', port_range_min, '--port_range_max',
port_range_max, '--remote_group_id', remote_group_id,
security_group_id]
position_names = ['remote_ip_prefix', 'direction', 'ethertype',
'protocol', 'port_range_min', 'port_range_max',
'remote_group_id', 'security_group_id']
position_values = [remote_ip_prefix, direction, ethertype, protocol,
port_range_min, port_range_max, remote_group_id,
security_group_id]
self._test_create_resource(resource, cmd, None, myid, args,
position_names, position_values)
def test_delete_security_group_rule(self):
# Delete security group rule: myid.
resource = 'security_group_rule'