65 | | |
66 | | [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:disk-name.png)]] |
67 | | |
68 | | == b. Change Link Types == |
69 | | |
70 | | Now we have three aggregates selected, the link types between nodes are changed to '''gre-tunnel'''. |
71 | | |
72 | | [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-3aggregates-gre.png)]] |
73 | | |
74 | | So we need to update the type of links between different aggregates to be '''stitched''' links, which are ''gre-tunnel0'', ''gre-tunnel1'', ''gre-tunnel2'', ''gre-tunnel3'' in the original topology, and the rest of ''gre-tunnel#'' need to be changed back to ''lan#'' type. We show how to change link type for ''gre-tunnel1'' here. Click [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:info.jpg)]] to open link ''gre-tunnel0'' property information. Select '''stitched''' from the pull-down list at the '''Type''' field, apply the update. Similarly, update the link type for the other '''gre-tunnel''' links. |
75 | | |
76 | | [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:change-link-type.png)]] |
77 | | |
78 | | |
79 | | Similarly, update the link type for the other '''gre-tunnel''' links, and you will see the topology now looks like: |
80 | | |
81 | | [[Image(GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup:4node-stitching.png)]] |
82 | | |
83 | | Export the request RSpec to your local machine, save it as `4node-stitching.rspec`. |
84 | | |
85 | | == c. Edit New RSpec == |
86 | | |
87 | | Now open the RSpec file `4node-stitching.rspec`, and we need to do some small editing locally first. |
88 | | |
89 | | Recall that we have changed the link type and aggregate type, the RSpec still keeps the information about `stanford-ig`, which we are not using it any more, so we need to manually delete this information from the RSpec, otherwise, we will see errors when requesting resources. |
90 | | |
91 | | For example, the `stitched0` link has three `component_manager` tags, and the one has name "urn:publicid:IDN+instageni.stanford.edu+authority+cm" is not needed. Also, we need to reduce the capacity down to less than 20000, it is 100000 by default. |
92 | | {{{ |
93 | | <link client_id="stitched0"> |
94 | | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
95 | | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
96 | | <component_manager name="urn:publicid:IDN+instageni.wisc.edu+authority+cm"/> |
97 | | <component_manager name="urn:publicid:IDN+instageni.nysernet.org+authority+cm"/> |
98 | | <component_manager name="urn:publicid:IDN+instageni.stanford.edu+authority+cm"/> |
99 | | <interface_ref client_id="xen-0:if0"/> |
100 | | <interface_ref client_id="xen:if0"/> |
101 | | <property source_id="xen-0:if0" dest_id="xen:if0" capacity="100000"/> |
102 | | <property source_id="xen:if0" dest_id="xen-0:if0" capacity="100000"/> |
103 | | <flack:link_info x="526" y="405" unboundVlantag="true"/> |
104 | | </link> |
105 | | }}} |
106 | | |
107 | | So, for each link block in the `4node-stitching.rspec` file, delete the following line, and update the capacity from 100000 to 10000, then save the file. |
108 | | |
109 | | {{{ |
110 | | <component_manager name="urn:publicid:IDN+instageni.stanford.edu+authority+cm"/> |
111 | | }}} |
112 | | |
113 | | Now the link block for stitched0 should look like: |
114 | | {{{ |
115 | | <link client_id="stitched0"> |
116 | | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
117 | | <flack:link_info x="-1" y="-1" unboundVlantag="true" xmlns="http://www.protogeni.net/resources/rspec/ext/flack/1"/> |
118 | | <component_manager name="urn:publicid:IDN+instageni.wisc.edu+authority+cm"/> |
119 | | <component_manager name="urn:publicid:IDN+instageni.nysernet.org+authority+cm"/> |
120 | | <interface_ref client_id="xen-0:if0"/> |
121 | | <interface_ref client_id="xen:if0"/> |
122 | | <property source_id="xen-0:if0" dest_id="xen:if0" capacity="10000"/> |
123 | | <property source_id="xen:if0" dest_id="xen-0:if0" capacity="10000"/> |
124 | | <flack:link_info x="526" y="405" unboundVlantag="true"/> |
125 | | </link> |
126 | | }}} |
127 | | |
128 | | It is very important to note that '''DO NOT SUBMIT''' VM reservation request in Flack. We will use a command line tool called '''stitcher''' to request resources in the next step. |
129 | | |
130 | | = 2. Get Resource Using Stitcher = |
131 | | You have two options for reserving multi-aggergate topologies: the Portal and `stitcher`. |
132 | | == a. Get Resource Using the Portal == |
133 | | You can reserve multi-aggregate topologies using the '''Add Resources''' button on the Portal. |
134 | | |
135 | | == b. Get Resource Using Stitcher == |
136 | | Stitcher is a command line tool to get resources, including create VM slivers and stitched links. We run stitcher from command line to get resources by providing the RSpec file `4node-stitching.rspec` just created. To run stitcher, you need to install `omni` tool. |
137 | | |
138 | | The command is: |
139 | | {{{ |
140 | | $stitcher --logconfig <path to stitcher_logging.conf> createsliver <slicename> <path to your rspec> |
141 | | }}} |
142 | | |
143 | | The option `"--logconfig"` is not necessary, but if you see message like "WARNING:root:Failed to find log config file /Applications/omniTools-2.6/stitcher.app/Contents/Resources/lib/python27.zip/gcf/stitcher_logging.conf", you may need to manually download [http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/SystematicExprCaseStudy/ScalingUp/DesignSetup/stitcher_logging.conf stitcher_logging.conf] to your local system. |
144 | | |
145 | | If you successfully run stitcher, you will see similar output as below: |
146 | | |
147 | | {{{ |
148 | | dhcp89-69-127:tools xliu$ stitcher --logconfig stitcher_logging.conf createsliver xuan-wiki-prep1 ~/Documents/docs/wiki-fig/4node-stitching.rspec |
149 | | 17:47:31 INFO : Configured logging from file stitcher_logging.conf |
150 | | 17:47:31 INFO : Reading slice xuan-wiki-prep1 credential... |
151 | | 17:47:31 INFO : Slice urn:publicid:IDN+ch.geni.net:GPOInterns2014+slice+xuan-wiki-prep1 expires on 2014-07-09 21:46:52 UTC |
152 | | 17:47:31 INFO : Calling SCS... |
153 | | 17:47:32 INFO : Multi-AM reservation will include resources from these aggregates: |
154 | | 17:47:32 INFO : <Aggregate nysernet-ig> |
155 | | 17:47:32 INFO : <Aggregate illinois-ig> |
156 | | 17:47:32 INFO : <Aggregate wisconsin-ig> |
157 | | 17:47:32 INFO : <Aggregate ion> |
158 | | 17:47:32 INFO : Stitcher doing createsliver at <Aggregate nysernet-ig>... |
159 | | 17:47:54 INFO : ... Allocation at <Aggregate nysernet-ig> complete. |
160 | | 17:47:54 INFO : Stitcher doing createsliver at <Aggregate illinois-ig>... |
161 | | 17:48:19 INFO : ... Allocation at <Aggregate illinois-ig> complete. |
162 | | 17:48:19 INFO : Stitcher doing createsliver at <Aggregate wisconsin-ig>... |
163 | | 17:48:41 INFO : ... Allocation at <Aggregate wisconsin-ig> complete. |
164 | | 17:48:42 INFO : Stitcher doing createsliver at <Aggregate ion>... |
165 | | 17:49:26 INFO : DCN AM <Aggregate ion>: must wait for status ready.... |
166 | | 17:49:26 INFO : Pausing 30 seconds to let circuit become ready... |
167 | | 17:50:04 INFO : Pausing 30 seconds to let circuit become ready... |
168 | | 17:50:41 INFO : DCN circuit 103131 is ready at <Aggregate ion> |
169 | | 17:50:41 INFO : DCN circuit 103151 is ready at <Aggregate ion> |
170 | | 17:50:41 INFO : DCN circuit 103141 is ready at <Aggregate ion> |
171 | | 17:50:48 INFO : ... Allocation at <Aggregate ion> complete. |
172 | | 17:50:48 INFO : All aggregates are complete. |
173 | | 17:50:48 INFO : Your resources expire at 2 different times at different AMs. The first expiration is 2014-07-03 21:48:39 UTC at <Aggregate ion>. Second expiration is 2014-07-09T21:46:52 UTC. |
174 | | 17:50:48 INFO : Saved combined reservation RSpec at 4 AMs to file '/Users/xliu/Documents/tools/xuan-wiki-prep1-manifest-rspec-stitching-combined.xml' |
175 | | Success: Reserved resources in slice xuan-wiki-prep1 at 4 Aggregates (including 1 intermediate aggregate(s) not in the original request), creating 4 stitched link(s). |
176 | | |
177 | | }}} |