networkstatic

ServiceConfig.java

Jul 22nd, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.07 KB | None | 0 0
  1.  
  2.  
  3. package org.opendaylight.controller.protocol_plugin.ovsdb.internal;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.LinkedHashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9.  
  10. import org.opendaylight.controller.sal.configuration.IPluginInNetworkConfigurationService;
  11. import org.opendaylight.controller.sal.core.Node;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14.  
  15. public class ConfigurationService implements IPluginInNetworkConfigurationService
  16. {
  17.     private static final Logger logger = LoggerFactory
  18.             .getLogger(ConfigurationService.class);
  19.  
  20.     IConnectionServiceInternal connectionService;
  21.  
  22.     void init() {
  23.     }
  24.  
  25.     /**
  26.      * Function called by the dependency manager when at least one dependency
  27.      * become unsatisfied or when the component is shutting down because for
  28.      * example bundle is being stopped.
  29.      *
  30.      */
  31.     void destroy() {
  32.     }
  33.  
  34.     /**
  35.      * Function called by dependency manager after "init ()" is called and after
  36.      * the services provided by the class are registered in the service registry
  37.      *
  38.      */
  39.     void start() {
  40.     }
  41.  
  42.     /**
  43.      * Function called by the dependency manager before the services exported by
  44.      * the component are unregistered, this will be followed by a "destroy ()"
  45.      * calls
  46.      *
  47.      */
  48.     void stop() {
  49.     }
  50.  
  51.     public void setConnectionServiceInternal(IConnectionServiceInternal connectionService) {
  52.         this.connectionService = connectionService;
  53.     }
  54.  
  55.     public void unsetConnectionServiceInternal(IConnectionServiceInternal connectionService) {
  56.         if (this.connectionService == connectionService) {
  57.             this.connectionService = null;
  58.         }
  59.     }
  60.  
  61.     @Override
  62.     public boolean createBridgeDomain(Node node, String bridgeIdentifier) {
  63.         if (connectionService == null) {
  64.             logger.error("Couldnt refer to the ConnectionService");
  65.             return false;
  66.         }
  67.         Connection connection = connectionService.getConnection(node);
  68.  
  69.         /*
  70.         ArrayList nulist = new ArrayList();
  71.         ArrayList nulist5 = new ArrayList();
  72.         ArrayList nulist6 = new ArrayList();
  73.         ArrayList nulist4 = new ArrayList();
  74.  
  75.         Map brmap1 = new LinkedHashMap();
  76.         Map opinsert = new LinkedHashMap();
  77.         Map opcomment = new LinkedHashMap();
  78.         Map opmutate = new LinkedHashMap();
  79.  
  80.         ArrayList comarr = new ArrayList();
  81.         ArrayList comarr2 = new ArrayList();
  82.         ArrayList comarr3 = new ArrayList();
  83.         ArrayList comarr4 = new ArrayList();
  84.  
  85.         ArrayList mutwhere = new ArrayList();
  86.         ArrayList mutwhere2 = new ArrayList();
  87.         ArrayList mutwhere3 = new ArrayList();
  88.         ArrayList mutwhere4 = new ArrayList();
  89.         ArrayList mutwhere5 = new ArrayList();
  90.         ArrayList mutwhere6 = new ArrayList();
  91.  
  92.         brmap1.put("op", "insert");
  93.         brmap1.put("table", "Bridge");
  94.         brmap1.put("row", opinsert);
  95.         opinsert.put("external_ids", nulist);
  96.         nulist.add("map");
  97.         nulist.add(nulist4);
  98.         nulist4.add(nulist5);
  99.         nulist4.add(nulist6);
  100.         nulist5.add("brId");
  101.         nulist5.add("11111111-1111-1111-1111-111111111111");
  102.         nulist6.add("engine_test");
  103.         nulist6.add("eTest");
  104.         brmap1.put("uuid-name", "new_bridge");
  105.         opinsert.put("name", bridgeIdentifier);
  106.  
  107.         // Mutate operation
  108.         opmutate.put("op", "mutate");
  109.         opmutate.put("table", "Open_vSwitch");
  110.         opmutate.put("where", mutwhere);
  111.         opmutate.put("mutations", mutwhere2);
  112.         mutwhere2.add(mutwhere3);
  113.         mutwhere3.add("bridges");
  114.         mutwhere3.add("insert");
  115.         mutwhere3.add(mutwhere4);
  116.         mutwhere4.add("set");
  117.         mutwhere4.add(mutwhere5);
  118.         mutwhere5.add(mutwhere6);
  119.         mutwhere6.add("named-uuid");
  120.         mutwhere6.add("new_bridge");
  121.  
  122.         // Comment operation
  123.         opcomment.put("op", "comment");
  124.         opcomment.put("comment", "ovs-vsctl add-br x");
  125. */
  126.         /*
  127.          * Add the 3 operations into the object
  128.          * params along with the db_name OVS
  129.          */
  130.  
  131.  
  132.         // Arrays for JSON Interfaces
  133.         ArrayList intarr1 = new ArrayList();
  134.         ArrayList intarr2 = new ArrayList();
  135.         ArrayList intarr3 = new ArrayList();
  136.         ArrayList intarr4 = new ArrayList();
  137.         ArrayList intarr5 = new ArrayList();
  138.         ArrayList intarr6 = new ArrayList();
  139.         ArrayList intarr7 = new ArrayList();
  140.  
  141.         // Arrays for Port
  142.         ArrayList portarr1 = new ArrayList();
  143.         ArrayList portarr2 = new ArrayList();
  144.         ArrayList portarr3 = new ArrayList();
  145.         ArrayList portarr4 = new ArrayList();
  146.         ArrayList portarr5 = new ArrayList();
  147.         ArrayList portarr6 = new ArrayList();
  148.  
  149.         // Arrays for Bridge
  150.         ArrayList brarr1 = new ArrayList();
  151.         ArrayList brarr2 = new ArrayList();
  152.         ArrayList brarr3 = new ArrayList();
  153.         ArrayList brarr4 = new ArrayList();
  154.         ArrayList brarr5 = new ArrayList();
  155.         ArrayList brarr6 = new ArrayList();
  156.  
  157.         // Maps for JSON Bridge
  158.         Map brmap1 = new LinkedHashMap();
  159.         Map brmap2 = new LinkedHashMap();
  160.  
  161.         // Maps for JSON Port
  162.         Map portmap1 = new LinkedHashMap();
  163.         Map portmap2 = new LinkedHashMap();
  164.  
  165.         // Maps for Update
  166.         Map updtmap1 = new LinkedHashMap();
  167.         Map updtmap2 = new LinkedHashMap();
  168.  
  169.         // Arrays for Update
  170.         ArrayList updtarr1 = new ArrayList();
  171.         ArrayList updtarr2 = new ArrayList();
  172.         ArrayList updtarr3 = new ArrayList();
  173.         ArrayList updtarr4 = new ArrayList();
  174.         ArrayList updtarr5 = new ArrayList();
  175.         ArrayList updtarr6 = new ArrayList();
  176.         ArrayList updtarr7 = new ArrayList();
  177.        
  178.        
  179.         //Maps for Interface Insert
  180.         Map insintmap1 = new LinkedHashMap();
  181.         Map insintmap2 = new LinkedHashMap();
  182.         Map insintmap3 = new LinkedHashMap();
  183.         Map insintmap4 = new LinkedHashMap();
  184.  
  185.         //Arrays for Interface Insert
  186.         ArrayList insintarr1 = new ArrayList();
  187.         ArrayList insintarr2 = new ArrayList();
  188.         ArrayList insintarr3 = new ArrayList();
  189.         ArrayList insintarr4 = new ArrayList();
  190.         ArrayList insintarr5 = new ArrayList();
  191.         ArrayList insintarr6 = new ArrayList();
  192.  
  193.         // Maps for Port Update
  194.         Map insportmap1 = new LinkedHashMap();
  195.         Map insportmap2 = new LinkedHashMap();
  196.  
  197.         // Arrays for Port Update
  198.         ArrayList insportarr1 = new ArrayList();
  199.  
  200.  
  201.         // Arrays for Mutation Op
  202.         ArrayList mutearr1 = new ArrayList();
  203.         ArrayList mutearr2 = new ArrayList();
  204.         ArrayList mutearr3 = new ArrayList();
  205.         ArrayList mutearr4 = new ArrayList();
  206.         ArrayList mutearr5 = new ArrayList();
  207.  
  208.         // Maps for Mutate Op
  209.         Map mutemap1 = new LinkedHashMap();
  210.  
  211.         // Arrays for Op Select OVS
  212.         ArrayList opselarr1 = new ArrayList();
  213.         ArrayList opselarr2 = new ArrayList();
  214.         ArrayList opselarr3 = new ArrayList();
  215.         ArrayList opselarr4 = new ArrayList();
  216.        
  217.         // Maps for Op Select OVS
  218.         Map opselmap1 = new LinkedHashMap();
  219.        
  220.         // HMaps for JSON Interface
  221.         Map intmap1 = new LinkedHashMap();
  222.         Map intmap2 = new LinkedHashMap();
  223.         Map intmap3 = new LinkedHashMap();
  224.         Map intmap4 = new LinkedHashMap();
  225.        
  226.         // Arrays for  JSON Open_vSwitch Table
  227.         ArrayList ovsarr1 = new ArrayList();
  228.         ArrayList ovsarr2 = new ArrayList();
  229.         ArrayList ovsarr3 = new ArrayList();
  230.         ArrayList ovsarr4 = new ArrayList();
  231.        
  232.         // HMaps for JSON Open_vSwitch Table
  233.         Map ovsmap1 = new LinkedHashMap();
  234.         Map ovsmap2 = new LinkedHashMap();
  235.         Map ovsmap3 = new LinkedHashMap();
  236.         Map ovsmap4 = new LinkedHashMap();
  237.  
  238.         // Array for Comment
  239.         ArrayList commarr5 = new ArrayList();
  240.  
  241.         // Maps for Comment
  242.         Map commmap1 = new LinkedHashMap();
  243.        
  244.        //OVSDB Server Defined UUIDs
  245.        String intuuid = "e7c6fc73-a4a1-4d7d-b6b7-eb2e0d2fa900";
  246.        String bridgetabluuid = "435de935-54e2-474d-aba6-cb85468fcc65";
  247.        String portabluuid = "5aa60514-8a65-4739-8ea9-46fb1906a7ed";
  248.        String ovstbluuid = "2cfdf9dd-e2a3-46b9-b09d-fbc68f23bc5d";
  249.      
  250.         //OVS User Defined Port Name
  251.         String ovsbridgename = "br1";
  252.  
  253.         //Array for printing only
  254.         ArrayList print = new ArrayList();
  255.        
  256.         //Rows Bridge Set
  257.         intmap1.put("rows", intarr1);
  258.         intarr1.add(intmap2);
  259.         intmap2.put("bridges", intarr2);
  260.         intarr2.add("set");
  261.         intarr2.add(intarr3);
  262.         intmap1.put("until", "==");
  263.         intmap1.put("table", "Open_vSwitch");
  264.         intmap1.put("op", "wait");
  265.         intmap1.put("timeout", 0);
  266.         intmap1.put("where", intarr4);
  267.         intarr4.add(intarr5);
  268.         intarr5.add("_uuid");
  269.         intarr5.add("==");
  270.         intarr5.add(intarr6);
  271.         intarr6.add("uuid");
  272.         intarr6.add(ovstbluuid);
  273.         intmap1.put("columns", intarr7);
  274.         intarr7.add("bridges");
  275.        
  276.         //Table OVS update
  277.         ovsmap1.put("table", "Open_vSwitch");
  278.         ovsmap1.put("where", ovsarr1);
  279.         ovsarr1.add(ovsarr2);
  280.         ovsarr2.add("_uuid");
  281.         ovsarr2.add("==");
  282.         ovsarr2.add(ovsarr3);
  283.         ovsarr3.add("uuid");
  284.         ovsarr3.add(ovstbluuid);
  285.         ovsmap1.put("op", "update");
  286.         ovsmap1.put("row", ovsmap3);
  287.         ovsmap3.put("bridges", ovsarr4);
  288.         ovsarr4.add("named-uuid");
  289.         ovsarr4.add("row64781566_ce8a_447a_a762_8835ebd42a9b");
  290.        
  291.         //Table Interface Insert
  292.         insintmap1.put("table","Interface");
  293.         insintmap1.put("uuid-name","rowe943d8f1_411c_4c3f_bad4_131ed80e4dfc");
  294.         insintmap1.put("op", "insert");
  295.         insintmap1.put("row", insintmap2);
  296.         insintmap2.put("name", ovsbridgename);
  297.         insintmap2.put("type", "internal");
  298.        
  299.         //Bridge Table Inser
  300.         brmap1.put("table","Bridge");
  301.         brmap1.put("uuid-name","row64781566_ce8a_447a_a762_8835ebd42a9b");
  302.         brmap1.put("op", "insert");
  303.         brmap1.put("row", brmap2);
  304.         brmap2.put("name", ovsbridgename);
  305.         brmap2.put("ports", brarr1);
  306.         brarr1.add("named-uuid");
  307.         brarr1.add("row54bfd27e_8744_4f6a_a9e4_f982404de816");
  308.        
  309.         //Port Table Inser
  310.         portmap1.put("table","Port");
  311.         portmap1.put("uuid-name","row54bfd27e_8744_4f6a_a9e4_f982404de816");
  312.         portmap1.put("op", "insert");
  313.         portmap1.put("row", portmap2);
  314.         portmap2.put("interfaces", portarr1);
  315.         portarr1.add("named-uuid");
  316.         portarr1.add("rowe943d8f1_411c_4c3f_bad4_131ed80e4dfc");
  317.         portmap2.put("name", ovsbridgename);
  318.  
  319.         //Op Mutate Open_vSwtich table
  320.         mutemap1.put("mutations", mutearr1);
  321.         mutearr1.add(mutearr2);
  322.         mutearr2.add("next_cfg");
  323.         mutearr2.add("+=");
  324.         mutearr2.add(1);
  325.         mutemap1.put("table", "Open_vSwitch");
  326.         mutemap1.put("op", "mutate");
  327.         mutemap1.put("where", mutearr3);
  328.         mutearr3.add(mutearr4);
  329.         mutearr4.add("_uuid");
  330.         mutearr4.add("==");
  331.         mutearr4.add(mutearr5);
  332.         mutearr5.add("uuid");
  333.         mutearr5.add("2cfdf9dd-e2a3-46b9-b09d-fbc68f23bc5d");
  334.  
  335.         //Op Select OVS
  336.         opselmap1.put("table", "Open_vSwitch");
  337.         opselmap1.put("where", opselarr1);
  338.         opselarr1.add(opselarr2);
  339.         opselarr2.add("_uuid");
  340.         opselarr2.add("==");
  341.         opselarr2.add(opselarr3);
  342.         opselarr3.add("uuid");                
  343.         opselarr3.add("2cfdf9dd-e2a3-46b9-b09d-fbc68f23bc5d");  
  344.         opselmap1.put("op", "select");
  345.         opselmap1.put("columns", opselarr4);
  346.         opselarr4.add("next_cfg");
  347.        
  348.         //Comment
  349.         commmap1.put("comment", "ovs-vsctl: ovs-vsctl --db=tcp:172.16.58.170:6634 add-br " + ovsbridgename);
  350.         commmap1.put("op", "comment");
  351.        
  352.         Object[] params = { "Open_vSwitch", intmap1, ovsmap1, insintmap1, brmap1, portmap1, mutemap1, opselmap1, commmap1,};
  353.  
  354.        
  355.         OvsdbMessage message = new OvsdbMessage("transact", params, "efg");
  356.         try {
  357.             connection.sendMessage(message);
  358.             connection.readResponse(String[].class);
  359.         } catch (Exception e) {
  360.             // TODO Auto-generated catch block
  361.             e.printStackTrace();
  362.             return false;
  363.         } catch (Throwable e) {
  364.             // TODO Auto-generated catch block
  365.             e.printStackTrace();
  366.             return false;
  367.         }
  368.         return true;
  369.     }
  370.  
  371.     @Override
  372.     public boolean deleteBridgeDomain(Node node, String bridgeIdentifier) {
  373.         // TODO Auto-generated method stub
  374.         return false;
  375.     }
  376.  
  377.     @Override
  378.     public List<String> getBridgeDomains(Node node) {
  379.         // TODO Auto-generated method stub
  380.         return null;
  381.     }
  382.  
  383.     @Override
  384.     public boolean addBridgeDomainConfig(Node node, String bridgeIdentifier, Map<String, String> config) {
  385.         // TODO Auto-generated method stub
  386.         return false;
  387.     }
  388.  
  389.     @Override
  390.     public boolean removeBridgeDomainConfig(Node node, String bridgeIdentifier, Map<String, String> config) {
  391.         // TODO Auto-generated method stub
  392.         return false;
  393.     }
  394.  
  395.     @Override
  396.     public Map<String, String> getBridgeDomainConfigs(Node node, String bridgeIdentifier) {
  397.         // TODO Auto-generated method stub
  398.         return null;
  399.     }
  400.  
  401.     @Override
  402.     public boolean createBridgeConnector(Node node, String bridgeConnectorIdentifier) {
  403.         // TODO Auto-generated method stub
  404.         return false;
  405.     }
  406.  
  407.     @Override
  408.     public boolean deleteBridgeConnector(Node node, String bridgeConnectorIdentifier) {
  409.         // TODO Auto-generated method stub
  410.         return false;
  411.     }
  412.  
  413.     @Override
  414.     public boolean associateBridgeConnector(Node node, String bridgeIdentifier, String bridgeConnectorIdentifier) {
  415.         // TODO Auto-generated method stub
  416.         return false;
  417.     }
  418.  
  419.     @Override
  420.     public boolean disassociateBridgeConnector(Node node, String bridgeIdentifier, String bridgeConnectorIdentifier) {
  421.         // TODO Auto-generated method stub
  422.         return false;
  423.     }
  424.  
  425.     @Override
  426.     public boolean addBridgeConnectorConfig(Node node, String bridgeConnectorIdentifier, Map<String, String> config) {
  427.         // TODO Auto-generated method stub
  428.         return false;
  429.     }
  430.  
  431.     @Override
  432.     public boolean removeBridgeConnectorConfig(Node node, String bridgeConnectorIdentifier, Map<String, String> config) {
  433.         // TODO Auto-generated method stub
  434.         return false;
  435.     }
  436.  
  437.     @Override
  438.     public Map<String, String> getBridgeConnectorConfigs(Node node, String bridgeConnectorIdentifier) {
  439.         // TODO Auto-generated method stub
  440.         return null;
  441.     }
  442.  
  443.     @Override
  444.     public Object genericConfigurationEvent(Node node, Map<String, String> config) {
  445.         // TODO Auto-generated method stub
  446.         return null;
  447.     }
  448.  
  449.   }
Advertisement
Add Comment
Please, Sign In to add comment