Update auth details for a Keystone v3 default world
Also simplify names used and reference the latest LTS version of Ubuntu for image creation example. Change-Id: I8fe3fb9ac811a47558054fe368dd9b4435b82eb0
This commit is contained in:
parent
75ef37f212
commit
3567da7ce8
@ -20,10 +20,11 @@ The file contains among other things the following:
|
|||||||
|
|
||||||
.. code:: yaml
|
.. code:: yaml
|
||||||
|
|
||||||
export OS_AUTH_URL=http://192.168.100.95:5000/v2.0/
|
export OS_AUTH_URL=http://192.168.100.95:5000/v3
|
||||||
|
export OS_USER_DOMAIN_NAME=admin_domain
|
||||||
export OS_USERNAME=admin
|
export OS_USERNAME=admin
|
||||||
export OS_PASSWORD=openstack
|
export OS_PROJECT_DOMAIN_NAME=admin_domain
|
||||||
export OS_TENANT_NAME=admin
|
export OS_PROJECT_NAME=admin
|
||||||
|
|
||||||
The ``OS_AUTH_URL`` is the address of the `OpenStack
|
The ``OS_AUTH_URL`` is the address of the `OpenStack
|
||||||
Keystone <./install-openstack.html#keystone>`__ node for authentication. This
|
Keystone <./install-openstack.html#keystone>`__ node for authentication. This
|
||||||
@ -39,6 +40,12 @@ The environment variables can be enabled/sourced with the following command:
|
|||||||
|
|
||||||
source openrc
|
source openrc
|
||||||
|
|
||||||
|
For our project, `download
|
||||||
|
<https://api.jujucharms.com/charmstore/v5/openstack-base/archive>`__ the
|
||||||
|
`OpenStack <https://jujucharms.com/openstack-base/>`__ and source the
|
||||||
|
environment variables using the above command.
|
||||||
|
|
||||||
|
|
||||||
You can check the variables have been set correctly by seeing if your OpenStack
|
You can check the variables have been set correctly by seeing if your OpenStack
|
||||||
endpoints are visible with the ``openstack endpoint list`` command. The output
|
endpoints are visible with the ``openstack endpoint list`` command. The output
|
||||||
will look something like this:
|
will look something like this:
|
||||||
@ -148,11 +155,11 @@ Canonical's Ubuntu cloud images can be found here:
|
|||||||
|
|
||||||
`https://cloud-images.ubuntu.com <https://cloud-images.ubuntu.com/>`__
|
`https://cloud-images.ubuntu.com <https://cloud-images.ubuntu.com/>`__
|
||||||
|
|
||||||
You could use ``wget`` to download the image of Ubuntu 16.04 LTS (Xenial):
|
You could use ``wget`` to download the image of Ubuntu 18.04 LTS (Bionic):
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
wget https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
|
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
|
||||||
|
|
||||||
The following command will add this image to Glance:
|
The following command will add this image to Glance:
|
||||||
|
|
||||||
@ -161,8 +168,8 @@ The following command will add this image to Glance:
|
|||||||
openstack image create --public --min-disk 3 --container-format bare \
|
openstack image create --public --min-disk 3 --container-format bare \
|
||||||
--disk-format qcow2 --property architecture=x86_64 \
|
--disk-format qcow2 --property architecture=x86_64 \
|
||||||
--property hw_disk_bus=virtio --property hw_vif_model=virtio \
|
--property hw_disk_bus=virtio --property hw_vif_model=virtio \
|
||||||
--file xenial-server-cloudimg-amd64-disk1.img \
|
--file bionic-server-cloudimg-amd64.img \
|
||||||
"xenial x86_64"
|
"bionic x86_64"
|
||||||
|
|
||||||
To make sure the image was successfully imported, type ``openstack image list``.
|
To make sure the image was successfully imported, type ``openstack image list``.
|
||||||
This will output the following:
|
This will output the following:
|
||||||
@ -172,7 +179,7 @@ This will output the following:
|
|||||||
+--------------------------------------+---------------+--------+
|
+--------------------------------------+---------------+--------+
|
||||||
| ID | Name | Status |
|
| ID | Name | Status |
|
||||||
+--------------------------------------+---------------+--------+
|
+--------------------------------------+---------------+--------+
|
||||||
| d4244007-5864-4a2d-9cfd-f008ade72df4 | xenial x86_64 | active |
|
| d4244007-5864-4a2d-9cfd-f008ade72df4 | bionic x86_64 | active |
|
||||||
+--------------------------------------+---------------+--------+
|
+--------------------------------------+---------------+--------+
|
||||||
|
|
||||||
The 'Compute>Images' page of OpenStack's Horizon web UI lists many more details
|
The 'Compute>Images' page of OpenStack's Horizon web UI lists many more details
|
||||||
@ -184,59 +191,70 @@ minimum root storage size of any OpenStack flavours used to deploy them.
|
|||||||
|
|
||||||
Horizon image details
|
Horizon image details
|
||||||
|
|
||||||
Working with projects
|
Working with domains and projects
|
||||||
---------------------
|
---------------------------------
|
||||||
|
|
||||||
Projects, users and roles are a vital part of OpenStack operations. We'll create
|
Domains, projects, users and roles are a vital part of OpenStack operations.
|
||||||
a single project and single user for our new deployment, starting with the
|
We'll create a single domain with a single project and single user for our new
|
||||||
project:
|
deployment, starting with the domain:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack project create --enable --description 'First Project' P01
|
openstack domain create MyDomain
|
||||||
|
|
||||||
|
To add a project to the domain:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
openstack project create --domain MyDomain \
|
||||||
|
--description 'First Project' MyProject
|
||||||
|
|
||||||
To add a user and assign that user to the project:
|
To add a user and assign that user to the project:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack user create --project P01 --password openstack --enable p01user
|
openstack user create --domain MyDomain \
|
||||||
|
--project-domain MyDomain --project MyProject \
|
||||||
|
--password-prompt MyUser
|
||||||
|
|
||||||
The output to the previous command will be similar to the following:
|
The output to the previous command will be similar to the following:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
+------------+----------------------------------+
|
+---------------------+----------------------------------+
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
+------------+----------------------------------+
|
+---------------------+----------------------------------+
|
||||||
| email | None |
|
| default_project_id | 914e59223944433dbf12417ac4cd4031 |
|
||||||
| enabled | True |
|
| domain_id | 7993528e51344814be2fd53f1f8f82f9 |
|
||||||
| id | a1c55e45ec374dacb151a8aa3ecb3571 |
|
| enabled | True |
|
||||||
| name | p01user |
|
| id | e980be28b20b4a2190c41ae478942ab1 |
|
||||||
| project_id | 1992e606b51b404c9151f8cb464aa420 |
|
| name | MyUser |
|
||||||
| username | p01user |
|
| options | {} |
|
||||||
+------------+----------------------------------+
|
| password_expires_at | None |
|
||||||
|
+---------------------+----------------------------------+
|
||||||
|
|
||||||
In the same way we used ``nova.rc`` to hold the OpenStack environment variables
|
In the same way we used ``openrc`` to hold the OpenStack environment variables
|
||||||
for the ``admin`` account, we can create a similar file to hold the details on
|
for the ``admin`` account, we can create a similar file to hold the details on
|
||||||
the new project and user:
|
the new project and user:
|
||||||
|
|
||||||
Create the following ``project.rc`` file:
|
Create the following ``myprojectrc`` file:
|
||||||
|
|
||||||
.. code:: yaml
|
.. code:: yaml
|
||||||
|
|
||||||
export OS_AUTH_URL=http://192.168.100.95:5000/v2.0/
|
export OS_AUTH_URL=http://192.168.100.95:5000/v3
|
||||||
export OS_USERNAME=p01user
|
export OS_USER_DOMAIN_NAME=MyDomain
|
||||||
export OS_PASSWORD=openstack
|
export OS_USERNAME=MyUser
|
||||||
export OS_TENANT_NAME=P01
|
export OS_PROJECT_DOMAIN_NAME=MyDomain
|
||||||
|
export OS_PROJECT_NAME=MyProject
|
||||||
|
|
||||||
Source this file's contents to effectively switch users:
|
Source this file's contents to effectively switch users:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
source project.rc
|
source myprojectrc
|
||||||
|
|
||||||
Every subsequent action will now be performed by the ``p01user`` user within the
|
Every subsequent action will now be performed by ``MyUser`` user within the
|
||||||
new ``P01`` project.
|
new ``MyProject`` project.
|
||||||
|
|
||||||
Create a virtual network
|
Create a virtual network
|
||||||
------------------------
|
------------------------
|
||||||
@ -249,16 +267,16 @@ To create the new network, enter the following:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack network create P01_Network
|
openstack network create MyNetwork
|
||||||
|
|
||||||
Create a private subnet with the following parameters:
|
Create a private subnet with the following parameters:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack subnet create P01_Subnet --allocation-pool \
|
openstack subnet create MySubnet --allocation-pool \
|
||||||
start=10.0.0.10,end=10.0.0.99 --subnet-range 10.0.0.0/24 \
|
start=10.0.0.10,end=10.0.0.99 --subnet-range 10.0.0.0/24 \
|
||||||
--gateway 10.0.0.1 --dns-nameserver 192.168.100.3 \
|
--gateway 10.0.0.1 --dns-nameserver 192.168.100.3 \
|
||||||
--dns-nameserver 8.8.8.8 --network P01_Network
|
--dns-nameserver 8.8.8.8 --network MyNetwork
|
||||||
|
|
||||||
You'll see verbose output similar to the following:
|
You'll see verbose output similar to the following:
|
||||||
|
|
||||||
@ -279,7 +297,7 @@ You'll see verbose output similar to the following:
|
|||||||
| ip_version | 4 |
|
| ip_version | 4 |
|
||||||
| ipv6_address_mode | None |
|
| ipv6_address_mode | None |
|
||||||
| ipv6_ra_mode | None |
|
| ipv6_ra_mode | None |
|
||||||
| name | P01_Subnet |
|
| name | MySubnet |
|
||||||
| network_id | 8b0baa43-cb25-4a70-bf41-d4136cbfe16e |
|
| network_id | 8b0baa43-cb25-4a70-bf41-d4136cbfe16e |
|
||||||
| project_id | 1992e606b51b404c9151f8cb464aa420 |
|
| project_id | 1992e606b51b404c9151f8cb464aa420 |
|
||||||
| revision_number | None |
|
| revision_number | None |
|
||||||
@ -295,11 +313,11 @@ Pub\_Net:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack router create P01_Public_Router
|
openstack router create MyRouter
|
||||||
openstack router set P01_Public_Router --external-gateway Pub_Net
|
openstack router set MyRouter --external-gateway Pub_Net
|
||||||
openstack router add subnet P01_Public_Router P01_Subnet
|
openstack router add subnet MyRouter MySubnet
|
||||||
|
|
||||||
Use ``openstack router show P01_Public_Router`` to verify all parameters have
|
Use ``openstack router show MyRouter`` to verify all parameters have
|
||||||
been set correctly.
|
been set correctly.
|
||||||
|
|
||||||
Finally, we can add a floating IP address to our project's new network:
|
Finally, we can add a floating IP address to our project's new network:
|
||||||
@ -341,20 +359,20 @@ following command:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack keypair create P01-keypair > ~/.ssh/p01-keypair.pem
|
openstack keypair create NewKeypair > ~/.ssh/newkeypair.pem
|
||||||
|
|
||||||
With SSH, it's imperative that the file has the correct permissions:
|
With SSH, it's imperative that the file has the correct permissions:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
chmod 600 ~/.ssh/p01-keypair.pem
|
chmod 600 ~/.ssh/newkeypair.pem
|
||||||
|
|
||||||
Alternatively, you can import your pre-existing keypair with the following
|
Alternatively, you can import your pre-existing keypair with the following
|
||||||
command:
|
command:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack keypair create --public-key ~/.ssh/id_rsa.pub my-keypair
|
openstack keypair create --public-key ~/.ssh/id_rsa.pub MyKeypair
|
||||||
|
|
||||||
You can view which keypairs have been added to OpenStack using the
|
You can view which keypairs have been added to OpenStack using the
|
||||||
``openstack keypair list`` command, which generates output similar to the
|
``openstack keypair list`` command, which generates output similar to the
|
||||||
@ -365,8 +383,8 @@ following:
|
|||||||
+-------------------+-------------------------------------------------+
|
+-------------------+-------------------------------------------------+
|
||||||
| Name | Fingerprint |
|
| Name | Fingerprint |
|
||||||
+-------------------+-------------------------------------------------+
|
+-------------------+-------------------------------------------------+
|
||||||
| my-keypair | 1d:35:52:08:55:d5:54:04:a3:e0:23:f0:20:c4:b0:eb |
|
| MyKeypair | 1d:35:52:08:55:d5:54:04:a3:e0:23:f0:20:c4:b0:eb |
|
||||||
| P01-keypair | 1f:1a:74:a5:cb:87:e1:f3:2e:08:9e:40:dd:dd:7c:c4 |
|
| NewKeypair | 1f:1a:74:a5:cb:87:e1:f3:2e:08:9e:40:dd:dd:7c:c4 |
|
||||||
+-------------------+-------------------------------------------------+
|
+-------------------+-------------------------------------------------+
|
||||||
|
|
||||||
To permit SSH traffic access to our deployments, we need to define a security
|
To permit SSH traffic access to our deployments, we need to define a security
|
||||||
@ -374,20 +392,20 @@ group and a corresponding network rule:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack security group create --description 'Allow SSH' P01_Allow_SSH
|
openstack security group create --description 'Allow SSH' Allow_SSH
|
||||||
|
|
||||||
The following rule will open TCP port 22 and apply it to the above security
|
The following rule will open TCP port 22 and apply it to the above security
|
||||||
group:
|
group:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack security group rule create --proto tcp --dst-port 22 P01_Allow_SSH
|
openstack security group rule create --proto tcp --dst-port 22 Allow_SSH
|
||||||
|
|
||||||
Create a cloud instance
|
Create a cloud instance
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
Before launching our first cloud instance, we'll need the network ID for the
|
Before launching our first cloud instance, we'll need the network ID for the
|
||||||
``P01_Network``. This can be retrieved from the first column of output from the
|
``MyNetwork``. This can be retrieved from the first column of output from the
|
||||||
``openstack network list`` command:
|
``openstack network list`` command:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
@ -396,7 +414,7 @@ Before launching our first cloud instance, we'll need the network ID for the
|
|||||||
| ID | Name | Subnets |
|
| ID | Name | Subnets |
|
||||||
+--------------------------------------+-------------+------------------------+
|
+--------------------------------------+-------------+------------------------+
|
||||||
| fc171d22-d1b0-467d-b6fa-109dfb77787b | Pub_Net |563ecd06-bbc3-4c98-b93e |
|
| fc171d22-d1b0-467d-b6fa-109dfb77787b | Pub_Net |563ecd06-bbc3-4c98-b93e |
|
||||||
| 8b0baa43-cb25-4a70-bf41-d4136cbfe16e | P01_Network |a91a604a-70d6-4688-915e |
|
| 8b0baa43-cb25-4a70-bf41-d4136cbfe16e | MyNetwork |a91a604a-70d6-4688-915e |
|
||||||
+--------------------------------------+-------------+------------------------+
|
+--------------------------------------+-------------+------------------------+
|
||||||
|
|
||||||
Use the network ID to replace the example in the following ``server create``
|
Use the network ID to replace the example in the following ``server create``
|
||||||
@ -404,10 +422,10 @@ command to deploy a new instance:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack server create Server_01 --availability-zone nova \
|
openstack server create Ubuntu --availability-zone nova \
|
||||||
--image 'xenial x86_64' --flavor m1.small \
|
--image 'bionic x86_64' --flavor m1.small \
|
||||||
--key-name P01-keypair --security-group \
|
--key-name NewKeypair --security-group \
|
||||||
P01_Allow_SSH --nic net-id=8b0baa43-cb25-4a70-bf41-d4136cbfe16e
|
Allow_SSH --nic net-id=8b0baa43-cb25-4a70-bf41-d4136cbfe16e
|
||||||
|
|
||||||
You can monitor progress with the ``openstack server list`` command by waiting
|
You can monitor progress with the ``openstack server list`` command by waiting
|
||||||
for the server to show a status of ``ACTIVE``:
|
for the server to show a status of ``ACTIVE``:
|
||||||
@ -417,7 +435,7 @@ for the server to show a status of ``ACTIVE``:
|
|||||||
+--------------------+-----------+--------+--------- ------------+---------------+
|
+--------------------+-----------+--------+--------- ------------+---------------+
|
||||||
| ID | Name | Status | Networks | Image Name |
|
| ID | Name | Status | Networks | Image Name |
|
||||||
+--------------------+-----------+--------+----------------------+---------------+
|
+--------------------+-----------+--------+----------------------+---------------+
|
||||||
| 4a61f2ad-5d89-43a6 | Server_01 | ACTIVE |P01_Network=10.0.0.11 | xenial x86_64 |
|
| 4a61f2ad-5d89-43a6 | Ubuntu | ACTIVE | MyNetwork=10.0.0.11 | bionic x86_64 |
|
||||||
+--------------------+-----------+--------+----------------------+---------------+
|
+--------------------+-----------+--------+----------------------+---------------+
|
||||||
|
|
||||||
All that's left to do is assign a floating IP to the new server and connect with
|
All that's left to do is assign a floating IP to the new server and connect with
|
||||||
@ -439,13 +457,13 @@ the following command to assign the IP address to our new instance:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
openstack server add floating ip Server_01 192.168.100.152
|
openstack server add floating ip Ubuntu 192.168.100.152
|
||||||
|
|
||||||
You will now be able to connect to your new cloud server using SSH:
|
You will now be able to connect to your new cloud server using SSH:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
ssh -i ~/.ssh/p01-keypair.pem 192.168.100.152
|
ssh -i ~/.ssh/newkeypair.pem 192.168.100.152
|
||||||
|
|
||||||
Next Steps
|
Next Steps
|
||||||
----------
|
----------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user