Jump to: navigation, search

WholeHostAllocation-pcloud-example

Examples of using the nova client to create and manage pclouds

Nova Pcloud Commands

ubuntu@pcloud:/mnt/devstack$ nova help | grep pcloud

   pcloud-host-flavor-add-host
                       Add a host to a pcloud host flavor.
   pcloud-host-flavor-create
                       Create a new pcloud host flavor with the specified
   pcloud-host-flavor-delete
                       Delete the pcloud host flavor by its id.
   pcloud-host-flavor-remove-host
                       Remove a host from a pcloud host flavor.
   pcloud-host-flavor-show
                       Show details of the specified pcloud.
   pcloud-add-host     Allocates a host for the specified Pcloud.
   pcloud-add-project  Add the project to the specified pcloud as a tenant.
   pcloud-create       Create a new pcloud with the specified details.
   pcloud-delete       Delete the pcloud by its id.
   pcloud-disable-host
   pcloud-enable-host  Enables a host in the specified Pcloud.
   pcloud-host-flavor-list
                       Print a list of all pclouds.
   pcloud-list         Print a list of all pclouds.
   pcloud-remove-host  Removes a host from the specified Pcloud.
   pcloud-remove-project
                       Remove the project from the specified pcloud.
   pcloud-rename       Changes the name of the specificed Pcloud.
   pcloud-set-cpu-allocation-ratio
   pcloud-set-ram-allocation-ratio
   pcloud-show         Show details of the specified pcloud.
  


Create Pcloud Host Flavors (Administrator)

$ nova pcloud-host-flavor-create host.small "HP DL320, 2 x E-5240, 48GB" 10
+------------+----------------------------+-------+
| Flavor_Id  | Description                | Units |
+------------+----------------------------+-------+
| host.small | HP DL320, 2 x E-5240, 48GB | 10    |
+------------+----------------------------+-------+
$ nova pcloud-host-flavor-create host.medium "HP DL360, 2 x E-5260, 96GB" 20
+-------------+----------------------------+-------+
| Flavor_Id   | Description                | Units |
+-------------+----------------------------+-------+
| host.medium | HP DL360, 2 x E-5260, 96GB | 20    |
+-------------+----------------------------+-------+
$ nova pcloud-host-flavor-create host.large "HP DL370, 2 x E-5600, 128GB" 30
+------------+-----------------------------+-------+
| Flavor_Id  | Description                 | Units |
+------------+-----------------------------+-------+
| host.large | HP DL370, 2 x E-5600, 128GB | 30    |
+------------+-----------------------------+-------+


Add a host to a Host Flavor Pool (Administrator)

$ nova pcloud-host-flavor-add-host  host.small   testhost1
+------------+----------------------------+-------+-------------+
| Flavor_Id  | Description                | Units | Hosts       |
+------------+----------------------------+-------+-------------+
| host.small | HP DL320, 2 x E-5240, 48GB | 10    | [u'testhost1'] |
+------------+----------------------------+-------+-------------+


Create a Pcloud

$ nova pcloud-create my-pcloud
+--------------------------------------+-----------+-------+-------+
| Id                                   | Name      | Role  | Hosts |
+--------------------------------------+-----------+-------+-------+
| 0b26dc22-56f7-4444-a3e3-bfbcbb550b51 | my-pcloud | Owner | 0     | 
+--------------------------------------+-----------+-------+-------+


Find the available Host Flavors

$ nova pcloud-host-flavor-list
+-------------+-----------------------------+-------+
| Flavor_Id   | Description                 | Units |
+-------------+-----------------------------+-------+
| host.small  | HP DL320, 2 x E-5240, 48GB  | 10    |
| host.medium | HP DL360, 2 x E-5260, 96GB  | 20    |
| host.large  | HP DL370, 2 x E-5600, 128GB | 30    |
+-------------+-----------------------------+-------+


Allocate a Host of type "host.small" from az1 and call it "my-host"

$ nova pcloud-add-host 0b26dc22-56f7-4444-a3e3-bfbcbb550b51  my-host host.small --availability-zone az1
+----------+---------------------------------------+
| Property | Value                                 |
+----------+---------------------------------------+
| owner    | 536205b4724f47d2b412cc0a3add1e5a      |
| tenants  | [u'536205b4724f47d2b412cc0a3add1e5a'] |
| id       | 0b26dc22-56f7-4444-a3e3-bfbcbb550b51  |
| name     | my-pcloud                             |
+----------+---------------------------------------+
+-------------------+------------+
| Property          | Value      |
+-------------------+------------+
| status            | disabled   |
| host_id           | my-host    |
| flavor            | host.small |
| availability_zone | az1        |
| instances         | []         | 
+-------------------+------------+


Enable the host

$ nova pcloud-enable-host 0b26dc22-56f7-4444-a3e3-bfbcbb550b51  my-host 
+----------+---------------------------------------+
| Property | Value                                 |
+----------+---------------------------------------+
| owner    | 536205b4724f47d2b412cc0a3add1e5a      |
| tenants  | [u'536205b4724f47d2b412cc0a3add1e5a'] |
| id       | 0b26dc22-56f7-4444-a3e3-bfbcbb550b51  |
| name     | my-pcloud                             |
+----------+---------------------------------------+
+-------------------+------------+
| Property          | Value      |
+-------------------+------------+
| status            | enabled    |
| host_id           | my-host    |
| flavor            | host.small |
| availability_zone | az1        |
| instances         | []         |
+-------------------+------------+


Grant another tenant access to the Pcloud

$ nova pcloud-add-project 0b26dc22-56f7-4444-a3e3-bfbcbb550b51   290aa41d7ad4464998702fbb1157a1ab
Project 290aa41d7ad4464998702fbb1157a1ab has been successfully added to Pcloud 0b26dc22-56f7-4444-a3e3-bfbcbb550b51 as a Tenant
+----------+----------------------------------------------------------------------------+
| Property | Value                                                                      |
+----------+----------------------------------------------------------------------------+
| owner    | 536205b4724f47d2b412cc0a3add1e5a                                           |
| tenants  | [u'290aa41d7ad4464998702fbb1157a1ab', u'536205b4724f47d2b412cc0a3add1e5a'] |
| id       | 0b26dc22-56f7-4444-a3e3-bfbcbb550b51                                       |
| name     | my-pcloud                                                                  |
+----------+----------------------------------------------------------------------------+


See the list of available Pclouds (as a Tenant not Owner)

$ nova pcloud-list

+--------------------------------------+-----------+--------+-------+
| Id                                   | Name      | Role   | Hosts |
+--------------------------------------+-----------+--------+-------+
| 0b26dc22-56f7-4444-a3e3-bfbcbb550b51 | my-pcloud | Tenant | -     |
+--------------------------------------+-----------+--------+-------+


Create an instance in a Pcloud

$ nova boot --image cirros-0.3.1-x86_64-uec --flavor 1 --hint pcloud=0b26dc22-56f7-4444-a3e3-bfbcbb550b51 --availability-zone az1 my_instance

+-----------------------------+--------------------------------------+
| Property                    | Value                                |
+-----------------------------+--------------------------------------+
| status                      | BUILD                                |
| updated                     | 2013-10-26T00:26:40Z                 |
| hostId                      |                                      |
| key_name                    | None                                 |
| image                       | cirros-0.3.1-x86_64-uec              |
| OS-EXT-STS:task_state       | scheduling                           |
| OS-EXT-STS:vm_state         | building                             |
| flavor                      | m1.tiny                              |
| id                          | 668bd437-8a7f-4e23-871c-310794b52f34 |
| security_groups             | [{u'name': u'default'}]              |
| user_id                     | bfe8c66cfb394ebdac0cc5af8c859152     |
| name                        | my_instance                          |
| adminPass                   | ESAHoR926gjb                         |
| tenant_id                   | 290aa41d7ad4464998702fbb1157a1ab     |
| created                     | 2013-10-26T00:26:40Z                 |
| accessIPv4                  |                                      |
| accessIPv6                  |                                      |
| progress                    | 0                                    |
| OS-EXT-STS:power_state      | 0                                    |
| OS-EXT-AZ:availability_zone | nova                                 |
| metadata                    | {}                                   |
+-----------------------------+--------------------------------------+

ubuntu@pcloud:~$ nova list

+--------------------------------------+-------------+--------+------------+-------------+---------------------+
| ID                                   | Name        | Status | Task State | Power State | Networks            |
+--------------------------------------+-------------+--------+------------+-------------+---------------------+
| 668bd437-8a7f-4e23-871c-310794b52f34 | my_instance | ACTIVE | None       | Running     | public=172.24.4.227 | 
+--------------------------------------+-------------+--------+------------+-------------+---------------------+


See the details of the Pcloud, including hosts and instances

$ nova pcloud-show 0b26dc22-56f7-4444-a3e3-bfbcbb550b51

+----------+----------------------------------------------------------------------------+
| Property | Value                                                                      | 
+----------+----------------------------------------------------------------------------+
| owner    | 536205b4724f47d2b412cc0a3add1e5a                                           |
| tenants  | [u'290aa41d7ad4464998702fbb1157a1ab', u'536205b4724f47d2b412cc0a3add1e5a'] |
| id       | 0b26dc22-56f7-4444-a3e3-bfbcbb550b51                                       |
| name     | my-pcloud                                                                  |
+----------+----------------------------------------------------------------------------+
+-------------------+----------------------------------------------------------------------------------------------------------+
| Property          | Value                                                                                                    |
+-------------------+----------------------------------------------------------------------------------------------------------+
| status            | enabled                                                                                                  |
| host_id           | my-host                                                                                                  |
| flavor            | host.small                                                                                               |
| availability_zone | az1                                                                                                      |
| instances         | [{u'project_id': u'290aa41d7ad4464998702fbb1157a1ab', u'uuid': u'668bd437-8a7f-4e23-871c-310794b52f34'}] |
+-------------------+----------------------------------------------------------------------------------------------------------+