)]}'
{".zuul.yaml":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1998d5583054ebb72e88e7bae51a402e9f0cf9cd","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        GLANCE_ENABLE_MULTIPLE_STORES: True"},{"line_number":241,"context_line":"        CINDER_ENABLED_BACKENDS: lvm:lvmdriver-1,lvm:lvmdriver-2"},{"line_number":242,"context_line":"        GLANCE_CINDER_DEFAULT_BACKEND: lvmdriver-1"},{"line_number":243,"context_line":"        GLANCE_STANDALONE: True"},{"line_number":244,"context_line":"        GLANCE_USE_IMPORT_WORKFLOW: True"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- job:"},{"line_number":247,"context_line":"    name: tempest-integrated-storage-wsgi-import"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_eb84d40e","line":244,"range":{"start_line":243,"start_character":0,"end_line":244,"end_character":40},"updated":"2020-07-29 16:57:51.000000000","message":"you can skip these two var setting as these are set in parent job","commit_id":"f652d88a074ac74fc49153350b2a39a8cf4e8f1e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1cba276ea8747d891e14d937fee28cf6c39eb3b7","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        GLANCE_ENABLE_MULTIPLE_STORES: True"},{"line_number":241,"context_line":"        CINDER_ENABLED_BACKENDS: lvm:lvmdriver-1,lvm:lvmdriver-2"},{"line_number":242,"context_line":"        GLANCE_CINDER_DEFAULT_BACKEND: lvmdriver-1"},{"line_number":243,"context_line":"        GLANCE_STANDALONE: True"},{"line_number":244,"context_line":"        GLANCE_USE_IMPORT_WORKFLOW: True"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- job:"},{"line_number":247,"context_line":"    name: tempest-integrated-storage-wsgi-import"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_2bd1acfc","line":244,"range":{"start_line":243,"start_character":0,"end_line":244,"end_character":40},"in_reply_to":"9f560f44_eb84d40e","updated":"2020-07-29 17:03:31.000000000","message":"Done","commit_id":"f652d88a074ac74fc49153350b2a39a8cf4e8f1e"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1ff43d9a93a360ba4f5d79e907606d080b3d292b","unresolved":false,"context_lines":[{"line_number":315,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":316,"context_line":"        - tempest-integrated-storage-import-workflow:"},{"line_number":317,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":318,"context_line":"        - tempest-multistore-cinder-import-workflow:"},{"line_number":319,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":320,"context_line":"        - grenade:"},{"line_number":321,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":322,"context_line":"        - tempest-ipv6-only:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_8bbb98c2","line":319,"range":{"start_line":318,"start_character":0,"end_line":319,"end_character":55},"updated":"2020-07-29 16:59:03.000000000","message":"as its non voting, we do not need to add in gate pipeline","commit_id":"f0485671be21d79dad1a093facd550ddce13bb9a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1cba276ea8747d891e14d937fee28cf6c39eb3b7","unresolved":false,"context_lines":[{"line_number":315,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":316,"context_line":"        - tempest-integrated-storage-import-workflow:"},{"line_number":317,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":318,"context_line":"        - tempest-multistore-cinder-import-workflow:"},{"line_number":319,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":320,"context_line":"        - grenade:"},{"line_number":321,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":322,"context_line":"        - tempest-ipv6-only:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_0bcca85f","line":319,"range":{"start_line":318,"start_character":0,"end_line":319,"end_character":55},"in_reply_to":"9f560f44_8bbb98c2","updated":"2020-07-29 17:03:31.000000000","message":"Done","commit_id":"f0485671be21d79dad1a093facd550ddce13bb9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"d617923bf52f62c97580a9e464c225a726f7b1ba","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            image_conversion:"},{"line_number":266,"context_line":"              output_format: raw"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"- project:"},{"line_number":269,"context_line":"    templates:"},{"line_number":270,"context_line":"      - check-requirements"},{"line_number":271,"context_line":"      - integrated-gate-storage"},{"line_number":272,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":273,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":274,"context_line":"      - periodic-stable-jobs"},{"line_number":275,"context_line":"      - publish-openstack-docs-pti"},{"line_number":276,"context_line":"      - release-notes-jobs-python3"},{"line_number":277,"context_line":"    check:"},{"line_number":278,"context_line":"      jobs:"},{"line_number":279,"context_line":"        - openstack-tox-functional-py36"},{"line_number":280,"context_line":"        - openstack-tox-functional-py38"},{"line_number":281,"context_line":"        - glance-code-constants-check"},{"line_number":282,"context_line":"        - devstack-plugin-ceph-tempest-py3:"},{"line_number":283,"context_line":"            voting: false"},{"line_number":284,"context_line":"            irrelevant-files: \u0026tempest-irrelevant-files"},{"line_number":285,"context_line":"              - ^(test-|)requirements.txt$"},{"line_number":286,"context_line":"              - ^lower-constraints.txt$"},{"line_number":287,"context_line":"              - ^.*\\.rst$"},{"line_number":288,"context_line":"              - ^api-ref/.*$"},{"line_number":289,"context_line":"              - ^glance/hacking/.*$"},{"line_number":290,"context_line":"              - ^glance/locale/.*$"},{"line_number":291,"context_line":"              - ^glance/tests/.*$"},{"line_number":292,"context_line":"              - ^doc/.*$"},{"line_number":293,"context_line":"              - ^releasenotes/.*$"},{"line_number":294,"context_line":"              - ^tools/.*$"},{"line_number":295,"context_line":"              - ^tox.ini$"},{"line_number":296,"context_line":"              - ^\\.zuul\\.yaml$"},{"line_number":297,"context_line":"        - tempest-integrated-storage:"},{"line_number":298,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":299,"context_line":"        - tempest-integrated-storage-import-workflow:"},{"line_number":300,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":301,"context_line":"        - tempest-integrated-storage-wsgi-import:"},{"line_number":302,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":303,"context_line":"        - tempest-multistore-cinder-import-workflow:"},{"line_number":304,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":305,"context_line":"        - grenade:"},{"line_number":306,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":307,"context_line":"        - tempest-ipv6-only:"},{"line_number":308,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    gate:"},{"line_number":311,"context_line":"      jobs:"},{"line_number":312,"context_line":"        - openstack-tox-functional-py36"},{"line_number":313,"context_line":"        - openstack-tox-functional-py38"},{"line_number":314,"context_line":"        - tempest-integrated-storage:"},{"line_number":315,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":316,"context_line":"        - tempest-integrated-storage-import-workflow:"},{"line_number":317,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":318,"context_line":"        - tempest-multistore-cinder-import-workflow:"},{"line_number":319,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":320,"context_line":"        - grenade:"},{"line_number":321,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":322,"context_line":"        - tempest-ipv6-only:"},{"line_number":323,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":324,"context_line":"    experimental:"},{"line_number":325,"context_line":"      jobs:"},{"line_number":326,"context_line":"        - glance-tox-py38-glance_store-tips"},{"line_number":327,"context_line":"        - glance-tox-py36-glance_store-tips"},{"line_number":328,"context_line":"        - glance-tox-functional-py38-glance_store-tips"},{"line_number":329,"context_line":"        - glance-tox-functional-py36-glance_store-tips"},{"line_number":330,"context_line":"        - barbican-simple-crypto-devstack-tempest"},{"line_number":331,"context_line":"        - grenade-multinode"},{"line_number":332,"context_line":"        - tempest-pg-full:"},{"line_number":333,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":334,"context_line":"        - tempest-full-py3-opensuse15:"},{"line_number":335,"context_line":"            irrelevant-files: *tempest-irrelevant-files"},{"line_number":336,"context_line":"    periodic:"},{"line_number":337,"context_line":"      jobs:"},{"line_number":338,"context_line":"        # NOTE(rosmaita): we only want the \"tips\" jobs to be run against"},{"line_number":339,"context_line":"        # master, hence the \u0027branches\u0027 qualifiers below.  Without them, when"},{"line_number":340,"context_line":"        # a stable branch is cut, the tests would be run against the stable"},{"line_number":341,"context_line":"        # branch as well, which is pointless because these libraries are"},{"line_number":342,"context_line":"        # frozen (more or less) in the stable branches."},{"line_number":343,"context_line":"        #"},{"line_number":344,"context_line":"        # The \"tips\" jobs can be removed from the stable branch .zuul.yaml"},{"line_number":345,"context_line":"        # files if someone is so inclined, but that would require manual"},{"line_number":346,"context_line":"        # maintenance, so we do not do it by default.  Another option is"},{"line_number":347,"context_line":"        # to define these jobs in the openstack/project-config repo."},{"line_number":348,"context_line":"        # That would make us less agile in adjusting these tests, so we"},{"line_number":349,"context_line":"        # aren\u0027t doing that either."},{"line_number":350,"context_line":"        - glance-tox-functional-py38-oslo-tips:"},{"line_number":351,"context_line":"            branches: master"},{"line_number":352,"context_line":"        - glance-tox-functional-py36-oslo-tips:"},{"line_number":353,"context_line":"            branches: master"},{"line_number":354,"context_line":"        - glance-tox-py38-keystone-tips:"},{"line_number":355,"context_line":"            branches: master"},{"line_number":356,"context_line":"        - glance-tox-py36-keystone-tips:"},{"line_number":357,"context_line":"            branches: master"},{"line_number":358,"context_line":"        - glance-tox-functional-py38-keystone-tips:"},{"line_number":359,"context_line":"            branches: master"},{"line_number":360,"context_line":"        - glance-tox-functional-py36-keystone-tips:"},{"line_number":361,"context_line":"            branches: master"},{"line_number":362,"context_line":"        - glance-tox-py38-glance_store-tips:"},{"line_number":363,"context_line":"            branches: master"},{"line_number":364,"context_line":"        - glance-tox-py36-glance_store-tips:"},{"line_number":365,"context_line":"            branches: master"},{"line_number":366,"context_line":"        - glance-tox-functional-py38-glance_store-tips:"},{"line_number":367,"context_line":"            branches: master"},{"line_number":368,"context_line":"        - glance-tox-functional-py36-glance_store-tips:"},{"line_number":369,"context_line":"            branches: master"},{"line_number":370,"context_line":"        - glance-tox-py38-cursive-tips:"},{"line_number":371,"context_line":"            branches: master"},{"line_number":372,"context_line":"        - glance-tox-py36-cursive-tips:"},{"line_number":373,"context_line":"            branches: master"},{"line_number":374,"context_line":"        - glance-tox-functional-py38-cursive-tips:"},{"line_number":375,"context_line":"            branches: master"},{"line_number":376,"context_line":"        - glance-tox-functional-py36-cursive-tips:"},{"line_number":377,"context_line":"            branches: master"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_eb99746e","line":377,"range":{"start_line":268,"start_character":2,"end_line":377,"end_character":0},"updated":"2020-07-29 16:58:32.000000000","message":"Job tempest-multistore-cinder-import-workflow not defined","commit_id":"f0485671be21d79dad1a093facd550ddce13bb9a"}],"glance/common/store_utils.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1c2350743f23a281477f13258277fdc3f631ebee","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                store_updated \u003d True"},{"line_number":203,"context_line":"                loc[\u0027metadata\u0027][\u0027store\u0027] \u003d store_id"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    if store_updated:"},{"line_number":206,"context_line":"        image_repo.save(image)"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_b5235aa7","line":205,"range":{"start_line":205,"start_character":4,"end_line":205,"end_character":21},"updated":"2020-07-22 08:58:24.000000000","message":"is this required??","commit_id":"eebdfe9123f74da91e78c44d47bbfc77a8858fec"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"85056e1625fb84ba1e8755908d1dbc1dcec010cb","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                \u0027store\u0027) or loc[\u0027metadata\u0027].get("},{"line_number":186,"context_line":"                \u0027store\u0027) not in CONF.enabled_backends):"},{"line_number":187,"context_line":"            if loc[\u0027url\u0027].startswith(\"cinder://\"):"},{"line_number":188,"context_line":"                _update_cinder_location_and_store_id(context, loc)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            store_id \u003d _get_store_id_from_uri(loc[\u0027url\u0027])"},{"line_number":191,"context_line":"            if store_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_2a947d8a","line":188,"range":{"start_line":188,"start_character":16,"end_line":188,"end_character":66},"updated":"2020-08-25 20:17:38.000000000","message":"if the URL failed to update, we shouldn\u0027t update metadata as well","commit_id":"1cff883b71f534675b0fab7f1d11c1aca927417a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"bcffa50ffbe849ca5729f1a4158667cff99bc8f1","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                \u0027store\u0027) or loc[\u0027metadata\u0027].get("},{"line_number":186,"context_line":"                \u0027store\u0027) not in CONF.enabled_backends):"},{"line_number":187,"context_line":"            if loc[\u0027url\u0027].startswith(\"cinder://\"):"},{"line_number":188,"context_line":"                _update_cinder_location_and_store_id(context, loc)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            store_id \u003d _get_store_id_from_uri(loc[\u0027url\u0027])"},{"line_number":191,"context_line":"            if store_id:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_6ae955e1","line":188,"range":{"start_line":188,"start_character":16,"end_line":188,"end_character":66},"in_reply_to":"9f560f44_2a947d8a","updated":"2020-08-25 20:32:44.000000000","message":"ignore this, the url format at L#169 will be like \u0027cinder://\u003cstore-id\u003e\u0027 which won\u0027t match with the not updated url \u0027cinder://\u0027 so metadata won\u0027t be updated","commit_id":"1cff883b71f534675b0fab7f1d11c1aca927417a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3e771fb24f62157ea0955a192127199f16883ac3","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    for store in location_map[scheme]:"},{"line_number":220,"context_line":"        store_instance \u003d location_map[scheme][store][\u0027store\u0027]"},{"line_number":221,"context_line":"        if store_instance.location_not_upto_date(context, volume_id):"},{"line_number":222,"context_line":"            url_prefix \u003d store_instance.url_prefix"},{"line_number":223,"context_line":"            loc[\u0027url\u0027] \u003d \"%s/%s\" % (url_prefix, volume_id)"},{"line_number":224,"context_line":"            loc[\u0027metadata\u0027][\u0027store\u0027] \u003d u\"%s\" % store"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_ea767306","line":221,"range":{"start_line":221,"start_character":0,"end_line":221,"end_character":69},"updated":"2020-08-19 01:17:35.000000000","message":"This checks if the volume type of the image-volume matches with any of the configured store types.\nI think we should handle this with an else case showing it is a bad upgrade and for every image\u0027s volume type, we should have a store configured else some URL\u0027s won\u0027t be updated leading to inconsistent images.","commit_id":"1cff883b71f534675b0fab7f1d11c1aca927417a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d96468bbaf2c4e980d71c7b053798e5ee1a9861e","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    for store in location_map[scheme]:"},{"line_number":220,"context_line":"        store_instance \u003d location_map[scheme][store][\u0027store\u0027]"},{"line_number":221,"context_line":"        if store_instance.location_not_upto_date(context, volume_id):"},{"line_number":222,"context_line":"            url_prefix \u003d store_instance.url_prefix"},{"line_number":223,"context_line":"            loc[\u0027url\u0027] \u003d \"%s/%s\" % (url_prefix, volume_id)"},{"line_number":224,"context_line":"            loc[\u0027metadata\u0027][\u0027store\u0027] \u003d u\"%s\" % store"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_36fa7674","line":221,"range":{"start_line":221,"start_character":0,"end_line":221,"end_character":69},"in_reply_to":"9f560f44_ea767306","updated":"2020-08-20 13:48:27.000000000","message":"You can add debug/info message for the same.","commit_id":"1cff883b71f534675b0fab7f1d11c1aca927417a"}]}
