[glance] Replaced parameters "default_store" and "glance_store" breaks cooperation between cinder and glance in rocky release
Brian Rosmaita
rosmaita.fossdev at gmail.com
Tue Feb 23 20:55:12 UTC 2021
Sorry to top post, but I think your Glance configuration may be incorrect.
The 'enabled_backends' value is a comma separated string of keys:values
of name:store_type, and then you use the name to create a config group
for that store's options. So if you name your store 'reliable', you'll
want something like:
[DEFAULT]
enabled_backends = reliable:rbd
[glance_store]
default_backend = reliable
[reliable]
store_description = "Reliable backend for storing your images"
# your current rbd options should also go here
You'll also need to add a [os_staging] section to the config file to
handle image import; see this doc for information about all of the above:
https://docs.openstack.org/glance/rocky/admin/multistores.html
I think Cinder is getting a 500 from Glance when it requests the image
data, so hopefully this Glance config change will also fix your cinder
issue.
cheers,
brian
On 2/23/21 5:02 AM, Jan Wasilewski wrote:
> Hello,
>
> I am writing to you, because we faced an issue with broken cooperation
> between cinder and glance. In our logs(glance-api) we observed such
> warning message:
>
> 2021-02-22 15:30:02.894 756 WARNING oslo_config.cfg [-] Deprecated:
> Option "stores" from group "glance_store" is deprecated for removal (
>
> This option is deprecated against new config option
>
> ``enabled_backends`` which helps to configure multiple backend stores
>
> of different schemes.
>
> This option is scheduled for removal in the Stein development
>
> cycle.
>
> ). Its value may be silently ignored in the future.
>
> 2021-02-22 15:30:02.896 756 WARNING oslo_config.cfg [-] Deprecated:
> Option "default_store" from group "glance_store" is deprecated for removal (
>
> This option is deprecated against new config option
>
> ``default_backend`` which acts similar to ``default_store`` config
>
> option.
>
> This option is scheduled for removal in the Stein development
>
> cycle.
>
> ). Its value may be silently ignored in the future.
>
> And we simply wanted to solve this problem, by changing option
> glance_store to enabled_backends and default_store to default_backend:
>
> @@ -2079,7 +2079,7 @@pool_timeout = 60
>
> # cycle.
>
> #stores = file,http
>
> -stores = glance.store.rbd.Store
>
> +enabled_backends = glance.store.rbd.Store
>
> # DEPRECATED:
>
> # The default scheme to use for storing images.
>
> @@ -2134,7 +2134,7 @@stores = glance.store.rbd.Store
>
> # cycle.
>
> #default_store = file
>
> -default_store = rbd
>
> +default_backend = rbd
>
> But then we realized that we’re not able to create volumes from new
> images, because we hit an issue:
>
> 2021-02-22 22:45:08.805 5910 ERROR cinder.scheduler.filter_scheduler
> [req-fe8e8aa2-dd8a-470b-9d70-dbdc757b48d9
> 54df39e1b74149bcb8cf9ad3eb957d48 afdfb965515f4724a21b6823764ec36d -
> default default] Error scheduling 9de37fe8-4f9e-4c29-8cfa-c1a71e8c68b7
> from last vol-service: cinder-05 at huawei_backend#StoragePool001 :
> [u'Traceback (most recent call last):\n', u' File
> "/usr/lib/python2.7/dist-packages/taskflow/engines/action_engine/executor.py",
> line 53, in _execute_task\n result = task.execute(**arguments)\n',
> u' File
> "/usr/lib/python2.7/dist-packages/cinder/volume/flows/manager/create_volume.py",
> line 1059, in execute\n **volume_spec)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/utils.py", line 818, in
> _wrapper\n return r.call(f, *args, **kwargs)\n', u' File
> "/usr/lib/python2.7/dist-packages/retrying.py", line 206, in call\n
> return attempt.get(self._wrap_exception)\n', u' File
> "/usr/lib/python2.7/dist-packages/retrying.py", line 247, in get\n
> six.reraise(self.value[0], self.value[1], self.value[2])\n', u' File
> "/usr/lib/python2.7/dist-packages/retrying.py", line 200, in call\n
> attempt = Attempt(fn(*args, **kwargs), attempt_number, False)\n', u'
> File
> "/usr/lib/python2.7/dist-packages/cinder/volume/flows/manager/create_volume.py",
> line 959, in _create_from_image\n image_service)\n', u' File
> "<decorator-gen-238>", line 2, in _prepare_image_cache_entry\n', u'
> File "/usr/lib/python2.7/dist-packages/cinder/coordination.py", line
> 151, in _synchronized\n return f(*a, **k)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/volume/flows/manager/create_volume.py",
> line 757, in _prepare_image_cache_entry\n update_cache=True)\n', u'
> File
> "/usr/lib/python2.7/dist-packages/cinder/volume/flows/manager/create_volume.py",
> line 831, in _create_from_image_cache_or_download\n backend_name) as
> tmp_image:\n', u' File "/usr/lib/python2.7/contextlib.py", line 17, in
> __enter__\n return self.gen.next()\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/image_utils.py", line
> 832, in fetch\n fetch_verify_image(context, image_service, image_id,
> tmp)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/image_utils.py", line
> 451, in fetch_verify_image\n None, None)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/image_utils.py", line
> 377, in fetch\n tpool.Proxy(image_file))\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 358, in
> download\n _reraise_translated_image_exception(image_id)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 602, in
> _reraise_translated_image_exception\n six.reraise(type(new_exc),
> new_exc, exc_trace)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 356, in
> download\n image_chunks = self._client.call(context, \'data\',
> image_id)\n', u' File
> "/usr/lib/python2.7/dist-packages/cinder/image/glance.py", line 225, in
> call\n return getattr(controller, method)(*args, **kwargs)\n', u'
> File "/usr/lib/python2.7/dist-packages/glanceclient/common/utils.py",
> line 545, in inner\n return RequestIdProxy(wrapped(*args,
> **kwargs))\n', u' File
> "/usr/lib/python2.7/dist-packages/glanceclient/v2/images.py", line 208,
> in data\n resp, body = self.http_client.get(url)\n', u' File
> "/usr/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 328,
> in get\n return self.request(url, \'GET\', **kwargs)\n', u' File
> "/usr/lib/python2.7/dist-packages/glanceclient/common/http.py", line
> 349, in request\n return self._handle_response(resp)\n', u' File
> "/usr/lib/python2.7/dist-packages/glanceclient/common/http.py", line 98,
> in _handle_response\n raise exc.from_response(resp, resp.content)\n',
> u'HTTPInternalServerError: HTTPInternalServerError (HTTP 500)\n']
>
> Which is visible in cinder-scheduler log file. When we reverted a
> change, everything started to operate normally. I’m just wondering how
> we can skip this warning message and makes cinder and glance to
> cooperate correctly, especially that we’re planning to make an upgrade
> from Rocky to Stein soon and this option is planned to be removed in the
> Stein release. Thanks in advance for your help here.
>
> Pozdrawiam,
> Jan Wasilewski
> Administrator systemów i sieci CI ATM
> Tel: +48 691 493 327
> _jan.wasilewski at atman.pl <mailto:jan.wasilewski at atman.pl>, _www.atman.eu
> <http://www.atman.eu/>
>
>
> Informacja o zasadach przetwarzania danych osobowych przez ATM S.A.
> znajduje się pod tym linkiem
> <http://www.atman.pl/Informacja-o-przetwarzaniu-danych-osobowych-cabout-pol-113.html>.
>
More information about the openstack-discuss
mailing list