Book Image

OpenStack Networking Cookbook

Book Image

OpenStack Networking Cookbook

Overview of this book

Table of Contents (19 chapters)
OpenStack Networking Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Creating a Network using OpenStack CLI


We have seen how to use the Horizon dashboard to create a Network. Let's now do the same with OpenStack CLI. Several CLI commands offer additional capabilities when compared to the dashboard. So it is good to develop a sound knowledge of the CLI commands.

Getting ready

You will need the following information to create a Network using CLI:

  • The login credentials for SSH to a node where the Neutron client packages are installed (usually the controller node)

  • A shell RC file that initializes the environment variables for CLI

How to do it…

The next set of steps will show you how to use the Neutron CLI commands to create a Network:

  1. Using the appropriate credentials, SSH into the OpenStack node where the Neutron client software packages are installed.

  2. Source the shell RC file to initialize the environment variables required for the CLI commands:

    openstack@controller:~$ source author_openrc.sh
    
  3. The contents of a typical shell RC file are as follows:

    openstack@controller:~$ cat author_openrc.sh
    export OS_TENANT_NAME=cookbook
    export OS_USERNAME=author
    export OS_PASSWORD=password
    export OS_AUTH_URL=http://controller:35357/v2.0
    openstack@controller:~$ openstack
    
  4. The command to create a Network is neutron net-create, and in the simplest form, the only argument required is the Network name:

  5. You can view all the Networks created using the neutron net-list command:

  6. One of the interesting command-line options for the neutron net-create command is the --tenant-id option. This option allows users with an administrative role to create a Network for another tenant. The following screenshot shows you how an administrative user (for an administrative project or tenant) creates a Network for a cookbook tenant:

  7. The tenant ID argument works only when the user specifies the unique tenant ID. However, sometimes it is convenient to use the tenant name. The following command automates the conversion from the tenant to the tenant ID. The keyword, cookbook, is the tenant name used for this command:

How it works…

When the user executes the neutron net-create command, the user name and tenant name attributes are taken from the shell environment variables that were initialized at the beginning. Neutron creates the Network with this user and tenant (or project). However, once the --tenant-id option is used, the Network is created on behalf of the tenant whose ID is specified.

There's more…

Users can specify several other arguments while creating Networks. These options are provider:network_type, --provider:segmentation_id, and router:external. While we will be taking a closer look at these parameters in the subsequent chapters, it is important to note that some of these options are available only if users have the administrative privilege.

To view the details of a specific Network, you can use the neutron net-show command.