diff --git a/src/schema/bgp_schema.xsd b/src/schema/bgp_schema.xsd
index 2cd8dbc51e1..bd741263bd9 100644
--- a/src/schema/bgp_schema.xsd
+++ b/src/schema/bgp_schema.xsd
@@ -22,7 +22,8 @@
Link('instance-target', 'routing-instance', 'route-target', ['ref']) -->
+ Link('bgpaas-bgp-router', 'bgp-as-a-service', 'bgp-router', ['ref'], 'system-only', 'CRUD',
+ 'Reference to internal BGP peer object automatically generated by the system.') -->
@@ -32,16 +33,19 @@
+ Property('aggregate-route-entries', 'route-aggregate', 'required', 'CRUD',
+ 'List of ip prefix (aggregate route prefix) for which aggregate route will be advertised. This aggregate route is advertised if a matching(longest prefix match) prefix is found.') -->
+ Property('aggregate-route-nexthop', 'route-aggregate', 'required', 'CRUD',
+ 'Next for aggregate route that will be advertised.') -->
+ 'route-aggregate', 'routing-instance', ['ref'], 'system-only', 'CRUD',
+ 'Reference to internal routing instance object automatically generated by system.') -->
@@ -65,7 +69,8 @@
+ 'routing-policy', 'routing-instance', ['ref'],
+ 'Reference to internal routing instance object automatically generated by system. Reference has property of sequence number which is order of in which routing policies are applied to given routing instance.') -->
@@ -79,7 +84,8 @@
+ Property('bgp-router-parameters', 'bgp-router', 'required', 'CRUD',
+ 'BGP router configuration parameters like ip address, AS number, hold time etc.') -->
@@ -106,57 +112,65 @@
-
-
- The gateway-address and ipv6-gateway-addreess fields are used only
- for router-type bgpaas-client. They hold the ipv4 and ipv6 gateway
- address for the ipv4 and ipv6 subnets from which the client has IP
- addresses. The values are used as nexthops when advertising routes
- to the client via bgp.
- Note that the ipv6-gateway-address can be a regular ipv6 address or
- a ipv4-mapped-ipv6 adddress.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 'bgp-router', ['has'], 'optional' 'CRUD',
+ 'BGP router object represent configuration of BGP peers. All the BGP peers involved in contrail system are under default routing instance of the default virtual network.') -->
+ 'bgp-router', 'bgp-router', ['ref'], 'optional', 'CRUD',
+ 'References to peer BGP router, property of the reference has BGP peering attributes.') -->
-
+
-
-
+
+
@@ -171,15 +185,26 @@
speaker AS in the AS Path.
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -193,9 +218,13 @@
allowed to be received on the session.
-
-
-
+
+
+
@@ -229,7 +258,8 @@
-
+
@@ -251,21 +281,26 @@
-
-
+
+
+ Property('service-chain-information', 'routing-instance', 'system-only', 'CRUD',
+ 'Internal service chaining information, should not be modified.') -->
+ Property('ipv6-service-chain-information', 'routing-instance', 'system-only', 'CRUD',
+ 'Internal service chaining information, should not be modified.') -->
+ Property('routing-instance-is-default', 'routing-instance', 'system-only', 'CRUD',
+ 'Internal service chaining information, should not be modified.') -->
@@ -283,7 +318,8 @@
+ Property('routing-instance-has-pnf', 'routing-instance', 'system-only', 'CRUD',
+ 'Internal service chaining information, should not be modified.') -->
@@ -312,6 +348,7 @@
+ Property('static-route-entries', 'routing-instance', 'system-only', 'CRUD',
+ 'Internal service chaining information, should not be modified.') -->
diff --git a/src/schema/loadbalancer.xsd b/src/schema/loadbalancer.xsd
index 43f0f2cba11..5e59bbac7d7 100644
--- a/src/schema/loadbalancer.xsd
+++ b/src/schema/loadbalancer.xsd
@@ -50,71 +50,95 @@
+ 'project', 'loadbalancer-pool', ['has'], 'optional', 'CRUD',
+ 'Loadbalancer pool object represent set(pool) memeber servers which needs load balancing.') -->
+ 'loadbalancer-pool', 'service-instance', ['ref'], 'system-only', 'CR',
+ 'Reference to the service instance serving this pool, applicable to LBaaS V1.') -->
+ 'loadbalancer-pool', 'virtual-machine-interface', ['ref'], 'system-only', 'CR',
+ 'Reference to the virtual machine interface reaching pool subnet, applicable to LBaaS V1.') -->
+ 'loadbalancer-pool', 'loadbalancer-listener', ['ref'], 'optional', 'CRUD',
+ 'Reference to loadbaancer listner served by this pool, applicabale to LBaaS V2.') -->
+ Property('loadbalancer-pool-properties', 'loadbalancer-pool', 'required', 'CRUD',
+ 'Configuration for loabalancer pool like protocol, subnet, etc.') -->
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ Property('loadbalancer-pool-provider', 'loadbalancer-pool', 'optional', 'CR',
+ 'Provider field selects backend provider of the LBaaS, Cloudadmin could offere different levels of service like gold, silver, bronze. Provided by HA-proxy or various HW or SW appliances in the backend. Applicable to LBaaS V1') -->
+ 'loadbalancer-pool', 'service-appliance-set', ['ref'], 'system-only', 'R'
+ 'Reference to service-appliance-set where this loadbalancer-pool is hosted. Applicable to LBaaS V1.') -->
+ Property('loadbalancer-pool-custom-attributes', 'loadbalancer-pool', 'optional', 'CRUD',
+ 'Custom loadbalancer config, opaque to the system. Specified as list of Key:Value pairs. Applicable to LBaaS V1.') -->
+ 'loadbalancer-pool', 'loadbalancer-member', ['has'], 'optional', 'CRUD',
+ 'Configuration object representing each member of load balancer pool.') -->
+ Property('loadbalancer-member-properties', 'loadbalancer-member', 'required', 'CRUD',
+ 'Member configuration like ip addres, destination port, weight etc.') -->
-
-
-
-
-
-
+
+
+
+
+
+
@@ -123,62 +147,88 @@
+ 'project', 'loadbalancer-healthmonitor', ['has'], 'optional', 'CRUD',
+ 'Health monitor objects is configuration to monitor health of individual pool members.') -->
+ 'loadbalancer-pool', 'loadbalancer-healthmonitor', ['ref'], 'optional', 'CRUD',
+ 'Reference to loadbalancer healthmonitor that this pool uses.') -->
+ Property('loadbalancer-healthmonitor-properties', 'loadbalancer-healthmonitor', 'required', 'CRUD',
+ 'Configuration parameters for health monitor like type, method, retries etc.') -->
-
-
-
-
-
-
-
-
+ />
+
+
+
+
+
+
+
+
+ 'project', 'virtual-ip', ['has'], 'optional', 'CRUD',
+ 'Virtual ip opject application(protocol, port). Applicable only to LBaaS V1') -->
+ 'virtual-ip', 'loadbalancer-pool', ['ref'], 'optional', 'CRUD',
+ 'Reference to the load balancer pool that this virtual ip represent. Applicable only to LBaaS V1') -->
+ 'virtual-ip', 'virtual-machine-interface', ['ref'], 'optional', 'CRUD',
+ 'Reference to the virtual machine interface for virtual ip. Applicable only to LBaaS V1') -->
+ Property('virtual-ip-properties', 'virtual-ip', 'required', 'CRUD',
+ 'Virtual ip configuration like port, protocol, subnet etc.') -->
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -186,7 +236,8 @@
+ 'project', 'loadbalancer-listener', ['has'], 'optional', 'CRUD',
+ 'Listener represents the application(protocol, port) to be load balanced.') -->
+ 'project', 'loadbalancer', ['has'], 'optional', 'CRUD',
+ 'Loadbalancer object represents a LBaaS instance. One single Virtual IP and multiple (listeners, pools). Applicable to LBaaS V2.') -->
+ 'loadbalancer', 'service-instance', ['ref'], 'system-only', 'CRUD',
+ 'Reference to the service instance, created automatically by the system.') -->
+ 'loadbalancer', 'virtual-machine-interface', ['ref'], 'system-only', 'CRUD',
+ 'Reference to the virtual machine interface for VIP, created automatically by the system.') -->
+ Property('loadbalancer-properties', 'loadbalancer', 'required', 'CRUD',
+ 'Loadbalance configuration like admin state, VIP, VIP subnet etc.') -->
-
-
-
-
-
-
+
+
+
+
+
+
+ Property('loadbalancer-provider', 'loadbalancer', 'optional', 'CR',
+ 'Provider field selects backend provider of the LBaaS, Cloudadmin could offere different levels of service like gold, silver, bronze. Provided by HA-proxy or various HW or SW appliances in the backend.') -->