[openstack-dev] [nova] How to use resource_providers for shared disk resources (NFS)

Jay Pipes jaypipes at gmail.com
Mon Jan 30 18:01:10 UTC 2017


On 01/30/2017 05:55 AM, Shewale, Bhagyashri wrote:
> Hi nova devs,
>
> How can I use placement api's if my instance path is mounted on shared
> storage server (e.g. NFS)?
>
> I am trying to set multinode setup with NFS shared storage for all nodes
> to share disk resources along with placement services. As of now it is
> creating resource providers for each of the compute node and adds the
> DISK_GB for each resource provider.

Correct. Well, I mean that this behaviour is expected (and is the 
identical behaviour that exists in Nova today with the non-placement API).

We have not yet merged code that handles the correct accounting of 
shared storage, unfortunately. :(

When we merge all the code that handles shared storage [1], you should 
be able to do something like the following:

STORAGE_UUID=`openstack aggregate-create "my NFS storage pool"`
openstack aggregate-host-associated $STORAGE_UUID $UUID_COMPUTE1
openstack aggregate-host-associated $STORAGE_UUID $UUID_COMPUTE2

Add some inventory to the aggregate, like so:

PUT /resource_providers/$STORAGE_UUID/inventories
{
   "DISK_GB": {
     "total": 1000,
     "reserved": 0,
     "min_unit": 10,
     "max_unit": 1000,
     "allocation_ratio": 1.0
   }
}

and then the compute nodes will just "auto-heal" themselves, removing 
"local" DISK_GB inventories and using the DISK_GB inventory of the 
storage pool.

But, again, this code isn't yet merged.

We're making slow but steady progress, but I can't tell you when the 
code will fully land, unfortunately.

Best,
-jay

[1] Code that builds upon this patch: 
https://review.openstack.org/#/c/407309/

> For example below are my environment details:
>
> NODE A: compute
> NODE B: controller + compute
>
> Following entries are made in resource_providers table:
>
> +---------------------+---------------------+----+--------------------------------------+------------------------+------------+----------+
>
> | created_at          | updated_at          | id |
> uuid                                 | name                   |
> generation | can_host |
>
> +---------------------+---------------------+----+--------------------------------------+------------------------+------------+----------+
>
> | 2017-01-30 06:49:17 | 2017-01-30 09:12:06 |  1 |
> 6cbbaf2b-5b8c-4f38-8b34-ee23791056a6 | openstack-VirtualBox   |
> 3 |        0 |
>
> | 2017-01-30 09:02:29 | 2017-01-30 09:11:03 |  3 |
> bad71c26-8f36-43ea-abf4-bdbeffda9e54 | openstack-VirtualBox-1 |
> 2 |        0 |
>
> +---------------------+---------------------+----+--------------------------------------+------------------------+------------+----------+
>
>
>
> Following are the entries of inventories tables, of which 89 indicates
> the DISK_GB (size of shared storage):
>
>
>
> +---------------------+---------------------+----+----------------------+-------------------+-------+----------+----------+----------+-----------+------------------+
>
> | created_at          | updated_at          | id | resource_provider_id
> | resource_class_id | total | reserved | min_unit | max_unit | step_size
> | allocation_ratio |
>
> +---------------------+---------------------+----+----------------------+-------------------+-------+----------+----------+----------+-----------+------------------+
>
> | 2017-01-30 06:49:19 | 2017-01-30 09:10:37 |  1 |                    1
> |                 0 |     1 |        0 |        1 |        1 |         1
> |               16 |
>
> | 2017-01-30 06:49:19 | 2017-01-30 09:10:37 |  2 |                    1
> |                 1 | 11210 |      512 |        1 |    11210 |         1
> |              1.5 |
>
> | 2017-01-30 06:49:19 | 2017-01-30 09:10:37 |  3 |                    1
> |                 2 |    89 |        0 |        1 |       89 |         1
> |                1 |
>
> | 2017-01-30 09:02:31 | 2017-01-30 09:11:03 |  7 |                    3
> |                 0 |     1 |        0 |        1 |        1 |         1
> |               16 |
>
> | 2017-01-30 09:02:31 | 2017-01-30 09:11:03 |  8 |                    3
> |                 1 | 10253 |      512 |        1 |    10253 |         1
> |              1.5 |
>
> | 2017-01-30 09:02:31 | 2017-01-30 09:11:03 |  9 |                    3
> |                 2 |    89 |        0 |        1 |       89 |         1
> |                1 |
>
> +---------------------+---------------------+----+----------------------+-------------------+-------+----------+----------+----------+-----------+------------------+
>
>
>
> However still I am able to create the instances over the size of actual
> shared storage.
>
>
>
> Please let me know how to configure resource_providers in case of shared
> storage servers are used for disk resources.
>
>
>
> Thank you,
>
>
>
> Bhagyashri
>
>
> ______________________________________________________________________
> Disclaimer: This email and any attachments are sent in strictest confidence
> for the sole use of the addressee and may contain legally privileged,
> confidential, and proprietary data. If you are not the intended recipient,
> please advise the sender by replying promptly to this email and then delete
> and destroy this email and any attachments without any further use, copying
> or forwarding.
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



More information about the OpenStack-dev mailing list