| 1 | [[PageOutline]] |
| 2 | |
| 3 | = GENI Shadownet Project Status Report = |
| 4 | |
| 5 | Period: Post GEC 12 Report |
| 6 | |
| 7 | == I. Major accomplishments == |
| 8 | |
| 9 | The following highlights our accomplishments |
| 10 | during the last reporting period. |
| 11 | |
| 12 | === A. Milestones achieved === |
| 13 | * During the last reporting period we made significant progress toward |
| 14 | (milestone S4.a): "Continue to develop and integrate the Shadownet |
| 15 | virtualization control software with the measurement and instrumentation |
| 16 | toolset INSTOOLS." |
| 17 | |
| 18 | * We also vastly improved our integration of the Shadownet control software |
| 19 | with the ProtoGENI control framework (i.e., we made significant enhancements |
| 20 | to our previously accomplished milestone S3.b). |
| 21 | |
| 22 | === B. Deliverables made === |
| 23 | |
| 24 | * Routers are now available for allocation and can be included in |
| 25 | users' experiments through the ProtoGENI Flack interface. |
| 26 | |
| 27 | == II. Description of work performed during last quarter == |
| 28 | |
| 29 | The following provides a description of the progress made during the last |
| 30 | reporting period. |
| 31 | |
| 32 | |
| 33 | === A. Activities and findings === |
| 34 | |
| 35 | |
| 36 | Although we had shown interoperability between the Shadownet component |
| 37 | manager (CM) and the ProtoGENI control framework by the time of our previous |
| 38 | report, the Shadownet CM only offered the most basic services. |
| 39 | One of the goals of our work over the last reporting period has been to do an |
| 40 | even better job of integrating the Shadownet component manger (CM) with the |
| 41 | ProtoGENI control framework in order to enable additional features and to |
| 42 | better control the Shadownet resources from the Flack graphical user |
| 43 | interface. |
| 44 | As part of this, we worked closely with our colleagues from the ProtoGENI group |
| 45 | to add the information that Flack needed in order to be Shadownet-aware. |
| 46 | In particular, we modified the Shadownet CM to include information about |
| 47 | available logical routers in the advertisement RSPEC so that Flack can know |
| 48 | how many logical routers are available on a physical router. We also came up |
| 49 | with a way to create links between Juniper routers using Flack. To do this, |
| 50 | Flack treats logical Juniper routers as special nodes based on a modified |
| 51 | version of the code use to support Planetlab nodes. It allows users to |
| 52 | create links between these logical Juniper routers even when no interfaces |
| 53 | are defined in the advertisement, while links between normal nodes can be |
| 54 | created in Flack only if interfaces for them are defined in the advertisement |
| 55 | RSPEC. |
| 56 | On the Shadownet CM side, we modified the Shadownet CM to report back |
| 57 | to the Slice Authority with the manifest after it creates a slice |
| 58 | successfully so that Flack is able to determine when the logical router setup |
| 59 | is complete. Because logical router setup and initialization can take a long |
| 60 | time, we had to adjust the apache server's timeout to prevent XLMRPC calls |
| 61 | from failing, but we are exploring other ways to both speed up the creation |
| 62 | process and to more accurately report the creation status to Flack. |
| 63 | |
| 64 | The major focus of our work this past period has been to integrate the |
| 65 | Shadownet CM with the INSTOOLS measurement and instrumentation tools. |
| 66 | We found that this was a non-trivial task for a number of reasons. |
| 67 | |
| 68 | First, Juniper logical routers differ in many ways from the "PC router" |
| 69 | resources available at the UK and Utah aggregates. For example, INSTOOLS |
| 70 | relies on each (PC) router running an SNMP daemon to collect network |
| 71 | statistics. However, Juniper logical routers do not have their own SNMP |
| 72 | servers. |
| 73 | Instead, there is one SNMP server for the entire physical Juniper router. |
| 74 | The physical router's SNMP server records all the information from all the |
| 75 | logical routers. In order to obtain the information for a specific logical |
| 76 | router, the SNMP request to the physical SNMP server must be formulated in a |
| 77 | particular way. Moreover, all information from all logical routers is |
| 78 | available to any client that has access to the physical SNMP server. |
| 79 | To ensure that a slice's MC only accesses the data for the |
| 80 | logical routers that are part of the slice, we implemented a proxy server |
| 81 | that checks permissions and then translates the request for logical router |
| 82 | information into the appropriate calls to the physcial SNMP daemon. |
| 83 | To ensure MC's cannot access the physical SNMP server, we configure the |
| 84 | physical SNMP server so that it can only be accessed by our known set of |
| 85 | proxies. When |
| 86 | the MC of a slice wants to collect data from logical routers, it sends the |
| 87 | requests to the proxy. Whenever the proxy gets an SNMP request, it checks a |
| 88 | local database to determine whether the logical router is ready and whether |
| 89 | the IP address for the MC node is permitted to access the routers. Only those |
| 90 | authorized MCs will be able to get the SNMP request through the proxy to |
| 91 | collect measurement information about the routers. |
| 92 | |
| 93 | A second challenge was the fact that the Shadownet aggregate manager only has |
| 94 | logical router resources to offer and no general purpose PCs. Consequently, |
| 95 | there are no general purpose nodes in the Shadownet aggregate that can serve |
| 96 | as MCs. The INSTOOLS software is designed around the concept of a local MC; |
| 97 | a general purpose node allocated from the local aggregate. Each aggregate |
| 98 | in the slice is given its own MC to localize data collection. Because |
| 99 | Shadownet has no nodes to offer as MCs, we modified the |
| 100 | INSTOOLS Service API calls at the Shadownet CM to |
| 101 | "borrow" nodes from another aggregate (the ukgeni.cm) to use for its MCs. |
| 102 | Although the MC is running in a different aggregate, it believes it is part |
| 103 | of the Shadownet aggregate and is configured to monitor the logical routers |
| 104 | in the Shadownet aggregate. Because the Shadownet CM looks and feels like |
| 105 | other CMs (i.e., it pretends it has MC nodes to allocate just like other |
| 106 | CMs), the normal ProtoGENI API calls can be used by INSTOOLS to create and |
| 107 | initialize the MC. |
| 108 | |
| 109 | In order to accommodate logical routers in ProtoGENI/INSTOOLS, we created a new |
| 110 | attribute value to define a Juniper logical juniper in RSPECs and Manifests: |
| 111 | (virtualization_type="juniper-lrouter"). |
| 112 | Both the MC's drupal content management system and the portal in INSTOOLS have |
| 113 | been modified to recognize these special node types as logical |
| 114 | routers. Correspondingly, the login method to the node will use the logical |
| 115 | router name instead of the user name. In addition, some normal PC |
| 116 | measurements (such as CPU load, memory usage) are disabled because they are not |
| 117 | well supported on the logical routers. |
| 118 | |
| 119 | We demonstrated the new Shadownet CM at the GEC 12 conference. The demo |
| 120 | showed how logical routers in the backbone of Internet 2 can be allocated and |
| 121 | linked together using VLANs and then showed how the INSTOOLs software can |
| 122 | provide live views of the traffic for each logical router. |
| 123 | |
| 124 | During this last reporting period, we continued to support and operate |
| 125 | the Juniper routers in the Internet 2 backbone, and have been using the |
| 126 | routers in our testing and evaluation of the new Shadownet CM. |
| 127 | |
| 128 | Finally, we have continued to have discussions with the PerfSONAR team to |
| 129 | better understand how we can more tightly integrate the data collection from |
| 130 | our logical routers with PerfSONAR. |
| 131 | |
| 132 | === B. Project participants === |
| 133 | |
| 134 | The following individuals are involved with the project in one way or another: |
| 135 | * Jim Griffioen - Project PI (Kentucky) |
| 136 | * Zongming Fei - Project Co-PI (Kentucky) |
| 137 | * Kobus van der Merwe - Project Co-PI (AT\&T) |
| 138 | * Eric Boyd - Subcontract Lead (Internet2) |
| 139 | * Brian Cashman - Network Planning Manager (Internet2) |
| 140 | * Lowell Pike - Network administrator (Kentucky) |
| 141 | * Hussamuddin Nasir - Technician/Programmer (Kentucky) |
| 142 | * Charles Carpenter - Researcher/Programmer (Kentucky) |
| 143 | * Emmanouil Mavrogiorgis - Research Staff (AT\&T) |
| 144 | |
| 145 | === C. Publications (individual and organizational) === |
| 146 | |
| 147 | === D. Outreach activities === |
| 148 | |
| 149 | We gave a Shadownet Demo at GEC 12 showing how logical routers can be |
| 150 | allocated and initialized via the ProtoGENI Flack GUI. |
| 151 | |
| 152 | === E. Collaborations === |
| 153 | |
| 154 | Most of our collaborations have been with the Shadownet team. In particular, |
| 155 | it involves participants from Kentucky, |
| 156 | AT\&T, and Internet2, but we have also had several conversations |
| 157 | with our ProtoGENI and perfSONAR colleagues. |
| 158 | |
| 159 | === F. Other Contributions === |
| 160 | |