Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "Attach a public network to a running VM"

From EGIWiki
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Fedcloud_Menu}} {{TOC_right}}
= Attach a public network to a running VM (with jOCCI APIs) =
=== Objective ===
=== Objective ===
In this exercise we will show how to use jOCCI APIs to look for network resources and attach them to computing resource.
In this exercise we will show how to use jOCCI APIs to look for network resources and attach them to computing resource.


=== Introduction ===
=== Introduction ===
Let's suppose to have a running Jyputer Notebook at BIFI having the following VM ID:
Let's suppose to have a running Jyputer Notebook at BIFI with the following VM ID:
<b>http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed</b>
<b>http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed</b>


If you check the VM metadata with the jOCCI-describe-resource, you will find that this VM has a private network IP address (192.168.68.19).
If you check the VM metadata with the jOCCI-describe-resource, you will find out that this VM has a private network IP address (192.168.68.19).
The server is running behind a NAT server. To access the server we have to attach a public network first.  
This mean that the server is running behind a NAT server and we need to attach a public network before to access it.
To check the public network interface published by the cloud provider, please consider the jOCCI-list-resource project:
To check the public network interface published by the given cloud provider, please consider the jOCCI-list-resource project:


== Listing network resources ==
== Listing network resources ==
Line 50: Line 53:
PROXY_PATH = /tmp/x509up_u1000
PROXY_PATH = /tmp/x509up_u1000
Verbose = ON  
Verbose = ON  
[+] Listing *network* resources
[+] Listing *network* resources
http://server4-eupt.unizar.es:8787/network/admin
http://server4-eupt.unizar.es:8787/network/admin
http://server4-eupt.unizar.es:8787/network/public  
http://server4-eupt.unizar.es:8787/network/public  
</pre>
</pre>
== Attach a public network resources ==
=== Usage ===
* Access the maven project
]$ cd di4r-traning/jOCCI-attach-resources/
* Edit your settings in the src/main/java/it/infn/ct/Exercise6.java source code:
<pre>
List<String> RESOURCE = Arrays.asList("compute", "http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed");
String LINK_RESOURCE = ("/network/public");
</pre>
* Compile and package with maven:
<pre>
]$ mvn compile && mvn package
[INFO] Scanning for projects...
[INFO]                                                                       
[INFO] ------------------------------------------------------------------------
[INFO] Building jocci-attach-resource 1.0
[INFO] ------------------------------------------------------------------------
[..]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05.05s
[INFO] Finished at: Mon Oct 03 17:05:12 CEST 2016
[INFO] Final Memory: 10M/30M
[INFO] ------------------------------------------------------------------------
</pre>
* Listing network resources available (you may redirect the output to a file):
<pre>
[ACTION] = link
AUTH = x509
OCCI_ENDPOINT_HOST = http://server4-eupt.unizar.es:8787
RESOURCE = [compute, http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed]
TRUSTED_CERT_REPOSITORY_PATH = /etc/grid-security/certificates
PROXY_PATH = /tmp/x509up_u1000
LINK_RESOURCE = /network/public
Verbose = True
[+] Link a public network interface to the VA
http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed
Public Network = http://server4-eupt.unizar.es:8787/network/public
http://server4-eupt.unizar.es:8787/network/interface/d380e2a1-0f69-4cf7-8781-1b784a403eed_155.210.71.158
</pre>
Now the Jupyter Notebook has a public IP (155.210.71.158) and can be accessed via SSH.

Latest revision as of 09:13, 8 October 2016

Overview For users For resource providers Infrastructure status Site-specific configuration Architecture




Attach a public network to a running VM (with jOCCI APIs)

Objective

In this exercise we will show how to use jOCCI APIs to look for network resources and attach them to computing resource.

Introduction

Let's suppose to have a running Jyputer Notebook at BIFI with the following VM ID: http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed

If you check the VM metadata with the jOCCI-describe-resource, you will find out that this VM has a private network IP address (192.168.68.19). This mean that the server is running behind a NAT server and we need to attach a public network before to access it.

To check the public network interface published by the given cloud provider, please consider the jOCCI-list-resource project:

Listing network resources

Usage

  • Access the maven project
]$ cd di4r-traning/jOCCI-list-resources/
  • Edit your settings in the src/main/java/it/infn/ct/Exercise2.java source code to list network resources:
String OCCI_ENDPOINT_HOST = "http://server4-eupt.unizar.es:8787/";
// Possible resources are = os_tpl, resource_tpl, compute, storage and network
List<String> RESOURCE = Arrays.asList("network");
  • Compile and package with maven:
 ]$ mvn compile && mvn package
 [INFO] Scanning for projects...
 [INFO]                                                                         
 [INFO] ------------------------------------------------------------------------
 [INFO] Building jocci-list-resource 1.0
 [INFO] ------------------------------------------------------------------------
 [..]
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 06.10s
 [INFO] Finished at: Mon Oct 03 16:57:52 CEST 2016
 [INFO] Final Memory: 10M/30M
 [INFO] ------------------------------------------------------------------------
  • Listing network resources available (you may redirect the output to a file):
]$ java -jar target/jocci-list-resources-1.0-jar-with-dependencies.jar
[ACTION] = list
AUTH = x509
OCCI_ENDPOINT_HOST = http://server4-eupt.unizar.es:8787/
RESOURCE = [network]
TRUSTED_CERT_REPOSITORY_PATH = /etc/grid-security/certificates
PROXY_PATH = /tmp/x509up_u1000
Verbose = ON 

[+] Listing *network* resources
http://server4-eupt.unizar.es:8787/network/admin
http://server4-eupt.unizar.es:8787/network/public 


Attach a public network resources

Usage

  • Access the maven project
]$ cd di4r-traning/jOCCI-attach-resources/
  • Edit your settings in the src/main/java/it/infn/ct/Exercise6.java source code:
List<String> RESOURCE = Arrays.asList("compute", "http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed"); 
String LINK_RESOURCE = ("/network/public");
  • Compile and package with maven:
 ]$ mvn compile && mvn package
 [INFO] Scanning for projects...
 [INFO]                                                                         
 [INFO] ------------------------------------------------------------------------
 [INFO] Building jocci-attach-resource 1.0
 [INFO] ------------------------------------------------------------------------
 [..]
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 05.05s
 [INFO] Finished at: Mon Oct 03 17:05:12 CEST 2016
 [INFO] Final Memory: 10M/30M
 [INFO] ------------------------------------------------------------------------
  • Listing network resources available (you may redirect the output to a file):
[ACTION] = link
AUTH = x509
OCCI_ENDPOINT_HOST = http://server4-eupt.unizar.es:8787
RESOURCE = [compute, http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed]
TRUSTED_CERT_REPOSITORY_PATH = /etc/grid-security/certificates
PROXY_PATH = /tmp/x509up_u1000
LINK_RESOURCE = /network/public
Verbose = True 

[+] Link a public network interface to the VA
http://server4-eupt.unizar.es:8787/compute/d380e2a1-0f69-4cf7-8781-1b784a403eed
Public Network = http://server4-eupt.unizar.es:8787/network/public
http://server4-eupt.unizar.es:8787/network/interface/d380e2a1-0f69-4cf7-8781-1b784a403eed_155.210.71.158

Now the Jupyter Notebook has a public IP (155.210.71.158) and can be accessed via SSH.