OpenStack: Preparing and launching an instance

From Define Wiki
Revision as of 14:07, 29 April 2015 by Jon (talk | contribs) (Created page with "* Source the admin details: <syntaxhighlight> [root@server2-a ~]# source /root/keystonerc_admin [root@server2-a ~(keystone_admin)]# </syntaxhighlight> * Create a user of '''user1''' with a passw...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • Source the admin details:
[root@server2-a ~]# source /root/keystonerc_admin 
[root@server2-a ~(keystone_admin)]#
  • Create a user of user1 with a password of redhat:
[root@server2-a ~(keystone_admin)]# keystone user-create --name user1 --pass redhat
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | 8d2eb9dc413444c58b1a71c80df63e86 |
|   name   |              user1               |
| username |              user1               |
+----------+----------------------------------+
  • Create a tenant named myproject:
[root@server2-a ~(keystone_admin)]# keystone tenant-create --name myproject
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |                                  |
|   enabled   |               True               |
|      id     | 203b2ddb42ed4e8f9fd6a730a78641dc |
|     name    |            myproject             |
+-------------+----------------------------------+
  • Create a role named _member_ (already exits):
[root@server2-a ~(keystone_admin)]# keystone role-create --name _member_
Conflict occurred attempting to store role. (IntegrityError) (1062, "Duplicate entry '_member_' for key 'name'") 'INSERT INTO role (id, name, extra) VALUES (%s, %s, %s)' ('04948b865cdc4a3490edc0ed646ce306', '_member_', '{}') (HTTP 409)
  • Add user1 to the _member_ role in myproject:
[root@server2-a ~(keystone_admin)]# keystone user-role-add --user user1 --role _member_ --tenant myproject
  • Create a /root/keystonerc_user1 file:
[root@server2-a ~(keystone_admin)]# cat /root/keystonerc_user1 
unset SERVICE_TOKEN SERVICE_ENDPOINT
export OS_USERNAME=user1
export OS_TENANT_NAME=myproject
export OS_PASSWORD=redhat
export OS_AUTH_URL=http://server2-a.example.com:5000/v2.0/
export PS1='[\u@\h \W(keystone_user1)]\$ '
  • Source the user1 keystonerc file:
[root@server2-a ~(keystone_admin)]# source /root/keystonerc_user1 
[root@server2-a ~(keystone_user1)]#
  • Upload the web image into the image service:
[root@server2-a ~(keystone_user1)]# glance image-create --name web --is-public True --disk-format qcow2 --container-format bare --copy-from http://classroom.example.com/materials/web.img
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | None                                 |
| container_format | bare                                 |
| created_at       | 2015-04-29T13:53:44                  |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 6d1f269d-5df7-46d6-9ed7-f200bfa8ce6f |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | web                                  |
| owner            | 203b2ddb42ed4e8f9fd6a730a78641dc     |
| protected        | False                                |
| size             | 262041600                            |
| status           | queued                               |
| updated_at       | 2015-04-29T13:53:44                  |
| virtual_size     | None                                 |
+------------------+--------------------------------------+
  • Create a network named net1:
[root@server2-a ~(keystone_user1)]# neutron net-create net1
Created a new network:
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| admin_state_up | True                                 |
| id             | 1b6304d1-0e8b-4838-9157-8f54f5c53452 |
| name           | net1                                 |
| shared         | False                                |
| status         | ACTIVE                               |
| subnets        |                                      |
| tenant_id      | 203b2ddb42ed4e8f9fd6a730a78641dc     |
+----------------+--------------------------------------+
  • Create a subnet in net1 called subnet1:
[root@server2-a ~(keystone_user1)]# neutron subnet-create --name subnet1 net1 172.25.102.0/24 --gateway 172.25.102.25
Created a new subnet:
+------------------+-----------------------------------------------------+
| Field            | Value                                               |
+------------------+-----------------------------------------------------+
| allocation_pools | {"start": "172.25.102.1", "end": "172.25.102.24"}   |
|                  | {"start": "172.25.102.26", "end": "172.25.102.254"} |
| cidr             | 172.25.102.0/24                                     |
| dns_nameservers  |                                                     |
| enable_dhcp      | True                                                |
| gateway_ip       | 172.25.102.25                                       |
| host_routes      |                                                     |
| id               | 37484f49-d8a9-4128-9016-d24ce934fcc9                |
| ip_version       | 4                                                   |
| name             | subnet1                                             |
| network_id       | 1b6304d1-0e8b-4838-9157-8f54f5c53452                |
| tenant_id        | 203b2ddb42ed4e8f9fd6a730a78641dc                    |
+------------------+-----------------------------------------------------+
  • Create a router named router1
[root@server2-a ~(keystone_user1)]# neutron router-create router1
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| external_gateway_info |                                      |
| id                    | 449e8378-59cb-4511-8c34-fa22b36354bd |
| name                  | router1                              |
| status                | ACTIVE                               |
| tenant_id             | 203b2ddb42ed4e8f9fd6a730a78641dc     |
+-----------------------+--------------------------------------+
  • Add an interface for subnet1 to router1
[root@server2-a ~(keystone_admin)]# neutron router-interface-add router1 subnet1
Added interface aced20ad-09a3-44a6-8d60-4d85f89b90e2 to router router1.
  • Using admin credentials, create a network called net2 with an external router in the services tenant:
[root@server2-a ~(keystone_admin)]# neutron net-create --tenant-id services net2 --router:external=True
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | aa9e1e23-221c-46dc-8cbb-de4a8b564ff1 |
| name                      | net2                                 |
| provider:network_type     | vlan                                 |
| provider:physical_network | physnet1                             |
| provider:segmentation_id  | 1001                                 |
| router:external           | True                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | services                             |
+---------------------------+--------------------------------------+
  • Create a subnet called subnet2 within net2. Include this subnet in the services tenant. Disable DHCP.
[root@server2-a ~(keystone_admin)]# neutron subnet-create --tenant-id services --allocation-pool start=172.25.2.25,end=172.25.2.99 --gateway 172.25.2.254 --disable-dhcp --name subnet2 net2 172.25.2.0/24
Created a new subnet:
+------------------+------------------------------------------------+
| Field            | Value                                          |
+------------------+------------------------------------------------+
| allocation_pools | {"start": "172.25.2.25", "end": "172.25.2.99"} |
| cidr             | 172.25.2.0/24                                  |
| dns_nameservers  |                                                |
| enable_dhcp      | False                                          |
| gateway_ip       | 172.25.2.254                                   |
| host_routes      |                                                |
| id               | 3f38824b-1bd4-4d9c-89cb-66a5376f9832           |
| ip_version       | 4                                              |
| name             | subnet2                                        |
| network_id       | aa9e1e23-221c-46dc-8cbb-de4a8b564ff1           |
| tenant_id        | services                                       |
+------------------+------------------------------------------------+
  • Set the gateway for router1 to the net2 network. This will add an interface for the net2 network: