)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"df9bdb65ef188f8ba98c1ca3df3626460721fdda","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ankur Gupta \u003cankur.gupta@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-10 15:59:11 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add meter label rule to OSC"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implement network feature meter label rules into"},{"line_number":10,"context_line":"OpenStack Client."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"ba5201f7_4550da0a","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":20},"updated":"2017-01-11 11:33:35.000000000","message":"-\u003e meter rule","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3ed5514016f05010ee577f28cad727970ef08379","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ankur Gupta \u003cankur.gupta@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-10 15:59:11 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add meter label rule to OSC"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implement network feature meter label rules into"},{"line_number":10,"context_line":"OpenStack Client."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"ba5201f7_1bf8d5c2","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":20},"in_reply_to":"ba5201f7_4550da0a","updated":"2017-01-11 19:50:04.000000000","message":"Done","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"}],"doc/source/command-objects/meter-label-rule.rst":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"8fdaa93eead3dde4f515acfdd0aa13e5e9f1f7ca","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **meter label rule** sets the rule for"},{"line_number":6,"context_line":"a metering label to measure traffic for a specific IP range."},{"line_number":7,"context_line":"The following uses **meter label** and require the L3"},{"line_number":8,"context_line":"metering extension."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Network v2"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa6399be_1acf72b1","line":7,"updated":"2016-10-11 01:46:36.000000000","message":"missing \u0027s\u0027?","commit_id":"b2b91ce05f7252c29ec1da323ae31140c02001f5"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"68d8578bff53319d62f728a68a2596bc5e46855b","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **meter label rule** sets the rule for"},{"line_number":6,"context_line":"a metering label to measure traffic for a specific IP range."},{"line_number":7,"context_line":"The following uses **meter label** and require the L3"},{"line_number":8,"context_line":"metering extension."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Network v2"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa6399be_bc12b0b2","line":7,"in_reply_to":"fa6399be_1acf72b1","updated":"2016-10-12 15:58:58.000000000","message":"Done","commit_id":"b2b91ce05f7252c29ec1da323ae31140c02001f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"babe33f530667e6d32fe79d4240fdd44147c9146","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":22,"context_line":"        [--ingress | --egress]"},{"line_number":23,"context_line":"        [--exclude | --include]"},{"line_number":24,"context_line":"        \u003cmetering_label_id\u003e \u003cremote_ip_prefix\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"da6895a0_c0277462","line":24,"updated":"2016-10-25 09:03:36.000000000","message":"Please used dashes (\u0027-\u0027) rather than underscores (\u0027_\u0027) in all user-visible places here and in help","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3f6bf15ee33c4200aacd9e89f3e74b124c929282","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":22,"context_line":"        [--ingress | --egress]"},{"line_number":23,"context_line":"        [--exclude | --include]"},{"line_number":24,"context_line":"        \u003cmetering_label_id\u003e \u003cremote_ip_prefix\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"da6895a0_1457e0ce","line":24,"in_reply_to":"da6895a0_c0277462","updated":"2016-10-25 22:41:10.000000000","message":"Done","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":22,"context_line":"        [--ingress | --egress]"},{"line_number":23,"context_line":"        [--exclude | --include]"},{"line_number":24,"context_line":"        \u003cmetering-label-id\u003e \u003cremote-ip-prefix\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba5da102_644913b7","line":24,"updated":"2016-11-02 12:39:20.000000000","message":"missing \"--project-domain\"","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":22,"context_line":"        [--ingress | --egress]"},{"line_number":23,"context_line":"        [--exclude | --include]"},{"line_number":24,"context_line":"        \u003cmetering-label-id\u003e \u003cremote-ip-prefix\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba5da102_acecb4bb","line":24,"in_reply_to":"ba5da102_644913b7","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e8c254befbeffdcde544d88ca3e06b16111279ba","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"network meter label rule"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **meter label rule** sets the rule for"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a6eadb0_a7354ddc","line":2,"range":{"start_line":2,"start_character":8,"end_line":2,"end_character":24},"updated":"2016-12-20 04:55:20.000000000","message":"\u0027meter label\u0027 in neutron is called as \u0027meter\u0027 in OSC.\n\u0027meter rule\u0027 sounds better to me. Thought?","commit_id":"ee90cadb4c6765231094f3c56a095d7a0a0c8d05"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e8c254befbeffdcde544d88ca3e06b16111279ba","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    Owner\u0027s project (name or ID)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    *Network version 2 only*"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":".. option:: --project-domain \u003cproject-domain\u003e"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a6eadb0_675a552c","line":32,"range":{"start_line":32,"start_character":4,"end_line":32,"end_character":28},"updated":"2016-12-20 04:55:20.000000000","message":"This is unnecessary because this command is supported only by \"network v2\" (as mentioned at L.10)","commit_id":"ee90cadb4c6765231094f3c56a095d7a0a0c8d05"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"e8c254befbeffdcde544d88ca3e06b16111279ba","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    The remote IP prefix to associate with this metering rule packet"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. _network_meter_label_rule_create:"},{"line_number":60,"context_line":".. describe:: \u003cmetering-label-id\u003e"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Label to associate with this metering rule (name or ID)"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a6eadb0_079b61ca","line":60,"range":{"start_line":60,"start_character":14,"end_line":60,"end_character":33},"updated":"2016-12-20 04:55:20.000000000","message":"According to the discussion in https://review.openstack.org/#/c/375695/ , OSC team decides to use \"meter\" rather than \u0027meter label\". This needs to be updated.","commit_id":"ee90cadb4c6765231094f3c56a095d7a0a0c8d05"}],"doc/source/command-objects/meter-rule.rst":[{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"83a18e5a29e8fe7fe15d97dbcd057f6843b3e78f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        [--ingress | --egress]"},{"line_number":23,"context_line":"        [--exclude | --include]"},{"line_number":24,"context_line":"        --remote-ip-prefix \u003cremote-ip-prefix\u003e"},{"line_number":25,"context_line":"        \u003cmeter-id\u003e"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba5201f7_1cfa8875","line":25,"range":{"start_line":25,"start_character":9,"end_line":25,"end_character":17},"updated":"2017-01-11 22:18:30.000000000","message":"not necessarily ID. meter name is allowed too .. so just \"meter\" would do","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        [--ingress | --egress]"},{"line_number":23,"context_line":"        [--exclude | --include]"},{"line_number":24,"context_line":"        --remote-ip-prefix \u003cremote-ip-prefix\u003e"},{"line_number":25,"context_line":"        \u003cmeter-id\u003e"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. option:: --project \u003cproject\u003e"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba5201f7_b23d2391","line":25,"range":{"start_line":25,"start_character":9,"end_line":25,"end_character":17},"in_reply_to":"ba5201f7_1cfa8875","updated":"2017-01-11 23:04:29.000000000","message":"Done","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"83a18e5a29e8fe7fe15d97dbcd057f6843b3e78f","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":".. option:: --include"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    Include remote_ip_prefix into count of the traffic of IP addresses"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. option:: --remote-ip-prefix \u003cremote-ip-prefix\u003e"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba5201f7_1c41a8a9","line":52,"updated":"2017-01-11 22:18:30.000000000","message":"(default)","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":".. option:: --include"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    Include remote_ip_prefix into count of the traffic of IP addresses"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. option:: --remote-ip-prefix \u003cremote-ip-prefix\u003e"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba5201f7_124d0f3e","line":52,"in_reply_to":"ba5201f7_1c41a8a9","updated":"2017-01-11 23:04:29.000000000","message":"Done","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"83a18e5a29e8fe7fe15d97dbcd057f6843b3e78f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    The remote IP prefix to associate with this metering rule packet"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. _network_meter_rule_create:"},{"line_number":59,"context_line":".. describe:: \u003cmeter-id\u003e"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    Meter to associate with this meter rule (name or ID)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba5201f7_7c1b94ca","line":59,"range":{"start_line":59,"start_character":15,"end_line":59,"end_character":23},"updated":"2017-01-11 22:18:30.000000000","message":"meter?","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    The remote IP prefix to associate with this metering rule packet"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. _network_meter_rule_create:"},{"line_number":59,"context_line":".. describe:: \u003cmeter-id\u003e"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    Meter to associate with this meter rule (name or ID)"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"ba5201f7_f2432b11","line":59,"range":{"start_line":59,"start_character":15,"end_line":59,"end_character":23},"in_reply_to":"ba5201f7_7c1b94ca","updated":"2017-01-11 23:04:29.000000000","message":"Done","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b37ee799816ce18cb04262f76d23464343158026","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    openstack network meter rule delete \u003cid\u003e [\u003cid\u003e ...]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. _network_meter_rule_delete:"},{"line_number":76,"context_line":".. describe:: \u003cid\u003e"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    ID of meter rule(s) to delete"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_03d88b1c","line":76,"updated":"2017-01-20 22:11:05.000000000","message":"be specific about what the \u003cid\u003e value represents: \u003cmeter-rule-id\u003e","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"76d4e34a1d34bc5803675bf4dccd8e14329918de","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    openstack network meter rule delete \u003cid\u003e [\u003cid\u003e ...]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. _network_meter_rule_delete:"},{"line_number":76,"context_line":".. describe:: \u003cid\u003e"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    ID of meter rule(s) to delete"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_aa7be88a","line":76,"in_reply_to":"5a3905b3_03d88b1c","updated":"2017-01-23 00:22:41.000000000","message":"Done","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b37ee799816ce18cb04262f76d23464343158026","unresolved":false,"context_lines":[{"line_number":85,"context_line":".. program:: network meter rule list"},{"line_number":86,"context_line":".. code:: bash"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    openstack network meter rule list"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"network meter rule show"},{"line_number":91,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_0346cbbe","line":88,"updated":"2017-01-20 22:11:05.000000000","message":"Should there be a \u003cmeter\u003e here?  Maybe it is optional?  I am using security groups as a mental model for the UI, is this different?","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"76d4e34a1d34bc5803675bf4dccd8e14329918de","unresolved":false,"context_lines":[{"line_number":85,"context_line":".. program:: network meter rule list"},{"line_number":86,"context_line":".. code:: bash"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    openstack network meter rule list"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"network meter rule show"},{"line_number":91,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_ea7170a9","line":88,"in_reply_to":"5a3905b3_0346cbbe","updated":"2017-01-23 00:22:41.000000000","message":"It looks like initially that was the idea (looking at the neutronclient help text). But no, it just lists out all the rules.","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b37ee799816ce18cb04262f76d23464343158026","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    openstack network meter rule show \u003cmeter-rule\u003e"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":".. _network_meter_show:"},{"line_number":101,"context_line":".. describe:: \u003cmeter-rule\u003e"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    Meter rule to display"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_a327b710","line":101,"updated":"2017-01-20 22:11:05.000000000","message":"\u003cmeter-rule-id\u003e","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"76d4e34a1d34bc5803675bf4dccd8e14329918de","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    openstack network meter rule show \u003cmeter-rule\u003e"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":".. _network_meter_show:"},{"line_number":101,"context_line":".. describe:: \u003cmeter-rule\u003e"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    Meter rule to display"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_0a6b1cb8","line":101,"in_reply_to":"5a3905b3_a327b710","updated":"2017-01-23 00:22:41.000000000","message":"Done","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b37ee799816ce18cb04262f76d23464343158026","unresolved":false,"context_lines":[{"line_number":100,"context_line":".. _network_meter_show:"},{"line_number":101,"context_line":".. describe:: \u003cmeter-rule\u003e"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    Meter rule to display"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_031debbc","line":103,"updated":"2017-01-20 22:11:05.000000000","message":"(name or ID)","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"76d4e34a1d34bc5803675bf4dccd8e14329918de","unresolved":false,"context_lines":[{"line_number":100,"context_line":".. _network_meter_show:"},{"line_number":101,"context_line":".. describe:: \u003cmeter-rule\u003e"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    Meter rule to display"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5a3905b3_2aaff8e2","line":103,"in_reply_to":"5a3905b3_031debbc","updated":"2017-01-23 00:22:41.000000000","message":"if the var is meter-rule-id and it only takes ID should I put a note?","commit_id":"d772e6431102be75db35aa3005ece43b494dcfd7"}],"doc/source/command-objects/network-meter-rule.rst":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ebbef797736f0089dffa515bfb46bafd7b223a35","unresolved":false,"context_lines":[{"line_number":2,"context_line":"network meter rule"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"A **meter rule** sets the rule for"},{"line_number":6,"context_line":"a meter to measure traffic for a specific IP range."},{"line_number":7,"context_line":"The following uses **meter** and requires the L3"},{"line_number":8,"context_line":"metering extension."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Network v2"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"3a461143_19793a94","line":8,"range":{"start_line":5,"start_character":0,"end_line":8,"end_character":19},"updated":"2017-01-25 22:57:37.000000000","message":"nit use all the characters here","commit_id":"5caac0e5634fd65e2f635b724f00461eaebd58bf"}],"openstackclient/network/v2/meter_label_rule.py":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"8fdaa93eead3dde4f515acfdd0aa13e5e9f1f7ca","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":85,"context_line":"            help\u003d_(\"Include remote IP prefix from traffic count\")"},{"line_number":86,"context_line":"        )"},{"line_number":87,"context_line":"        direction_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":88,"context_line":"        direction_group.add_argument("},{"line_number":89,"context_line":"            \u0027--ingress\u0027,"},{"line_number":90,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":91,"context_line":"            help\u003d_(\"Apply rule to incoming network traffic\")"},{"line_number":92,"context_line":"        )"},{"line_number":93,"context_line":"        direction_group.add_argument("},{"line_number":94,"context_line":"            \u0027--egress\u0027,"},{"line_number":95,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":96,"context_line":"            help\u003d_(\u0027Apply rule to outgoing network traffic\u0027)"},{"line_number":97,"context_line":"        )"},{"line_number":98,"context_line":"        parser.add_argument("},{"line_number":99,"context_line":"            \u0027metering_label_id\u0027,"},{"line_number":100,"context_line":"            metavar\u003d\u0027\u003cmetering_label_id\u003e\u0027,"},{"line_number":101,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule (name or ID)\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_fa255e5c","line":98,"range":{"start_line":87,"start_character":0,"end_line":98,"end_character":1},"updated":"2016-10-11 01:46:36.000000000","message":"This one seems to be wrong (or description in rst).\nHere you\u0027re using --{ingress,egress} while in rst you have --direction {ingress,egress}.\nWhich one is correct?","commit_id":"b2b91ce05f7252c29ec1da323ae31140c02001f5"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"68d8578bff53319d62f728a68a2596bc5e46855b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":85,"context_line":"            help\u003d_(\"Include remote IP prefix from traffic count\")"},{"line_number":86,"context_line":"        )"},{"line_number":87,"context_line":"        direction_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":88,"context_line":"        direction_group.add_argument("},{"line_number":89,"context_line":"            \u0027--ingress\u0027,"},{"line_number":90,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":91,"context_line":"            help\u003d_(\"Apply rule to incoming network traffic\")"},{"line_number":92,"context_line":"        )"},{"line_number":93,"context_line":"        direction_group.add_argument("},{"line_number":94,"context_line":"            \u0027--egress\u0027,"},{"line_number":95,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":96,"context_line":"            help\u003d_(\u0027Apply rule to outgoing network traffic\u0027)"},{"line_number":97,"context_line":"        )"},{"line_number":98,"context_line":"        parser.add_argument("},{"line_number":99,"context_line":"            \u0027metering_label_id\u0027,"},{"line_number":100,"context_line":"            metavar\u003d\u0027\u003cmetering_label_id\u003e\u0027,"},{"line_number":101,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule (name or ID)\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa6399be_fc0c2896","line":98,"range":{"start_line":87,"start_character":0,"end_line":98,"end_character":1},"in_reply_to":"fa6399be_fa255e5c","updated":"2016-10-12 15:58:58.000000000","message":"Done","commit_id":"b2b91ce05f7252c29ec1da323ae31140c02001f5"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"babe33f530667e6d32fe79d4240fdd44147c9146","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#   not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#   a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_a08c4036","line":1,"updated":"2016-10-25 09:03:36.000000000","message":"Fix the indentation in line 1 to match the rest of the text here, I\u0027m not sure if all of the license-checking scripts will like it being different (they really should not care)","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3f6bf15ee33c4200aacd9e89f3e74b124c929282","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"#   not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"#   a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_345224de","line":1,"in_reply_to":"da6895a0_a08c4036","updated":"2016-10-25 22:41:10.000000000","message":"Done","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def _get_columns(item):"},{"line_number":30,"context_line":"    columns \u003d list(item.keys())"},{"line_number":31,"context_line":"    if \u0027tenant_id\u0027 in columns:"},{"line_number":32,"context_line":"        columns.remove(\u0027tenant_id\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_214aad26","line":29,"updated":"2016-11-02 12:39:20.000000000","message":"We are doing refactor for the columns here, you can see a example:\nhttps://review.openstack.org/#/c/382052/","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def _get_columns(item):"},{"line_number":30,"context_line":"    columns \u003d list(item.keys())"},{"line_number":31,"context_line":"    if \u0027tenant_id\u0027 in columns:"},{"line_number":32,"context_line":"        columns.remove(\u0027tenant_id\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_0c8200c8","line":29,"in_reply_to":"ba5da102_214aad26","updated":"2016-11-03 17:32:59.000000000","message":"Yes I am aware. Because this patch is dependent on the Meter Label client patch, I don\u0027t want to add another dependency to that patch laying the groundwork for the SDK refactor. \n\nWill create another patch dependent on this one to do the refactor.","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        attrs[\u0027remote_ip_prefix\u0027] \u003d parsed_args.remote_ip_prefix"},{"line_number":50,"context_line":"    if parsed_args.metering_label_id is not None:"},{"line_number":51,"context_line":"        attrs[\u0027metering_label_id\u0027] \u003d parsed_args.metering_label_id"},{"line_number":52,"context_line":"    if parsed_args.project is not None and \u0027project\u0027 in parsed_args:"},{"line_number":53,"context_line":"        identity_client \u003d client_manager.identity"},{"line_number":54,"context_line":"        project_id \u003d identity_common.find_project("},{"line_number":55,"context_line":"            identity_client,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_dfdaa84a","line":52,"range":{"start_line":52,"start_character":43,"end_line":52,"end_character":67},"updated":"2016-11-02 12:39:20.000000000","message":"\u0027project\u0027 is always in parsed_args","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        attrs[\u0027remote_ip_prefix\u0027] \u003d parsed_args.remote_ip_prefix"},{"line_number":50,"context_line":"    if parsed_args.metering_label_id is not None:"},{"line_number":51,"context_line":"        attrs[\u0027metering_label_id\u0027] \u003d parsed_args.metering_label_id"},{"line_number":52,"context_line":"    if parsed_args.project is not None and \u0027project\u0027 in parsed_args:"},{"line_number":53,"context_line":"        identity_client \u003d client_manager.identity"},{"line_number":54,"context_line":"        project_id \u003d identity_common.find_project("},{"line_number":55,"context_line":"            identity_client,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_e776c5a2","line":52,"range":{"start_line":52,"start_character":43,"end_line":52,"end_character":67},"in_reply_to":"ba5da102_dfdaa84a","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        )"},{"line_number":75,"context_line":"        identity_common.add_project_domain_option_to_parser(parser)"},{"line_number":76,"context_line":"        exclude_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":77,"context_line":"        exclude_group.add_argument("},{"line_number":78,"context_line":"            \u0027--exclude\u0027,"},{"line_number":79,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Exclude remote IP prefix from traffic count\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_0eb23894","line":77,"updated":"2016-11-02 12:39:20.000000000","message":"Is there a default option? Please add a \"(default)\" in the end of help message for the default option.","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        )"},{"line_number":75,"context_line":"        identity_common.add_project_domain_option_to_parser(parser)"},{"line_number":76,"context_line":"        exclude_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":77,"context_line":"        exclude_group.add_argument("},{"line_number":78,"context_line":"            \u0027--exclude\u0027,"},{"line_number":79,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Exclude remote IP prefix from traffic count\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_c75c611b","line":77,"in_reply_to":"ba5da102_0eb23894","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            help\u003d_(\"Include remote IP prefix from traffic count\")"},{"line_number":86,"context_line":"        )"},{"line_number":87,"context_line":"        direction_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":88,"context_line":"        direction_group.add_argument("},{"line_number":89,"context_line":"            \u0027--ingress\u0027,"},{"line_number":90,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":91,"context_line":"            help\u003d_(\"Apply rule to incoming network traffic\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_8e4ba886","line":88,"updated":"2016-11-02 12:39:20.000000000","message":"Is there a default option? Please add a \"(default)\" in the end of help message for the default option.","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            help\u003d_(\"Include remote IP prefix from traffic count\")"},{"line_number":86,"context_line":"        )"},{"line_number":87,"context_line":"        direction_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":88,"context_line":"        direction_group.add_argument("},{"line_number":89,"context_line":"            \u0027--ingress\u0027,"},{"line_number":90,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":91,"context_line":"            help\u003d_(\"Apply rule to incoming network traffic\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_a78f6d73","line":88,"in_reply_to":"ba5da102_8e4ba886","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        parser.add_argument("},{"line_number":99,"context_line":"            \u0027metering_label_id\u0027,"},{"line_number":100,"context_line":"            metavar\u003d\u0027\u003cmetering-label-id\u003e\u0027,"},{"line_number":101,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule (name or ID)\u0027),"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":"        parser.add_argument("},{"line_number":104,"context_line":"            \u0027remote_ip_prefix\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_6e2ad491","line":101,"range":{"start_line":101,"start_character":63,"end_line":101,"end_character":75},"updated":"2016-11-02 12:39:20.000000000","message":"The option name is \"metering_label_id\", can we really use \"(name or ID)\" here?","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        parser.add_argument("},{"line_number":99,"context_line":"            \u0027metering_label_id\u0027,"},{"line_number":100,"context_line":"            metavar\u003d\u0027\u003cmetering-label-id\u003e\u0027,"},{"line_number":101,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule (name or ID)\u0027),"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":"        parser.add_argument("},{"line_number":104,"context_line":"            \u0027remote_ip_prefix\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_a7e68d41","line":101,"range":{"start_line":101,"start_character":63,"end_line":101,"end_character":75},"in_reply_to":"ba5da102_6e2ad491","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule (name or ID)\u0027),"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":"        parser.add_argument("},{"line_number":104,"context_line":"            \u0027remote_ip_prefix\u0027,"},{"line_number":105,"context_line":"            metavar\u003d\u0027\u003cremote-ip-prefix\u003e\u0027,"},{"line_number":106,"context_line":"            help\u003d_(\u0027The remote IP prefix to associate with this rule\u0027),"},{"line_number":107,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_21cd4d85","line":104,"updated":"2016-11-02 12:39:20.000000000","message":"From the UX learning in Barcelona, I think you will need to leave only one positional option for this command, you could change this one as a required option \"--remote-ip-prefix\"","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule (name or ID)\u0027),"},{"line_number":102,"context_line":"        )"},{"line_number":103,"context_line":"        parser.add_argument("},{"line_number":104,"context_line":"            \u0027remote_ip_prefix\u0027,"},{"line_number":105,"context_line":"            metavar\u003d\u0027\u003cremote-ip-prefix\u003e\u0027,"},{"line_number":106,"context_line":"            help\u003d_(\u0027The remote IP prefix to associate with this rule\u0027),"},{"line_number":107,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_273a7de7","line":104,"in_reply_to":"ba5da102_21cd4d85","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class DeleteMeterLabelRule(command.Command):"},{"line_number":122,"context_line":"    \"\"\"Delete meter label rule\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def get_parser(self, prog_name):"},{"line_number":125,"context_line":"        parser \u003d super(DeleteMeterLabelRule, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_ffadac9b","line":122,"range":{"start_line":122,"start_character":26,"end_line":122,"end_character":30},"updated":"2016-11-02 12:39:20.000000000","message":"rule(s)","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class DeleteMeterLabelRule(command.Command):"},{"line_number":122,"context_line":"    \"\"\"Delete meter label rule\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    def get_parser(self, prog_name):"},{"line_number":125,"context_line":"        parser \u003d super(DeleteMeterLabelRule, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_e7d2455b","line":122,"range":{"start_line":122,"start_character":26,"end_line":122,"end_character":30},"in_reply_to":"ba5da102_ffadac9b","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            \u0027id\u0027,"},{"line_number":129,"context_line":"            metavar\u003d\u0027\u003cid\u003e\u0027,"},{"line_number":130,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":131,"context_line":"            help\u003d_(\u0027Meter label rule to delete (ID)\u0027)"},{"line_number":132,"context_line":"        )"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_213e2d28","line":131,"range":{"start_line":131,"start_character":47,"end_line":131,"end_character":51},"updated":"2016-11-02 12:39:20.000000000","message":"Is name accepted here? If not, \"(ID only)\" is more consistent with others command","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            \u0027id\u0027,"},{"line_number":129,"context_line":"            metavar\u003d\u0027\u003cid\u003e\u0027,"},{"line_number":130,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":131,"context_line":"            help\u003d_(\u0027Meter label rule to delete (ID)\u0027)"},{"line_number":132,"context_line":"        )"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_87498933","line":131,"range":{"start_line":131,"start_character":47,"end_line":131,"end_character":51},"in_reply_to":"ba5da102_213e2d28","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        if result \u003e 0:"},{"line_number":151,"context_line":"            total \u003d len(parsed_args.id)"},{"line_number":152,"context_line":"            msg \u003d (_(\"%(result)s of %(total)s meter labels failed \""},{"line_number":153,"context_line":"                   \"to delete.\") % {\"result\": result, \"total\": total})"},{"line_number":154,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":155,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_e4436311","line":152,"range":{"start_line":152,"start_character":46,"end_line":152,"end_character":58},"updated":"2016-11-02 12:39:20.000000000","message":"meter label rules?","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        if result \u003e 0:"},{"line_number":151,"context_line":"            total \u003d len(parsed_args.id)"},{"line_number":152,"context_line":"            msg \u003d (_(\"%(result)s of %(total)s meter labels failed \""},{"line_number":153,"context_line":"                   \"to delete.\") % {\"result\": result, \"total\": total})"},{"line_number":154,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":155,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_c74f0132","line":152,"range":{"start_line":152,"start_character":46,"end_line":152,"end_character":58},"in_reply_to":"ba5da102_e4436311","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"be9403c781eeb2921091db1eb08a28a6b6967615","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        parser.add_argument("},{"line_number":188,"context_line":"            \u0027meter_label_rule\u0027,"},{"line_number":189,"context_line":"            metavar\u003d\u0027\u003cmeter-label-rule\u003e\u0027,"},{"line_number":190,"context_line":"            help\u003d_(\u0027Meter label rule (name or ID)\u0027)"},{"line_number":191,"context_line":"        )"},{"line_number":192,"context_line":"        return parser"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_3f12c457","line":190,"range":{"start_line":190,"start_character":38,"end_line":190,"end_character":42},"updated":"2016-11-02 12:39:20.000000000","message":"Is name accepted here? If yes, I think the delete command can also accept the name but not ID only","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3e34695a86340ddd85883149d5441ba88b68002f","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        parser.add_argument("},{"line_number":188,"context_line":"            \u0027meter_label_rule\u0027,"},{"line_number":189,"context_line":"            metavar\u003d\u0027\u003cmeter-label-rule\u003e\u0027,"},{"line_number":190,"context_line":"            help\u003d_(\u0027Meter label rule (name or ID)\u0027)"},{"line_number":191,"context_line":"        )"},{"line_number":192,"context_line":"        return parser"},{"line_number":193,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5da102_c7fd41b2","line":190,"range":{"start_line":190,"start_character":38,"end_line":190,"end_character":42},"in_reply_to":"ba5da102_3f12c457","updated":"2016-11-03 17:32:59.000000000","message":"Done","commit_id":"d24afca809eef062f00545b3ec7cfe9ebc78f079"}],"openstackclient/network/v2/meter_rule.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"df9bdb65ef188f8ba98c1ca3df3626460721fdda","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":95,"context_line":"            help\u003d_(\u0027Apply rule to outgoing network traffic\u0027)"},{"line_number":96,"context_line":"        )"},{"line_number":97,"context_line":"        parser.add_argument("},{"line_number":98,"context_line":"            \u0027meter_id\u0027,"},{"line_number":99,"context_line":"            metavar\u003d\u0027\u003cmeter-id\u003e\u0027,"},{"line_number":100,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_e5038eb6","line":97,"updated":"2017-01-11 11:33:35.000000000","message":"Could you move a positional option to the last?\nIt looks odd that positional option and -- style options are placed in the mixed order.","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3ed5514016f05010ee577f28cad727970ef08379","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":95,"context_line":"            help\u003d_(\u0027Apply rule to outgoing network traffic\u0027)"},{"line_number":96,"context_line":"        )"},{"line_number":97,"context_line":"        parser.add_argument("},{"line_number":98,"context_line":"            \u0027meter_id\u0027,"},{"line_number":99,"context_line":"            metavar\u003d\u0027\u003cmeter-id\u003e\u0027,"},{"line_number":100,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule\u0027),"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_1801bb38","line":97,"in_reply_to":"ba5201f7_e5038eb6","updated":"2017-01-11 19:50:04.000000000","message":"Done","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"df9bdb65ef188f8ba98c1ca3df3626460721fdda","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        parser.add_argument("},{"line_number":98,"context_line":"            \u0027meter_id\u0027,"},{"line_number":99,"context_line":"            metavar\u003d\u0027\u003cmeter-id\u003e\u0027,"},{"line_number":100,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule\u0027),"},{"line_number":101,"context_line":"        )"},{"line_number":102,"context_line":"        parser.add_argument("},{"line_number":103,"context_line":"            \u0027--remote-ip-prefix\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_c51bea1a","line":100,"updated":"2017-01-11 11:33:35.000000000","message":"meter has \u0027name\u0027 field. Could you accept a meter name too?","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3ed5514016f05010ee577f28cad727970ef08379","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        parser.add_argument("},{"line_number":98,"context_line":"            \u0027meter_id\u0027,"},{"line_number":99,"context_line":"            metavar\u003d\u0027\u003cmeter-id\u003e\u0027,"},{"line_number":100,"context_line":"            help\u003d_(\u0027Label to associate with this metering rule\u0027),"},{"line_number":101,"context_line":"        )"},{"line_number":102,"context_line":"        parser.add_argument("},{"line_number":103,"context_line":"            \u0027--remote-ip-prefix\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_38faff43","line":100,"in_reply_to":"ba5201f7_c51bea1a","updated":"2017-01-11 19:50:04.000000000","message":"Done","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"eec8fd5f2de43b6c254924e047dc566ae3a0d101","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#   under the License."},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"\"\"\"Metering Label Rule Implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_5c18901e","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":22},"updated":"2017-01-11 22:12:05.000000000","message":"Meter Rule?","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#   under the License."},{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"\"\"\"Metering Label Rule Implementations\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_12c6ef99","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":22},"in_reply_to":"ba5201f7_5c18901e","updated":"2017-01-11 23:04:29.000000000","message":"Done","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"eec8fd5f2de43b6c254924e047dc566ae3a0d101","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class CreateMeterRule(command.ShowOne):"},{"line_number":64,"context_line":"    \"\"\"Create a new meter rule\"\"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def get_parser(self, prog_name):"},{"line_number":67,"context_line":"        parser \u003d super(CreateMeterRule, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_197e1a19","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":33},"updated":"2017-01-11 22:12:05.000000000","message":"General comment for the doc:\n\n_description \u003d","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class CreateMeterRule(command.ShowOne):"},{"line_number":64,"context_line":"    \"\"\"Create a new meter rule\"\"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def get_parser(self, prog_name):"},{"line_number":67,"context_line":"        parser \u003d super(CreateMeterRule, self).get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_32c3f38a","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":33},"in_reply_to":"ba5201f7_197e1a19","updated":"2017-01-11 23:04:29.000000000","message":"Done","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"eec8fd5f2de43b6c254924e047dc566ae3a0d101","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        if result \u003e 0:"},{"line_number":154,"context_line":"            total \u003d len(parsed_args.id)"},{"line_number":155,"context_line":"            msg \u003d (_(\"%(result)s of %(total)s meter rules failed \""},{"line_number":156,"context_line":"                   \"to delete.\") % {\"result\": result, \"total\": total})"},{"line_number":157,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_99320a0f","line":156,"updated":"2017-01-11 22:12:05.000000000","message":"indentation","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        if result \u003e 0:"},{"line_number":154,"context_line":"            total \u003d len(parsed_args.id)"},{"line_number":155,"context_line":"            msg \u003d (_(\"%(result)s of %(total)s meter rules failed \""},{"line_number":156,"context_line":"                   \"to delete.\") % {\"result\": result, \"total\": total})"},{"line_number":157,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_72b9fb14","line":156,"in_reply_to":"ba5201f7_99320a0f","updated":"2017-01-11 23:04:29.000000000","message":"keeps going back and forth :|","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"}],"openstackclient/network/v2/network_meter_rule.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9fa0d08e4b431683412c8881e8dd400985ebc635","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5a3905b3_6da67a54","updated":"2017-01-23 03:35:48.000000000","message":"The module path is under network.v2, so I think \"meter_rule.py\" is good as a finename.","commit_id":"5caac0e5634fd65e2f635b724f00461eaebd58bf"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ebbef797736f0089dffa515bfb46bafd7b223a35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"3a461143_14e2dfd5","in_reply_to":"5a3905b3_6da67a54","updated":"2017-01-25 22:57:37.000000000","message":"this is fine, i think, it matches the \u0027resource\u0027 name","commit_id":"5caac0e5634fd65e2f635b724f00461eaebd58bf"}],"openstackclient/tests/unit/network/v2/fakes.py":[{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"45c9cb3115656821dc9382ef6516d297f5172d7e","unresolved":false,"context_lines":[{"line_number":1249,"context_line":"        return meter_label_rule"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":"    @staticmethod"},{"line_number":1252,"context_line":"    def create_meter_label_rule(attrs\u003dNone, count\u003d2):"},{"line_number":1253,"context_line":"        \"\"\"Create multiple meter label rules\"\"\""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"        meter_label_rules \u003d []"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_6647d2bb","line":1252,"range":{"start_line":1252,"start_character":8,"end_line":1252,"end_character":31},"updated":"2016-10-22 00:10:53.000000000","message":"nit: create_meter_label_rules ?","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"babe33f530667e6d32fe79d4240fdd44147c9146","unresolved":false,"context_lines":[{"line_number":1249,"context_line":"        return meter_label_rule"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":"    @staticmethod"},{"line_number":1252,"context_line":"    def create_meter_label_rule(attrs\u003dNone, count\u003d2):"},{"line_number":1253,"context_line":"        \"\"\"Create multiple meter label rules\"\"\""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"        meter_label_rules \u003d []"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_a0ba80be","line":1252,"in_reply_to":"da6895a0_6647d2bb","updated":"2016-10-25 09:03:36.000000000","message":"FWIW, we rarely use plural forms in OSC.  This isn\u0027t a blocking thing, but our convention is (almost) everything is singular","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3f6bf15ee33c4200aacd9e89f3e74b124c929282","unresolved":false,"context_lines":[{"line_number":1249,"context_line":"        return meter_label_rule"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":"    @staticmethod"},{"line_number":1252,"context_line":"    def create_meter_label_rule(attrs\u003dNone, count\u003d2):"},{"line_number":1253,"context_line":"        \"\"\"Create multiple meter label rules\"\"\""},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"        meter_label_rules \u003d []"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_545f98e4","line":1252,"in_reply_to":"da6895a0_a0ba80be","updated":"2016-10-25 22:41:10.000000000","message":"Leaving as is then. Keeping singular","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"45c9cb3115656821dc9382ef6516d297f5172d7e","unresolved":false,"context_lines":[{"line_number":1259,"context_line":"        return meter_label_rules"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"    @staticmethod"},{"line_number":1262,"context_line":"    def get_meter_label_rule(meter_label_rule\u003dNone, count\u003d2):"},{"line_number":1263,"context_line":"        \"\"\"Get a list of meter label rules\"\"\""},{"line_number":1264,"context_line":"        if meter_label_rule is None:"},{"line_number":1265,"context_line":"            meter_label_rule \u003d (FakeNetworkMeterLabelRule."}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_a6172aa2","line":1262,"range":{"start_line":1262,"start_character":8,"end_line":1262,"end_character":29},"updated":"2016-10-22 00:10:53.000000000","message":"ditto","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"eec8fd5f2de43b6c254924e047dc566ae3a0d101","unresolved":false,"context_lines":[{"line_number":1318,"context_line":"            \u0027metering_label_id\u0027: \u0027meter-label-id-\u0027 + uuid.uuid4().hex,"},{"line_number":1319,"context_line":"            \u0027remote_ip_prefix\u0027: \u002710.0.0.0/24\u0027,"},{"line_number":1320,"context_line":"            \u0027tenant_id\u0027: \u0027project-id-\u0027 + uuid.uuid4().hex,"},{"line_number":1321,"context_line":"            \u0027shared\u0027: True,"},{"line_number":1322,"context_line":"        }"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        meter_rule_attrs.update(attrs)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_dc6ba0b7","line":1321,"range":{"start_line":1321,"start_character":13,"end_line":1321,"end_character":19},"updated":"2017-01-11 22:12:05.000000000","message":"is this a meter rule attr?","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"bb9e4e90ff77ba1079ede48b2c0849072ec8e559","unresolved":false,"context_lines":[{"line_number":1318,"context_line":"            \u0027metering_label_id\u0027: \u0027meter-label-id-\u0027 + uuid.uuid4().hex,"},{"line_number":1319,"context_line":"            \u0027remote_ip_prefix\u0027: \u002710.0.0.0/24\u0027,"},{"line_number":1320,"context_line":"            \u0027tenant_id\u0027: \u0027project-id-\u0027 + uuid.uuid4().hex,"},{"line_number":1321,"context_line":"            \u0027shared\u0027: True,"},{"line_number":1322,"context_line":"        }"},{"line_number":1323,"context_line":""},{"line_number":1324,"context_line":"        meter_rule_attrs.update(attrs)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba5201f7_92381fa2","line":1321,"range":{"start_line":1321,"start_character":13,"end_line":1321,"end_character":19},"in_reply_to":"ba5201f7_dc6ba0b7","updated":"2017-01-11 23:04:29.000000000","message":"it is not. Good catch","commit_id":"3c0cc377a6fe213a60377a442a0f729c6e24d9a0"}],"openstackclient/tests/unit/network/v2/test_meter_label_rule.py":[{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b4a7e2200703d8055030ca833cb156299b5af33","unresolved":false,"context_lines":[{"line_number":122,"context_line":"class TestDeleteMeterLabelRule(TestMeterLabelRule):"},{"line_number":123,"context_line":"    def setUp(self):"},{"line_number":124,"context_line":"        super(TestDeleteMeterLabelRule, self).setUp()"},{"line_number":125,"context_line":"        self.label_rule_list \u003d \\"},{"line_number":126,"context_line":"            network_fakes.FakeNetworkMeterLabelRule.create_meter_label_rule("},{"line_number":127,"context_line":"                count\u003d2"},{"line_number":128,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_7514c843","line":125,"range":{"start_line":125,"start_character":31,"end_line":125,"end_character":32},"updated":"2016-10-24 04:15:18.000000000","message":"nit: this is used only in import statements.","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3f6bf15ee33c4200aacd9e89f3e74b124c929282","unresolved":false,"context_lines":[{"line_number":122,"context_line":"class TestDeleteMeterLabelRule(TestMeterLabelRule):"},{"line_number":123,"context_line":"    def setUp(self):"},{"line_number":124,"context_line":"        super(TestDeleteMeterLabelRule, self).setUp()"},{"line_number":125,"context_line":"        self.label_rule_list \u003d \\"},{"line_number":126,"context_line":"            network_fakes.FakeNetworkMeterLabelRule.create_meter_label_rule("},{"line_number":127,"context_line":"                count\u003d2"},{"line_number":128,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_7462dcae","line":125,"in_reply_to":"da6895a0_40ac4434","updated":"2016-10-25 22:41:10.000000000","message":"leaving the same","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"babe33f530667e6d32fe79d4240fdd44147c9146","unresolved":false,"context_lines":[{"line_number":122,"context_line":"class TestDeleteMeterLabelRule(TestMeterLabelRule):"},{"line_number":123,"context_line":"    def setUp(self):"},{"line_number":124,"context_line":"        super(TestDeleteMeterLabelRule, self).setUp()"},{"line_number":125,"context_line":"        self.label_rule_list \u003d \\"},{"line_number":126,"context_line":"            network_fakes.FakeNetworkMeterLabelRule.create_meter_label_rule("},{"line_number":127,"context_line":"                count\u003d2"},{"line_number":128,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_40ac4434","line":125,"in_reply_to":"da6895a0_7514c843","updated":"2016-10-25 09:03:36.000000000","message":"true, but here the only other way to get this down to 80 chars is to do an intermediate assignment to a short variable name, and I think that is harder to read than the simple continuation line.","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b4a7e2200703d8055030ca833cb156299b5af33","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":"        self.network.delete_metering_label_rule \u003d mock.Mock(return_value\u003dNone)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.network.find_metering_label_rule \u003d network_fakes \\"},{"line_number":132,"context_line":"            .FakeNetworkMeterLabelRule.get_meter_label_rule("},{"line_number":133,"context_line":"                meter_label_rule\u003dself.label_rule_list"},{"line_number":134,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_950f9c2d","line":131,"range":{"start_line":131,"start_character":62,"end_line":131,"end_character":63},"updated":"2016-10-24 04:15:18.000000000","message":"ditto","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3f6bf15ee33c4200aacd9e89f3e74b124c929282","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":"        self.network.delete_metering_label_rule \u003d mock.Mock(return_value\u003dNone)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        self.network.find_metering_label_rule \u003d network_fakes \\"},{"line_number":132,"context_line":"            .FakeNetworkMeterLabelRule.get_meter_label_rule("},{"line_number":133,"context_line":"                meter_label_rule\u003dself.label_rule_list"},{"line_number":134,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_94593001","line":131,"range":{"start_line":131,"start_character":62,"end_line":131,"end_character":63},"in_reply_to":"da6895a0_950f9c2d","updated":"2016-10-25 22:41:10.000000000","message":"leaving the same","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b4a7e2200703d8055030ca833cb156299b5af33","unresolved":false,"context_lines":[{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"class TestListMeterLabelRule(TestMeterLabelRule):"},{"line_number":214,"context_line":"    label_rule_list \u003d \\"},{"line_number":215,"context_line":"        network_fakes.FakeNetworkMeterLabelRule.create_meter_label_rule("},{"line_number":216,"context_line":"            count\u003d2"},{"line_number":217,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_d519147b","line":214,"range":{"start_line":214,"start_character":21,"end_line":214,"end_character":23},"updated":"2016-10-24 04:15:18.000000000","message":"ditto","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"},{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"1b4a7e2200703d8055030ca833cb156299b5af33","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        self.cmd \u003d meter_label_rule.ShowMeterLabelRule(self.app,"},{"line_number":287,"context_line":"                                                       self.namespace)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        self.network.find_metering_label_rule \u003d \\"},{"line_number":290,"context_line":"            mock.Mock(return_value\u003dself.new_label_rule)"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"    def test_show_no_options(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"da6895a0_f52618b9","line":289,"range":{"start_line":289,"start_character":48,"end_line":289,"end_character":49},"updated":"2016-10-24 04:15:18.000000000","message":"ditto","commit_id":"82106f197e1958e57dd34c8e2eca78b4f0b6b1ac"}],"setup.cfg":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"df9bdb65ef188f8ba98c1ca3df3626460721fdda","unresolved":false,"context_lines":[{"line_number":374,"context_line":"    network_meter_rule_create \u003d openstackclient.network.v2.meter_rule:CreateMeterRule"},{"line_number":375,"context_line":"    network_meter_rule_delete \u003d openstackclient.network.v2.meter_rule:DeleteMeterRule"},{"line_number":376,"context_line":"    network_meter_rule_list \u003d openstackclient.network.v2.meter_rule:ListMeterRule"},{"line_number":377,"context_line":"    network_meter_rule_show \u003d openstackclient.network.v2.meter_rule:ShowMeterRule"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    network_qos_policy_create \u003d openstackclient.network.v2.network_qos_policy:CreateNetworkQosPolicy"},{"line_number":380,"context_line":"    network_qos_policy_delete \u003d openstackclient.network.v2.network_qos_policy:DeleteNetworkQosPolicy"}],"source_content_type":"text/x-ttcn-cfg","patch_set":11,"id":"ba5201f7_45a45ab8","line":377,"updated":"2017-01-11 11:33:35.000000000","message":"Could you move these line next to \u0027network meter xxxx\u0027?","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"3ed5514016f05010ee577f28cad727970ef08379","unresolved":false,"context_lines":[{"line_number":374,"context_line":"    network_meter_rule_create \u003d openstackclient.network.v2.meter_rule:CreateMeterRule"},{"line_number":375,"context_line":"    network_meter_rule_delete \u003d openstackclient.network.v2.meter_rule:DeleteMeterRule"},{"line_number":376,"context_line":"    network_meter_rule_list \u003d openstackclient.network.v2.meter_rule:ListMeterRule"},{"line_number":377,"context_line":"    network_meter_rule_show \u003d openstackclient.network.v2.meter_rule:ShowMeterRule"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    network_qos_policy_create \u003d openstackclient.network.v2.network_qos_policy:CreateNetworkQosPolicy"},{"line_number":380,"context_line":"    network_qos_policy_delete \u003d openstackclient.network.v2.network_qos_policy:DeleteNetworkQosPolicy"}],"source_content_type":"text/x-ttcn-cfg","patch_set":11,"id":"ba5201f7_d86f33fa","line":377,"in_reply_to":"ba5201f7_45a45ab8","updated":"2017-01-11 19:50:04.000000000","message":"Moved network_meter down so to keep a little bit of alphabetical order\n\nThanks","commit_id":"f96d065121d09fb2d1675cab1ab5ed56043bd1fa"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"9fa0d08e4b431683412c8881e8dd400985ebc635","unresolved":false,"context_lines":[{"line_number":371,"context_line":"    network_meter_list \u003d openstackclient.network.v2.meter:ListMeter"},{"line_number":372,"context_line":"    network_meter_show \u003d openstackclient.network.v2.meter:ShowMeter"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    network_meter_rule_create \u003d openstackclient.network.v2.network_meter_rule:CreateMeterRule"},{"line_number":375,"context_line":"    network_meter_rule_delete \u003d openstackclient.network.v2.network_meter_rule:DeleteMeterRule"},{"line_number":376,"context_line":"    network_meter_rule_list \u003d openstackclient.network.v2.network_meter_rule:ListMeterRule"},{"line_number":377,"context_line":"    network_meter_rule_show \u003d openstackclient.network.v2.network_meter_rule:ShowMeterRule"}],"source_content_type":"text/x-ttcn-cfg","patch_set":15,"id":"5a3905b3_8d9726eb","line":374,"range":{"start_line":374,"start_character":59,"end_line":374,"end_character":77},"updated":"2017-01-23 03:35:48.000000000","message":"we use meter.py for network meter (L.369), but network_meter_rule.py for network meter rule (here). It looks inconsistent. I think the module is placed under network.v2 module, so \u0027network_\u0027 prefix is not required.","commit_id":"5caac0e5634fd65e2f635b724f00461eaebd58bf"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ebbef797736f0089dffa515bfb46bafd7b223a35","unresolved":false,"context_lines":[{"line_number":371,"context_line":"    network_meter_list \u003d openstackclient.network.v2.meter:ListMeter"},{"line_number":372,"context_line":"    network_meter_show \u003d openstackclient.network.v2.meter:ShowMeter"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    network_meter_rule_create \u003d openstackclient.network.v2.network_meter_rule:CreateMeterRule"},{"line_number":375,"context_line":"    network_meter_rule_delete \u003d openstackclient.network.v2.network_meter_rule:DeleteMeterRule"},{"line_number":376,"context_line":"    network_meter_rule_list \u003d openstackclient.network.v2.network_meter_rule:ListMeterRule"},{"line_number":377,"context_line":"    network_meter_rule_show \u003d openstackclient.network.v2.network_meter_rule:ShowMeterRule"}],"source_content_type":"text/x-ttcn-cfg","patch_set":15,"id":"3a461143_543aa737","line":374,"range":{"start_line":374,"start_character":59,"end_line":374,"end_character":77},"in_reply_to":"5a3905b3_8d9726eb","updated":"2017-01-25 22:57:37.000000000","message":"not a big deal, but we should be consistent. end user shouldn\u0027t see any of this though","commit_id":"5caac0e5634fd65e2f635b724f00461eaebd58bf"}]}
