)]}'
{"doc/source/command-objects/security-group-rule.rst":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"cb2d4ea1c2290d179106fe488c301b1657041684","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. option:: --dst-port \u003cport-range\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Destination port, may be a range: 137:139 (default: 0; only required for IP protocols tcp and udp)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. describe:: \u003cgroup\u003e"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_1c7ffa15","line":35,"range":{"start_line":35,"start_character":22,"end_line":35,"end_character":39},"updated":"2016-03-17 18:07:40.000000000","message":"Can this be re-worded ?\nIt seems that one of the input for the user is a port range.\nIs there any other option  ( like a port , say  139?)\n\nWhat I mean is , if user can pass Either a port or a port-range, then that should be mentioned here.\nOtherwise it seems, user can just enter a port-range","commit_id":"48bc0c9201d04c3ae81e94056aa921873ebaddad"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"333a871e6aee9a0a38f23259934e2249fc7d1003","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. option:: --dst-port \u003cport-range\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Destination port, may be a range: 137:139 (default: 0; only required for IP protocols tcp and udp)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. describe:: \u003cgroup\u003e"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1af94dfe_5f4854cc","line":35,"range":{"start_line":35,"start_character":22,"end_line":35,"end_character":39},"in_reply_to":"1af94dfe_1c7ffa15","updated":"2016-03-17 18:26:01.000000000","message":"I think that is mentioned as \"Destination port\".  However, I can clarify the help text.","commit_id":"48bc0c9201d04c3ae81e94056aa921873ebaddad"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"727fb9cc272b8a3ef0478f20f188ba05b1f6c9a5","unresolved":false,"context_lines":[{"line_number":33,"context_line":".. option:: --dst-port \u003cport-range\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Destination port, may be a single port or port range: 137:139"},{"line_number":36,"context_line":"    (default: 0; only required for IP protocols tcp and udp)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. describe:: \u003cgroup\u003e"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af94dfe_efea4d73","line":36,"updated":"2016-03-17 20:46:25.000000000","message":"While we are here let\u0027s dump the \u0027default port 0\u0027 notion as it\u0027s meaningless to the user and an implementation detail internally.","commit_id":"eaf8d0d1121de77e711a42ef8c83cf13a35799a8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1c59447d5eaffc735e7c59225803e79034209f70","unresolved":false,"context_lines":[{"line_number":33,"context_line":".. option:: --dst-port \u003cport-range\u003e"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    Destination port, may be a single port or port range: 137:139"},{"line_number":36,"context_line":"    (default: 0; only required for IP protocols tcp and udp)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. describe:: \u003cgroup\u003e"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1af94dfe_a3e682e5","line":36,"in_reply_to":"1af94dfe_efea4d73","updated":"2016-03-18 12:21:40.000000000","message":"Done","commit_id":"eaf8d0d1121de77e711a42ef8c83cf13a35799a8"}],"openstackclient/network/v2/security_group_rule.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"9f45a9ab35d35289bbcb6c1824ce68650d496cbf","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            action\u003dparseractions.RangeAction,"},{"line_number":79,"context_line":"            help\u003d\"Destination port, may be a single port or port range: \""},{"line_number":80,"context_line":"                 \"137:139 (default: 0; only required for IP protocols \""},{"line_number":81,"context_line":"                 \"tcp and udp)\","},{"line_number":82,"context_line":"        )"},{"line_number":83,"context_line":"        return parser"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_3a02b60b","line":81,"updated":"2016-03-17 18:53:20.000000000","message":"ICMP would use it from the Next patch, I guess?","commit_id":"eaf8d0d1121de77e711a42ef8c83cf13a35799a8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1c59447d5eaffc735e7c59225803e79034209f70","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            action\u003dparseractions.RangeAction,"},{"line_number":79,"context_line":"            help\u003d\"Destination port, may be a single port or port range: \""},{"line_number":80,"context_line":"                 \"137:139 (default: 0; only required for IP protocols \""},{"line_number":81,"context_line":"                 \"tcp and udp)\","},{"line_number":82,"context_line":"        )"},{"line_number":83,"context_line":"        return parser"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_63159a9a","line":81,"in_reply_to":"1af94dfe_0fb21906","updated":"2016-03-18 12:21:40.000000000","message":"Thanks Dean, I\u0027ll make a note of it.","commit_id":"eaf8d0d1121de77e711a42ef8c83cf13a35799a8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"15635594f8f9c05ab63132a626ef8363a93682ee","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            action\u003dparseractions.RangeAction,"},{"line_number":79,"context_line":"            help\u003d\"Destination port, may be a single port or port range: \""},{"line_number":80,"context_line":"                 \"137:139 (default: 0; only required for IP protocols \""},{"line_number":81,"context_line":"                 \"tcp and udp)\","},{"line_number":82,"context_line":"        )"},{"line_number":83,"context_line":"        return parser"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_f53981d8","line":81,"in_reply_to":"1af94dfe_3a02b60b","updated":"2016-03-17 18:55:00.000000000","message":"Yes, that is correct.  After the refactor, I will be handling the neutron additions.","commit_id":"eaf8d0d1121de77e711a42ef8c83cf13a35799a8"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"727fb9cc272b8a3ef0478f20f188ba05b1f6c9a5","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            action\u003dparseractions.RangeAction,"},{"line_number":79,"context_line":"            help\u003d\"Destination port, may be a single port or port range: \""},{"line_number":80,"context_line":"                 \"137:139 (default: 0; only required for IP protocols \""},{"line_number":81,"context_line":"                 \"tcp and udp)\","},{"line_number":82,"context_line":"        )"},{"line_number":83,"context_line":"        return parser"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1af94dfe_0fb21906","line":81,"in_reply_to":"1af94dfe_f53981d8","updated":"2016-03-17 20:46:25.000000000","message":"FWIW, I\u0027d really like to use the correct ICMP terms type and code (or subtype) when we get to that part...","commit_id":"eaf8d0d1121de77e711a42ef8c83cf13a35799a8"}],"openstackclient/tests/network/v2/test_security_group_rule.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"cb2d4ea1c2290d179106fe488c301b1657041684","unresolved":false,"context_lines":[{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        columns, data \u003d self.cmd.take_action(parsed_args)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        self.network.find_security_group_rule.assert_called_once_with("},{"line_number":475,"context_line":"            self._security_group_rule.id, ignore_missing\u003dFalse)"},{"line_number":476,"context_line":"        self.assertEqual(tuple(self.columns), columns)"},{"line_number":477,"context_line":"        self.assertEqual(self.data, data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_5cf18294","line":474,"updated":"2016-03-17 18:07:40.000000000","message":"In the API, if there is no retry, we can keep assert_Called_With as well, I guess?","commit_id":"48bc0c9201d04c3ae81e94056aa921873ebaddad"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"333a871e6aee9a0a38f23259934e2249fc7d1003","unresolved":false,"context_lines":[{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        columns, data \u003d self.cmd.take_action(parsed_args)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        self.network.find_security_group_rule.assert_called_once_with("},{"line_number":475,"context_line":"            self._security_group_rule.id, ignore_missing\u003dFalse)"},{"line_number":476,"context_line":"        self.assertEqual(tuple(self.columns), columns)"},{"line_number":477,"context_line":"        self.assertEqual(self.data, data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_5fc33438","line":474,"in_reply_to":"1af94dfe_5cf18294","updated":"2016-03-17 18:26:01.000000000","message":"We can.  However, during a previous review on security group refactor, I was asked to change these as I\u0027ve done here.  Would you prefer these to be left as-is?","commit_id":"48bc0c9201d04c3ae81e94056aa921873ebaddad"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"be25ce9ad4c3938acab2979c9193caadb2c2f811","unresolved":false,"context_lines":[{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        columns, data \u003d self.cmd.take_action(parsed_args)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        self.network.find_security_group_rule.assert_called_once_with("},{"line_number":475,"context_line":"            self._security_group_rule.id, ignore_missing\u003dFalse)"},{"line_number":476,"context_line":"        self.assertEqual(tuple(self.columns), columns)"},{"line_number":477,"context_line":"        self.assertEqual(self.data, data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_dab47283","line":474,"in_reply_to":"1af94dfe_5fc33438","updated":"2016-03-17 18:51:21.000000000","message":"Well, both work for me.. but my concern is that generally we use assert_called_with for the UT of other OSC CLIs ( isnt it?) and this seems to be coming out from that defined \u0027set\u0027 of \u0027rules\u0027 we have inadvertently accepted to write the tests.\nIt would definitely be a question on the future developer\u0027s mind as to why Security Group is using \"assert_called_once_with\" while others are using \"assert_called_with\" ...","commit_id":"48bc0c9201d04c3ae81e94056aa921873ebaddad"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"acd35df8d899d6ec4cac1fb237ba7c8c4e19d70e","unresolved":false,"context_lines":[{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        columns, data \u003d self.cmd.take_action(parsed_args)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"        self.network.find_security_group_rule.assert_called_once_with("},{"line_number":475,"context_line":"            self._security_group_rule.id, ignore_missing\u003dFalse)"},{"line_number":476,"context_line":"        self.assertEqual(tuple(self.columns), columns)"},{"line_number":477,"context_line":"        self.assertEqual(self.data, data)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_35680987","line":474,"in_reply_to":"1af94dfe_dab47283","updated":"2016-03-17 18:59:38.000000000","message":"I\u0027m not sure we have a defined set of rules for this.  If others have concerns too, I\u0027ll go back to assert_called_with.","commit_id":"48bc0c9201d04c3ae81e94056aa921873ebaddad"}]}
