)]}'
{".zuul.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcdf4573a400acc1b17e6652f88672b66a8c198a","unresolved":false,"context_lines":[{"line_number":387,"context_line":"#            # integration test jobs. Running only tempest and grenade"},{"line_number":388,"context_line":"#            # common jobs will be enough along with nova functional"},{"line_number":389,"context_line":"#            # and unit tests."},{"line_number":390,"context_line":"#            irrelevant-files: \u0026policies-irrelevant-files"},{"line_number":391,"context_line":"#              - ^api-.*$"},{"line_number":392,"context_line":"#              - ^(test-|)requirements.txt$"},{"line_number":393,"context_line":"#              - ^.*\\.rst$"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ff570b3c_c61e5f73","line":390,"updated":"2020-06-08 19:59:09.000000000","message":"this","commit_id":"ffd48655fe5222c29dc2b3c2f85102d760941d13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcdf4573a400acc1b17e6652f88672b66a8c198a","unresolved":false,"context_lines":[{"line_number":420,"context_line":"        - nova-tox-functional-py38"},{"line_number":421,"context_line":"        - nova-multi-cell"},{"line_number":422,"context_line":"        - nova-next"},{"line_number":423,"context_line":"        - tempest-integrated-compute:"},{"line_number":424,"context_line":"            irrelevant-files: *policies-irrelevant-files"},{"line_number":425,"context_line":"        - grenade:"},{"line_number":426,"context_line":"            irrelevant-files: *policies-irrelevant-files"},{"line_number":427,"context_line":"        - tempest-ipv6-only:"},{"line_number":428,"context_line":"            irrelevant-files: *dsvm-irrelevant-files"},{"line_number":429,"context_line":"        - openstacksdk-functional-devstack:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ff570b3c_262c7bab","line":426,"range":{"start_line":423,"start_character":7,"end_line":426,"end_character":56},"updated":"2020-06-08 19:59:09.000000000","message":"is used here","commit_id":"ffd48655fe5222c29dc2b3c2f85102d760941d13"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8bb2430582567b1a708fd8b7ecb6e44bd9afbcc4","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        post-config:"},{"line_number":336,"context_line":"          $GLANCE_CONF:"},{"line_number":337,"context_line":"            DEFAULT:"},{"line_number":338,"context_line":"              enabled_backends \u003d cheap:file, robust:rbd"},{"line_number":339,"context_line":"            glance_store:"},{"line_number":340,"context_line":"              default_backend \u003d cheap"},{"line_number":341,"context_line":"              stores \u003d file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff570b3c_998cbe2f","line":338,"range":{"start_line":338,"start_character":31,"end_line":338,"end_character":32},"updated":"2020-06-09 11:32:21.000000000","message":"sorry i missed this last night i guess i was tired.\n\nthe \u003d should be replaceed with a :","commit_id":"88883fae65abd592f4c83d96c127e079a86b0fe4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8bb2430582567b1a708fd8b7ecb6e44bd9afbcc4","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        post-config:"},{"line_number":336,"context_line":"          $GLANCE_CONF:"},{"line_number":337,"context_line":"            DEFAULT:"},{"line_number":338,"context_line":"              enabled_backends \u003d cheap:file, robust:rbd"},{"line_number":339,"context_line":"            glance_store:"},{"line_number":340,"context_line":"              default_backend \u003d cheap"},{"line_number":341,"context_line":"              stores \u003d file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff570b3c_39a772aa","line":338,"range":{"start_line":338,"start_character":33,"end_line":338,"end_character":55},"updated":"2020-06-09 11:32:21.000000000","message":"you also might need to quote this\n\"cheap:file, robust:rbd\"\n\nthe : in cheap:file\nlikely will break things but if you quote it it should be fine.","commit_id":"88883fae65abd592f4c83d96c127e079a86b0fe4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9a488ed847f9949159679c9f4e791465b765d2ff","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        post-config:"},{"line_number":336,"context_line":"          $GLANCE_CONF:"},{"line_number":337,"context_line":"            DEFAULT:"},{"line_number":338,"context_line":"              enabled_backends \u003d cheap:file, robust:rbd"},{"line_number":339,"context_line":"            glance_store:"},{"line_number":340,"context_line":"              default_backend \u003d cheap"},{"line_number":341,"context_line":"              stores \u003d file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff570b3c_ea87d311","line":338,"range":{"start_line":338,"start_character":33,"end_line":338,"end_character":55},"in_reply_to":"ff570b3c_39a772aa","updated":"2020-06-09 14:40:56.000000000","message":"Done","commit_id":"88883fae65abd592f4c83d96c127e079a86b0fe4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9a488ed847f9949159679c9f4e791465b765d2ff","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        post-config:"},{"line_number":336,"context_line":"          $GLANCE_CONF:"},{"line_number":337,"context_line":"            DEFAULT:"},{"line_number":338,"context_line":"              enabled_backends \u003d cheap:file, robust:rbd"},{"line_number":339,"context_line":"            glance_store:"},{"line_number":340,"context_line":"              default_backend \u003d cheap"},{"line_number":341,"context_line":"              stores \u003d file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff570b3c_8a99f77a","line":338,"range":{"start_line":338,"start_character":31,"end_line":338,"end_character":32},"in_reply_to":"ff570b3c_998cbe2f","updated":"2020-06-09 14:40:56.000000000","message":"Yeah this is because I pasted by config in here and forgot to clean it up :)","commit_id":"88883fae65abd592f4c83d96c127e079a86b0fe4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8bb2430582567b1a708fd8b7ecb6e44bd9afbcc4","unresolved":false,"context_lines":[{"line_number":337,"context_line":"            DEFAULT:"},{"line_number":338,"context_line":"              enabled_backends \u003d cheap:file, robust:rbd"},{"line_number":339,"context_line":"            glance_store:"},{"line_number":340,"context_line":"              default_backend \u003d cheap"},{"line_number":341,"context_line":"              stores \u003d file, http, rbd"},{"line_number":342,"context_line":"              default_store \u003d file"},{"line_number":343,"context_line":"            robust:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff570b3c_b9ba626b","line":340,"range":{"start_line":340,"start_character":29,"end_line":340,"end_character":31},"updated":"2020-06-09 11:32:21.000000000","message":"again the same is true for this and other cases below.\n\ni normally use http://www.yamllint.com/\nto check the syntax first but it seams to be down. im not really sure why zuul did not reject this earlier as part of its parsing of the job deinition but i guess it magend to parse it some how but did not produce valid data.\n\nwhich is why https://zuul.opendev.org/t/openstack/build/d56cdfbe915c456ca50e37337c2599a4/log/job-output.txt#941 failed.\n\nthis is an updated job definition that shoudl work.\n\n- job:\n    name: nova-ceph-multistore\n    parent: devstack-plugin-ceph-tempest-py3\n    description: |\n      Just like the normal ceph job, but with glance multistore\n    irrelevant-files: *dsvm-irrelevant-files\n    required-projects:\n      - openstack/nova\n    vars:\n      devstack_local_conf:\n        post-config:\n          $GLANCE_CONF:\n            DEFAULT:\n              enabled_backends: \"cheap:file, robust:rbd\"\n            glance_store:\n              default_backend: cheap\n              stores: file, http, rbd\n              default_store: file\n            robust:\n              rbd_store_pool: images\n              rbd_store_user: glance\n              rbd_store_ceph_conf: /etc/ceph/ceph.conf\n            cheap:\n              filesystem_store_datadir: /opt/stack/data/glance/images/\n            os_glance_staging_store:\n              filesystem_store_datadir: /opt/stack/data/glance/os_glance_staging_store/\n\n\nif you validate it with http://beautifytools.com/yaml-validator.php it will complain about the  *dsvm-irrelevant-files but that is just because its not defiend in this snippit.","commit_id":"88883fae65abd592f4c83d96c127e079a86b0fe4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"fc80faa18c04e26477205a8544a0893226f86425","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    vars:"},{"line_number":334,"context_line":"      devstack_local_conf:"},{"line_number":335,"context_line":"        post-config:"},{"line_number":336,"context_line":"          $GLANCE_CONF:"},{"line_number":337,"context_line":"            DEFAULT:"},{"line_number":338,"context_line":"              enabled_backends: \"cheap:file, robust:rbd\""},{"line_number":339,"context_line":"            glance_store:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff570b3c_f396ab3e","line":336,"range":{"start_line":336,"start_character":10,"end_line":336,"end_character":22},"updated":"2020-06-09 19:47:21.000000000","message":"This isn\u0027t right I think, needs to be GLANCE_API_CONF:\n\nhttps://zuul.opendev.org/t/openstack/build/fe828e4e683841f5a079bb9342c48493/log/controller/logs/devstacklog.txt#19210","commit_id":"3ec48aef68e78bc7d56256550756cf948db08b46"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8a5580798c08c5b64df0161c1ed41115c0763aa5","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    vars:"},{"line_number":334,"context_line":"      devstack_local_conf:"},{"line_number":335,"context_line":"        post-config:"},{"line_number":336,"context_line":"          $NOVA_CONF:"},{"line_number":337,"context_line":"            libvirt:"},{"line_number":338,"context_line":"              images_rbd_glance_store_name: robust"},{"line_number":339,"context_line":"            workarounds:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ff570b3c_84672052","line":336,"range":{"start_line":336,"start_character":11,"end_line":336,"end_character":20},"updated":"2020-06-10 06:28:24.000000000","message":"you might need to use the   $NOVA_CPU_CONF here\nsince you are setting libivrt and workaround options for the compute althou this used to work at one point too.\n\n---\nlater\n\nactully this works fine\n\nhttps://zuul.opendev.org/t/openstack/build/94de0b4bc2ff46128734040d101c9e91/log/controller/logs/etc/nova/nova-cpu_conf.txt#133\nhttps://zuul.opendev.org/t/openstack/build/94de0b4bc2ff46128734040d101c9e91/log/controller/logs/etc/nova/nova-cpu_conf.txt#108\n\nwe used to have some quirks with $NOVA_CONF and $NOVA_CPU_CONF but we fixed it a while ago\nhttps://github.com/openstack/devstack/commit/2468ceaa724aa5c8c44fb87ae223eb6687ff85f2","commit_id":"9d98da325b0306a34d83b458348e1fe63ab783d6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"92a889cc5a1a6521b5321221167ad5c3704a6f8f","unresolved":false,"context_lines":[{"line_number":353,"context_line":"              filesystem_store_datadir: /opt/stack/data/glance/images/"},{"line_number":354,"context_line":"            os_glance_staging_store:"},{"line_number":355,"context_line":"              filesystem_store_datadir: /opt/stack/data/glance/os_glance_staging_store/"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"- project:"},{"line_number":358,"context_line":"    # Please try to keep the list of job names sorted alphabetically."},{"line_number":359,"context_line":"    templates:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ff570b3c_876442e7","line":356,"updated":"2020-06-10 07:04:48.000000000","message":"so as noted on the previous patch i think we need to enable the glance image_converion plugin\n\nhttps://zuul.opendev.org/t/openstack/build/94de0b4bc2ff46128734040d101c9e91/log/controller/logs/etc/glance/glance-image-import_conf.txt\n\nwe need to set\n\n[image_import_opts]\nimage_import_plugins \u003d [\u0027image_conversion\u0027]\n\n[image_conversion]\noutput_format \u003d raw\n\n\nhttps://docs.openstack.org/glance/latest/admin/interoperable-image-import.html#the-image-conversion\n\nwe might also want to enable the image_decompression plugin\n\nhttps://docs.openstack.org/glance/latest/admin/interoperable-image-import.html#the-image-decompression\n\nbut i dont think the default cirros image is actully compressed so it likely is not need.\n\nthat said since all that is need to enable both is\n\nimage_import_opts]\nimage_import_plugins \u003d [\u0027image_decompression\u0027, \u0027image_conversion\u0027]\n\n[image_conversion]\noutput_format \u003d raw\n\nit likely wont hurt.\n\n\nim not sure if you need to add \n\n/etc/glance/glance-image-import_conf:\n  image_import_opts:\n    image_import_plugins:\n      - image_decompression\n      - image_conversion\n    image_conversion: raw\n\nor \n\n\n/etc/glance/glance-image-import_conf:\n  image_import_opts:\n    image_import_plugins: \"[\u0027image_decompression\u0027, \u0027image_conversion\u0027]\"\n    image_conversion: raw\n\nthe first form is the correct way to represnt a list in yaml but im not sure if the converion plugin converts that properly\n\nthe oslo config parser i think will ignore the quote so i think the second form would work in either case.","commit_id":"9d98da325b0306a34d83b458348e1fe63ab783d6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f8da25fccfb34b631533218d64b6a95dd411f19c","unresolved":false,"context_lines":[{"line_number":353,"context_line":"              filesystem_store_datadir: /opt/stack/data/glance/images/"},{"line_number":354,"context_line":"            os_glance_staging_store:"},{"line_number":355,"context_line":"              filesystem_store_datadir: /opt/stack/data/glance/os_glance_staging_store/"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"- project:"},{"line_number":358,"context_line":"    # Please try to keep the list of job names sorted alphabetically."},{"line_number":359,"context_line":"    templates:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ff570b3c_7939d13d","line":356,"in_reply_to":"ff570b3c_876442e7","updated":"2020-06-10 13:43:28.000000000","message":"Ah right I forgot locally I was just uploading and using a raw image. I figured I\u0027d need to tweak devstack here, but I guess making glance do it is probably easier.","commit_id":"9d98da325b0306a34d83b458348e1fe63ab783d6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b673a30701124327d6e237e28562512b684cb82a","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            image_import_opts:"},{"line_number":358,"context_line":"              image_import_plugins: \"[\u0027image_conversion\u0027]\""},{"line_number":359,"context_line":"            image_conversion:"},{"line_number":360,"context_line":"              output_format: raw"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"- project:"},{"line_number":363,"context_line":"    # Please try to keep the list of job names sorted alphabetically."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"ff570b3c_3f97363d","line":360,"range":{"start_line":360,"start_character":14,"end_line":360,"end_character":32},"updated":"2020-06-10 16:53:12.000000000","message":"ops\nya i forgot to add that in comment.","commit_id":"10b36f9ba51940ba3a772c64890c1a53b9f41dbd"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2670b8b05bf6e9089b9d57ffd72891e1ec4b1a06","unresolved":false,"context_lines":[{"line_number":335,"context_line":"    pre-run:"},{"line_number":336,"context_line":"      - playbooks/ceph/glance-copy-policy.yaml"},{"line_number":337,"context_line":"    vars:"},{"line_number":338,"context_line":"      # NOTE(danms): These tests create an empty non-raw image, which nova"},{"line_number":339,"context_line":"      # will refuse because we set never_download_image_if_on_rbd in this job."},{"line_number":340,"context_line":"      # Just skip these tests for this case."},{"line_number":341,"context_line":"      tempest_black_regex: .*encrypted_cinder_volumes.*"},{"line_number":342,"context_line":"      devstack_localrc:"},{"line_number":343,"context_line":"        GLANCE_STANDALONE: True"},{"line_number":344,"context_line":"        GLANCE_USE_IMPORT_WORKFLOW: True"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"bf51134e_99b89711","line":341,"range":{"start_line":338,"start_character":0,"end_line":341,"end_character":55},"updated":"2020-07-13 20:56:51.000000000","message":"devstack-plugin-ceph-tempest-py3 job run all APIs, few sceanrio and cinder tempest plugin test do you want to run all those tests? or just compute+glance tests?\n\nhttps://github.com/openstack/devstack-plugin-ceph/blob/819f3995afba5d854eedac1c52871c441799457c/.zuul.yaml#L27","commit_id":"dc803e690e35eef3244f818daeda0c2d03ac3ec2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"191db9f9f74ab82ba9ee840880f83e14b22e1566","unresolved":false,"context_lines":[{"line_number":350,"context_line":"          $GLANCE_API_CONF:"},{"line_number":351,"context_line":"            DEFAULT:"},{"line_number":352,"context_line":"              enabled_backends: \"cheap:file, robust:rbd\""},{"line_number":353,"context_line":"              default_log_levels: \"amqp\u003dWARN, amqplib\u003dWARN, boto\u003dWARN, qpid\u003dWARN, sqlalchemy\u003dWARN, suds\u003dINFO, oslo.messaging\u003dINFO, oslo_messaging\u003dINFO, iso8601\u003dWARN, requests.packages.urllib3.connectionpool\u003dWARN, urllib3.connectionpool\u003dWARN, websocket\u003dWARN, requests.packages.urllib3.util.retry\u003dWARN, urllib3.util.retry\u003dWARN, keystonemiddleware\u003dWARN, routes.middleware\u003dWARN, stevedore\u003dWARN, taskflow\u003dWARN, keystoneauth\u003dWARN, oslo.cache\u003dINFO, dogpile.core.dogpile\u003dINFO, oslo_policy\u003dDEBUG\""},{"line_number":354,"context_line":"            glance_store:"},{"line_number":355,"context_line":"              default_backend: cheap"},{"line_number":356,"context_line":"              stores: file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_f1c9d8ab","line":353,"range":{"start_line":353,"start_character":14,"end_line":353,"end_character":32},"updated":"2020-07-14 19:50:32.000000000","message":"why this set of log levels?","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fd26152ff00036d27d2895c6a248ba3af577e84f","unresolved":false,"context_lines":[{"line_number":350,"context_line":"          $GLANCE_API_CONF:"},{"line_number":351,"context_line":"            DEFAULT:"},{"line_number":352,"context_line":"              enabled_backends: \"cheap:file, robust:rbd\""},{"line_number":353,"context_line":"              default_log_levels: \"amqp\u003dWARN, amqplib\u003dWARN, boto\u003dWARN, qpid\u003dWARN, sqlalchemy\u003dWARN, suds\u003dINFO, oslo.messaging\u003dINFO, oslo_messaging\u003dINFO, iso8601\u003dWARN, requests.packages.urllib3.connectionpool\u003dWARN, urllib3.connectionpool\u003dWARN, websocket\u003dWARN, requests.packages.urllib3.util.retry\u003dWARN, urllib3.util.retry\u003dWARN, keystonemiddleware\u003dWARN, routes.middleware\u003dWARN, stevedore\u003dWARN, taskflow\u003dWARN, keystoneauth\u003dWARN, oslo.cache\u003dINFO, dogpile.core.dogpile\u003dINFO, oslo_policy\u003dDEBUG\""},{"line_number":354,"context_line":"            glance_store:"},{"line_number":355,"context_line":"              default_backend: cheap"},{"line_number":356,"context_line":"              stores: file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_97320ca6","line":353,"range":{"start_line":353,"start_character":14,"end_line":353,"end_character":32},"in_reply_to":"bf51134e_5c009b02","updated":"2020-07-14 22:23:25.000000000","message":"sound like a new usablity feature.\nit does not look like it would be hard to add more fileters here\nhttps://github.com/openstack/nova/blob/master/nova/config.py#L45-L62\nbut its probably more complicated then that.\n\ni have only needed to use this a few times so it never felt worth the effort to figure out if there is a better way we can do this.","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"71af2949f851fb3b9c4b84ea744ac96cc324c993","unresolved":false,"context_lines":[{"line_number":350,"context_line":"          $GLANCE_API_CONF:"},{"line_number":351,"context_line":"            DEFAULT:"},{"line_number":352,"context_line":"              enabled_backends: \"cheap:file, robust:rbd\""},{"line_number":353,"context_line":"              default_log_levels: \"amqp\u003dWARN, amqplib\u003dWARN, boto\u003dWARN, qpid\u003dWARN, sqlalchemy\u003dWARN, suds\u003dINFO, oslo.messaging\u003dINFO, oslo_messaging\u003dINFO, iso8601\u003dWARN, requests.packages.urllib3.connectionpool\u003dWARN, urllib3.connectionpool\u003dWARN, websocket\u003dWARN, requests.packages.urllib3.util.retry\u003dWARN, urllib3.util.retry\u003dWARN, keystonemiddleware\u003dWARN, routes.middleware\u003dWARN, stevedore\u003dWARN, taskflow\u003dWARN, keystoneauth\u003dWARN, oslo.cache\u003dINFO, dogpile.core.dogpile\u003dINFO, oslo_policy\u003dDEBUG\""},{"line_number":354,"context_line":"            glance_store:"},{"line_number":355,"context_line":"              default_backend: cheap"},{"line_number":356,"context_line":"              stores: file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_f16a78ea","line":353,"range":{"start_line":353,"start_character":14,"end_line":353,"end_character":32},"in_reply_to":"bf51134e_d1ead471","updated":"2020-07-14 20:36:26.000000000","message":"ya i was expecting a comment like the note above as i assuemd you had a reason but its fine. that makes sense and i was assuming you were using the increased loging to asser the correct behavior visually by looking at the logs.","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"182fd7517745ca0604d72b93450875af265e9729","unresolved":false,"context_lines":[{"line_number":350,"context_line":"          $GLANCE_API_CONF:"},{"line_number":351,"context_line":"            DEFAULT:"},{"line_number":352,"context_line":"              enabled_backends: \"cheap:file, robust:rbd\""},{"line_number":353,"context_line":"              default_log_levels: \"amqp\u003dWARN, amqplib\u003dWARN, boto\u003dWARN, qpid\u003dWARN, sqlalchemy\u003dWARN, suds\u003dINFO, oslo.messaging\u003dINFO, oslo_messaging\u003dINFO, iso8601\u003dWARN, requests.packages.urllib3.connectionpool\u003dWARN, urllib3.connectionpool\u003dWARN, websocket\u003dWARN, requests.packages.urllib3.util.retry\u003dWARN, urllib3.util.retry\u003dWARN, keystonemiddleware\u003dWARN, routes.middleware\u003dWARN, stevedore\u003dWARN, taskflow\u003dWARN, keystoneauth\u003dWARN, oslo.cache\u003dINFO, dogpile.core.dogpile\u003dINFO, oslo_policy\u003dDEBUG\""},{"line_number":354,"context_line":"            glance_store:"},{"line_number":355,"context_line":"              default_backend: cheap"},{"line_number":356,"context_line":"              stores: file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_5c009b02","line":353,"range":{"start_line":353,"start_character":14,"end_line":353,"end_character":32},"in_reply_to":"bf51134e_f16a78ea","updated":"2020-07-14 21:56:15.000000000","message":"Yeah, I guess I can comment in the yaml here, so if I respin I\u0027ll add a note for potential later culling. I wish it was easier to tweak one module instead of provide a whole list of new defaults as the former would be a lot more obvious :/","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a5c2c2ff0478cc4ecd703d1c304fffbe85595801","unresolved":false,"context_lines":[{"line_number":350,"context_line":"          $GLANCE_API_CONF:"},{"line_number":351,"context_line":"            DEFAULT:"},{"line_number":352,"context_line":"              enabled_backends: \"cheap:file, robust:rbd\""},{"line_number":353,"context_line":"              default_log_levels: \"amqp\u003dWARN, amqplib\u003dWARN, boto\u003dWARN, qpid\u003dWARN, sqlalchemy\u003dWARN, suds\u003dINFO, oslo.messaging\u003dINFO, oslo_messaging\u003dINFO, iso8601\u003dWARN, requests.packages.urllib3.connectionpool\u003dWARN, urllib3.connectionpool\u003dWARN, websocket\u003dWARN, requests.packages.urllib3.util.retry\u003dWARN, urllib3.util.retry\u003dWARN, keystonemiddleware\u003dWARN, routes.middleware\u003dWARN, stevedore\u003dWARN, taskflow\u003dWARN, keystoneauth\u003dWARN, oslo.cache\u003dINFO, dogpile.core.dogpile\u003dINFO, oslo_policy\u003dDEBUG\""},{"line_number":354,"context_line":"            glance_store:"},{"line_number":355,"context_line":"              default_backend: cheap"},{"line_number":356,"context_line":"              stores: file, http, rbd"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_d1ead471","line":353,"range":{"start_line":353,"start_character":14,"end_line":353,"end_character":32},"in_reply_to":"bf51134e_f1c9d8ab","updated":"2020-07-14 20:30:27.000000000","message":"To get oslo.policy to log at debug. There was initially a problem with my rule and I put this in place to make it dump some info, which incidentally made it clear there was a bug in oslo.policy, which is now fixed/merged.\n\nHowever, at one point, I SWEAR that the image devstack uploads was created with visibility \"public\", then later \"shared\", and then still later \"public\" again. So, I wanted to leave this in for at least a little while in case that happens again so we can track down what might\u0027ve caused that. We did go through an osc/sdk bump, as well as some removal of glance v1 cruft, etc, so it might have been that. However, I don\u0027t think it hurts much to leave this in here, especially to make sure the policy playbook continues to work reliably. We can surely remove it once this proves stable long-term.","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"}],"playbooks/ceph/glance-copy-policy.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"191db9f9f74ab82ba9ee840880f83e14b22e1566","unresolved":false,"context_lines":[{"line_number":7,"context_line":"        create: True"},{"line_number":8,"context_line":"        mode: 0777"},{"line_number":9,"context_line":"        block: |"},{"line_number":10,"context_line":"          echo $\u0027{\"copy_image\": \"\\\u0027public\\\u0027:%(visibility)s\"}\u0027 \u003e /etc/glance/policy.json"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_d1a5b404","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":87},"updated":"2020-07-14 19:50:32.000000000","message":"just to note this will run after glance has already started so it would only be picked up if glance auto reload the policy file when its modifed or reads it form disk every time it need to check the policy.\n\nif that is the case this is fine.\n\notherwise you likely want to use the config override mechamin to do this in the post-config section\nalthough im not sure that will work with json.\n\nyou can also just do \"sudo systemctl restart devstack@g-api\"\nif you need too here too.","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"16c0c38fc87225f38a39b7b45e8855293e73a3e1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"        create: True"},{"line_number":8,"context_line":"        mode: 0777"},{"line_number":9,"context_line":"        block: |"},{"line_number":10,"context_line":"          echo $\u0027{\"copy_image\": \"\\\u0027public\\\u0027:%(visibility)s\"}\u0027 \u003e /etc/glance/policy.json"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_f738a8ee","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":87},"in_reply_to":"bf51134e_115c4c49","updated":"2020-07-14 23:44:52.000000000","message":"yeah it dynamic load here. oslo policy load_rules() on every enforce checks if there is any change in cache policy file data and get the latst rules from file.\n\nso in this case, we oslo policy find the policy file with overridden rule check_str and consider that instead of rule default value. \n\nIf we change the rule default value in code then policy needs to be initialized again so that new default in code can be loaded.\n\nThere is some issue on debug logs because of formatting the target data for logging[1] for this policy but that does not affect on enforce results adding comment about that in glance patch - https://review.opendev.org/#/c/738703/6\n\n[1] https://zuul.opendev.org/t/openstack/build/aa1a5cd62aaa4210b19a5877e77b87db/log/controller/logs/screen-g-api.txt#600","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"71af2949f851fb3b9c4b84ea744ac96cc324c993","unresolved":false,"context_lines":[{"line_number":7,"context_line":"        create: True"},{"line_number":8,"context_line":"        mode: 0777"},{"line_number":9,"context_line":"        block: |"},{"line_number":10,"context_line":"          echo $\u0027{\"copy_image\": \"\\\u0027public\\\u0027:%(visibility)s\"}\u0027 \u003e /etc/glance/policy.json"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_115c4c49","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":87},"in_reply_to":"bf51134e_719028ee","updated":"2020-07-14 20:36:26.000000000","message":"ya i was just not sure if the policy was dynamic and auto reloaded or loaded staticlaly once.\n\nif its dynamic this should be fine unless we see it not working or causing instablitiy.","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a5c2c2ff0478cc4ecd703d1c304fffbe85595801","unresolved":false,"context_lines":[{"line_number":7,"context_line":"        create: True"},{"line_number":8,"context_line":"        mode: 0777"},{"line_number":9,"context_line":"        block: |"},{"line_number":10,"context_line":"          echo $\u0027{\"copy_image\": \"\\\u0027public\\\u0027:%(visibility)s\"}\u0027 \u003e /etc/glance/policy.json"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_719028ee","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":87},"in_reply_to":"bf51134e_d1a5b404","updated":"2020-07-14 20:30:27.000000000","message":"So far, with the oslo.policy debug turned on, it seems like this happens plenty early and gets reloaded as you would expect. The tempest config happens after this, which hits glance to get image info, which generates API traffic and causes the reload before we need it. And, of course, nova validating image info before the actual boot. So I think this is sufficient and reliable, but I want to leave the policy debug in for that reason for a little while.\n\nIt seems cleaner to me to not have to restart glance if we can help it, especially since we\u0027re always configuring an apache proxy to standalone glance now, and we don\u0027t want to risk tripping a 503 that takes a while to retry or anything.","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"95c9d2759e6763724896498da92dc4ed23b3e2bc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"        create: True"},{"line_number":8,"context_line":"        mode: 0777"},{"line_number":9,"context_line":"        block: |"},{"line_number":10,"context_line":"          echo $\u0027{\"copy_image\": \"\\\u0027public\\\u0027:%(visibility)s\"}\u0027 \u003e /etc/glance/policy.json"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"bf51134e_75664653","line":10,"range":{"start_line":10,"start_character":10,"end_line":10,"end_character":87},"in_reply_to":"bf51134e_f738a8ee","updated":"2020-07-15 14:22:42.000000000","message":"This happens because of a bug in Glance\u0027s object model. It\u0027s triggered by a deepcopy of the object before we pass it to the LOG.debug call, which triggers their failure. Ben added this in oslo.policy to try to alleviate it as they decided they don\u0027t really need it:\n\nhttps://review.opendev.org/#/c/740068/\n\nBut, it\u0027s really a lack of a __deepcopy__ handler on the glance side, which I\u0027m probably not signing up to fix for them :)","commit_id":"a81189b0e2957ac0f0253735aea02c4413eb91f0"}]}
