)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"fe47b33cb0d4974d69daf57c8411f14db06a8de1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bbc5b6c6_28993764","updated":"2026-04-10 11:54:07.000000000","message":"Thanks Stephen","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"5125e498d103beb74342160871aae6ea34cec859","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ccd896b0_98ff2e08","updated":"2026-04-16 09:16:29.000000000","message":"Hey Stephen, thanks for reviewing the patch. The designate patch is still on review and I am planning to merge it this release, sooner or later, depending on community feedback I will get. However the zone import fix could get merged right now, I will remove the depends-on label.","commit_id":"9ada96be4270da48e9d9973a189931fc8ee5e5f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6962db193c029e3a679a6449c71573c0d5c09526","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f7e48a87_62f1fcf4","updated":"2026-04-15 21:17:49.000000000","message":"recheck","commit_id":"9ada96be4270da48e9d9973a189931fc8ee5e5f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7641fcc03e5c657f7c08f8c083598d4c5927345","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e76c3692_50fbeb60","updated":"2026-04-16 11:41:06.000000000","message":"Dropping +W per Omer\u0027s comments (which I\u0027d missed previously)","commit_id":"840fcfa5b4e4d04639eb4fe5f98df3ca1d18a00e"}],"openstack/dns/v2/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e8fcbbf61b98571316d938fa614aba360c64eaac","unresolved":true,"context_lines":[{"line_number":310,"context_line":"            :class:`~openstack.dns.v2.zone_import.ZoneImport` instances."},{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        return self._list(_zone_import.ZoneImport, **query)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def create_zone_import("},{"line_number":315,"context_line":"        self, zone_file_content\u003dNone, attributes\u003dNone, **attrs"},{"line_number":316,"context_line":"    ):"},{"line_number":317,"context_line":"        \"\"\"Create a new zone import"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        :param str zone_file_content: The raw zonefile content to import"},{"line_number":320,"context_line":"            (bind9 format)."},{"line_number":321,"context_line":"        :param dict attributes: Zone attributes (e.g."},{"line_number":322,"context_line":"            ``{\"pool_id\": \"...\"}``) used for pool scheduling. When"},{"line_number":323,"context_line":"            provided together with *zone_file_content*, the request is"},{"line_number":324,"context_line":"            sent as ``application/json`` so that Designate can apply"},{"line_number":325,"context_line":"            the attributes during zone creation."},{"line_number":326,"context_line":"        :param dict attrs: Additional keyword arguments which will be used"},{"line_number":327,"context_line":"            to create a :class:`~openstack.dns.v2.zone_import.ZoneImport`,"},{"line_number":328,"context_line":"            comprised of the properties on the ZoneImport class."},{"line_number":329,"context_line":"        :returns: The results of zone creation."},{"line_number":330,"context_line":"        :rtype: :class:`~openstack.dns.v2.zone_import.ZoneImport`"},{"line_number":331,"context_line":"        \"\"\""},{"line_number":332,"context_line":"        if zone_file_content is not None:"},{"line_number":333,"context_line":"            attrs[\u0027zone_file_content\u0027] \u003d zone_file_content"},{"line_number":334,"context_line":"        if attributes is not None:"},{"line_number":335,"context_line":"            attrs[\u0027attributes\u0027] \u003d attributes"},{"line_number":336,"context_line":"        return self._create("},{"line_number":337,"context_line":"            _zone_import.ZoneImport, prepend_key\u003dFalse, **attrs"},{"line_number":338,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"ea85ac1a_d7df80d1","line":335,"range":{"start_line":313,"start_character":1,"end_line":335,"end_character":44},"updated":"2026-04-09 15:45:18.000000000","message":"Do we need these changes? I get the impression we could leave this as-is. We don\u0027t currently specify attributes in non-mandatory fields in proxy methods since we have no good mechanism to keep them in sync with the actual requirements.","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"fe47b33cb0d4974d69daf57c8411f14db06a8de1","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            :class:`~openstack.dns.v2.zone_import.ZoneImport` instances."},{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        return self._list(_zone_import.ZoneImport, **query)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def create_zone_import("},{"line_number":315,"context_line":"        self, zone_file_content\u003dNone, attributes\u003dNone, **attrs"},{"line_number":316,"context_line":"    ):"},{"line_number":317,"context_line":"        \"\"\"Create a new zone import"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        :param str zone_file_content: The raw zonefile content to import"},{"line_number":320,"context_line":"            (bind9 format)."},{"line_number":321,"context_line":"        :param dict attributes: Zone attributes (e.g."},{"line_number":322,"context_line":"            ``{\"pool_id\": \"...\"}``) used for pool scheduling. When"},{"line_number":323,"context_line":"            provided together with *zone_file_content*, the request is"},{"line_number":324,"context_line":"            sent as ``application/json`` so that Designate can apply"},{"line_number":325,"context_line":"            the attributes during zone creation."},{"line_number":326,"context_line":"        :param dict attrs: Additional keyword arguments which will be used"},{"line_number":327,"context_line":"            to create a :class:`~openstack.dns.v2.zone_import.ZoneImport`,"},{"line_number":328,"context_line":"            comprised of the properties on the ZoneImport class."},{"line_number":329,"context_line":"        :returns: The results of zone creation."},{"line_number":330,"context_line":"        :rtype: :class:`~openstack.dns.v2.zone_import.ZoneImport`"},{"line_number":331,"context_line":"        \"\"\""},{"line_number":332,"context_line":"        if zone_file_content is not None:"},{"line_number":333,"context_line":"            attrs[\u0027zone_file_content\u0027] \u003d zone_file_content"},{"line_number":334,"context_line":"        if attributes is not None:"},{"line_number":335,"context_line":"            attrs[\u0027attributes\u0027] \u003d attributes"},{"line_number":336,"context_line":"        return self._create("},{"line_number":337,"context_line":"            _zone_import.ZoneImport, prepend_key\u003dFalse, **attrs"},{"line_number":338,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ff595ec_870773ef","line":335,"range":{"start_line":313,"start_character":1,"end_line":335,"end_character":44},"in_reply_to":"ea85ac1a_d7df80d1","updated":"2026-04-10 11:54:07.000000000","message":"Oh ok, yeah. I will revert those, thanks.","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"}],"openstack/dns/v2/zone_import.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e8fcbbf61b98571316d938fa614aba360c64eaac","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    resource_key \u003d \u0027\u0027"},{"line_number":22,"context_line":"    resources_key \u003d \u0027imports\u0027"},{"line_number":23,"context_line":"    base_path \u003d \u0027/zones/tasks/imports\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # capabilities"},{"line_number":26,"context_line":"    allow_create \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"8cd0a58f_92aae842","line":23,"updated":"2026-04-09 15:45:18.000000000","message":"Can you do this fix in a separate precursor change so we can backport it?","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"fe47b33cb0d4974d69daf57c8411f14db06a8de1","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    resource_key \u003d \u0027\u0027"},{"line_number":22,"context_line":"    resources_key \u003d \u0027imports\u0027"},{"line_number":23,"context_line":"    base_path \u003d \u0027/zones/tasks/imports\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    # capabilities"},{"line_number":26,"context_line":"    allow_create \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"f6d64560_4228207d","line":23,"in_reply_to":"8cd0a58f_92aae842","updated":"2026-04-10 11:54:07.000000000","message":"Yes, will do.","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e8fcbbf61b98571316d938fa614aba360c64eaac","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    #: Version of the resource"},{"line_number":54,"context_line":"    version \u003d resource.Body(\u0027version\u0027, type\u003dint)"},{"line_number":55,"context_line":"    #: The raw zonefile content to import (bind9 format).  When set, the"},{"line_number":56,"context_line":"    #: request is sent as ``application/json`` together with any"},{"line_number":57,"context_line":"    #: *attributes*."},{"line_number":58,"context_line":"    zone_file_content \u003d resource.Body(\u0027zone_file_content\u0027)"},{"line_number":59,"context_line":"    #: ID for the zone that was created by this import"}],"source_content_type":"text/x-python","patch_set":1,"id":"a2f399b4_1d591022","line":56,"range":{"start_line":56,"start_character":7,"end_line":56,"end_character":46},"updated":"2026-04-09 15:45:18.000000000","message":"The `test_create_with_zone_file_content` test in the next file says otherwise?","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"fe47b33cb0d4974d69daf57c8411f14db06a8de1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    #: Version of the resource"},{"line_number":54,"context_line":"    version \u003d resource.Body(\u0027version\u0027, type\u003dint)"},{"line_number":55,"context_line":"    #: The raw zonefile content to import (bind9 format).  When set, the"},{"line_number":56,"context_line":"    #: request is sent as ``application/json`` together with any"},{"line_number":57,"context_line":"    #: *attributes*."},{"line_number":58,"context_line":"    zone_file_content \u003d resource.Body(\u0027zone_file_content\u0027)"},{"line_number":59,"context_line":"    #: ID for the zone that was created by this import"}],"source_content_type":"text/x-python","patch_set":1,"id":"15e946d7_d3f3b122","line":56,"range":{"start_line":56,"start_character":7,"end_line":56,"end_character":46},"in_reply_to":"a2f399b4_1d591022","updated":"2026-04-10 11:54:07.000000000","message":"Right, fixed, thanks.","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e8fcbbf61b98571316d938fa614aba360c64eaac","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        microversion \u003d self._get_microversion(session)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if self.zone_file_content and self.attributes:"},{"line_number":84,"context_line":"            # Send as JSON with zonefile content and attributes"},{"line_number":85,"context_line":"            body \u003d {"},{"line_number":86,"context_line":"                \u0027zonefile\u0027: self.zone_file_content,"},{"line_number":87,"context_line":"                \u0027attributes\u0027: self.attributes,"}],"source_content_type":"text/x-python","patch_set":1,"id":"efbde79e_3251345e","line":84,"updated":"2026-04-09 15:45:18.000000000","message":"Rather than doing this, can we call `super().create(...)` if these attributes are provided. Also, what happens if you only provide one of these but not the other?","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea4658efb4326b30046102d59cad9cd32d39f2c3","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        microversion \u003d self._get_microversion(session)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if self.zone_file_content and self.attributes:"},{"line_number":84,"context_line":"            # Send as JSON with zonefile content and attributes"},{"line_number":85,"context_line":"            body \u003d {"},{"line_number":86,"context_line":"                \u0027zonefile\u0027: self.zone_file_content,"},{"line_number":87,"context_line":"                \u0027attributes\u0027: self.attributes,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfacdf44_f19f58ca","line":84,"in_reply_to":"3607bba9_fac337cb","updated":"2026-04-10 14:48:39.000000000","message":"Done","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"fe47b33cb0d4974d69daf57c8411f14db06a8de1","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        microversion \u003d self._get_microversion(session)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        if self.zone_file_content and self.attributes:"},{"line_number":84,"context_line":"            # Send as JSON with zonefile content and attributes"},{"line_number":85,"context_line":"            body \u003d {"},{"line_number":86,"context_line":"                \u0027zonefile\u0027: self.zone_file_content,"},{"line_number":87,"context_line":"                \u0027attributes\u0027: self.attributes,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3607bba9_fac337cb","line":84,"in_reply_to":"efbde79e_3251345e","updated":"2026-04-10 11:54:07.000000000","message":"I will refactor to call super().create(...) when attributes are set.","commit_id":"0241488fbf42315bf4d4e65f2331fd7af8a85219"}]}
