Skip to content

FireEdge Sunstone doesn't assign cluster when declaring the virtual network #7063

@dann1

Description

@dann1

Description
When creating a virtual network via FireEdge, the CLUSTER attribute is incorrectly treated. Instead of actually associating the VNET to the cluster, the CLUSTER is written as part of the VNET template.

To Reproduce
Create a new vnet and select a cluster

Image

Image

We get this on oned.log

Wed May 21 16:48:03 2025 [Z0][ReM][D]: Req:2064 UID:0 IP:127.0.0.1 one.vn.allocate invoked , "<ROOT><VN_MAD>bridge</VN_MAD><NAME>cluster_108 net</NAME><CLUSTER>108</CLUSTER></ROOT>", -1
Wed May 21 16:48:04 2025 [Z0][IPM][D]: Message received: VNET_CREATE SUCCESS 158 LQ==

Wed May 21 16:48:04 2025 [Z0][ReM][D]: Req:2064 UID:0 one.vn.allocate result SUCCESS, 158

And the vnet has the CLUSTER in the TEMPLATE section, therefore the cluster isn't associated to the vnet at all

root@PC04:~# onevnet show -j 158 | jq .
{
  "VNET": {
    "ID": "158",
    "UID": "0",
    "GID": "0",
    "UNAME": "oneadmin",
    "GNAME": "oneadmin",
    "NAME": "cluster_108 net",
    "PERMISSIONS": {
      "OWNER_U": "1",
      "OWNER_M": "1",
      "OWNER_A": "0",
      "GROUP_U": "0",
      "GROUP_M": "0",
      "GROUP_A": "0",
      "OTHER_U": "0",
      "OTHER_M": "0",
      "OTHER_A": "0"
    },
    "CLUSTERS": {
      "ID": "0"
    },
    "BRIDGE": "onebr158",
    "BRIDGE_TYPE": "linux",
    "STATE": "1",
    "PREV_STATE": "1",
    "PARENT_NETWORK_ID": {},
    "VN_MAD": "bridge",
    "PHYDEV": {},
    "VLAN_ID": {},
    "OUTER_VLAN_ID": {},
    "VLAN_ID_AUTOMATIC": "0",
    "OUTER_VLAN_ID_AUTOMATIC": "0",
    "USED_LEASES": "0",
    "VROUTERS": {},
    "UPDATED_VMS": {},
    "OUTDATED_VMS": {},
    "UPDATING_VMS": {},
    "ERROR_VMS": {},
    "TEMPLATE": {
      "BRIDGE": "onebr158",
      "BRIDGE_TYPE": "linux",
      "CLUSTER": "108",
      "OUTER_VLAN_ID": "",
      "PHYDEV": "",
      "SECURITY_GROUPS": "0",
      "VLAN_ID": "",
      "VN_MAD": "bridge"
    },
    "AR_POOL": {}
  }
}
root@PC04:~# onecluster show 108 -j | jq .
{
  "CLUSTER": {
    "ID": "108",
    "NAME": "acluster",
    "HOSTS": {},
    "DATASTORES": {},
    "VNETS": {
      "ID": [
        "7",
        "156"
      ]
    },
    "TEMPLATE": {
      "RESERVED_CPU": "",
      "RESERVED_MEM": ""
    }
  }
}

Expected behavior
The cluster is passed as another argument in the one.vn.allocate call.

Example of a correct call issued with Ruby Sunstone

Wed May 21 16:37:32 2025 [Z0][ReM][D]: Req:7616 UID:0 IP:127.0.0.1 one.vn.allocate invoked , "NAME="zxcv"
VN_MAD="bridge"
AR=[
  SIZE="1",
  TYPE="ETHER"
]
", 108
Wed May 21 16:37:32 2025 [Z0][IPM][D]: Message received: VNET_CREATE SUCCESS 156 LQ==

Wed May 21 16:37:32 2025 [Z0][ReM][D]: Req:7616 UID:0 one.vn.allocate result SUCCESS, 156
root@PC04:~# onevnet show -j 156 | jq .
{
  "VNET": {
    "ID": "156",
    "UID": "0",
    "GID": "0",
    "UNAME": "oneadmin",
    "GNAME": "oneadmin",
    "NAME": "zxcv",
    "PERMISSIONS": {
      "OWNER_U": "1",
      "OWNER_M": "1",
      "OWNER_A": "0",
      "GROUP_U": "0",
      "GROUP_M": "0",
      "GROUP_A": "0",
      "OTHER_U": "0",
      "OTHER_M": "0",
      "OTHER_A": "0"
    },
    "CLUSTERS": {
      "ID": "108"
    },
    "BRIDGE": "onebr156",
    "BRIDGE_TYPE": "linux",
    "STATE": "1",
    "PREV_STATE": "1",
    "PARENT_NETWORK_ID": {},
    "VN_MAD": "bridge",
    "PHYDEV": {},
    "VLAN_ID": {},
    "OUTER_VLAN_ID": {},
    "VLAN_ID_AUTOMATIC": "0",
    "OUTER_VLAN_ID_AUTOMATIC": "0",
    "USED_LEASES": "0",
    "VROUTERS": {},
    "UPDATED_VMS": {},
    "OUTDATED_VMS": {},
    "UPDATING_VMS": {},
    "ERROR_VMS": {},
    "TEMPLATE": {
      "BRIDGE": "onebr156",
      "BRIDGE_TYPE": "linux",
      "OUTER_VLAN_ID": "",
      "PHYDEV": "",
      "SECURITY_GROUPS": "0",
      "VLAN_ID": "",
      "VN_MAD": "bridge"
    },
    "AR_POOL": {
      "AR": {
        "AR_ID": "0",
        "MAC": "02:00:19:c9:2a:7d",
        "SIZE": "1",
        "TYPE": "ETHER",
        "MAC_END": "02:00:19:c9:2a:7d",
        "USED_LEASES": "0",
        "LEASES": {}
      }
    }
  }
}

Details

  • Version: 6.10

Progress Status

  • Code committed
  • Testing - QA
  • Documentation (Release notes - resolved issues, compatibility, known issues)

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions