Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is a walk through for new Nebula users who are unfamiliar with OpenStack to help them create their first instance.
An instance is a virtual machine (VM) that you control as if it were an independent server. The Nebula FAQ contains information about how to get an account on Nebula and is a source for more general information.
Visit Once you have an account, go to http://nebula.ncsa.illinois.edu in a browser to and log into the Horizon Interface of the NCSA Nebula cluster through its OpenStack Horizon Interface.
After logging in, you will see your project space on Nebula , with main menu options on the left , and an Overview overview of your project's resource usage and limits will be displayed:


These resources are shared among all of the users who are in the same project as you.
Select the Compute→Instances menu item
From the menu at the left, select Compute→Instances to bring up a list of the current set of instances (also referred to as VMs or 'servers') in your project.
The This list of instances provides information such as the Instance name, the base Image from which the instance was booted, internal and external IP numbers, the Size or flavor of the instance, current status, and more.
In addition to the information on instances, the interface for launching a new instance can be initialized from this page. shows all of the instances that currently exist in the project regardless of who created them. Basic information about the instances is shown with them such as their names, IP addresses and state. More information about an instance is available by clicking on it. Instances can be created, terminated and controlled from this page. Any user in the project can control any of the instances in the project so make sure you only make changes to your own instances.


Create a new instance

Working from the submenu above Instance list, select the Launch Instance item (Select the Launch Instance button which is above the list of instances, to the left of the red Terminate Instances button)  to get started with the process of creating . This will bring up a Launch Instance dialog box which will let you specify all of the information needed to create a new instance.

There are a number of tabs along the top, each brings up a separate panel. The first panel, "Details", has fields for you to enter the basic information for the instance.

For The first Panel of the Launch Instance interface has a number of fields to consider. For the first, Availability Zone, select "nova".

The Enter a unique Instance Name field is initially blank, so proceed by entering a name/label to designate the to identify the new instance. It is a good idea to include your user name in the Instance Name since all of the instances created by everyone in your group will be listed together and eventually you . You will want to be able to locate your instances within the full list of project instances. There are certainly other ways to label your instancesYou may use any name you like, however.

Next, the choice of "Flavor" is an important one relating to the planned use of the instance/server. These choose a Flavor for the instance from the list provided. Flavors are virtual hardware templates that define the resources that a new instance will be created with. They specify sizes for RAM, disk, number of cores, and so on. The public flavors which are available to all projects on Nebula are listed here. Each project can define its own flavors in addition to these and they will all be displayed in the drop down list together. Selecting a flavor from the drop down list will show you its attributes. You should choose a flavor that has sufficient disk space to install your OS and software stack. You should not choose a flavor with a larger disk in order to have space to store your data. A Volume should be added to your instance later to provide a place for your data.For

Instance Count, selecting ``1`` is appropriate for the base case of starting up a single server, but you can select a higher count if you are ready specifies how many copies of the instance will be started up at once. Specify 1 unless you are planning to start up a working cluster on Nebula.For

We will use Instance Boot Source the selection `` to specify what operating system will be running in the image. The other options allow more advanced features but are beyond the scope of this walk through. Select Boot From Image`` is a standard approach for initial OpenStack work, and will present an Image Name choice box that includes and a second drop box will be displayed allowing you to select an Image Name. Choose the operating system that you want to use from this image from the list provided. By default, Nebula provides a list of standard cloud base images for CentOS 6, CentOS 7, Ubuntu 14.04, Ubuntu 15.04, Cirros 0.3.4, as well options for Fedora, Debian, CoreOS, etc. As with flavors, each project can have its own images in addition to the publicly available ones.
For this Intro we'll proceed with CentOS 7 selected.

...

Your project may provide additional images as well.

Access & Security



The second Panel of the Launch Instance interface has fields pertinent allows you to secure access and firewall type configuration.
First, select a "Key Pair" to be used for ssh access to the instance `NOTE: need to create a page like <lsst-dev-ssh-keys>`.your instance. In order to get access to your instance with ssh you will need to specify a Key Pair for it to use.

<GIVE DIRECTIONS FOR HOW TO UPLOAD OR CREATE A KEY PAIR AND HOW TO USE THEM>

From this panel you will also need to specify what Security Groups will be associated with your instanceSecond, selecting the proper Security Groups is important to prevent problems/blockers down the line. These security groups set what traffic the nova router, which is internal to OpenStack, allows to flow to and from your instance. They do not configure the iptables internal to your instance. To enable ssh access into the instance after startup, select the ``remote SSH`` remote SSH security group. If the instance may run web servers/services, select ``remote http`` remote HTTP to ensure that the standard ports will be open. As with flavors, other security groups can be defined by your project and will be available to you.

...


The third Panel involves networking.
If your project only has access to one network it will already be selected for you and you don't need to do anything here. If other networks are available for your project they can be selected or dragged into the "Selected networks" box.
It is possible to create user-defined networks and attach instances to such networks, though this case would be for specific applications and is beyond our current scope.


The For the last two panels, Post-creation and Advanced Options, provide provides the ability to customize the instance after the initial startup in a scripted manner (Post-creation*) and and Advanced Options allows you to manually partition the disk of the instance (Advanced Options). We skip these for our current example, and proceed to . These are not covered in this walk through.

Now press the blue Launch button at the lower right to initiate the startup process.

Launch

Image Removed
After pressing Launch* we should observe the new instance to be "Spawning". create and start up your instance. This list of instances will once again be displayed with your new instance added to the list. Its status will be listed as "Spawning" For most instances the startup should be fairly quick (less than a minute), though the startup could take longer if the base image or snapshot that is being used is large (several GB for example).
Image Removed
After a short time we observe the newly created instance to be in the  Once the startup process is complete your instance will be listed with the state "Running".

Image Added
state. We can view the parameters that characterize the instance as per our specifications:, the instance name, the base image, the flavor/size, the keys configured for access, etc. Under IP address* we find the IP on the internal network that was used in starting the instance. While this locates the instance on the internal network, it is not usable for access from the outside.

Associating a floating IP

In the list, the instances IP address on the internal network that was used to start the instance is displayed. While this locates the instance on the internal network, it is not usable for access from the outside. To enable external access we proceed to to the instance you need to select Associate Floating IP by selecting this option on from the Actions menu on the very right of the Instance list instance (each instance has such a menu):


With the Manage Floating IP Associations window open, we can now select a public IP address to use (for NCSA Nebula, these will be in the range ``141.142.208.xxx``).
If the list of available of public IP addresses happens to be is empty, one you can generate an IP for use by clicking on the "+" sign to the right of the selection box. After pressing "Associate" (and a possibly refreshing the Instance List), we you should observe the Floating IP for the instance displayed along with its internal IP address, in this example 141.142.211.223.


We should now be able to work in a Unix shell and log in to the new instanceYou can now use your keyfile to ssh into the instance from a remote shell, issuing in this example the command:

...


Because the base image used in this exercise was a CentOS 7 image, we log in making use of a user ``centos`` "centos" that by default exists on the base image
. For other base images/OS's,  this user is different though sensibly named: on Ubuntu the user is ``ubuntu``"ubuntu", on cirros the user is ``cirros``"cirros",  on CoreOS the user is ``core``.
One should also observe the ability to become superuser on the system, i.e., after issuing:"core".

The default user in these images has sudo access to become the super-user without a password.
sudo su -
the ``centos`` user should become ``root`` in a passwordless manner. As ``root`` one As "root" you can now configure the instance as wanted.

...