The new Volume does not appear in the Volume collection after correctly creation.
Steps to reproduce bug:
- List Volumes at BMC
ubuntu@docker-registry:~$ curl -k -u 'admin:admin' https://odim.local.com:55549/redfish/v1/Systems/1/Storage/BMCStorage/Volumes | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 551 100 551 0 0 845 0 --:--:-- --:--:-- --:--:-- 846
{
"@odata.context": "/redfish/v1/$metadata#VolumeCollection.VolumeCollection",
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes",
"@odata.type": "#VolumeCollection.VolumeCollection",
"Name": "Volumes Collection",
"Description": "Volumes Collection",
"Members@odata.count": 1,
"Members": [
{
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/1"
}
],
"Oem": {}
}
- List Volumes at ODIM
ubuntu@docker-registry:~$ curl -k -u 'admin:Od!m12$4' https://odim.local.com:45000/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 439 0 439 0 0 1713 0 --:--:-- --:--:-- --:--:-- 1714
{
"@odata.context": "/redfish/v1/$metadata#VolumeCollection.VolumeCollection",
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes",
"@odata.type": "#VolumeCollection.VolumeCollection",
"Description": "Volumes Collection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/1"
}
],
"Members@odata.count": 1,
"Name": "Volumes Collection",
"Oem": {}
}
- Create new Volume throught ODIM (Look at response body - links are not standardized is it a second problem?)
ubuntu@docker-registry:~$ curl -X POST -k -u 'admin:Od!m12$4' https://odim.local.com:45000/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes -d '{ "Name": "Test volume"}' | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4387 0 4363 100 24 9579 52 --:--:-- --:--:-- --:--:-- 9567
{
"@odata.context": "/redfish/v1/$metadata#Volume.Volume",
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2",
"@odata.type": "#Volume.v1_5_0.Volume",
"AccessCapabilities": [],
"Actions": {
"#Volume.AssignReplicaTarget": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.AssignReplicaTarget"
},
"#Volume.ChangeRAIDLayout": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.ChangeRAIDLayout"
},
"#Volume.CheckConsistency": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.CheckConsistency"
},
"#Volume.CreateReplicaTarget": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.CreateReplicaTarget"
},
"#Volume.ForceEnable": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.ForceEnable"
},
"#Volume.Initialize": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.Initialize"
},
"#Volume.RemoveReplicaRelationship": {
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.RemoveReplicaRelationship"
},
"#Volume.ResumeReplication": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.ResumeReplication"
},
"#Volume.ReverseReplicationRelationship": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.ReverseReplicationRelationship"
},
"#Volume.SplitReplication": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.SplitReplication"
},
"#Volume.SuspendReplication": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/Actions/Volume.SuspendReplication"
},
"Oem": {}
},
"AllocatedPools": {
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/StoragePools"
},
"BlockSizeBytes": null,
"Capacity": {
"Data": {
"AllocatedBytes": null,
"ConsumedBytes": null,
"GuaranteedBytes": null,
"ProvisionedBytes": null
},
"IsThinProvisioned": false,
"Metadata": {
"AllocatedBytes": null,
"ConsumedBytes": null,
"GuaranteedBytes": null,
"ProvisionedBytes": null
},
"Snapshot": {
"AllocatedBytes": null,
"ConsumedBytes": null,
"GuaranteedBytes": null,
"ProvisionedBytes": null
}
},
"CapacityBytes": null,
"CapacitySources": [],
"Compressed": null,
"Deduplicated": null,
"Description": "Volume Description",
"DisplayName": null,
"Encrypted": null,
"EncryptionTypes": [],
"IOPerfModeEnabled": null,
"IOStatistics": {
"NonIORequestTime": null,
"NonIORequests": null,
"ReadHitIORequests": null,
"ReadIOKiBytes": null,
"ReadIORequestTime": null,
"ReadIORequests": null,
"WriteHitIORequests": null,
"WriteIOKiBytes": null,
"WriteIORequestTime": null,
"WriteIORequests": null
},
"Id": "2",
"Identifiers": [],
"Links": {
"ClassOfService": null,
"ClientEndpoints": [],
"ConsistencyGroups": [],
"DedicatedSpareDrives": [],
"Drives": [],
"JournalingMedia": null,
"Oem": {},
"OwningStorageResource": null,
"OwningStorageService": null,
"ServerEndpoints": [],
"SpareResourceSets": [],
"StorageGroups": []
},
"LogicalUnitNumber": null,
"LowSpaceWarningThresholdPercents": [],
"Manufacturer": null,
"MaxBlockSizeBytes": null,
"MediaSpanCount": null,
"Model": null,
"NVMeNamespaceProperties": null,
"Name": "Test volume",
"Oem": {},
"Operations": [],
"OptimumIOSizeBytes": null,
"ProvisioningPolicy": null,
"RAIDType": null,
"ReadCachePolicy": null,
"RecoverableCapacitySourceCount": null,
"RemainingCapacityPercent": null,
"ReplicaInfo": {
"ConsistencyEnabled": false,
"ConsistencyState": null,
"ConsistencyStatus": null,
"ConsistencyType": null,
"DataProtectionLineOfService": null,
"FailedCopyStopsHostIO": false,
"PercentSynced": null,
"Replica": null,
"ReplicaFaultDomain": null,
"ReplicaPriority": null,
"ReplicaProgressStatus": null,
"ReplicaReadOnlyAccess": null,
"ReplicaRecoveryMode": null,
"ReplicaRole": null,
"ReplicaSkewBytes": null,
"ReplicaState": null,
"ReplicaType": null,
"ReplicaUpdateMode": null,
"RequestedReplicaState": null,
"SourceReplica": null,
"SyncMaintained": false,
"UndiscoveredElement": null,
"WhenActivated": null,
"WhenDeactivated": null,
"WhenEstablished": null,
"WhenSuspended": null,
"WhenSynced": null,
"WhenSynchronized": null
},
"ReplicaTargets": [],
"Status": {
"Health": null,
"HealthRollup": null,
"Oem": {},
"State": null
},
"StorageGroups": {
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2/StorageGroups"
},
"StripSizeBytes": null,
"VolumeType": null,
"VolumeUsage": null,
"WriteCachePolicy": null,
"WriteCacheState": null,
"WriteHoleProtectionPolicy": "Off"
}
- List Volume Collection at ODIM (there is no new created volume)
ubuntu@docker-registry:~$ curl -k -u 'admin:Od!m12$4' https://odim.local.com:45000/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 439 0 439 0 0 2122 0 --:--:-- --:--:-- --:--:-- 2120
{
"@odata.context": "/redfish/v1/$metadata#VolumeCollection.VolumeCollection",
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes",
"@odata.type": "#VolumeCollection.VolumeCollection",
"Description": "Volumes Collection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/1"
}
],
"Members@odata.count": 1,
"Name": "Volumes Collection",
"Oem": {}
}
- List volumes at BMC (new volume exist)
ubuntu@docker-registry:~$ curl -k -u 'admin:admin' https://odim.local.com:55549/redfish/v1/Systems/1/Storage/BMCStorage/Volumes | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 618 100 618 0 0 3883 0 --:--:-- --:--:-- --:--:-- 3886
{
"@odata.context": "/redfish/v1/$metadata#VolumeCollection.VolumeCollection",
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes",
"@odata.type": "#VolumeCollection.VolumeCollection",
"Name": "Volumes Collection",
"Description": "Volumes Collection",
"Members@odata.count": 2,
"Members": [
{
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/1"
},
{
"@odata.id": "/redfish/v1/Systems/1/Storage/BMCStorage/Volumes/2"
}
],
"Oem": {}
}
ubuntu@docker-registry:~$
- If you try to GET a new volume which is not exist in ODIM Volumes Collection - then you GET it correctly
ubuntu@docker-registry:~$ curl -k -u 'admin:Od!m12$4' https://odim.local.com:45000/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2 | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4881 0 4881 0 0 10961 0 --:--:-- --:--:-- --:--:-- 10943
{
"@odata.context": "/redfish/v1/$metadata#Volume.Volume",
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2",
"@odata.type": "#Volume.v1_5_0.Volume",
"AccessCapabilities": [],
"Actions": {
"#Volume.AssignReplicaTarget": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.AssignReplicaTarget"
},
"#Volume.ChangeRAIDLayout": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.ChangeRAIDLayout"
},
"#Volume.CheckConsistency": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.CheckConsistency"
},
"#Volume.CreateReplicaTarget": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.CreateReplicaTarget"
},
"#Volume.ForceEnable": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.ForceEnable"
},
"#Volume.Initialize": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.Initialize"
},
"#Volume.RemoveReplicaRelationship": {
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.RemoveReplicaRelationship"
},
"#Volume.ResumeReplication": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.ResumeReplication"
},
"#Volume.ReverseReplicationRelationship": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.ReverseReplicationRelationship"
},
"#Volume.SplitReplication": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.SplitReplication"
},
"#Volume.SuspendReplication": {
"TargetVolume@Redfish.AllowableValues": [],
"target": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/Actions/Volume.SuspendReplication"
},
"Oem": {}
},
"AllocatedPools": {
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/StoragePools"
},
"BlockSizeBytes": null,
"Capacity": {
"Data": {
"AllocatedBytes": null,
"ConsumedBytes": null,
"GuaranteedBytes": null,
"ProvisionedBytes": null
},
"IsThinProvisioned": false,
"Metadata": {
"AllocatedBytes": null,
"ConsumedBytes": null,
"GuaranteedBytes": null,
"ProvisionedBytes": null
},
"Snapshot": {
"AllocatedBytes": null,
"ConsumedBytes": null,
"GuaranteedBytes": null,
"ProvisionedBytes": null
}
},
"CapacityBytes": null,
"CapacitySources": [],
"Compressed": null,
"Deduplicated": null,
"Description": "Volume Description",
"DisplayName": null,
"Encrypted": null,
"EncryptionTypes": [],
"IOPerfModeEnabled": null,
"IOStatistics": {
"NonIORequestTime": null,
"NonIORequests": null,
"ReadHitIORequests": null,
"ReadIOKiBytes": null,
"ReadIORequestTime": null,
"ReadIORequests": null,
"WriteHitIORequests": null,
"WriteIOKiBytes": null,
"WriteIORequestTime": null,
"WriteIORequests": null
},
"Id": "2",
"Identifiers": [],
"Links": {
"ClassOfService": null,
"ClientEndpoints": [],
"ConsistencyGroups": [],
"DedicatedSpareDrives": [],
"Drives": [],
"JournalingMedia": null,
"Oem": {},
"OwningStorageResource": null,
"OwningStorageService": null,
"ServerEndpoints": [],
"SpareResourceSets": [],
"StorageGroups": []
},
"LogicalUnitNumber": null,
"LowSpaceWarningThresholdPercents": [],
"Manufacturer": null,
"MaxBlockSizeBytes": null,
"MediaSpanCount": null,
"Model": null,
"NVMeNamespaceProperties": null,
"Name": "Test volume",
"Oem": {},
"Operations": [],
"OptimumIOSizeBytes": null,
"ProvisioningPolicy": null,
"RAIDType": null,
"ReadCachePolicy": null,
"RecoverableCapacitySourceCount": null,
"RemainingCapacityPercent": null,
"ReplicaInfo": {
"ConsistencyEnabled": false,
"ConsistencyState": null,
"ConsistencyStatus": null,
"ConsistencyType": null,
"DataProtectionLineOfService": null,
"FailedCopyStopsHostIO": false,
"PercentSynced": null,
"Replica": null,
"ReplicaFaultDomain": null,
"ReplicaPriority": null,
"ReplicaProgressStatus": null,
"ReplicaReadOnlyAccess": null,
"ReplicaRecoveryMode": null,
"ReplicaRole": null,
"ReplicaSkewBytes": null,
"ReplicaState": null,
"ReplicaType": null,
"ReplicaUpdateMode": null,
"RequestedReplicaState": null,
"SourceReplica": null,
"SyncMaintained": false,
"UndiscoveredElement": null,
"WhenActivated": null,
"WhenDeactivated": null,
"WhenEstablished": null,
"WhenSuspended": null,
"WhenSynced": null,
"WhenSynchronized": null
},
"ReplicaTargets": [],
"Status": {
"Health": null,
"HealthRollup": null,
"Oem": {},
"State": null
},
"StorageGroups": {
"@odata.id": "/redfish/v1/Systems/2ab8e813-8b5d-4228-b2f5-e246cefdff79:1/Storage/BMCStorage/Volumes/2/StorageGroups"
},
"StripSizeBytes": null,
"VolumeType": null,
"VolumeUsage": null,
"WriteCachePolicy": null,
"WriteCacheState": null,
"WriteHoleProtectionPolicy": "Off"
}
The new Volume does not appear in the Volume collection after correctly creation.
Steps to reproduce bug: