From 598af29d51c0a588e180f9e8e13a6f344eae0bf4 Mon Sep 17 00:00:00 2001 From: Binny Date: Mon, 18 Aug 2025 13:38:01 +0000 Subject: [PATCH 1/3] ols-821-mclag-schema-correcttion-draft --- schema/switch.yml | 10 ++++------ ucentral.schema.full.json | 10 ++++------ ucentral.schema.json | 6 ++---- ucentral.schema.pretty.json | 10 ++++------ 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/schema/switch.yml b/schema/switch.yml index 73e9379..fa3c8a1 100644 --- a/schema/switch.yml +++ b/schema/switch.yml @@ -447,13 +447,11 @@ properties: - trunk-group default: trunk-group value: - description: Specifies the port or trunk-group ID for the peer-link. - type: integer - minimum: 1 - maximum: 64 + description: Specifies the port or trunk-group reference for the peer-link. + type: string mclag-group: - description: Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG. - type: object + description: Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG. + type: array properties: group-id: description: Defines the unique MC-LAG group identifier. diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index 1874209..b7f92f5 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -1255,16 +1255,14 @@ "default": "trunk-group" }, "value": { - "description": "Specifies the port or trunk-group ID for the peer-link.", - "type": "integer", - "minimum": 1, - "maximum": 64 + "description": "Specifies the port or trunk-group reference for the peer-link.", + "type": "string" } } }, "mclag-group": { - "description": "Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG.", - "type": "object", + "description": "Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.", + "type": "array", "properties": { "group-id": { "description": "Defines the unique MC-LAG group identifier.", diff --git a/ucentral.schema.json b/ucentral.schema.json index 41d8019..2dd68ba 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -1447,14 +1447,12 @@ "default": "trunk-group" }, "value": { - "type": "integer", - "minimum": 1, - "maximum": 64 + "type": "string" } } }, "mclag-group": { - "type": "object", + "type": "array", "properties": { "group-id": { "type": "integer", diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index aba6476..1036d63 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -1713,16 +1713,14 @@ "default": "trunk-group" }, "value": { - "description": "Specifies the port or trunk-group ID for the peer-link.", - "type": "integer", - "minimum": 1, - "maximum": 64 + "description": "Specifies the port or trunk-group reference for the peer-link.", + "type": "string" } } }, "mclag-group": { - "description": "Configures the MC-LAG group, which binds the interfaces into a multi-chassis LAG.", - "type": "object", + "description": "Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.", + "type": "array", "properties": { "group-id": { "description": "Defines the unique MC-LAG group identifier.", From 05849922ed53cdea8d7de82df757744cf7429600 Mon Sep 17 00:00:00 2001 From: Binny Date: Fri, 22 Aug 2025 15:19:46 +0000 Subject: [PATCH 2/3] ols-821-mclag-corrections-rev2 --- schema/switch.yml | 86 ++++++++++++++++------------- ucentral.schema.full.json | 107 ++++++++++++++++++++---------------- ucentral.schema.json | 90 +++++++++++++++++------------- ucentral.schema.pretty.json | 107 ++++++++++++++++++++---------------- 4 files changed, 219 insertions(+), 171 deletions(-) diff --git a/schema/switch.yml b/schema/switch.yml index fa3c8a1..a28580e 100644 --- a/schema/switch.yml +++ b/schema/switch.yml @@ -446,49 +446,59 @@ properties: - port - trunk-group default: trunk-group - value: - description: Specifies the port or trunk-group reference for the peer-link. + port-id: + description: Specifies the physical port name used as peer-link (only valid if type = port). type: string + examples: + - "Ethernet1" + - "Ethernet2" + trunk-id: + description: Specifies the trunk group ID used as peer-link (only valid if type = trunk-group). + type: integer + minimum: 1 + maximum: 64 mclag-group: description: Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG. type: array - properties: - group-id: - description: Defines the unique MC-LAG group identifier. - type: integer - minimum: 1 - maximum: 128 - members: - description: List of interfaces that participate in the MC-LAG group. - type: array - items: - type: string - description: Interface names that are part of the MC-LAG group. - examples: - - eth0 - - eth1 - lacp-config: - description: LACP configuration settings for the MC-LAG group. - type: object - properties: - lacp-enable: - description: Enables or disables LACP for the MC-LAG group. - type: boolean - default: true - lacp-role: - description: Configures the LACP role as 'actor' or 'partner' + items: + type: object + properties: + group-id: + description: Defines the unique MC-LAG group identifier. + type: integer + minimum: 1 + maximum: 128 + members: + description: List of interfaces that participate in the MC-LAG group. + type: array + items: type: string - enum: - - actor - - partner - default: actor - lacp-timeout: - description: Sets the LACP timeout as either 'short' or 'long'. - type: string - enum: - - short - - long - default: long + description: Interface names that are part of the MC-LAG group. + examples: + - eth0 + - eth1 + lacp-config: + description: LACP configuration settings for the MC-LAG group. + type: object + properties: + lacp-enable: + description: Enables or disables LACP for the MC-LAG group. + type: boolean + default: true + lacp-role: + description: Configures the LACP role as 'actor' or 'partner' + type: string + enum: + - actor + - partner + default: actor + lacp-timeout: + description: Sets the LACP timeout as either 'short' or 'long'. + type: string + enum: + - short + - long + default: long system-priority: description: Specifies the system priority used by the switch for LACP negotiations. type: integer diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index b7f92f5..bea677a 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -1254,60 +1254,73 @@ ], "default": "trunk-group" }, - "value": { - "description": "Specifies the port or trunk-group reference for the peer-link.", - "type": "string" + "port-id": { + "description": "Specifies the physical port name used as peer-link (only valid if type = port).", + "type": "string", + "examples": [ + "Ethernet1", + "Ethernet2" + ] + }, + "trunk-id": { + "description": "Specifies the trunk group ID used as peer-link (only valid if type = trunk-group).", + "type": "integer", + "minimum": 1, + "maximum": 64 } } }, "mclag-group": { "description": "Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.", "type": "array", - "properties": { - "group-id": { - "description": "Defines the unique MC-LAG group identifier.", - "type": "integer", - "minimum": 1, - "maximum": 128 - }, - "members": { - "description": "List of interfaces that participate in the MC-LAG group.", - "type": "array", - "items": { - "type": "string", - "description": "Interface names that are part of the MC-LAG group.", - "examples": [ - "eth0", - "eth1" - ] - } - }, - "lacp-config": { - "description": "LACP configuration settings for the MC-LAG group.", - "type": "object", - "properties": { - "lacp-enable": { - "description": "Enables or disables LACP for the MC-LAG group.", - "type": "boolean", - "default": true - }, - "lacp-role": { - "description": "Configures the LACP role as 'actor' or 'partner'", + "items": { + "type": "object", + "properties": { + "group-id": { + "description": "Defines the unique MC-LAG group identifier.", + "type": "integer", + "minimum": 1, + "maximum": 128 + }, + "members": { + "description": "List of interfaces that participate in the MC-LAG group.", + "type": "array", + "items": { "type": "string", - "enum": [ - "actor", - "partner" - ], - "default": "actor" - }, - "lacp-timeout": { - "description": "Sets the LACP timeout as either 'short' or 'long'.", - "type": "string", - "enum": [ - "short", - "long" - ], - "default": "long" + "description": "Interface names that are part of the MC-LAG group.", + "examples": [ + "eth0", + "eth1" + ] + } + }, + "lacp-config": { + "description": "LACP configuration settings for the MC-LAG group.", + "type": "object", + "properties": { + "lacp-enable": { + "description": "Enables or disables LACP for the MC-LAG group.", + "type": "boolean", + "default": true + }, + "lacp-role": { + "description": "Configures the LACP role as 'actor' or 'partner'", + "type": "string", + "enum": [ + "actor", + "partner" + ], + "default": "actor" + }, + "lacp-timeout": { + "description": "Sets the LACP timeout as either 'short' or 'long'.", + "type": "string", + "enum": [ + "short", + "long" + ], + "default": "long" + } } } } diff --git a/ucentral.schema.json b/ucentral.schema.json index 2dd68ba..cd98933 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -1446,51 +1446,63 @@ ], "default": "trunk-group" }, - "value": { - "type": "string" + "port-id": { + "type": "string", + "examples": [ + "Ethernet1", + "Ethernet2" + ] + }, + "trunk-id": { + "type": "integer", + "minimum": 1, + "maximum": 64 } } }, "mclag-group": { "type": "array", - "properties": { - "group-id": { - "type": "integer", - "minimum": 1, - "maximum": 128 - }, - "members": { - "type": "array", - "items": { - "type": "string", - "examples": [ - "eth0", - "eth1" - ] - } - }, - "lacp-config": { - "type": "object", - "properties": { - "lacp-enable": { - "type": "boolean", - "default": true - }, - "lacp-role": { + "items": { + "type": "object", + "properties": { + "group-id": { + "type": "integer", + "minimum": 1, + "maximum": 128 + }, + "members": { + "type": "array", + "items": { "type": "string", - "enum": [ - "actor", - "partner" - ], - "default": "actor" - }, - "lacp-timeout": { - "type": "string", - "enum": [ - "short", - "long" - ], - "default": "long" + "examples": [ + "eth0", + "eth1" + ] + } + }, + "lacp-config": { + "type": "object", + "properties": { + "lacp-enable": { + "type": "boolean", + "default": true + }, + "lacp-role": { + "type": "string", + "enum": [ + "actor", + "partner" + ], + "default": "actor" + }, + "lacp-timeout": { + "type": "string", + "enum": [ + "short", + "long" + ], + "default": "long" + } } } } diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index 1036d63..28d3822 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -1712,60 +1712,73 @@ ], "default": "trunk-group" }, - "value": { - "description": "Specifies the port or trunk-group reference for the peer-link.", - "type": "string" + "port-id": { + "description": "Specifies the physical port name used as peer-link (only valid if type = port).", + "type": "string", + "examples": [ + "Ethernet1", + "Ethernet2" + ] + }, + "trunk-id": { + "description": "Specifies the trunk group ID used as peer-link (only valid if type = trunk-group).", + "type": "integer", + "minimum": 1, + "maximum": 64 } } }, "mclag-group": { "description": "Configures the MC-LAG group(s), which binds the interfaces into a multi-chassis LAG.", "type": "array", - "properties": { - "group-id": { - "description": "Defines the unique MC-LAG group identifier.", - "type": "integer", - "minimum": 1, - "maximum": 128 - }, - "members": { - "description": "List of interfaces that participate in the MC-LAG group.", - "type": "array", - "items": { - "type": "string", - "description": "Interface names that are part of the MC-LAG group.", - "examples": [ - "eth0", - "eth1" - ] - } - }, - "lacp-config": { - "description": "LACP configuration settings for the MC-LAG group.", - "type": "object", - "properties": { - "lacp-enable": { - "description": "Enables or disables LACP for the MC-LAG group.", - "type": "boolean", - "default": true - }, - "lacp-role": { - "description": "Configures the LACP role as 'actor' or 'partner'", + "items": { + "type": "object", + "properties": { + "group-id": { + "description": "Defines the unique MC-LAG group identifier.", + "type": "integer", + "minimum": 1, + "maximum": 128 + }, + "members": { + "description": "List of interfaces that participate in the MC-LAG group.", + "type": "array", + "items": { "type": "string", - "enum": [ - "actor", - "partner" - ], - "default": "actor" - }, - "lacp-timeout": { - "description": "Sets the LACP timeout as either 'short' or 'long'.", - "type": "string", - "enum": [ - "short", - "long" - ], - "default": "long" + "description": "Interface names that are part of the MC-LAG group.", + "examples": [ + "eth0", + "eth1" + ] + } + }, + "lacp-config": { + "description": "LACP configuration settings for the MC-LAG group.", + "type": "object", + "properties": { + "lacp-enable": { + "description": "Enables or disables LACP for the MC-LAG group.", + "type": "boolean", + "default": true + }, + "lacp-role": { + "description": "Configures the LACP role as 'actor' or 'partner'", + "type": "string", + "enum": [ + "actor", + "partner" + ], + "default": "actor" + }, + "lacp-timeout": { + "description": "Sets the LACP timeout as either 'short' or 'long'.", + "type": "string", + "enum": [ + "short", + "long" + ], + "default": "long" + } } } } From c3073a9a450a3a7142d46c3af245651da64c2403 Mon Sep 17 00:00:00 2001 From: Binny Date: Tue, 16 Sep 2025 06:10:50 +0000 Subject: [PATCH 3/3] ols-821-mclag-schema-final-draft --- schema/switch.yml | 6 +++--- ucentral.schema.full.json | 6 +++--- ucentral.schema.json | 6 +++--- ucentral.schema.pretty.json | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/schema/switch.yml b/schema/switch.yml index a28580e..c5650ae 100644 --- a/schema/switch.yml +++ b/schema/switch.yml @@ -439,7 +439,7 @@ properties: description: Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches. type: object properties: - type: + link-type: description: Defines the type of peer-link, either 'port' or 'trunk-group' type: string enum: @@ -475,8 +475,8 @@ properties: type: string description: Interface names that are part of the MC-LAG group. examples: - - eth0 - - eth1 + - Ethernet0 + - Ethernet1 lacp-config: description: LACP configuration settings for the MC-LAG group. type: object diff --git a/ucentral.schema.full.json b/ucentral.schema.full.json index bea677a..a24ecb8 100644 --- a/ucentral.schema.full.json +++ b/ucentral.schema.full.json @@ -1245,7 +1245,7 @@ "description": "Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.", "type": "object", "properties": { - "type": { + "link-type": { "description": "Defines the type of peer-link, either 'port' or 'trunk-group'", "type": "string", "enum": [ @@ -1289,8 +1289,8 @@ "type": "string", "description": "Interface names that are part of the MC-LAG group.", "examples": [ - "eth0", - "eth1" + "Ethernet0", + "Ethernet1" ] } }, diff --git a/ucentral.schema.json b/ucentral.schema.json index cd98933..f2d1339 100644 --- a/ucentral.schema.json +++ b/ucentral.schema.json @@ -1438,7 +1438,7 @@ "peer-link": { "type": "object", "properties": { - "type": { + "link-type": { "type": "string", "enum": [ "port", @@ -1475,8 +1475,8 @@ "items": { "type": "string", "examples": [ - "eth0", - "eth1" + "Ethernet0", + "Ethernet1" ] } }, diff --git a/ucentral.schema.pretty.json b/ucentral.schema.pretty.json index 28d3822..3734c94 100644 --- a/ucentral.schema.pretty.json +++ b/ucentral.schema.pretty.json @@ -1703,7 +1703,7 @@ "description": "Configures the peer-link, which could be a physical port or a trunk group that connects the two MC-LAG peer switches.", "type": "object", "properties": { - "type": { + "link-type": { "description": "Defines the type of peer-link, either 'port' or 'trunk-group'", "type": "string", "enum": [ @@ -1747,8 +1747,8 @@ "type": "string", "description": "Interface names that are part of the MC-LAG group.", "examples": [ - "eth0", - "eth1" + "Ethernet0", + "Ethernet1" ] } },