networkstatic

ODL Junit OVSDB

Jul 21st, 2013
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.21 KB | None | 0 0
  1. package ovsdb2;
  2.  
  3. import java.io.IOException;
  4. import java.util.ArrayList;
  5. import java.util.LinkedHashMap;
  6. import java.util.Map;
  7. import org.junit.Test;
  8.  
  9. public class OvsdbSocketTest {
  10.  
  11. @Test
  12.     public void addString() throws IOException, Throwable {
  13.         OvsdbIO ovsdb = new OvsdbIO();
  14.         ovsdb.start();
  15.  
  16.         // OVSDB Server Defined UUIDs
  17.         String intuuid = "e7c6fc73-a4a1-4d7d-b6b7-eb2e0d2fa900";
  18.         String bridgetabluuid = "435de935-54e2-474d-aba6-cb85468fcc65";
  19.         String portabluuid = "5aa60514-8a65-4739-8ea9-46fb1906a7ed";
  20.         String ovstbluuid = "2cfdf9dd-e2a3-46b9-b09d-fbc68f23bc5d";
  21.  
  22.         // OVS User Defined Port Name
  23.         String ovsportname = "vnic0";
  24.  
  25.         // Array for printing only
  26.         ArrayList printout = new ArrayList();
  27.  
  28.         // Arrays for JSON obj
  29.         ArrayList intarr0 = new ArrayList();
  30.         ArrayList intarr1 = new ArrayList();
  31.         ArrayList intarr2 = new ArrayList();
  32.         ArrayList intarr3 = new ArrayList();
  33.         ArrayList intarr4 = new ArrayList();
  34.         ArrayList intarr5 = new ArrayList();
  35.  
  36.         // Arrays for Port
  37.         ArrayList portarr6 = new ArrayList();
  38.         ArrayList portarr7 = new ArrayList();
  39.         ArrayList portarr8 = new ArrayList();
  40.         ArrayList portarr9 = new ArrayList();
  41.         ArrayList portarr10 = new ArrayList();
  42.         ArrayList portarr11 = new ArrayList();
  43.  
  44.         // Arrays for Bridge
  45.         ArrayList brarr6 = new ArrayList();
  46.         ArrayList brarr7 = new ArrayList();
  47.         ArrayList brarr8 = new ArrayList();
  48.         ArrayList brarr9 = new ArrayList();
  49.         ArrayList brarr10 = new ArrayList();
  50.         ArrayList brarr11 = new ArrayList();
  51.  
  52.         // Maps for JSON Port
  53.         Map intmap0 = new LinkedHashMap();
  54.         Map intmap1 = new LinkedHashMap();
  55.  
  56.         // Maps for JSON Bridge
  57.         Map brmap2 = new LinkedHashMap();
  58.         Map brmap3 = new LinkedHashMap();
  59.  
  60.         // Maps for JSON Port
  61.         Map portmap2 = new LinkedHashMap();
  62.         Map portmap3 = new LinkedHashMap();
  63.  
  64.         // Maps for Update
  65.         Map updtmap1 = new LinkedHashMap();
  66.         Map updtmap2 = new LinkedHashMap();
  67.  
  68.         // Arrays for Update
  69.         ArrayList updtarr1 = new ArrayList();
  70.         ArrayList updtarr2 = new ArrayList();
  71.         ArrayList updtarr3 = new ArrayList();
  72.         ArrayList updtarr4 = new ArrayList();
  73.         ArrayList updtarr5 = new ArrayList();
  74.         ArrayList updtarr6 = new ArrayList();
  75.         ArrayList updtarr7 = new ArrayList();
  76.  
  77.         // Maps for Port Update
  78.         Map insportmap1 = new LinkedHashMap();
  79.         Map insportmap2 = new LinkedHashMap();
  80.  
  81.         // Arrays for Port Update
  82.         ArrayList insportarr1 = new ArrayList();
  83.  
  84.         // Maps for Interface Update
  85.         Map insintmap1 = new LinkedHashMap();
  86.         Map insintmap2 = new LinkedHashMap();
  87.  
  88.         // Arrays for Mutation Op
  89.         ArrayList mutearr1 = new ArrayList();
  90.         ArrayList mutearr2 = new ArrayList();
  91.         ArrayList mutearr3 = new ArrayList();
  92.         ArrayList mutearr4 = new ArrayList();
  93.         ArrayList mutearr5 = new ArrayList();
  94.  
  95.         // Maps for Mutate Op
  96.         Map mutemap1 = new LinkedHashMap();
  97.  
  98.         // Arrays for Op Select OVS
  99.         ArrayList opselarr1 = new ArrayList();
  100.         ArrayList opselarr2 = new ArrayList();
  101.         ArrayList opselarr3 = new ArrayList();
  102.         ArrayList opselarr4 = new ArrayList();
  103.  
  104.         // Maps for Op Select OVS
  105.         Map opselmap1 = new LinkedHashMap();
  106.  
  107.         // Array for Comment
  108.         ArrayList commarr5 = new ArrayList();
  109.  
  110.         // Maps for Comment
  111.         Map commmap1 = new LinkedHashMap();
  112.  
  113.         // Interface
  114.         intmap0.put("rows", intarr0);
  115.         intarr0.add(intmap1);
  116.         intmap1.put("interfaces", intarr1);
  117.         intarr1.add("uuid");
  118.         intarr1.add(intuuid);
  119.         intmap0.put("until", "==");
  120.         intmap0.put("table", "Port");
  121.         intmap0.put("op", "wait");
  122.         intmap0.put("timeout", 0);
  123.         intmap0.put("where", intarr2);
  124.         intarr2.add(intarr3);
  125.         intarr3.add("_uuid");
  126.         intarr3.add("==");
  127.         intarr3.add(intarr4);
  128.         intarr4.add("uuid");
  129.         intarr4.add(portabluuid);
  130.         intmap0.put("columns", intarr5);
  131.         intarr5.add("interfaces");
  132.  
  133.         // Bridge
  134.         brmap2.put("rows", brarr6);
  135.         brarr6.add(brmap3);
  136.         brarr7.add("uuid");
  137.         brarr7.add(bridgetabluuid);
  138.         brmap3.put("bridges", brarr7);
  139.         brmap2.put("until", "==");
  140.         brmap2.put("table", "Open_vSwitch");
  141.         brmap2.put("op", "wait");
  142.         brmap2.put("timeout", 0);
  143.         brmap2.put("where", brarr8);
  144.         brarr8.add(brarr9);
  145.         brarr9.add("_uuid");
  146.         brarr9.add("==");
  147.         brarr9.add(brarr10);
  148.         brarr10.add("uuid");
  149.         brarr10.add(ovstbluuid);
  150.         brmap2.put("columns", brarr11);
  151.         brarr11.add("bridges");
  152.  
  153.         // Ports
  154.         portmap2.put("rows", portarr6);
  155.         portarr6.add(portmap3);
  156.         portarr7.add("uuid");
  157.         portarr7.add(portabluuid);
  158.         portmap3.put("ports", portarr7);
  159.         portmap2.put("until", "==");
  160.         portmap2.put("table", "Bridge");
  161.         portmap2.put("op", "wait");
  162.         portmap2.put("timeout", 0);
  163.         portmap2.put("where", portarr8);
  164.         portarr8.add(portarr9);
  165.         portarr9.add("_uuid");
  166.         portarr9.add("==");
  167.         portarr9.add(portarr10);
  168.         portarr10.add("uuid");
  169.         portarr10.add(bridgetabluuid);
  170.         portmap2.put("columns", portarr11);
  171.         portarr11.add("ports");
  172.  
  173.         // Update
  174.         updtmap1.put("where", updtarr1);
  175.         updtarr1.add(updtarr2);
  176.         updtarr2.add("_uuid");
  177.         updtarr2.add("==");
  178.         updtarr2.add(updtarr3);
  179.         updtarr3.add("uuid");
  180.         updtarr3.add(bridgetabluuid);
  181.         updtmap1.put("op", "update");
  182.         updtmap1.put("table", "Bridge");
  183.         updtmap1.put("row", updtmap2);
  184.         updtmap2.put("ports", updtarr4);
  185.         updtarr4.add("set");
  186.         updtarr4.add(updtarr5);
  187.         updtarr5.add(updtarr6);
  188.         updtarr6.add("uuid");
  189.         updtarr6.add(portabluuid);
  190.         updtarr5.add(updtarr7);
  191.         updtarr7.add("named-uuid");
  192.         updtarr7.add("rowc1ee45e7_e736_4cd2_8e30_55a460d0f11a");
  193.  
  194.         // Insert Port
  195.         insportmap1.put("uuid-name", "rowc1ee45e7_e736_4cd2_8e30_55a460d0f11a");
  196.         insportmap1.put("op", "insert");
  197.         insportmap1.put("table", "Port");
  198.         insportmap1.put("row", insportmap2);
  199.         insportmap2.put("interfaces", insportarr1);
  200.         insportarr1.add("named-uuid");
  201.         insportarr1.add("row50c0ab47_0077_4ac3_8d84_8b1906a39947");
  202.         insportmap2.put("name", ovsportname);
  203.  
  204.         // Insert Interface
  205.         insintmap1.put("uuid-name", "row50c0ab47_0077_4ac3_8d84_8b1906a39947");
  206.         insintmap1.put("op", "insert");
  207.         insintmap1.put("table", "Interface");
  208.         insintmap1.put("row", insintmap2);
  209.         insintmap2.put("name", ovsportname);
  210.  
  211.         // Mutation Op
  212.         mutemap1.put("mutations", mutearr1);
  213.         mutearr1.add(mutearr2);
  214.         mutearr2.add("next_cfg");
  215.         mutearr2.add("+=");
  216.         mutearr2.add(1);
  217.         mutemap1.put("table", "Open_vSwitch");
  218.         mutemap1.put("op", "mutate");
  219.         mutemap1.put("where", mutearr3);
  220.         mutearr3.add(mutearr4);
  221.         mutearr4.add("_uuid");
  222.         mutearr4.add("==");
  223.         mutearr4.add(mutearr5);
  224.         mutearr5.add("uuid");
  225.         mutearr5.add(ovstbluuid);
  226.         opselmap1.put("where", opselarr1);
  227.         opselarr1.add(opselarr2);
  228.         opselarr2.add("_uuid");
  229.         opselarr2.add("==");
  230.         opselarr2.add(opselarr3);
  231.         opselarr3.add("uuid");
  232.         opselarr3.add(ovstbluuid);
  233.         opselmap1.put("op", "select");
  234.         opselmap1.put("table", "Open_vSwitch");
  235.         opselmap1.put("columns", opselarr4);
  236.         opselarr4.add("next_cfg");
  237.  
  238.         // Comment
  239.         commmap1.put("comment",
  240.                 "ovs-vsctl: ovs-vsctl -vjsonrpc --db=tcp:172.16.58.170:6634 add-port br0 vnic0");
  241.         commmap1.put("op", "comment");
  242.  
  243.         Object[] params = { "Open_vSwitch", intmap0, brmap2, portmap2,
  244.                 updtmap1, insportmap1, insintmap1, mutemap1, opselmap1,
  245.                 commmap1 };
  246.  
  247.         OvsdbMessage message = new OvsdbMessage("transact", params, "efg");
  248.         ovsdb.sendMessage(message);
  249.         ovsdb.readResponse(String[].class);
  250.     }
  251. }
Advertisement
Add Comment
Please, Sign In to add comment