Skip to content

Scaled up unpublished but previously published volume remains in Degraded state #2043

Description

@abhilashshetty04

Describe the bug
When a published volume is unpublished. NexusInfo will have the list of children when it was being unpublished. When user scales up the volume a new replica/child is not part of the persisted NexusInfo.

Even though Replica is Online from availability perspective its data is inconsistent most likely. under replica topology it has state: Online and healthy: false which marks volume state: Degraded

To Reproduce

scale up the previously published volume

Expected behavior
Offline volume rebuild reconciler should handle this too. Preferably without waiting for the --offline-rebuild-grace-period. This is needed for Mayastor pool drain feature also.

Screenshots

{
  "spec": {
    "num_replicas": 3,
    "size": 1073741824,
    "sizeBdev": 1073741824,
    "status": "Created",
    "uuid": "ec4e66fd-3b33-4439-b504-d49aba53da25",
    "policy": {
      "self_heal": true
    },
    "thin": false,
    "num_snapshots": 0,
    "max_snapshots": 10,
    "encrypted": false,
    "labelVersion": 1
  },
  "state": {
    "size": 1073741824,
    "status": "Degraded",
    "uuid": "ec4e66fd-3b33-4439-b504-d49aba53da25",
    "health": {
      "cleanShutdown": true,
      "healthyReplicas": 2,
      "cleanReplicas": 2,
      "onlineHealthyReplicas": 2,
      "onlineCleanReplicas": 2,
      "liveHealthyReplicas": 0,
      "allHealthyReplicasClean": true
    },
    "replica_topology": {
      "87bca435-5767-4d0b-84c5-bc50b56aacaa": {
        "node": "io-engine-3",
        "pool": "pool-3",
        "state": "Online",
        "usage": {
          "capacity": 1073741824,
          "allocated": 1073741824,
          "allocated_snapshots": 0,
          "allocated_all_snapshots": 0
        },
        "healthy": false,
        "encrypted": false
      },
      "769e821f-cc4e-4a1d-8b32-1dd12925d949": {
        "node": "io-engine-1",
        "pool": "pool-1",
        "state": "Online",
        "usage": {
          "capacity": 1073741824,
          "allocated": 1073741824,
          "allocated_snapshots": 0,
          "allocated_all_snapshots": 0
        },
        "healthy": true,
        "encrypted": false
      },
      "b61d1e05-60ea-480e-871f-a5bc52462e1a": {
        "node": "io-engine-2",
        "pool": "pool-2",
        "state": "Online",
        "usage": {
          "capacity": 1073741824,
          "allocated": 1073741824,
          "allocated_snapshots": 0,
          "allocated_all_snapshots": 0
        },
        "healthy": true,
        "encrypted": false
      }
    },
    "usage": {
      "capacity": 1073741824,
      "allocated": 1073741824,
      "allocated_replica": 1073741824,
      "allocated_snapshots": 0,
      "allocated_all_snapshots": 0,
      "total_allocated": 3221225472,
      "total_allocated_replicas": 3221225472,
      "total_allocated_snapshots": 0
    }
  }
}

NexusInfo (previous)

Image

Additional Context:

Mayastor version: v2.11.1

Metadata

Metadata

Labels

kind/bugCategorizes issue or PR as related to a bug

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions