Browse Source

Merge "Change default num_retries for glance to 3" into stable/rocky

changes/13/761813/3
Zuul 2 months ago
committed by Gerrit Code Review
parent
commit
de5f643ed9
4 changed files with 19 additions and 8 deletions
  1. +1
    -1
      nova/conf/glance.py
  2. +6
    -6
      nova/tests/unit/virt/xenapi/image/test_glance.py
  3. +1
    -1
      nova/tests/unit/virt/xenapi/test_vm_utils.py
  4. +11
    -0
      releasenotes/notes/increase_glance_num_retries-ddfcd7053631882b.yaml

+ 1
- 1
nova/conf/glance.py View File

@ -44,7 +44,7 @@ Possible values:
(i.e. "http://10.0.1.0:9292" or "https://my.glance.server/image").
"""),
cfg.IntOpt('num_retries',
default=0,
default=3,
min=0,
help="""
Enable glance operation retries.


+ 6
- 6
nova/tests/unit/virt/xenapi/image/test_glance.py View File

@ -148,7 +148,7 @@ class TestGlanceStore(stubs.XenAPITestBaseNoDB):
mock_sr_path.assert_called_once_with(self.session)
mock_extra_header.assert_called_once_with(self.context)
mock_upload.assert_called_once_with(
self.session, 0, mock.ANY, mock.ANY, 'fake_image_uuid',
self.session, 3, mock.ANY, mock.ANY, 'fake_image_uuid',
'fake_sr_path', 'fake_extra_header', **params)
@mock.patch.object(utils, 'get_auto_disk_config_from_instance')
@ -169,7 +169,7 @@ class TestGlanceStore(stubs.XenAPITestBaseNoDB):
mock_sr_path.assert_called_once_with(self.session)
mock_extra_header.assert_called_once_with(self.context)
mock_upload.assert_called_once_with(
self.session, 0, mock.ANY, mock.ANY, 'fake_image_uuid',
self.session, 3, mock.ANY, mock.ANY, 'fake_image_uuid',
'fake_sr_path', 'fake_extra_header', **params)
mock_disk_config.assert_called_once_with(self.instance)
@ -190,7 +190,7 @@ class TestGlanceStore(stubs.XenAPITestBaseNoDB):
mock_sr_path.assert_called_once_with(self.session)
mock_extra_header.assert_called_once_with(self.context)
mock_upload.assert_called_once_with(
self.session, 0, mock.ANY, mock.ANY, 'fake_image_uuid',
self.session, 3, mock.ANY, mock.ANY, 'fake_image_uuid',
'fake_sr_path', 'fake_extra_header', **params)
mock_disk_config.assert_called_once_with(self.instance)
@ -211,7 +211,7 @@ class TestGlanceStore(stubs.XenAPITestBaseNoDB):
mock_sr_path.assert_called_once_with(self.session)
mock_extra_header.assert_called_once_with(self.context)
mock_upload.assert_called_once_with(
self.session, 0, mock.ANY, mock.ANY, 'fake_image_uuid',
self.session, 3, mock.ANY, mock.ANY, 'fake_image_uuid',
'fake_sr_path', 'fake_extra_header', **params)
@mock.patch.object(common_glance, 'generate_identity_headers')
@ -231,7 +231,7 @@ class TestGlanceStore(stubs.XenAPITestBaseNoDB):
mock_sr_path.assert_called_once_with(self.session)
mock_extra_header.assert_called_once_with(self.context)
mock_upload.assert_called_once_with(
self.session, 0, mock.ANY, mock.ANY, 'fake_image_uuid',
self.session, 3, mock.ANY, mock.ANY, 'fake_image_uuid',
'fake_sr_path', 'fake_extra_header', **params)
@mock.patch.object(time, 'sleep')
@ -330,5 +330,5 @@ class TestGlanceStore(stubs.XenAPITestBaseNoDB):
mock_sr_path.assert_called_once_with(self.session)
mock_extra_header.assert_called_once_with(self.context)
mock_upload.assert_called_once_with(
self.session, 0, mock.ANY, mock.ANY, 'fake_image_uuid',
self.session, 3, mock.ANY, mock.ANY, 'fake_image_uuid',
'fake_sr_path', 'fake_extra_header', **params)

+ 1
- 1
nova/tests/unit/virt/xenapi/test_vm_utils.py View File

@ -256,7 +256,7 @@ class FetchVhdImageTestCase(VMUtilsTestBase):
self.mock_call_plugin.assert_called_once_with(
'glance.py',
'download_vhd2',
0,
3,
mock.ANY,
mock.ANY,
extra_headers={'X-Auth-Token': 'auth_token',


+ 11
- 0
releasenotes/notes/increase_glance_num_retries-ddfcd7053631882b.yaml View File

@ -0,0 +1,11 @@
---
upgrade:
- |
The default for ``[glance] num_retries`` has changed from ``0`` to ``3``.
The option controls how many times to retry a Glance API call in response
to a HTTP connection failure. When deploying Glance behind HAproxy it is
possible for a response to arrive just after the HAproxy idle time. As a
result, an exception will be raised when the connection is closed resulting
in a failed request. By increasing the default value, Nova can be more
resilient to this scenario were HAproxy is misconfigured by retrying the
request.

Loading…
Cancel
Save