Skip to content

Commit e63ecae

Browse files
authored
Merge pull request #897 from stackhpc/upstream/2026.1-2026-07-07
Synchronise 2026.1 with upstream
2 parents 45de20d + b8d02a1 commit e63ecae

5 files changed

Lines changed: 33 additions & 2 deletions

File tree

ansible/module_utils/kolla_podman_worker.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,12 @@ def compare_config(self):
538538
if rc == 0:
539539
return False
540540
elif rc == 1:
541-
self._config_diff = (raw_output.decode('utf-8') if
542-
isinstance(raw_output, bytes) else raw_output)
541+
try:
542+
self._config_diff = (raw_output.decode('utf-8') if
543+
isinstance(raw_output, bytes) else
544+
raw_output)
545+
except UnicodeDecodeError:
546+
self._config_diff = 'container changed during config check'
543547
return True
544548
else:
545549
raise Exception('Failed to compare container configuration: '

ansible/roles/glance/tasks/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
project_services: "{{ glance_services }}"
5454
service: "{{ glance_services['glance-api'] }}"
5555
service_name: "glance-api"
56+
service_uwsgi_config_chunked_input_limit: "{{ '64M' | human_to_bytes }}"
5657
service_uwsgi_config_http_port: "{{ glance_api_listen_port }}"
5758
service_uwsgi_config_log_file_chmod: "644"
5859
service_uwsgi_config_module: "{{ service.wsgi }}"

ansible/roles/service-uwsgi-config/templates/uwsgi.ini.j2

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
[uwsgi]
22
add-header = Connection: close
33
buffer-size = 65535
4+
{% if service_uwsgi_config_chunked_input_limit is defined %}
5+
chunked-input-limit = {{ service_uwsgi_config_chunked_input_limit }}
6+
{% endif %}
47
die-on-term = true
58
enable-threads = true
69
exit-on-reload = false
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
fixes:
3+
- |
4+
Fixed instance snapshot hanging indefinitely.
5+
`LP#2158974 <https://launchpad.net/bugs/2158974>`__

tests/kolla_container_tests/test_podman_worker.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,24 @@ def test_compare_config_changed(self):
766766
user='root')
767767
self.assertTrue(return_data)
768768

769+
def test_compare_config_chenged_unicode_error(self):
770+
self.fake_data['params']['name'] = 'my_container'
771+
self.pw = get_PodmanWorker(self.fake_data['params'])
772+
my_container = construct_container(self.fake_data['containers'][0])
773+
invalid_bytes = b'\x8e\xfe\xfd'
774+
my_container.exec_run = mock.Mock(return_value=(1, invalid_bytes))
775+
self.pw.pc.containers.get.return_value = my_container
776+
777+
return_data = self.pw.compare_config()
778+
self.pw.pc.containers.get.assert_called_once_with(
779+
self.fake_data['params']['name'])
780+
my_container.exec_run.assert_called_once_with(
781+
pwm.COMPARE_CONFIG_CMD,
782+
user='root')
783+
self.assertTrue(return_data)
784+
self.assertEqual(self.pw._config_diff,
785+
'container changed during config check')
786+
769787
def test_compare_config_changed_container_exited(self):
770788
self.fake_data['params']['name'] = 'my_container'
771789
self.pw = get_PodmanWorker(self.fake_data['params'])

0 commit comments

Comments
 (0)