From 6957b8190a61ca56be207e3eb5c49abc6e0d77db Mon Sep 17 00:00:00 2001 From: Hampapur Ajay Date: Thu, 7 Jul 2016 14:17:07 -0700 Subject: [PATCH] Add documentation for bgp_schema and loadbalancer schema files. Change-Id: I7837a5858782b5941352ff3ff99e32633eca54b3 Partial-Bug: 1554139 (cherry picked from commit a9041973e3ad9ee45710dd3de71552cfd03fdaf1) --- src/schema/bgp_schema.xsd | 149 ++++++++++++++++++----------- src/schema/loadbalancer.xsd | 184 ++++++++++++++++++++++++------------ 2 files changed, 216 insertions(+), 117 deletions(-) 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.') -->