)]}'
{"designate/backend/impl_akamai_v2.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from designate import exceptions"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_66ef40b1","line":16,"updated":"2019-10-28 02:41:20.000000000","message":"We don\u0027t currently enforce this, but lets follow the general order for imports.\nhttps://docs.openstack.org/hacking/latest/user/hacking.html","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from designate import exceptions"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_5b52ee13","line":16,"in_reply_to":"3fa7e38b_66ef40b1","updated":"2019-10-30 16:06:11.000000000","message":"ok. I will do it. There is only one exception for requests, because in Alphabetically order it looks weird.","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import time"},{"line_number":24,"context_line":"from akamai.edgegrid import EdgeGridAuth"},{"line_number":25,"context_line":"try:"},{"line_number":26,"context_line":"    from urllib.parse import urlparse"},{"line_number":27,"context_line":"except ImportError:"},{"line_number":28,"context_line":"    from urlparse import urlparse"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_06368c52","line":26,"updated":"2019-10-28 02:41:20.000000000","message":"Probably just use six for this\n\u003e import six.moves.urllib.parse as urlparse\n\u003e urlparse.urljoin(self.baseurl, url_path)","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import time"},{"line_number":24,"context_line":"from akamai.edgegrid import EdgeGridAuth"},{"line_number":25,"context_line":"try:"},{"line_number":26,"context_line":"    from urllib.parse import urlparse"},{"line_number":27,"context_line":"except ImportError:"},{"line_number":28,"context_line":"    from urlparse import urlparse"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_00b8850e","line":26,"in_reply_to":"3fa7e38b_06368c52","updated":"2019-10-30 16:06:11.000000000","message":"Done. thx","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        body \u003d {"},{"line_number":73,"context_line":"            \"zone\": zone[\u0027name\u0027],"},{"line_number":74,"context_line":"            \"type\": \"secondary\","},{"line_number":75,"context_line":"            \"comment\": \"Created by Designate\","},{"line_number":76,"context_line":"            \"masters\": masters,"},{"line_number":77,"context_line":"        }"},{"line_number":78,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_e6ad7084","line":75,"updated":"2019-10-28 02:41:20.000000000","message":"Maybe adding project id and region could be helpful here? \"Created by Designate for Region X Tenant Y\"","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        body \u003d {"},{"line_number":73,"context_line":"            \"zone\": zone[\u0027name\u0027],"},{"line_number":74,"context_line":"            \"type\": \"secondary\","},{"line_number":75,"context_line":"            \"comment\": \"Created by Designate\","},{"line_number":76,"context_line":"            \"masters\": masters,"},{"line_number":77,"context_line":"        }"},{"line_number":78,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_3be37207","line":75,"in_reply_to":"3fa7e38b_e6ad7084","updated":"2019-10-30 16:06:11.000000000","message":"I will do it for Tenant, but I am not sure about Region, because I don\u0027t see such value in context. (may be it\u0027s a domain_id?)","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        # NOTE: ignore error about duplicate SZ in AKAMAI"},{"line_number":91,"context_line":"        if result.status_code \u003d\u003d 409 and result.reason \u003d\u003d \u0027Conflict\u0027:"},{"line_number":92,"context_line":"            msg \u003d \"Can\u0027t create zone %s because it already exists\""},{"line_number":93,"context_line":"            LOG.info(msg % payload[\u0027json\u0027][\u0027zone\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        elif not result.ok:"},{"line_number":96,"context_line":"            json_res \u003d result.json()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_86befcab","line":93,"updated":"2019-10-28 02:41:20.000000000","message":"Make logs lazy-loaded\n\u003e LOG.info(\"Can\u0027t create zone %s because it already exists\", payload[\u0027json\u0027][\u0027zone\u0027])","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        # NOTE: ignore error about duplicate SZ in AKAMAI"},{"line_number":91,"context_line":"        if result.status_code \u003d\u003d 409 and result.reason \u003d\u003d \u0027Conflict\u0027:"},{"line_number":92,"context_line":"            msg \u003d \"Can\u0027t create zone %s because it already exists\""},{"line_number":93,"context_line":"            LOG.info(msg % payload[\u0027json\u0027][\u0027zone\u0027])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        elif not result.ok:"},{"line_number":96,"context_line":"            json_res \u003d result.json()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_fbe87adf","line":93,"in_reply_to":"3fa7e38b_86befcab","updated":"2019-10-30 16:06:11.000000000","message":"done","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"                self.validate_deletion_is_complete(request_id)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if not (result.ok or result.status_code \u003d\u003d 404):"},{"line_number":131,"context_line":"            reason \u003d result.json().get(\u0027detail\u0027) or result.json()"},{"line_number":132,"context_line":"            raise exceptions.Backend("},{"line_number":133,"context_line":"                \u0027Zone deletion failed due to: %s\u0027 % reason)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_86a59ca1","line":130,"updated":"2019-10-28 02:41:20.000000000","message":"I think this might just be cleaner as\n\n\u003e if not result.ok or result.status_code !\u003d 404):","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"                self.validate_deletion_is_complete(request_id)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if not (result.ok or result.status_code \u003d\u003d 404):"},{"line_number":131,"context_line":"            reason \u003d result.json().get(\u0027detail\u0027) or result.json()"},{"line_number":132,"context_line":"            raise exceptions.Backend("},{"line_number":133,"context_line":"                \u0027Zone deletion failed due to: %s\u0027 % reason)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_bbcbe21b","line":130,"in_reply_to":"3fa7e38b_86a59ca1","updated":"2019-10-30 16:06:11.000000000","message":"Updated with minor change in your suggestion: error will be raised when (not result.ok) AND (result.status_code !\u003d 404).","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"eb6508d46f22eb28c8e4943aceceedc56e6ad5d6","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def gen_tsig_payload(self, target):"},{"line_number":67,"context_line":"        return {"},{"line_number":68,"context_line":"            \u0027name\u0027: target.options.get(\u0027tsig_key_name\u0027, None),"},{"line_number":69,"context_line":"            \u0027algorithm\u0027: target.options.get(\u0027tsig_key_algorithm\u0027, None),"},{"line_number":70,"context_line":"            \u0027secret\u0027: target.options.get(\u0027tsig_key_secret\u0027, None),"},{"line_number":71,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_fb17ecec","line":68,"updated":"2019-11-03 20:18:58.000000000","message":"Nit: No need to add None, as it\u0027s the default behavior of get to return None if not found.","commit_id":"884eefb1bf8de07d0e371949522ad948d0e81dbc"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"c8e77eab2baa645763427a4150b9d1c6e95596a9","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":30,"context_line":"CONF \u003d cfg.CONF"},{"line_number":31,"context_line":"CFG_GROUP_NAME \u003d \u0027backend:akamai_v2\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class AkamaiClient(object):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_efdcfc74","line":31,"updated":"2019-11-05 03:24:25.000000000","message":"I don\u0027t think you need this at all. This is just in case you have custom config under designate/conf/","commit_id":"fb0a4549b67392fd5f4931e270a16ee4286bbd2f"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"878adc3e352ce2f65c16c498431339af2cf1efac","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":30,"context_line":"CONF \u003d cfg.CONF"},{"line_number":31,"context_line":"CFG_GROUP_NAME \u003d \u0027backend:akamai_v2\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class AkamaiClient(object):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_b4e485a9","line":31,"in_reply_to":"3fa7e38b_efdcfc74","updated":"2019-11-17 11:09:26.000000000","message":"Done","commit_id":"fb0a4549b67392fd5f4931e270a16ee4286bbd2f"}],"requirements.txt":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":50,"context_line":"os-win\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":51,"context_line":"monasca-statsd\u003e\u003d1.1.0 # Apache-2.0"},{"line_number":52,"context_line":"futurist\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":53,"context_line":"edgegrid-python\u003d\u003d1.1.1"}],"source_content_type":"text/plain","patch_set":4,"id":"3fa7e38b_268f0824","line":53,"updated":"2019-10-28 02:41:20.000000000","message":"Is there a reason we need to lock it to 1.1.1? You should add that to lower-requirements.txt instead.","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":50,"context_line":"os-win\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":51,"context_line":"monasca-statsd\u003e\u003d1.1.0 # Apache-2.0"},{"line_number":52,"context_line":"futurist\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":53,"context_line":"edgegrid-python\u003d\u003d1.1.1"}],"source_content_type":"text/plain","patch_set":4,"id":"3fa7e38b_d630f3eb","line":53,"in_reply_to":"3fa7e38b_268f0824","updated":"2019-10-30 16:06:11.000000000","message":"Done, but could you please remind me should be this requirement placed to global-requirements or not?\nNew plugin will not work without this lib, so I have to add it requirementx.txt too for enabling it after installation.","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"f0b2258c5c0044aa179169ed89da9cf4e40c79e0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"os-win\u003e\u003d3.0.0 # Apache-2.0"},{"line_number":51,"context_line":"monasca-statsd\u003e\u003d1.1.0 # Apache-2.0"},{"line_number":52,"context_line":"futurist\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":53,"context_line":"edgegrid-python\u003d\u003d1.1.1"}],"source_content_type":"text/plain","patch_set":4,"id":"3fa7e38b_5fc6576a","line":53,"in_reply_to":"3fa7e38b_d630f3eb","updated":"2019-10-30 17:39:42.000000000","message":"It might be worth reaching out to the requirements team, because I am not sure to be perfectly honest.","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"}],"setup.cfg":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e0b088ce8b2785c15b250d91ede98a1b2ca209ba","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"designate.backend \u003d"},{"line_number":76,"context_line":"    bind9 \u003d designate.backend.impl_bind9:Bind9Backend"},{"line_number":77,"context_line":"    akamai_v2 \u003d designate.backend.impl_akamai_v2:AkamaiBackend"},{"line_number":78,"context_line":"    designate \u003d designate.backend.impl_designate:DesignateBackend"},{"line_number":79,"context_line":"    pdns4 \u003d designate.backend.impl_pdns4:PDNS4Backend"},{"line_number":80,"context_line":"    dynect \u003d designate.backend.impl_dynect:DynECTBackend"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"3fa7e38b_c69f144e","line":77,"updated":"2019-10-28 02:41:20.000000000","message":"Probably worth to put this just behind the current akamai driver.","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4cfbc8883600524f67cd4a83acc99ea456e045ec","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"designate.backend \u003d"},{"line_number":76,"context_line":"    bind9 \u003d designate.backend.impl_bind9:Bind9Backend"},{"line_number":77,"context_line":"    akamai_v2 \u003d designate.backend.impl_akamai_v2:AkamaiBackend"},{"line_number":78,"context_line":"    designate \u003d designate.backend.impl_designate:DesignateBackend"},{"line_number":79,"context_line":"    pdns4 \u003d designate.backend.impl_pdns4:PDNS4Backend"},{"line_number":80,"context_line":"    dynect \u003d designate.backend.impl_dynect:DynECTBackend"}],"source_content_type":"text/x-ttcn-cfg","patch_set":4,"id":"3fa7e38b_bbf4425c","line":77,"in_reply_to":"3fa7e38b_c69f144e","updated":"2019-10-30 16:06:11.000000000","message":"Done","commit_id":"adf0a9e44950016d180683e01436bfb7844993d2"}]}
