When resizing a disk that is attached to an instance, cinder will send an event to nova which in turn prompts nova to notify the guest that the disk size has changed.
On Focal Victoria, this operation fails with the following error:
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova [req-790733a1-60dd-45ec-a127-bd5379dc5fba d14df9ecba5e41e6b966d176a3710318 6239ccdced2541b48e9a39f6177eab59 - - -] Failed to notify nova on events: [{'name': 'volume-extended', 'server_uuid': '81fa63a6-f3bd-4970-952f-adef740e6e2e', 'tag': 'db55a6ad-f27a-4d56-b1dd-c95ce2645c00'}].: keystoneauth1.exceptions.http.BadRequest: Expecting to find domain in project. The server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error. (HTTP 400) (Request-ID: req-0b561ee5-e968-49f7-8097-49b374b7fc3c)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova Traceback (most recent call last):
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/cinder/compute/nova.py", line 149, in _send_events
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova response = nova.server_external_events.create(events)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/novaclient/v2/server_external_events.py", line 38, in create
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self._create('/os-server-external-events', body, 'events',
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/novaclient/base.py", line 363, in _create
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp, body = self.api.client.post(url, body=body)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 401, in post
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.request(url, 'POST', **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/novaclient/client.py", line 69, in request
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp, body = super(SessionClient, self).request(url,
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 554, in request
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp = super(LegacyJsonAdapter, self).request(*args, **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 257, in request
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.session.request(url, method, **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 780, in request
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova auth_headers = self.get_auth_headers(auth)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 1191, in get_auth_headers
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return auth.get_headers(self, **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/plugin.py", line 95, in get_headers
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova token = self.get_token(session)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/identity/base.py", line 88, in get_token
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.get_access(session).auth_token
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/identity/base.py", line 134, in get_access
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova self.auth_ref = self.get_auth_ref(session)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/identity/generic/base.py", line 208, in get_auth_ref
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self._plugin.get_auth_ref(session, **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/identity/v3/base.py", line 187, in get_auth_ref
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp = session.post(token_url, json=body, headers=headers,
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 1139, in post
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.request(url, 'POST', **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/python3/dist-packages/keystoneauth1/session.py", line 976, in request
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova raise exceptions.from_response(resp, method, url)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova keystoneauth1.exceptions.http.BadRequest: Expecting to find domain in project. The server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error. (HTTP 400) (Request-ID: req-0b561ee5-e968-49f7-8097-49b374b7fc3c)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova
Adding a [nova] section in cinder.conf with the required service credentials fixes this issue, and the guests are properly notified of the resize event.
When resizing a disk that is attached to an instance, cinder will send an event to nova which in turn prompts nova to notify the guest that the disk size has changed.
On Focal Victoria, this operation fails with the following error:
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova [req-790733a1- 60dd-45ec- a127-bd5379dc5f ba d14df9ecba5e41e 6b966d176a37103 18 6239ccdced2541b 48e9a39f6177eab 59 - - -] Failed to notify nova on events: [{'name': 'volume-extended', 'server_uuid': '81fa63a6- f3bd-4970- 952f-adef740e6e 2e', 'tag': 'db55a6ad- f27a-4d56- b1dd-c95ce2645c 00'}].: keystoneauth1. exceptions. http.BadRequest : Expecting to find domain in project. The server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error. (HTTP 400) (Request-ID: req-0b561ee5- e968-49f7- 8097-49b374b7fc 3c) python3/ dist-packages/ cinder/ compute/ nova.py" , line 149, in _send_events external_ events. create( events) python3/ dist-packages/ novaclient/ v2/server_ external_ events. py", line 38, in create '/os-server- external- events' , body, 'events', python3/ dist-packages/ novaclient/ base.py" , line 363, in _create client. post(url, body=body) python3/ dist-packages/ keystoneauth1/ adapter. py", line 401, in post python3/ dist-packages/ novaclient/ client. py", line 69, in request ient, self).request(url, python3/ dist-packages/ keystoneauth1/ adapter. py", line 554, in request nAdapter, self).request( *args, **kwargs) python3/ dist-packages/ keystoneauth1/ adapter. py", line 257, in request request( url, method, **kwargs) python3/ dist-packages/ keystoneauth1/ session. py", line 780, in request auth_headers( auth) python3/ dist-packages/ keystoneauth1/ session. py", line 1191, in get_auth_headers headers( self, **kwargs) python3/ dist-packages/ keystoneauth1/ plugin. py", line 95, in get_headers token(session) python3/ dist-packages/ keystoneauth1/ identity/ base.py" , line 88, in get_token access( session) .auth_token python3/ dist-packages/ keystoneauth1/ identity/ base.py" , line 134, in get_access auth_ref( session) python3/ dist-packages/ keystoneauth1/ identity/ generic/ base.py" , line 208, in get_auth_ref get_auth_ ref(session, **kwargs) python3/ dist-packages/ keystoneauth1/ identity/ v3/base. py", line 187, in get_auth_ref post(token_ url, json=body, headers=headers, python3/ dist-packages/ keystoneauth1/ session. py", line 1139, in post python3/ dist-packages/ keystoneauth1/ session. py", line 976, in request from_response( resp, method, url) exceptions. http.BadRequest : Expecting to find domain in project. The server could not comply with the request since it is either malformed or otherwise incorrect. The client is assumed to be in error. (HTTP 400) (Request-ID: req-0b561ee5- e968-49f7- 8097-49b374b7fc 3c)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova Traceback (most recent call last):
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova response = nova.server_
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self._create(
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp, body = self.api.
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.request(url, 'POST', **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp, body = super(SessionCl
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp = super(LegacyJso
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.session.
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova auth_headers = self.get_
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return auth.get_
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova token = self.get_
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.get_
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova self.auth_ref = self.get_
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self._plugin.
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova resp = session.
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova return self.request(url, 'POST', **kwargs)
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova File "/usr/lib/
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova raise exceptions.
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova keystoneauth1.
2021-08-10 07:50:28.926 1105394 ERROR cinder.compute.nova
Adding a [nova] section in cinder.conf with the required service credentials fixes this issue, and the guests are properly notified of the resize event.