)]}'
{"doc/source/admin/interoperable-image-import.rst":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"069ab570d1fd16cdbadd4d74dad88974164fee59","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Depending on the nature of your cloud and the sophistication of your users,"},{"line_number":82,"context_line":"you may wish to restrict what URIs they may use for the web-download import"},{"line_number":83,"context_line":"method.  You can do this by configuring options in the **glance-api.conf**."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"You can whitelist (\"allow *only* these\") or blacklist (\"do *not* allow these\")"},{"line_number":86,"context_line":"at three levels:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_316b32f2","line":83,"range":{"start_line":83,"start_character":64,"end_line":83,"end_character":67},"updated":"2018-02-14 18:48:29.000000000","message":"image-import","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7631639ebd77922c0296e103e65b4bb2cb69c5ce","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Depending on the nature of your cloud and the sophistication of your users,"},{"line_number":82,"context_line":"you may wish to restrict what URIs they may use for the web-download import"},{"line_number":83,"context_line":"method.  You can do this by configuring options in the **glance-api.conf**."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"You can whitelist (\"allow *only* these\") or blacklist (\"do *not* allow these\")"},{"line_number":86,"context_line":"at three levels:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_37231f08","line":83,"range":{"start_line":83,"start_character":64,"end_line":83,"end_character":67},"in_reply_to":"3fa0c359_316b32f2","updated":"2018-02-14 21:57:36.000000000","message":"Done","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"069ab570d1fd16cdbadd4d74dad88974164fee59","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"   a. missing scheme: reject"},{"line_number":102,"context_line":"   b. If there\u0027s a whitelist, and the scheme is not in it: reject.  Otherwise,"},{"line_number":103,"context_line":"      continue to 2."},{"line_number":104,"context_line":"   c. If there\u0027s a blacklist, and the scheme is in it: reject."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"2. The hostname is checked."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_31449274","line":103,"range":{"start_line":103,"start_character":6,"end_line":103,"end_character":19},"updated":"2018-02-14 18:48:29.000000000","message":"perhaps, \"skip c\" instead for clarity?","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7631639ebd77922c0296e103e65b4bb2cb69c5ce","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"   a. missing scheme: reject"},{"line_number":102,"context_line":"   b. If there\u0027s a whitelist, and the scheme is not in it: reject.  Otherwise,"},{"line_number":103,"context_line":"      continue to 2."},{"line_number":104,"context_line":"   c. If there\u0027s a blacklist, and the scheme is in it: reject."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"2. The hostname is checked."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_d71f5bb5","line":103,"range":{"start_line":103,"start_character":6,"end_line":103,"end_character":19},"in_reply_to":"3fa0c359_31449274","updated":"2018-02-14 21:57:36.000000000","message":"Done","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"069ab570d1fd16cdbadd4d74dad88974164fee59","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"   a. missing hostname: reject"},{"line_number":109,"context_line":"   b. If there\u0027s a whitelist, and the host is not in it: reject.  Otherwise,"},{"line_number":110,"context_line":"      continue to 3."},{"line_number":111,"context_line":"   c. If there\u0027s a blacklist, and the host is in it: reject."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"3. If there\u0027s a port in the URI, the port is checked."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_51491e89","line":110,"range":{"start_line":110,"start_character":6,"end_line":110,"end_character":19},"updated":"2018-02-14 18:48:29.000000000","message":"ditto","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7631639ebd77922c0296e103e65b4bb2cb69c5ce","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"   a. missing hostname: reject"},{"line_number":109,"context_line":"   b. If there\u0027s a whitelist, and the host is not in it: reject.  Otherwise,"},{"line_number":110,"context_line":"      continue to 3."},{"line_number":111,"context_line":"   c. If there\u0027s a blacklist, and the host is in it: reject."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"3. If there\u0027s a port in the URI, the port is checked."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_f71cd7c2","line":110,"range":{"start_line":110,"start_character":6,"end_line":110,"end_character":19},"in_reply_to":"3fa0c359_51491e89","updated":"2018-02-14 21:57:36.000000000","message":"Done","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"069ab570d1fd16cdbadd4d74dad88974164fee59","unresolved":false,"context_lines":[{"line_number":113,"context_line":"3. If there\u0027s a port in the URI, the port is checked."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"   a. If there\u0027s a whitelist, and the port is not in it: reject.  Otherwise,"},{"line_number":116,"context_line":"      continue to 4."},{"line_number":117,"context_line":"   b. If there\u0027s a blacklist, and the port is in it: reject."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"4. The URI is accepted as valid."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_d1544e24","line":116,"range":{"start_line":116,"start_character":6,"end_line":116,"end_character":19},"updated":"2018-02-14 18:48:29.000000000","message":"ditto, \"skip b\"?","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7631639ebd77922c0296e103e65b4bb2cb69c5ce","unresolved":false,"context_lines":[{"line_number":113,"context_line":"3. If there\u0027s a port in the URI, the port is checked."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"   a. If there\u0027s a whitelist, and the port is not in it: reject.  Otherwise,"},{"line_number":116,"context_line":"      continue to 4."},{"line_number":117,"context_line":"   b. If there\u0027s a blacklist, and the port is in it: reject."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"4. The URI is accepted as valid."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_97779309","line":116,"range":{"start_line":116,"start_character":6,"end_line":116,"end_character":19},"in_reply_to":"3fa0c359_d1544e24","updated":"2018-02-14 21:57:36.000000000","message":"Done","commit_id":"10a09bfbdbe83273dcea346e0faa04161bb339ee"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"903a2dc96a7cc62e056a851be7b3f729b48ac02d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"Depending on the nature of your cloud and the sophistication of your users,"},{"line_number":82,"context_line":"you may wish to restrict what URIs they may use for the web-download import"},{"line_number":83,"context_line":"method.  You can do this by configuring options in the"},{"line_number":84,"context_line":"``[import_filtering_opts]`` section of the **glance-image-import.conf** file."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"You can whitelist (\"allow *only* these\") or blacklist (\"do *not* allow these\")"},{"line_number":87,"context_line":"at three levels:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa0c359_a6d60ec3","line":84,"range":{"start_line":84,"start_character":43,"end_line":84,"end_character":71},"updated":"2018-02-15 15:38:02.000000000","message":"As this file does not exist, we need to document how to get it or generate it.","commit_id":"3be200e200d8c20148e76ad0cb407bfac8613152"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a2927e0390ac1f331564b6813a9556e2ca691f04","unresolved":false,"context_lines":[{"line_number":81,"context_line":"Depending on the nature of your cloud and the sophistication of your users,"},{"line_number":82,"context_line":"you may wish to restrict what URIs they may use for the web-download import"},{"line_number":83,"context_line":"method.  You can do this by configuring options in the"},{"line_number":84,"context_line":"``[import_filtering_opts]`` section of the **glance-image-import.conf** file."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"You can whitelist (\"allow *only* these\") or blacklist (\"do *not* allow these\")"},{"line_number":87,"context_line":"at three levels:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa0c359_298e512e","line":84,"range":{"start_line":84,"start_character":43,"end_line":84,"end_character":71},"in_reply_to":"3fa0c359_a6d60ec3","updated":"2018-02-15 16:01:12.000000000","message":"Excellent point!","commit_id":"3be200e200d8c20148e76ad0cb407bfac8613152"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8f1c671030db8fd44b5023a5010b90e033217d36","unresolved":false,"context_lines":[{"line_number":134,"context_line":"* ``disallowed_schemes`` - empty list"},{"line_number":135,"context_line":"* ``allowed_hosts`` - empty list"},{"line_number":136,"context_line":"* ``disallowed_hosts`` - empty list"},{"line_number":137,"context_line":"* ``allowed_ports`` - ``[80, 443]``"},{"line_number":138,"context_line":"* ``disallowed_ports`` - empty list"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Thus if you use the defaults, end users will only be able to access URIs"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa0c359_d74d1bc5","line":137,"updated":"2018-02-14 21:59:49.000000000","message":"(I left a comment on https://review.openstack.org/#/c/542956/7 about making these ints.)","commit_id":"3be200e200d8c20148e76ad0cb407bfac8613152"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"b61df3e6760c7ad1e12f36029efdc2051e19f928","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"The import step of interoperable image import is performed by a `Taskflow`_"},{"line_number":158,"context_line":"\"flow\" object.  This object, provided by Glance, will call any plugins you have"},{"line_number":159,"context_line":"specified in the ``glance-image-import.conf`` file.  The plugins are loaded by"},{"line_number":160,"context_line":"`Stevedore`_ and must be listed in the entry point registry in the namespace"},{"line_number":161,"context_line":"``glance.image_import.plugins``.  (If you are using only plugins provided by"},{"line_number":162,"context_line":"the Glance project team, these are already registered for you.)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa0c359_49539de3","line":159,"range":{"start_line":159,"start_character":17,"end_line":159,"end_character":45},"updated":"2018-02-15 15:52:47.000000000","message":"We probably should reference the instructions here as well.","commit_id":"3be200e200d8c20148e76ad0cb407bfac8613152"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"1c2bcdb9ada25657b2f07a234c5c1ca7fc33aff0","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Glance provides two import methods that you can make available to your"},{"line_number":74,"context_line":"users: ``glance-direct`` and ``web-download``."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. TODO(rosmaita): quick description of what they are"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Configuring the web-download method"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa0c359_f42b5c2d","line":75,"updated":"2018-02-15 16:33:31.000000000","message":"Just realized while looking the config files, should we mention here that both of these are enabled by default and they are listed in the glance-api.conf \u0027enabled_import_methods\u0027 config option?","commit_id":"c3e375a3c36621f160a2c0c1df91af0e52235dbb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"893be9736b9718158ec141d3589043ee974ae6f6","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Glance provides two import methods that you can make available to your"},{"line_number":74,"context_line":"users: ``glance-direct`` and ``web-download``."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. TODO(rosmaita): quick description of what they are"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Configuring the web-download method"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa0c359_3a668d53","line":75,"in_reply_to":"3fa0c359_f42b5c2d","updated":"2018-02-15 17:53:14.000000000","message":"I\u0027ll hit that in a follow-up.  See https://bugs.launchpad.net/glance/+bug/1749762","commit_id":"c3e375a3c36621f160a2c0c1df91af0e52235dbb"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"1c2bcdb9ada25657b2f07a234c5c1ca7fc33aff0","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"The import step of interoperable image import is performed by a `Taskflow`_"},{"line_number":169,"context_line":"\"flow\" object.  This object, provided by Glance, will call any plugins you have"},{"line_number":170,"context_line":"specified in the ``glance-image-import.conf`` file.  The plugins are loaded by"},{"line_number":171,"context_line":"`Stevedore`_ and must be listed in the entry point registry in the namespace"},{"line_number":172,"context_line":"``glance.image_import.plugins``.  (If you are using only plugins provided by"},{"line_number":173,"context_line":"the Glance project team, these are already registered for you.)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa0c359_f45d9ce9","line":170,"range":{"start_line":170,"start_character":17,"end_line":170,"end_character":44},"updated":"2018-02-15 16:33:31.000000000","message":"like flagged on the 1st PS we probably should reference the instructions here as well.","commit_id":"c3e375a3c36621f160a2c0c1df91af0e52235dbb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"893be9736b9718158ec141d3589043ee974ae6f6","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"The import step of interoperable image import is performed by a `Taskflow`_"},{"line_number":169,"context_line":"\"flow\" object.  This object, provided by Glance, will call any plugins you have"},{"line_number":170,"context_line":"specified in the ``glance-image-import.conf`` file.  The plugins are loaded by"},{"line_number":171,"context_line":"`Stevedore`_ and must be listed in the entry point registry in the namespace"},{"line_number":172,"context_line":"``glance.image_import.plugins``.  (If you are using only plugins provided by"},{"line_number":173,"context_line":"the Glance project team, these are already registered for you.)"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fa0c359_da5a0982","line":170,"range":{"start_line":170,"start_character":17,"end_line":170,"end_character":44},"in_reply_to":"3fa0c359_f45d9ce9","updated":"2018-02-15 17:53:14.000000000","message":"I\u0027ll get that as part of https://bugs.launchpad.net/glance/+bug/1749762","commit_id":"c3e375a3c36621f160a2c0c1df91af0e52235dbb"}]}
