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:
- Using the appropriate credentials, SSH into the OpenStack node where the Neutron client software packages are installed.
- Source the shell RC file to initialize the environment variables required for the CLI commands:
openstack@controller:~$ source author_openrc.sh
- 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
- The command to create a Network is
neutron net-create
, and in the simplest form, the only argument required is the Network name: - You can view all the Networks created using the
neutron net-list
command: - 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: - 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.