Uploaded image for project: 'Network Controller'
  1. Network Controller
  2. SDNC-438

Support multiple vGMUXes in vCPE use case

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Medium Medium
    • Kohn Release
    • None
    • None

      In ONAP performance benchmark testing with vCPE use case, there is a need to support multiple vGMUXes in order to create 10,000 vGs.  The following is what Brian proposed for changes in his email. This story should be revised based on further discussion. 

       

      _____________________________________________
      From: FREEMAN, BRIAN D
      Sent: Monday, September 10, 2018 2:32 PM
      To: Yang Xu (Yang, Fixed Network) <Yang.Xu3@huawei.com>; bianhl.bri@chinatelecom.cn; Gary Wu <gary.i.wu@huawei.com>; Yunxia Chen <Helen.Chen@huawei.com>; 'huangzonghe' <huangzh.bri@chinatelecom.cn>; 刘成龙 <liucl5@asiainfo.com>; 王路曼 <wanglm.bri@chinatelecom.cn>; 张志超 <zhangzhch.bri@chinatelecom.cn>; '孙鑫龙' <sunxl.bri@chinatelecom.cn>; luyu0118@sina.com
      Cc: Kang Xi <Kang.Xi@huawei.com>
      Subject: RE: SO benchmark work session

       

       

      Folks,

       

      I looked into the changes needed to support multiple vGMUX’s and I think its three things.

       

      1. Update addVnis.sh to take a new argument for the vplspe_name (addVnis.sh vplspename start end) and to use that attribute to create the VLAN’s
      2. Update the 'tunnelxconn-topology-operation-assign' directed graph to match on the ‘vgmux_name_0’ field to map into the tmp.manageVni.vplspename field
      3. This is part of the graph that finds vgmux_private_ip_0 and vgmux_private_ip_2 for the tunnel end points.
      4. Update the ‘manage-vni-assignment’ directed graph to use the $tmp.manageVni.vplspename variable as part of the SQL statement for the vplspe_name attribute in update and save nodes

       

      The problem will be that the vGMUX inventory via addVni.sh can not be run until after a vGMUX is created with this approach but this is probably the easiest to do in Casablanca.

       

      In Dublin we will have more time to change the vCPE use case to use the IPAM contribution from Casablanca and we can replace the manage-vni-assignments directed graph with one that calls the NetBox IPAM container.

       

      Does that make sense ?

       

      Brian

       

       

       

       

       

       

       

       

       

      <method rpc='tunnelxconn-topology-operation-assign' mode='sync'>

       

       

      <set>

      <parameter name='tmp.manageVni.action' value='reserve' />

      <parameter name='tmp.manageIpaddr.action' value='reserve' />

      <parameter name='tmp.manageVni.pool' value='VNI'/>

      <parameter name='tmp.manageIpaddr.pool' value='VGW'/>

       

       

      This node in the tunnelxconn assign DG could have a ‘tmp.manageVni.vplspename’ set to either the external IP of the vGMUX vgmux_private_ip_1 or the vgmux_name_0  from the vGMUX  preload data (similar to where we get the vgmux_private_ip_0 and private_ip_2 for the tunnel end points.

       

      addVnis.sh would need to be updated to take an argument for the vplspename :

      make it the first argument

      addVnis.sh vplspename start end -> addVnis.sh zdcpe1cpe01mux01 100 199

       

       

       mysql -user=${MYSQL_USER} password=${MYSQL_PWD} -host ${MYSQL_HOST} ${MYSQL_DB} <<EOF

        13 INSERT INTO VLAN_ID_POOL (purpose, status, vlan_id, vplspe_name) VALUES('VNI', 'AVAILABLE', $start, $vplspename);

       

       

       mysql -user=${MYSQL_USER} password=${MYSQL_PWD}  -host ${MYSQL_HOST} ${MYSQL_DB} <<EOF

        23 INSERT INTO VLAN_ID_POOL (purpose, status, vlan_id, vplspe_name) VALUES( 'VNI', 'AVAILABLE', $vlanid, $vplspename);

       

       

       

       

       

       

      From: FREEMAN, BRIAN D
      Sent: Monday, September 10, 2018 11:55 AM
      To: TIMONEY, DAN <dt5972@att.com>; STILWELL, DAVE <ds6865@att.com>; 'Yang Xu (Yang, Fixed Network)' <Yang.Xu3@huawei.com>; 'Yunxia Chen' <Helen.Chen@huawei.com>; MALAKOV, YURIY <ym9479@att.com>
      Cc: PLATANIA, MARCO <platania@research.att.com>; MALAKOV, YURIY <ym9479@att.com>; LEFEVRE, CATHERINE <cl664y@intl.att.com>; HAYWARD, DAVE <dh2938@att.com>; BULLARD, GIL <wb5674@att.com>
      Subject: RE: 10,000 vGW test in ONAP ?

       

       

      Seems like we need a “vgmux key” that makes sense.

      Vgmux_private_ip_1 is an OAM WAN ip address which is convenient and in theory to SDNC would need to be unique across cloud instances and per vGMUX.

      We dont set that (we set ip_0 and ip_2) but we could change the tunnel-xconn-assignment DG to set  vlan_id_instance_key to vgmux_private_ip_1 and then use vlan_id_isntance_key in the VLAN_ID_POOL table for either the “purpose” or the “vplspe_name” (a poor name but might be the intent)

       

      Gil – comments ?

       

      Brian

       

       

        vgmux_private_ip_0: 10.1.0.20

        vgmux_private_ip_1: 10.0.101.20

        vgmux_private_ip_2: 10.5.0.20

       

      From: FREEMAN, BRIAN D
      Sent: Monday, September 10, 2018 11:37 AM
      To: TIMONEY, DAN <dt5972@att.com>; STILWELL, DAVE <ds6865@att.com>; 'Yang Xu (Yang, Fixed Network)' <Yang.Xu3@huawei.com>; 'Yunxia Chen' <Helen.Chen@huawei.com>; MALAKOV, YURIY <ym9479@att.com>
      Cc: PLATANIA, MARCO <platania@research.att.com>; MALAKOV, YURIY <ym9479@att.com>; LEFEVRE, CATHERINE <cl664y@intl.att.com>; HAYWARD, DAVE <dh2938@att.com>
      Subject: RE: 10,000 vGW test in ONAP ?

       

       

      1. Not sure why “purpose” is just VNI vs something that is unique to the vGMUX (and not consistent between the get-resource and the save plugin’s) ?
      2. We probably should have a customer failure/other outcome node to return an error string “VLAN_ID_POOL assignment failed or something “

       

      Brian

       

      “reserve” leg:

       

      <get-resource plugin='`$tmp.sql.plugin`' resource='VNI' key="SELECT min(vlan_id) vni from VLAN_ID_POOL where purpose = $tmp.manageVni.pool and status='AVAILABLE'" pfx="tmp.manageVni" >

       

      <save plugin='`$tmp.sql.plugin`' resource='VNI' key="UPDATE VLAN_ID_POOL set status='RESERVED' where purpose='VNI' and vlan_id = $tmp.manageVni.vni" force='false'>

       

       

      “release” leg:

      <save plugin='`$tmp.sql.plugin`' resource='VNI' key="UPDATE VLAN_ID_POOL set status='AVAILABLE' where purpose='VNI' and vlan_id=$tmp.manage-vni.vni" force='false'>

       

       

       

      mysql> select * from VLAN_ID_POOL;

      -------------------------------------------------------------------------------

      aic_site_id purpose status    vlan_id svc_instance_id availability_zone vplspe_name

      -------------------------------------------------------------------------------

                   VNI     AVAILABLE      100 NULL            NULL              NULL       
                   VNI     AVAILABLE      101 NULL            NULL              NULL       

       

       

       

       

      From: FREEMAN, BRIAN D
      Sent: Monday, September 10, 2018 11:10 AM
      To: TIMONEY, DAN <dt5972@att.com>; STILWELL, DAVE <ds6865@att.com>; Yang Xu (Yang, Fixed Network) <Yang.Xu3@huawei.com>; Yunxia Chen <Helen.Chen@huawei.com>; MALAKOV, YURIY <ym9479@att.com>
      Cc: PLATANIA, MARCO <platania@research.att.com>; MALAKOV, YURIY <ym9479@att.com>; LEFEVRE, CATHERINE <cl664y@intl.att.com>; HAYWARD, DAVE <dh2938@att.com>
      Subject: 10,000 vGW test in ONAP ?

       

      Dan,Yuri,

       

      Cc: Helen and Yang since I think this might be news to them as well.

       

       

      The china telecom performance test team wants  to do a 10,000 vGW test using an emulated cloud.

       

      Besides some other things one of the items was that the addVnis.sh and VLAN_ID_POOL table only populates one set of VLANIDs for assignment.

       

      It seems like we need to use the vGMUX ID as part of the key for both seeding the table and moving a VLANID from AVAILABLE to RESERVED.

       

      In Dublin this would get replaced with IPAM processing but I dont think that is in scope for Dublin on vCPE.

       

      So ... is this just a change to addVnis.sh and the VNI assignment/delete sub-graph to use a vGMUX service-instance-id or something ?

       

      Brian

       

       

       

            djtimoney Dan Timoney
            xuyang11 xuyang11
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: