sodafoundation / delfin

delfin is the SODA Infrastructure Manager project which provides unified, intelligent and scalable resource management, alert and performance monitoring
https://sodafoundation.io/
Apache License 2.0
202 stars 354 forks source link

Ports was not synced with the actual port configuration #1020

Open te-koyanagi opened 8 months ago

te-koyanagi commented 8 months ago

Issue/Feature Description: Ports does not shown even over one month passed after creating the access info for Huawei Oceanstor. It can be related to incompletion of synchronization of storage information.

Why this issue to fixed / feature is needed(give scenarios or use cases): Because the synchronization of storage information is essential functionality for SODA Delfin, it must be stable.

How to reproduce, in case of a bug: Prepare a json file of storage access info for Huawei Oceanstor.

$ cat oceanstor_access_info.yaml
{
    "vendor": "huawei",
    "model": "oceanstor",
    "rest": {
        "host": "172.27.16.71",
        "port": 8088,
        "username": "admin",
        "password": "************"
    },
    "extra_attributes": {
        "path": "storage.json"
    }
}

Register the storage access info to the delfin.

$ curl -X POST -H "Content-Type: application/json" http://192.168.231.101:31000/v1/storages -d @oceanstor_access_info.yaml | jq .
{
    "created_at": "2024-01-26T03:18:49.585925",
    "updated_at": null,
    "id": "82718864-9369-4c2f-90c1-96000b6a1514",
    "name": "OceanStor",
    "description": "Huawei OceanStor Storage",
    "location": "Akasaka #2 rack",
    "status": "normal",
    "sync_status": "SYNCED",
    "vendor": "Huawei",
    "model": "dorado01",
    "serial_number": "2102352KRP10K1000001",
    "firmware_version": "5.60.02.101",
    "total_capacity": 57560374312960,
    "used_capacity": 667426299904,
    "free_capacity": 42807250736640,
    "raw_capacity": 57560374312960,
    "subscribed_capacity": null,
    "deleted_at": null,
    "deleted": false
}

Check the port information

curl -s -X GET http://192.168.231.101:31000/v1/ports | jq .
{
  "ports": []
}

Check the sync status

$ curl -s -X GET http://192.168.231.101:31000/v1/storages | jq .
{
  "storages": [
    {
      "created_at": "2024-01-26T04:48:40.564039",
      "updated_at": "2024-01-26T04:48:43.367589",
      "id": "db6e9a64-fc7c-4c10-a60b-a17abb7fabcf",
      "name": "OceanStor",
      "description": "Huawei OceanStor Storage",
      "location": "Akasaka #2 rack",
      "status": "normal",
      "sync_status": "SYNCING",
      "vendor": "Huawei",
      "model": "dorado01",
      "serial_number": "2102352KRP10K1000001",
      "firmware_version": "5.60.02.101",
      "total_capacity": 57560374312960,
      "used_capacity": 667443200512,
      "free_capacity": 42807233836032,
      "raw_capacity": 57560374312960,
      "subscribed_capacity": null,
      "deleted_at": null,
      "deleted": false
    }
  ]
}

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

te-koyanagi commented 8 months ago

See the following document for the test configuration: https://docs.google.com/document/d/1WesXmZV0eRDgG2cjg2myqd5BK1t-Eg36O0IzkA6BTto/edit?usp=sharing