)]}'
{"contrib/devstack/lib/designate_plugins/backend-powerdns":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"5566a07c557fb9b30238fba0ae39a8ab89c47f95","unresolved":false,"context_lines":[{"line_number":56,"context_line":"function configure_designate_backend {"},{"line_number":57,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID type powerdns"},{"line_number":58,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID masters $DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_MDNS"},{"line_number":59,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID options \"connection: `database_connection_url designate_pdns`, host: $DESIGNATE_SERVICE_HOST, port: $DESIGNATE_SERVICE_PORT_DNS\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    # DevStack Managed PDNS NameServer"},{"line_number":62,"context_line":"    local nameserver_id\u003d`uuidgen`"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"7a016987_81ae147f","line":59,"updated":"2015-05-30 12:38:33.000000000","message":"Do we need a similar change for the InfoBlox/dynect/etc devstack plugins?","commit_id":"3ef07adb1ea512fc7e8acf6fcd7f09bbe32e99b4"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"69a5bc8317b2f29e921a5aaad4e535cf25a1d24f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"function configure_designate_backend {"},{"line_number":57,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID type powerdns"},{"line_number":58,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID masters $DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_MDNS"},{"line_number":59,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID options \"connection: `database_connection_url designate_pdns`, host: $DESIGNATE_SERVICE_HOST, port: $DESIGNATE_SERVICE_PORT_DNS\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    # DevStack Managed PDNS NameServer"},{"line_number":62,"context_line":"    local nameserver_id\u003d`uuidgen`"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"5afe65bd_68e73b13","line":59,"in_reply_to":"7a016987_81ae147f","updated":"2015-06-01 16:18:15.000000000","message":"Looks like:\n\n Infoblox - Yes\n DynECT - No, because it uses also_notifies (I think)\n Akamai - I\u0027m not sure, where are you sending the NOTIFY? Is it one to each of the Akamai nameservers?","commit_id":"3ef07adb1ea512fc7e8acf6fcd7f09bbe32e99b4"}],"designate/backend/agent.py":[{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"a169c24432ac10733032973fd2d0bccec2e4ab61","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        LOG.debug(\u0027Create Domain\u0027)"},{"line_number":58,"context_line":"        response, retry \u003d self._make_and_send_dns_message("},{"line_number":59,"context_line":"                              domain.name, self.timeout, 14,"},{"line_number":60,"context_line":"                              65282, 65280, self.host, self.port)"},{"line_number":61,"context_line":"        if response is None:"},{"line_number":62,"context_line":"            raise exceptions.Backend()"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_e1a63d52","line":60,"updated":"2015-06-08 20:16:42.000000000","message":"Small formatting suggestion. Not a deal breaker. \n\nSince you\u0027re already breaking the arguments onto another line, why go ahead an vertically align them all one level. \n\n    response, retry \u003d self._make_and_send_dns_message(\t\n        domain.name,\n        self.timeout,\n        14, 65282, 65280,\n        self.host,\n        self.port\n    )                              \n\nJust a  thought to make diffs easier in the future.","commit_id":"0a38fd4b891609a8e9ba550e875e8d7eb1771a67"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"733908cff723873cc1d525fa85b726ee94732727","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        LOG.debug(\u0027Create Domain\u0027)"},{"line_number":58,"context_line":"        response, retry \u003d self._make_and_send_dns_message("},{"line_number":59,"context_line":"                              domain.name, self.timeout, 14,"},{"line_number":60,"context_line":"                              65282, 65280, self.host, self.port)"},{"line_number":61,"context_line":"        if response is None:"},{"line_number":62,"context_line":"            raise exceptions.Backend()"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1af86dd1_83811f92","line":60,"in_reply_to":"3afb71cf_e1a63d52","updated":"2015-06-12 15:17:35.000000000","message":"I dig it.\nDone.","commit_id":"0a38fd4b891609a8e9ba550e875e8d7eb1771a67"},{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"a169c24432ac10733032973fd2d0bccec2e4ab61","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        LOG.debug(\u0027Delete Domain\u0027)"},{"line_number":73,"context_line":"        response, retry \u003d self._make_and_send_dns_message("},{"line_number":74,"context_line":"                              domain.name, self.timeout, 14,"},{"line_number":75,"context_line":"                              65283, 65280, self.host, self.port)"},{"line_number":76,"context_line":"        if response is None:"},{"line_number":77,"context_line":"            raise exceptions.Backend()"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3afb71cf_217455cd","line":75,"updated":"2015-06-08 20:16:42.000000000","message":"Should these 65* numbers be constants or attributes?","commit_id":"0a38fd4b891609a8e9ba550e875e8d7eb1771a67"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"733908cff723873cc1d525fa85b726ee94732727","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        LOG.debug(\u0027Delete Domain\u0027)"},{"line_number":73,"context_line":"        response, retry \u003d self._make_and_send_dns_message("},{"line_number":74,"context_line":"                              domain.name, self.timeout, 14,"},{"line_number":75,"context_line":"                              65283, 65280, self.host, self.port)"},{"line_number":76,"context_line":"        if response is None:"},{"line_number":77,"context_line":"            raise exceptions.Backend()"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1af86dd1_03440f72","line":75,"in_reply_to":"3afb71cf_217455cd","updated":"2015-06-12 15:17:35.000000000","message":"You bet they should.\ndone.","commit_id":"0a38fd4b891609a8e9ba550e875e8d7eb1771a67"}],"designate/backend/impl_bind9.py":[{"author":{"_account_id":4894,"name":"stanzgy","email":"stanzgy@gmail.com","username":"stanzgy"},"change_message_id":"95ef6a6565afa1b85f392ca73faab399c44d2c71","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        super(Bind9Backend, self).__init__(target)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        self.host \u003d self.options.get(\u0027host\u0027)"},{"line_number":36,"context_line":"        self.port \u003d int(self.options.get(\u0027port\u0027))"},{"line_number":37,"context_line":"        self.rndc_host \u003d self.options.get(\u0027rndc_host\u0027, \u0027127.0.0.1\u0027)"},{"line_number":38,"context_line":"        self.rndc_port \u003d int(self.options.get(\u0027rndc_port\u0027, 953))"},{"line_number":39,"context_line":"        self.rndc_config_file \u003d self.options.get(\u0027rndc_config_file\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a016987_b3ef5486","line":36,"range":{"start_line":36,"start_character":29,"end_line":36,"end_character":36},"updated":"2015-05-29 03:06:21.000000000","message":"same problem mentioned in impl_powerdns.py","commit_id":"26320f2b23d72b502809df232c0d5ef09212dcd9"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"5566a07c557fb9b30238fba0ae39a8ab89c47f95","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        self.mdns_api.notify_zone_changed("},{"line_number":75,"context_line":"            context, domain, self.host, self.port, self.timeout,"},{"line_number":76,"context_line":"            self.retry_interval, self.max_retries, self.delay)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def delete_domain(self, context, domain):"},{"line_number":79,"context_line":"        LOG.debug(\u0027Delete Domain\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a016987_41cdbc64","line":76,"updated":"2015-05-30 12:38:33.000000000","message":"Can we make this the default update_domain implementation in the base backend, rather than needing to copy+paste into each backend that uses the \"normal\" flow?","commit_id":"3ef07adb1ea512fc7e8acf6fcd7f09bbe32e99b4"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"69a5bc8317b2f29e921a5aaad4e535cf25a1d24f","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        self.mdns_api.notify_zone_changed("},{"line_number":75,"context_line":"            context, domain, self.host, self.port, self.timeout,"},{"line_number":76,"context_line":"            self.retry_interval, self.max_retries, self.delay)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def delete_domain(self, context, domain):"},{"line_number":79,"context_line":"        LOG.debug(\u0027Delete Domain\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5afe65bd_284943d1","line":76,"in_reply_to":"7a016987_41cdbc64","updated":"2015-06-01 16:18:15.000000000","message":"Good idea.","commit_id":"3ef07adb1ea512fc7e8acf6fcd7f09bbe32e99b4"}],"designate/backend/impl_powerdns/__init__.py":[{"author":{"_account_id":4894,"name":"stanzgy","email":"stanzgy@gmail.com","username":"stanzgy"},"change_message_id":"95ef6a6565afa1b85f392ca73faab399c44d2c71","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        super(PowerDNSBackend, self).__init__(target)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        self.host \u003d self.options.get(\u0027host\u0027)"},{"line_number":56,"context_line":"        self.port \u003d int(self.options.get(\u0027port\u0027))"},{"line_number":57,"context_line":"        self.local_store \u003d threading.local()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        default_connection \u003d \u0027sqlite:///%(state_path)s/powerdns.sqlite\u0027 % {"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a016987_33d36406","line":56,"updated":"2015-05-29 03:06:21.000000000","message":"I think we should set default value 53 for \u0027port\u0027 here.\nAnd option \u0027host\u0027 should be checked during initialization, raise error if not set. Or use default value nameserver.host in mdns, otherwise mdns._send_dns_message will get failed if \u0027host\u0027 is None.","commit_id":"26320f2b23d72b502809df232c0d5ef09212dcd9"},{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"ea2357592339de8f2a4b8a89807dc32572202a6f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        super(PowerDNSBackend, self).__init__(target)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        self.host \u003d self.options.get(\u0027host\u0027)"},{"line_number":56,"context_line":"        self.port \u003d int(self.options.get(\u0027port\u0027))"},{"line_number":57,"context_line":"        self.local_store \u003d threading.local()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        default_connection \u003d \u0027sqlite:///%(state_path)s/powerdns.sqlite\u0027 % {"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a016987_d5acdf89","line":56,"in_reply_to":"7a016987_33d36406","updated":"2015-05-29 15:51:32.000000000","message":"Set a default port 53, and host 127.0.0.1, good catch","commit_id":"26320f2b23d72b502809df232c0d5ef09212dcd9"}],"designate/mdns/rpcapi.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"b092e384418f8382fe716435914decf06ae5bf55","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        1.0 - Added notify_zone_changed and poll_for_serial_number."},{"line_number":36,"context_line":"        1.1 - Added get_serial_number."},{"line_number":37,"context_line":"        1.2 - Changed method signatures"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    XFR API version history:"},{"line_number":40,"context_line":"        1.0 - Added perform_zone_xfr."}],"source_content_type":"text/x-python","patch_set":10,"id":"1a4dcd0f_bf30b49f","line":37,"updated":"2015-08-10 12:59:29.000000000","message":"We\u0027ll need to bump this to 2.0, since it\u0027s a backwards incompatible change","commit_id":"2f836cbbbd79304824f3c61104e5bf5f7cdd91ad"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"56d1a993cf5df3595bcbe33032c2de7de14889ac","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                \"%(serial)s\u0027 on nameserver \u0027%(host)s:%(port)s\u0027\") %"},{"line_number":107,"context_line":"            {\u0027zone\u0027: domain.name, \u0027serial\u0027: domain.serial,"},{"line_number":108,"context_line":"             \u0027host\u0027: host, \u0027port\u0027: port})"},{"line_number":109,"context_line":"        cctxt \u003d self.notify_client.prepare(version\u003d\u00271.1\u0027)"},{"line_number":110,"context_line":"        return cctxt.call("},{"line_number":111,"context_line":"            context, \u0027get_serial_number\u0027, domain\u003ddomain,"},{"line_number":112,"context_line":"            host\u003dhost, port\u003dport, timeout\u003dtimeout,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a4dcd0f_1cf68cf9","line":109,"updated":"2015-08-10 15:07:21.000000000","message":"I believe the version\u003dfoo here now needs to be removed, as bumping to a new major version resets everything.. I think..","commit_id":"20b326618f5833e507f1c061093853961dee1cd2"}],"designate/pool_manager/service.py":[{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"d632194e97430d8d699090c0c22785707a9d44d4","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                    nameserver, domain, UPDATE_ACTION)"},{"line_number":346,"context_line":"                self.cache.store(context, update_status)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"            # self._update_domain_on_nameserver(context, nameserver, domain)"},{"line_number":349,"context_line":"            self.mdns_api.poll_for_serial_number("},{"line_number":350,"context_line":"                context, domain, nameserver, self.timeout,"},{"line_number":351,"context_line":"                self.retry_interval, self.max_retries, self.delay)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a4dcd0f_a569428e","line":348,"updated":"2015-08-11 15:22:13.000000000","message":"How about removing the commented out code.","commit_id":"b021bd6735c358b752040e0481be899e636fb7c5"},{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"d632194e97430d8d699090c0c22785707a9d44d4","unresolved":false,"context_lines":[{"line_number":348,"context_line":"            # self._update_domain_on_nameserver(context, nameserver, domain)"},{"line_number":349,"context_line":"            self.mdns_api.poll_for_serial_number("},{"line_number":350,"context_line":"                context, domain, nameserver, self.timeout,"},{"line_number":351,"context_line":"                self.retry_interval, self.max_retries, self.delay)"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    def _update_domain_on_target(self, context, target, domain):"},{"line_number":354,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1a4dcd0f_85c0c651","line":351,"updated":"2015-08-11 15:22:13.000000000","message":"The previous method feels more descriptive. It might be good to wrap the polling a better method name, or at the very least, leave a comment why you need to poll without paying attention to the result.","commit_id":"b021bd6735c358b752040e0481be899e636fb7c5"}]}
