cinder returns wrong "href" in volumes/detail repsonse.
The correct href should be something like this: http://1.1.1.1/volume/
however it's now something like this: http://1.1.1.1/volum/
aka. the 'volume' misses 'e'
below is an example on cinder master:
============================================================================
cinder --debug show 196119c3-2541-412b-b9dd-0abc9ff03e3a
DEBUG:keystoneauth.session:REQ: curl -g -i -X GET http://*.*.*.*/identity -H "Accept: application/json" -H "User-Agent: cinder keystoneauth1/4.4.0 python-requests/2.26.0 CPython/3.8.10"
DEBUG:keystoneauth.session:RESP: [300] Connection: close Content-Length: 273 Content-Type: application/json Date: Wed, 20 Oct 2021 07:05:54 GMT Location: http://*.*.*.*/identity/v3/ Server: Apache/2.4.41 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-25dc2bf6-a2a2-4408-a2c0-325c60e9d4e7
DEBUG:keystoneauth.session:RESP BODY: {"versions": {"values": [{"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "http://*.*.*.*/identity/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}]}}
DEBUG:keystoneauth.session:GET call to http://*.*.*.*/identity used request id req-25dc2bf6-a2a2-4408-a2c0-325c60e9d4e7
DEBUG:keystoneauth.identity.v3.base:Making authentication request to http://*.*.*.*/identity/v3/auth/tokens
DEBUG:keystoneauth.identity.v3.base:{"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "3285efa824c34a25b99818221c9aa3ee", "name": "admin", "password_expires_at": null}, "audit_ids": ["MQHD1eayTpOaIUFtGYVFAg"], "expires_at": "2021-10-20T08:05:54.000000Z", "issued_at": "2021-10-20T07:05:54.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "f45bcd9b293f41ad9cae00d3d462a369", "name": "demo"}, "is_domain": false, "roles": [{"id": "bf84c415e7ad487aafa6c969944c2579", "name": "mem
ber"}, {"id": "a68ebf796aa0480ea433d0834b8a884b", "name": "reader"}, {"id": "12a1a02abce349399383cc5180ea6499", "name": "admin"}], "catalog": [{"endpoints": [{"id": "931cce2fcc5c4fc2857cbc78bba47902", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/compute/v2/f45bcd9b293f41ad9cae00d3d462a369", "region": "RegionOne"}], "id": "29e846f20cd14c61b5379b97f76c8432", "type": "compute_legacy", "name": "nova_legacy"}, {"endpoints": [{"id": "380d63088c2c42bcb0094fc6f23fd13e", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/volume/v3/f45bcd9b293f41ad9cae00d3d462a369", "region": "RegionOne"}], "id": "4f878c6bb4d34b10b77e592d5a7e9722", "type": "volumev3", "name": "cinderv3"}, {"endpoints": [{"id": "060641c48ff5473aa9fd58c836fee11c", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/placement", "region": "RegionOne"}], "id": "7506a8099cb1401392408b1f3f1cac15", "type": "placement", "name": "placement"}, {"endpoints": [{"id": "aa460381ddc140e4801ebf6a0d663b77", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/volume/v3/f45bcd9b293f41ad9cae00d3d462a369", "region": "RegionOne"}], "id": "7fd21756456d4f158ab3ba4d281f40f8", "type": "block-storage", "name": "cinder"}, {"endpoints": [{"id": "071d14fb5461413197ecef2f71f1b3e4", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/identity", "region": "RegionOne"}, {"id": "ad10e3feb3534f48bf72de0d133fd71e", "interface": "admin", "region_id": "RegionOne", "url": "http://*.*.*.*/identity", "region": "RegionOne"}], "id": "825e3c39fc9b4e46a6daa2ea6c816394","type": "identity", "name": "keystone"}, {"endpoints": [{"id": "1461db70ae2a4a17b5ce249f2004aad8", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/compute/v2.1", "region": "RegionOne"}], "id": "8c5140cb3d724d62867dc9aded69bf6a", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "8ee2fccc252844629df97d4e4c0be637", "interface": "admin", "region_id": "RegionOne", "url": "http://*.*.*.*:8080", "region": "RegionOne"}, {"id": "aca931818e2d4238ad5e9c3c5d272c47", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*:8080/v1/AUTH_f45bcd9b293f41ad9cae00d3d462a369", "region": "RegionOne"}], "id": "bfdd4d24461043d0815fc1e34bfd58e4", "type": "object-store", "name": "swi
ft"}, {"endpoints": [{"id": "bf4d38aa26704ac180d97d8b60e84118", "interface": "public", "region_id": "RegionOne", "url": "http://*.*.*.*/image", "region": "RegionOne"}], "id": "c121bcedb64a4564ac8ba19bda0f97bb", "type": "image", "name": "glance"}, {"endpoints": [{"id": "dc9695b180fa4c578f7b5f88a2a439a9", "interface": "public", "region_id": "RegionOne", "url":"http://*.*.*.*:9696/", "region": "RegionOne"}], "id": "c62064dc2d8641d886fdbf6da3c282b5", "type": "network", "name": "neutron"}]}}
DEBUG:keystoneauth:REQ: curl -g -i -X GET http://*.*.*.*/volume/ -H "Accept: application/json" -H "OpenStack-API-Version: volume 3.66" -H "User-Agent: python-cinderclient" -H "X-Auth-Token: {SHA256}677e7e2ac3855d1d12e88eb5ac6453943686a7913ace1015e30b2f61300b04de"
DEBUG:keystoneauth:RESP: [300] Connection: close Content-Length: 388 Content-Type: application/json Date: Wed, 20 Oct 2021 07:05:54 GMT OpenStack-API-Version: volume 3.66 Server: Apache/2.4.41 (Ubuntu) Vary: OpenStack-API-Version
DEBUG:keystoneauth:RESP BODY: {"versions": [{"id": "v3.0", "status": "CURRENT", "version": "3.66", "min_version": "3.0", "updated": "2021-09-16T00:00:00Z", "links": [{"rel": "describedby", "type": "text/html", "href": "https://docs.openstack.org/"}, {"rel": "self", "href": "http://*.*.*.*/volum/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.volume+json;version=3"}]}]}
DEBUG:keystoneauth:REQ: curl -g -i -X GET http://*.*.*.*/volume/v3/f45bcd9b293f41ad9cae00d3d462a369/volumes/196119c3-2541-412b-b9dd-0abc9ff03e3a -H "Accept: application/json" -H "User-Agent: python-cinderclient" -H "X-Auth-Token: {SHA256}677e7e2ac3855d1d12e88eb5ac6453943686a7913ace1015e30b2f61300b04de"
DEBUG:keystoneauth:RESP: [200] Connection: close Content-Length: 1044 Content-Type: application/json Date: Wed, 20 Oct 2021 07:05:54 GMT OpenStack-API-Version: volume 3.0 Server: Apache/2.4.41 (Ubuntu) Vary: OpenStack-API-Version x-compute-request-id: req-a821ab46-af6f-46e2-b23e-5c901a893732 x-openstack-request-id: req-a821ab46-af6f-46e2-b23e-5c901a893732
DEBUG:keystoneauth:RESP BODY: {"volume": {"id": "196119c3-2541-412b-b9dd-0abc9ff03e3a", "status": "available", "size": 1, "availability_zone": "nova", "created_at": "2021-10-13T11:22:39.000000", "updated_at": "2021-10-13T11:23:11.000000", "name": null, "description": null, "volume_type": "xtremiofc1", "snapshot_id": null, "source_volid": null, "metadata": {}, "links": [{"rel": "self", "href": "http://*.*.*.*/volum/v3/f45bcd9b293f41ad9cae00d3d462a369/volumes/196119c3-2541-412b-b9dd-0abc9ff03e3a"}, {"rel": "bookmark", "href": "http://*.*.*.*/volum/f45bcd9b293f41ad9cae00d3d462a369/volumes/196119c3-2541-412b-b9dd-0abc9ff03e3a"}], "user_id": "fb0fc98e2cba4608973470930c82ecf4", "bootable": "false", "encrypted": false, "replication_status": null, "consistencygroup_id": null, "multiattach": false, "attachments": [], "migration_status": null, "os-vol-tenant-attr:tenant_id": "ca5ed326eeec4540b52fe595a3a0e6f6", "os-vol-host-attr:host": "e2e-os-xiofc116@xtremiofc1#xtremiofc1", "os-vol-mig-status-attr:migstat": null, "os-vol-mig-status-attr:name_id": null}}
DEBUG:keystoneauth:GET call to volumev3 for http://*.*.*.*/volume/v3/f45bcd9b293f41ad9cae00d3d462a369/volumes/196119c3-2541-412b-b9dd-0abc9ff03e3a used request id req-a821ab46-af6f-46e2-b23e-5c901a893732
+--------------------------------+---------------------------------------+
| Property | Value |
+--------------------------------+---------------------------------------+
| attached_servers | [] |
| attachment_ids | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2021-10-13T11:22:39.000000 |
| description | None |
| encrypted | False |
| id | 196119c3-2541-412b-b9dd-0abc9ff03e3a |
| metadata | |
| migration_status | None |
| multiattach | False |
| name | None |
| os-vol-host-attr:host | e2e-os-xiofc116@xtremiofc1#xtremiofc1 |
| os-vol-mig-status-attr:migstat | None |
| os-vol-mig-status-attr:name_id | None |
| os-vol-tenant-attr:tenant_id | ca5ed326eeec4540b52fe595a3a0e6f6 |
| replication_status | None |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | available |
| updated_at | 2021-10-13T11:23:11.000000 |
| user_id | fb0fc98e2cba4608973470930c82ecf4 |
| volume_type | xtremiofc1 |
+--------------------------------+---------------------------------------+
============================================================================
I did a quick search and nothing interesting showed up, so I think this could be related to any operation in the backend that cut the path to modify it or something. I've never seen something like this with LVM/NFS/RBD so far so definitely need more investigation. tests/unit/ volume/ drivers/ ibm/test_ storwize_ svc.py: 8273: # test volume is non hyperswap volume but volum type is hyper type```
```
/opt/stack/cinder$ git grep -n "\<volum\>"
cinder/