294 | | [[Image(reserveResource.png, 40%)]] |
| 294 | [[Image(reserveResource.png, 10%)]] |
| 295 | |
| 296 | |
| 297 | |
| 298 | |
| 299 | |
| 300 | ''' Using Omni to get virtual machines from '''ExoGENI''':''' [[BR]] |
| 301 | '''0. Get account: (Ignore this if you already have one) [[BR]]''' |
| 302 | Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3 Request_GENI_Account] for an emulab account and to join a GENI project.[[BR]] |
| 303 | Apparently you need to join a GENI project (which is created by PIs/GPOs/others who have permission to do so) in order to use GENI resources. |
| 304 | |
| 305 | '''1. Prepare Omni''' [[BR]] |
| 306 | Here is a very good tutorial on setting up Omni environment: [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/HelloOmni HelloOmni] [[BR]] |
| 307 | Simply follow the tutorial to set up Omni. |
| 308 | |
| 309 | '''2. Use Omni to create the topology: [[BR]]''' |
| 310 | Download the RSPEC from http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/star-exo-vm.rspec [[BR]] |
| 311 | - '''Note:''' If we compare the RSPEC we used here to reserve nodes from ExoGENI with the RSPEC we used [http://www.gpolab.bbn.com/experiment-support/TCPExampleExperiment/star-vm.rspec here] to reserve nodes from InstaGENI, we can find the following difference: |
| 312 | - slivertype. For InstaGENI, it is `emulab-openvz`; For ExoGENI, it is `m1.small`. In fact, there are a handful of virtual machine types available for users to choose from. Check out this [https://wiki.exogeni.net/doku.php?id=public:experimenters:resource_types:start Link] |
| 313 | - disk_image. For InstaGENI, the user does not need to specify a disk_image, it automatically chooses a default one (a version of Fedora Core). For ExoGENI, the user have to specify one. Again, we have a handful of choices, see [https://wiki.exogeni.net/doku.php?id=public:experimenters:images this link]. |
| 314 | - xml header. |
| 315 | |
| 316 | Next, we need to create this experiment using the RSPEC file: [[BR]] |
| 317 | '''Step 1. Create slice (use a unique name for your slice):''' |
| 318 | {{{ |
| 319 | omni.py createslice <slice name> |
| 320 | }}} |
| 321 | Output should be something like the following (here I am using 'shufengTCP' as the sample slice name): |
| 322 | {{{ |
| 323 | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
| 324 | INFO:omni:Using control framework portal |
| 325 | INFO:omni:Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-15 02:11:03 |
| 326 | INFO:omni: ------------------------------------------------------------ |
| 327 | INFO:omni: Completed createslice: |
| 328 | |
| 329 | Options as run: |
| 330 | framework: portal |
| 331 | project: ShufengProject |
| 332 | |
| 333 | Args: createslice shufengTCP |
| 334 | |
| 335 | Result Summary: Created slice with Name shufengTCP, URN urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP, Expiration 2013-05-15 02:11:03 |
| 336 | |
| 337 | INFO:omni: ============================================================ |
| 338 | }}} |
| 339 | '''Step 2. Renew Slice (to make sure that your reservation does not expire before you finished your experiment, renew the slice to a specific time):''' |
| 340 | {{{ |
| 341 | omni.py renewslice shufengTCP 20130516 |
| 342 | }}} |
| 343 | Output: |
| 344 | {{{ |
| 345 | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
| 346 | INFO:omni:Using control framework portal |
| 347 | INFO:omni.pgch:Requesting new slice expiration '2013-05-16T00:00:00' |
| 348 | INFO:omni:Slice shufengTCP now expires at 2013-05-16 00:00:00 UTC |
| 349 | INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC |
| 350 | INFO:omni: ------------------------------------------------------------ |
| 351 | INFO:omni: Completed renewslice: |
| 352 | |
| 353 | Options as run: |
| 354 | framework: portal |
| 355 | project: ShufengProject |
| 356 | |
| 357 | Args: renewslice shufengTCP 20130516 |
| 358 | |
| 359 | Result Summary: Slice shufengTCP now expires at 2013-05-16 00:00:00 UTC |
| 360 | Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC |
| 361 | INFO:omni: ============================================================ |
| 362 | }}} |
| 363 | '''Step 3. Create Sliver using star-exo-vm.rspec:''' [[BR]] |
| 364 | Here we used eg-gpo as the aggregate manager because we want to reserve resources from ExoGENI. [[BR]] |
| 365 | Any aggregate manager name that starts with `eg` indicates that it is an ExoGENI aggregate. For more aggregate manager names you can check out ~/.gcf/omni_config |
| 366 | {{{ |
| 367 | omni.py createsliver -a eg-gpo shufengTCP star-exo-vm.rspec |
| 368 | }}} |
| 369 | Output: |
| 370 | {{{ |
| 371 | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
| 372 | INFO:omni:Using control framework portal |
| 373 | INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN |
| 374 | INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC |
| 375 | INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN |
| 376 | INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN |
| 377 | INFO:omni:Creating sliver(s) from rspec file star-exo-vm.rspec for slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP |
| 378 | INFO:omni:Got return from CreateSliver for slice shufengTCP at https://bbn-hn.exogeni.net:11443/orca/xmlrpc: |
| 379 | INFO:omni:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| 380 | INFO:omni: <!-- Reserved resources for: |
| 381 | Slice: shufengTCP |
| 382 | at AM: |
| 383 | URN: unspecified_AM_URN |
| 384 | URL: https://bbn-hn.exogeni.net:11443/orca/xmlrpc |
| 385 | --> |
| 386 | INFO:omni: |
| 387 | <rspec type="manifest" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/manifest.xsd http://hpn.east.isi.edu/rspec/ext/stitch/0.1/ http://hpn.east.isi.edu/rspec/ext/stitch/0.1/stitch-schema.xsd http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/slice-info/1 http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/slice-info/1/slice_info.xsd?format=raw http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/sliver-info/1 http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/sliver-info/1/sliver_info.xsd?format=raw" xmlns:ns2="http://hpn.east.isi.edu/rspec/ext/stitch/0.1/" xmlns="http://www.geni.net/resources/rspec/3" xmlns:ns4="http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/sliver-info/1" xmlns:ns3="http://groups.geni.net/exogeni/attachment/wiki/RspecExtensions/slice-info/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| 388 | <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#bottom" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="bottom"> |
| 389 | <sliver_type name="m1.small"> |
| 390 | <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/> |
| 391 | </sliver_type> |
| 392 | <services/> |
| 393 | <interface client_id="bottom:if0"/> |
| 394 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 395 | </node> |
| 396 | <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#left" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="left"> |
| 397 | <sliver_type name="m1.small"> |
| 398 | <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/> |
| 399 | </sliver_type> |
| 400 | <services/> |
| 401 | <interface client_id="left:if0"/> |
| 402 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 403 | </node> |
| 404 | <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#top" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="top"> |
| 405 | <sliver_type name="m1.small"> |
| 406 | <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/> |
| 407 | </sliver_type> |
| 408 | <services/> |
| 409 | <interface client_id="top:if0"/> |
| 410 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 411 | </node> |
| 412 | <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#right" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="right"> |
| 413 | <sliver_type name="m1.small"> |
| 414 | <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/> |
| 415 | </sliver_type> |
| 416 | <services/> |
| 417 | <interface client_id="right:if0"/> |
| 418 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 419 | </node> |
| 420 | <node sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#center" exclusive="false" component_name="orca-vm-cloud" component_manager_id="urn:publicid:IDN+exogeni.net:bbnvmsite+authority+am" component_id="urn:publicid:IDN+exogeni.net:bbnvmsite+node+orca-vm-cloud" client_id="center"> |
| 421 | <sliver_type name="m1.small"> |
| 422 | <disk_image version="0beb69c8fbe65af0134ac8fe38b22e8f9b3c254c" name="http://emmy9.casa.umass.edu/Disk_Images/ExoGENI/Ubuntu1204/ubuntu1204.xml"/> |
| 423 | </sliver_type> |
| 424 | <services/> |
| 425 | <interface client_id="center:if3"/> |
| 426 | <interface client_id="center:if1"/> |
| 427 | <interface client_id="center:if2"/> |
| 428 | <interface client_id="center:if0"/> |
| 429 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 430 | </node> |
| 431 | <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#leftLink" client_id="leftLink"> |
| 432 | <interface_ref client_id="center:if0"/> |
| 433 | <interface_ref client_id="left:if0"/> |
| 434 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 435 | </link> |
| 436 | <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#topLink" client_id="topLink"> |
| 437 | <interface_ref client_id="center:if2"/> |
| 438 | <interface_ref client_id="top:if0"/> |
| 439 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 440 | </link> |
| 441 | <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#rightLink" client_id="rightLink"> |
| 442 | <interface_ref client_id="right:if0"/> |
| 443 | <interface_ref client_id="center:if1"/> |
| 444 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 445 | </link> |
| 446 | <link vlantag="unknown" sliver_id="urn:publicid:IDN+exogeni.net:bbnvmsite+sliver+43052070-9406-4722-bd3a-e4d724ec6939#bottomLink" client_id="bottomLink"> |
| 447 | <interface_ref client_id="center:if3"/> |
| 448 | <interface_ref client_id="bottom:if0"/> |
| 449 | <ns4:geni_sliver_info state="Nascent" start_time="2013-05-14T18:26:52.116Z" expiration_time="2013-05-15T18:26:52.116Z" creation_time="2013-05-14T18:26:52.116Z" creator_urn="shufeng.huang@uky.edu, urn:publicid:IDN+panther+user+shufeng"/> |
| 450 | </link> |
| 451 | <ns3:geni_slice_info state="configuring" uuid="fe0759d2-fedf-4b80-9336-b94a1f7d1ec7" urn="urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP"/> |
| 452 | </rspec> |
| 453 | |
| 454 | INFO:omni: ------------------------------------------------------------ |
| 455 | INFO:omni: Completed createsliver: |
| 456 | |
| 457 | Options as run: |
| 458 | aggregate: ['eg-gpo'] |
| 459 | framework: portal |
| 460 | project: ShufengProject |
| 461 | |
| 462 | Args: createsliver shufengTCP star-exo-vm.rspec |
| 463 | |
| 464 | Result Summary: Got Reserved resources RSpec from bbn-hn-exogeni-net-11443-orca |
| 465 | INFO:omni: ============================================================ |
| 466 | }}} |
| 467 | The above output shows the reserved nodes: pc73, pc81, pc55, pc47, pc84 and how they are connected. In this case, pc73 is the central node of the star topology. |
| 468 | [[BR]] |
| 469 | Alternatively, you can use the following command to show the reserved nodes as well as ways to login: |
| 470 | {{{ |
| 471 | readyToLogin.py shufengTCP -a eg-gpo |
| 472 | }}} |
| 473 | The result is something like the following: |
| 474 | {{{ |
| 475 | #======================================== |
| 476 | #SSH CONFIGURATION INFO for User root |
| 477 | #======================================== |
| 478 | |
| 479 | Host bottom |
| 480 | Port 22 |
| 481 | HostName 192.1.242.85 |
| 482 | User root |
| 483 | IdentityFile /Users/shuang/.ssh/geni_key |
| 484 | |
| 485 | Host left |
| 486 | Port 22 |
| 487 | HostName 192.1.242.83 |
| 488 | User root |
| 489 | IdentityFile /Users/shuang/.ssh/geni_key |
| 490 | |
| 491 | Host top |
| 492 | Port 22 |
| 493 | HostName 192.1.242.84 |
| 494 | User root |
| 495 | IdentityFile /Users/shuang/.ssh/geni_key |
| 496 | |
| 497 | Host right |
| 498 | Port 22 |
| 499 | HostName 192.1.242.82 |
| 500 | User root |
| 501 | IdentityFile /Users/shuang/.ssh/geni_key |
| 502 | |
| 503 | Host center |
| 504 | Port 22 |
| 505 | HostName 192.1.242.81 |
| 506 | User root |
| 507 | IdentityFile /Users/shuang/.ssh/geni_key |
| 508 | |
| 509 | ================================================================================ |
| 510 | LOGIN INFO for AM: https://bbn-hn.exogeni.net:11443/orca/xmlrpc |
| 511 | ================================================================================ |
| 512 | User root logins to bottom using: |
| 513 | xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.85 & |
| 514 | User root logins to left using: |
| 515 | xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.83 & |
| 516 | User root logins to top using: |
| 517 | xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.84 & |
| 518 | User root logins to right using: |
| 519 | xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.82 & |
| 520 | User root logins to center using: |
| 521 | xterm -e ssh -i /Users/shuang/.ssh/geni_key root@192.1.242.81 & |
| 522 | }}} |
| 523 | '''Step 4. Renew the sliver:''' |
| 524 | {{{ |
| 525 | omni.py renewsliver -a eg-gpo shufengTCP 20130516 |
| 526 | }}} |
| 527 | Output: |
| 528 | {{{ |
| 529 | INFO:omni:Loading config file /Users/shuang/.gcf/omni_config |
| 530 | INFO:omni:Using control framework portal |
| 531 | INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN |
| 532 | INFO:omni:Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC |
| 533 | INFO:omni:Renewing Sliver shufengTCP until 2013-05-16 00:00:00+00:00 (UTC) |
| 534 | INFO:omni:Substituting AM nickname eg-gpo with URL https://bbn-hn.exogeni.net:11443/orca/xmlrpc, URN unspecified_AM_URN |
| 535 | INFO:omni:Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP at unspecified_AM_URN (https://bbn-hn.exogeni.net:11443/orca/xmlrpc) until 2013-05-16T00:00:00+00:00 (UTC) |
| 536 | INFO:omni: ------------------------------------------------------------ |
| 537 | INFO:omni: Completed renewsliver: |
| 538 | |
| 539 | Options as run: |
| 540 | aggregate: ['eg-gpo'] |
| 541 | framework: portal |
| 542 | project: ShufengProject |
| 543 | |
| 544 | Args: renewsliver shufengTCP 20130516 |
| 545 | |
| 546 | Result Summary: Slice urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP expires on 2013-05-16 00:00:00 UTC |
| 547 | Renewed sliver urn:publicid:IDN+panther:ShufengProject+slice+shufengTCP at unspecified_AM_URN (https://bbn-hn.exogeni.net:11443/orca/xmlrpc) until 2013-05-16T00:00:00+00:00 (UTC) |
| 548 | |
| 549 | INFO:omni: ============================================================ |
| 550 | }}} |
| 551 | Note: When dealing with specific slivers, we need to add "-a eg-gpo" to specify which aggregate manager we want to use (i.e., from where we want to reserve the resources). In our case here, we are using ExoGENI Rack at GPO. |