)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36998,"name":"Ilia Baikov","display_name":"Ilia Baikov","email":"ilia.baikov@ib.systems","username":"frct1"},"change_message_id":"2bd6dff7b27c1efb16ef77d1d82b53822731516f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8e502a9a_ed3e7cd1","updated":"2024-04-28 15:17:01.000000000","message":"This is easiest workaround that could solve https://blueprints.launchpad.net/nova/+spec/dynamicjson-vendordata-cloud-config to helps vendors to provide cloud-config over DynamicJSON vendor data since it is already supported by cloud-init.","commit_id":"c582494170e66c4a35f7c9c0bd4018ce4720f4d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fb98e10b63a7181d9a11f0156e8cf76f67adad61","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"251c23cc_da910a11","updated":"2024-04-30 17:52:52.000000000","message":"this seams incorrect on multiple fronts.\n\nignoring the lack of test coverage it also changing the returned data type","commit_id":"87d8c3feb3d35a6b9bfaa44de75fb7417f0c4d0a"}],"nova/api/metadata/vendordata_dynamic.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fb98e10b63a7181d9a11f0156e8cf76f67adad61","unresolved":true,"context_lines":[{"line_number":77,"context_line":"                    \u0027boot-roles\u0027: self.instance.system_metadata.get("},{"line_number":78,"context_line":"                                      \u0027boot_roles\u0027, \u0027\u0027)}"},{"line_number":79,"context_line":"            headers \u003d {\u0027Content-Type\u0027: \u0027application/json\u0027,"},{"line_number":80,"context_line":"                       \u0027Accept\u0027: \u0027application/json\u0027,"},{"line_number":81,"context_line":"                       \u0027User-Agent\u0027: \u0027openstack-nova-vendordata\u0027}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"            # SSL verification"}],"source_content_type":"text/x-python","patch_set":2,"id":"c1d218ef_dc0bcff8","line":80,"updated":"2024-04-30 17:52:52.000000000","message":"the content type and accpet header is json\nso the boday should be valid json.\n\nif the venderdate backend is not providing all data in a json payload then the vendeor data backend is not complient with the http spec and is also not supproted by nova.","commit_id":"87d8c3feb3d35a6b9bfaa44de75fb7417f0c4d0a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fb98e10b63a7181d9a11f0156e8cf76f67adad61","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"            res \u003d self.session.request(url, \u0027POST\u0027, data\u003djsonutils.dumps(body),"},{"line_number":93,"context_line":"                                       verify\u003dverify, headers\u003dheaders,"},{"line_number":94,"context_line":"                                       timeout\u003dtimeout)"},{"line_number":95,"context_line":"            if res and res.text:"},{"line_number":96,"context_line":"                # TODO(frct1): Review the proposal"},{"line_number":97,"context_line":"                # dynamicjson-vendordata-cloud-config"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fda9574_7ecb7db1","line":94,"updated":"2024-04-30 17:52:52.000000000","message":"here we are makign a post to the vender data server and via the headers specifying the respocne should be in jason format.","commit_id":"87d8c3feb3d35a6b9bfaa44de75fb7417f0c4d0a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fb98e10b63a7181d9a11f0156e8cf76f67adad61","unresolved":true,"context_lines":[{"line_number":98,"context_line":"                # this brings cloud-init support"},{"line_number":99,"context_line":"                # using vendor_data2.json"},{"line_number":100,"context_line":"                if service_name \u003d\u003d \"cloud-init\":"},{"line_number":101,"context_line":"                    return res.text"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"                # TODO(mikal): Use the Cache-Control response header to do some"},{"line_number":104,"context_line":"                # sensible form of caching here."}],"source_content_type":"text/x-python","patch_set":2,"id":"bd7756ef_9c8bfe76","line":101,"updated":"2024-04-30 17:52:52.000000000","message":"without test coverage and an explation as to what you are tryign to enable im not sure we should be proceeedign with this change.\n\n\nthe effective change here is that instead of treating the content of a resonce as a json payload you are isntead trating it as plain text/\n\nthe return value of this function then changes form being a dict to being a  string which seams incorrect\n\n\ncan you provide an example of a request form your vendor data backend that does not work with the curent code.","commit_id":"87d8c3feb3d35a6b9bfaa44de75fb7417f0c4d0a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eb7b253ad92dc012206958f13c27984d4f85d085","unresolved":true,"context_lines":[{"line_number":98,"context_line":"                # this brings cloud-init support"},{"line_number":99,"context_line":"                # using vendor_data2.json"},{"line_number":100,"context_line":"                if service_name \u003d\u003d \"cloud-init\":"},{"line_number":101,"context_line":"                    return res.text"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"                # TODO(mikal): Use the Cache-Control response header to do some"},{"line_number":104,"context_line":"                # sensible form of caching here."}],"source_content_type":"text/x-python","patch_set":2,"id":"6c567227_3b679426","line":101,"in_reply_to":"bd7756ef_9c8bfe76","updated":"2024-04-30 18:53:25.000000000","message":"we are also dicussing this here https://github.com/canonical/cloud-init/issues/5221 and on irc.\n\nit looks like cloud-init added supprot for this but didnt quite get the format wrong\n\nit technially could be doable to make this work with the correct config and the correct impelation ofa vendor data api today but it not currently supported.","commit_id":"87d8c3feb3d35a6b9bfaa44de75fb7417f0c4d0a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fb98e10b63a7181d9a11f0156e8cf76f67adad61","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"                # TODO(mikal): Use the Cache-Control response header to do some"},{"line_number":104,"context_line":"                # sensible form of caching here."},{"line_number":105,"context_line":"                return jsonutils.loads(res.text)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"            return {}"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b769cb97_50989f9a","line":105,"updated":"2024-04-30 17:52:52.000000000","message":"the only reason this should not work is if res.text is not valid json which is something we require.","commit_id":"87d8c3feb3d35a6b9bfaa44de75fb7417f0c4d0a"}]}
