)]}'
{"designate/exceptions.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"class DomainMasterNotFound(NotFound):"},{"line_number":309,"context_line":"    error_type \u003d \u0027domain_attribute_not_found\u0027"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class DomainAttributeNotFound(NotFound):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_5cb9792d","line":309,"updated":"2015-08-10 14:11:25.000000000","message":"error_type string needs updating","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"class DomainMasterNotFound(NotFound):"},{"line_number":309,"context_line":"    error_type \u003d \u0027domain_attribute_not_found\u0027"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"class DomainAttributeNotFound(NotFound):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_b2c8b375","line":309,"in_reply_to":"1a4dcd0f_5cb9792d","updated":"2015-08-11 15:13:33.000000000","message":"Done","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"}],"designate/mdns/xfr.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def domain_sync(self, context, domain, servers\u003dNone):"},{"line_number":33,"context_line":"        servers \u003d servers or domain.masters"},{"line_number":34,"context_line":"        LOG.info(servers.to_list())"},{"line_number":35,"context_line":"        LOG.info(servers.to_data())"},{"line_number":36,"context_line":"        servers \u003d servers.to_data()"},{"line_number":37,"context_line":"        servers \u003d dnsutils.expand_servers(servers)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_fc7e4569","line":35,"updated":"2015-08-10 14:11:25.000000000","message":"Leftovers??","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def domain_sync(self, context, domain, servers\u003dNone):"},{"line_number":33,"context_line":"        servers \u003d servers or domain.masters"},{"line_number":34,"context_line":"        LOG.info(servers.to_list())"},{"line_number":35,"context_line":"        LOG.info(servers.to_data())"},{"line_number":36,"context_line":"        servers \u003d servers.to_data()"},{"line_number":37,"context_line":"        servers \u003d dnsutils.expand_servers(servers)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_7288eb22","line":35,"in_reply_to":"1a4dcd0f_fc7e4569","updated":"2015-08-11 15:13:33.000000000","message":"Done","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"e5cf0f2bb4e8315614230d88a2bdabb14c30fa51","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def domain_sync(self, context, domain, servers\u003dNone):"},{"line_number":33,"context_line":"        servers \u003d servers or domain.masters"},{"line_number":34,"context_line":"        servers \u003d servers.to_data()"},{"line_number":35,"context_line":"        servers \u003d dnsutils.expand_servers(servers)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        timeout \u003d cfg.CONF[\"service:mdns\"].xfr_timeout"},{"line_number":38,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_ffbd2968","line":35,"updated":"2015-08-13 12:20:19.000000000","message":"Isn\u0027t this just doing some needless conversions? better to just do servers.to_list() and skip the expand_servers?","commit_id":"ca47a1094d93421f90f840560de4d0e3d5c11925"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"619e27fb30397bf9107c7171f649ee4e31a62914","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def domain_sync(self, context, domain, servers\u003dNone):"},{"line_number":33,"context_line":"        servers \u003d servers or domain.masters"},{"line_number":34,"context_line":"        servers \u003d servers.to_data()"},{"line_number":35,"context_line":"        servers \u003d dnsutils.expand_servers(servers)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        timeout \u003d cfg.CONF[\"service:mdns\"].xfr_timeout"},{"line_number":38,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_2efa8143","line":35,"in_reply_to":"1a4dcd0f_ffbd2968","updated":"2015-08-14 11:13:58.000000000","message":"Done","commit_id":"ca47a1094d93421f90f840560de4d0e3d5c11925"}],"designate/objects/adapters/api_v2/domain_master.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def _parse_object(cls, value, object, *args, **kwargs):"},{"line_number":47,"context_line":"        if \u0027:\u0027 in value:"},{"line_number":48,"context_line":"            host, port \u003d value.split(\u0027:\u0027)"},{"line_number":49,"context_line":"            object.host \u003d host"},{"line_number":50,"context_line":"            object.port \u003d int(port)"},{"line_number":51,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_fc43a511","line":48,"updated":"2015-08-10 14:11:25.000000000","message":"Should probably use utils.split_host_port() here.","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            object.port \u003d int(port)"},{"line_number":51,"context_line":"        else:"},{"line_number":52,"context_line":"            object.host \u003d value"},{"line_number":53,"context_line":"            object.port \u003d 53"},{"line_number":54,"context_line":"        return object"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_7cc31558","line":53,"updated":"2015-08-10 14:11:25.000000000","message":"No need to cast or have the if/else when split_host_port used. Also solves the bug where someone spllies \"foo:bar:53\" and the split will raise an too many values to unpack exception.","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"}],"designate/objects/domain.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                    \"schema\", errors\u003derrors, object\u003dself)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            super(Domain, self).validate()"},{"line_number":191,"context_line":"        except exceptions.RelationNotLoaded:"},{"line_number":192,"context_line":"            errors \u003d ValidationErrorList()"},{"line_number":193,"context_line":"            e \u003d ValidationError()"},{"line_number":194,"context_line":"            e.path \u003d [\u0027type\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_9cd141fe","line":191,"updated":"2015-08-10 14:11:25.000000000","message":"Is masters the only reason exceptions.RelationNotLoaded can be raised? I\u0027m not sure I see where this would be raised. Won\u0027t we always have a (possibly empty) masters list?","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                    \"schema\", errors\u003derrors, object\u003dself)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            super(Domain, self).validate()"},{"line_number":191,"context_line":"        except exceptions.RelationNotLoaded:"},{"line_number":192,"context_line":"            errors \u003d ValidationErrorList()"},{"line_number":193,"context_line":"            e \u003d ValidationError()"},{"line_number":194,"context_line":"            e.path \u003d [\u0027type\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_742769b6","line":191,"in_reply_to":"1a4dcd0f_9cd141fe","updated":"2015-08-11 15:13:33.000000000","message":"Done","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"}],"designate/objects/domain_master.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def from_data(cls, data):"},{"line_number":45,"context_line":"        if \u0027:\u0027 in data:"},{"line_number":46,"context_line":"            host, port \u003d data.split(\u0027:\u0027)"},{"line_number":47,"context_line":"            port \u003d int(port)"},{"line_number":48,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_fc0e458b","line":45,"updated":"2015-08-10 14:11:25.000000000","message":"Again, we should use utils.split_host_and_port()","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def from_data(cls, data):"},{"line_number":45,"context_line":"        if \u0027:\u0027 in data:"},{"line_number":46,"context_line":"            host, port \u003d data.split(\u0027:\u0027)"},{"line_number":47,"context_line":"            port \u003d int(port)"},{"line_number":48,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_d21bffc8","line":45,"in_reply_to":"1a4dcd0f_fc0e458b","updated":"2015-08-11 15:13:33.000000000","message":"Done","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"}],"designate/schema/format.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":30,"context_line":"RE_DOMAINNAME \u003d r\u0027^(?!.{255,})(?:(?!\\-)[A-Za-z0-9_\\-]{1,63}(?\u003c!\\-)\\.)+\\Z\u0027"},{"line_number":31,"context_line":"RE_HOSTNAME \u003d r\u0027^(?!.{255,})(?:(?:^\\*|(?!\\-)[A-Za-z0-9_\\-]{1,63})(?\u003c!\\-)\\.)+\\Z\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"RE_NAMESERVER \u003d r\u0027^(?!.{255,})(?:(?!\\-)[A-Za-z0-9_\\-]{1,63}(?\u003c!\\-)\\.{0,1})+\\Z\u0027"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"RE_SRV_HOST_NAME \u003d r\u0027^(?:(?!\\-)(?:\\_[A-Za-z0-9_\\-]{1,63}\\.){2})(?!.{255,})\u0027 \\"},{"line_number":36,"context_line":"                   r\u0027(?:(?!\\-)[A-Za-z0-9_\\-]{1,63}(?\u003c!\\-)\\.)+\\Z\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_fc5c057f","line":33,"updated":"2015-08-10 14:11:25.000000000","message":"Why are we allowing with or without a trailing dot here?","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"@draft3_format_checker.checks(\"ip-or-host\")"},{"line_number":108,"context_line":"@draft4_format_checker.checks(\"ip-or-host\")"},{"line_number":109,"context_line":"def is_ip_or_host(instance):"},{"line_number":110,"context_line":"    if not isinstance(instance, compat.str_types):"},{"line_number":111,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_9c02a13d","line":108,"updated":"2015-08-10 14:11:25.000000000","message":"draft4 checks have all converged on names without hyphens...","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"@draft3_format_checker.checks(\"ip-or-host\")"},{"line_number":108,"context_line":"@draft4_format_checker.checks(\"ip-or-host\")"},{"line_number":109,"context_line":"def is_ip_or_host(instance):"},{"line_number":110,"context_line":"    if not isinstance(instance, compat.str_types):"},{"line_number":111,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_15c0717b","line":108,"in_reply_to":"1a4dcd0f_9c02a13d","updated":"2015-08-11 15:13:33.000000000","message":"that makes it impossible to read ... \n\nnot sure if following the lemmings off the cliff is worth it in this case ...","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    if not isinstance(instance, compat.str_types):"},{"line_number":111,"context_line":"        return True"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    if not re.match(RE_NAMESERVER, instance)\\"},{"line_number":114,"context_line":"            and not is_ipv4(instance)\\"},{"line_number":115,"context_line":"            and not is_ipv6(instance):"},{"line_number":116,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_fca16547","line":113,"updated":"2015-08-10 14:11:25.000000000","message":"Can we rename RE_NAMESERVER, if it\u0027s needed (see comment above) to match the test name?","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"}],"designate/storage/impl_sqlalchemy/__init__.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            if domain.type \u003d\u003d \u0027SECONDARY\u0027:"},{"line_number":235,"context_line":"                domain.attributes \u003d self._find_domain_attributes("},{"line_number":236,"context_line":"                    context, {\u0027domain_id\u0027: domain.id})"},{"line_number":237,"context_line":"                domain.obj_reset_changes([\u0027attributes\u0027])"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        if one:"},{"line_number":240,"context_line":"            _load_relations(domains)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_5c81798e","side":"PARENT","line":237,"updated":"2015-08-10 14:11:25.000000000","message":"We probably shouldn\u0027t have removed it? attributes still exist, just masters are no longer stored there.","commit_id":"92d54232f978677d946f623342cd3d25d3f776a8"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                domain.obj_reset_changes([\u0027masters\u0027])"},{"line_number":238,"context_line":"            else:"},{"line_number":239,"context_line":"                domain.masters \u003d objects.DomainMasterList()"},{"line_number":240,"context_line":"                domain.obj_reset_changes([\u0027masters\u0027])"},{"line_number":241,"context_line":"        if one:"},{"line_number":242,"context_line":"            _load_relations(domains)"},{"line_number":243,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_7c2a3592","line":240,"updated":"2015-08-10 14:11:25.000000000","message":"Is this if/else needed? Won\u0027t _find_domain_masters return an empty DomainMasterList object like the other _find_*s() methods?","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":484,"context_line":"                             marker\u003dNone, limit\u003dNone, sort_key\u003dNone,"},{"line_number":485,"context_line":"                             sort_dir\u003dNone):"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        criterion[\u0027key\u0027] \u003d \u0027master\u0027"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"        attribs \u003d self._find(context, tables.domain_attributes,"},{"line_number":490,"context_line":"                             objects.DomainAttribute,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_674b825a","line":487,"updated":"2015-08-10 14:11:25.000000000","message":"Should we update the domain_attribute methods to filter out masters? At least until we move these to their own table.","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":484,"context_line":"                             marker\u003dNone, limit\u003dNone, sort_key\u003dNone,"},{"line_number":485,"context_line":"                             sort_dir\u003dNone):"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"        criterion[\u0027key\u0027] \u003d \u0027master\u0027"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"        attribs \u003d self._find(context, tables.domain_attributes,"},{"line_number":490,"context_line":"                             objects.DomainAttribute,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_751215b6","line":487,"in_reply_to":"1a4dcd0f_674b825a","updated":"2015-08-11 15:13:33.000000000","message":"I don\u0027t think we need to yet ... we may need to in the future, but not now.","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"e5cf0f2bb4e8315614230d88a2bdabb14c30fa51","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                domain.masters \u003d self._find_domain_masters("},{"line_number":236,"context_line":"                    context, {\u0027domain_id\u0027: domain.id})"},{"line_number":237,"context_line":"            else:"},{"line_number":238,"context_line":"                domain.masters \u003d objects.DomainMasterList()"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"            domain.attributes \u003d self._find_domain_masters("},{"line_number":241,"context_line":"                context, {\u0027domain_id\u0027: domain.id})"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_8215ae40","line":238,"updated":"2015-08-13 12:20:19.000000000","message":"If there\u0027s another review, can we leave a note here saying the if/else is to skip the masters SQL query when it\u0027s not needed..","commit_id":"ca47a1094d93421f90f840560de4d0e3d5c11925"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"619e27fb30397bf9107c7171f649ee4e31a62914","unresolved":false,"context_lines":[{"line_number":235,"context_line":"                domain.masters \u003d self._find_domain_masters("},{"line_number":236,"context_line":"                    context, {\u0027domain_id\u0027: domain.id})"},{"line_number":237,"context_line":"            else:"},{"line_number":238,"context_line":"                domain.masters \u003d objects.DomainMasterList()"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"            domain.attributes \u003d self._find_domain_masters("},{"line_number":241,"context_line":"                context, {\u0027domain_id\u0027: domain.id})"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_0ec1c5e3","line":238,"in_reply_to":"1a4dcd0f_8215ae40","updated":"2015-08-14 11:13:58.000000000","message":"Done","commit_id":"ca47a1094d93421f90f840560de4d0e3d5c11925"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"e5cf0f2bb4e8315614230d88a2bdabb14c30fa51","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        else:"},{"line_number":273,"context_line":"            domain.masters \u003d objects.DomainMasterList()"},{"line_number":274,"context_line":"        domain.obj_reset_changes(\u0027attributes\u0027)"},{"line_number":275,"context_line":"        domain.obj_reset_changes(\u0027masters\u0027)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        return domain"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_22529a13","line":275,"updated":"2015-08-13 12:20:19.000000000","message":"This looks like a bug!  `domain.obj_reset_changes([\u0027masters\u0027, \u0027attributes\u0027])` would be correct.","commit_id":"ca47a1094d93421f90f840560de4d0e3d5c11925"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"619e27fb30397bf9107c7171f649ee4e31a62914","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        else:"},{"line_number":273,"context_line":"            domain.masters \u003d objects.DomainMasterList()"},{"line_number":274,"context_line":"        domain.obj_reset_changes(\u0027attributes\u0027)"},{"line_number":275,"context_line":"        domain.obj_reset_changes(\u0027masters\u0027)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        return domain"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_ceb67d88","line":275,"in_reply_to":"1a4dcd0f_22529a13","updated":"2015-08-14 11:13:58.000000000","message":"Done","commit_id":"ca47a1094d93421f90f840560de4d0e3d5c11925"}],"designate/tests/test_mdns/test_handler.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"dee9cca31c95ce57391476beb6f2bdebbe3e6a04","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        payload \u003d \"c38021000001000000000000076578616d706c6503636f6d0000060001\""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        master \u003d \"10.0.0.1\""},{"line_number":146,"context_line":"        domain \u003d self._get_secondary_domain({\"serial\": 123})"},{"line_number":147,"context_line":"        domain.masters \u003d objects.DomainMasterList.from_list("},{"line_number":148,"context_line":"            ["},{"line_number":149,"context_line":"                {\u0027host\u0027: master, \u0027port\u0027: 53}"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_a7966a92","line":146,"updated":"2015-08-10 14:11:25.000000000","message":"Can we update _get_secondary_domain to ensure masters is set? That way it\u0027s ready for anywhere we need it..","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"babb05d7f08ea595f3f29e8518f400eff8c832d1","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        payload \u003d \"c38021000001000000000000076578616d706c6503636f6d0000060001\""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        master \u003d \"10.0.0.1\""},{"line_number":146,"context_line":"        domain \u003d self._get_secondary_domain({\"serial\": 123})"},{"line_number":147,"context_line":"        domain.masters \u003d objects.DomainMasterList.from_list("},{"line_number":148,"context_line":"            ["},{"line_number":149,"context_line":"                {\u0027host\u0027: master, \u0027port\u0027: 53}"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a4dcd0f_eb93a159","line":146,"in_reply_to":"1a4dcd0f_a7966a92","updated":"2015-08-11 15:13:33.000000000","message":"Done","commit_id":"25a702a91dbb0d018e3383ee9e692b6c42e87c9c"}]}
