Incorrect quota calculated for storage test

Bug #1715333 reported by Martynas Sklizmantas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KloudBuster
Fix Released
Undecided
Alec Hothan

Bug Description

Running storage test:

kloudbuster --rc opt/kb/openrc.v2 --passwd password --config kb.cfg --kb-debug -d --storage

2017-09-06 11:24:44 INFO Using /root/.ssh/id_rsa.pub as public key for all VMs
2017-09-06 11:24:46 INFO Creating kloud: KBc
2017-09-06 11:24:46 INFO Creating tenant: KBc-T0
2017-09-06 11:24:47 INFO Creating user: KBc-T0-U
2017-09-06 11:24:47 INFO Adding public key KBc-T0-U-K
2017-09-06 11:24:49 INFO Creating routers and networks for tenant KBc-T0
2017-09-06 11:24:54 INFO Scheduled to create VMs for network KBc-T0-U-R0-N0...
Traceback (most recent call last):
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/kloudbuster.py", line 486, in run
    self.stage()
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/kloudbuster.py", line 522, in stage
    self.testing_kloud.create_resources(tenant_quota['client'])
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/kloudbuster.py", line 113, in create_resources
    tenant_instance.create_resources()
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/tenant.py", line 176, in create_resources
    user_instance.create_resources()
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/users.py", line 164, in create_resources
    router_instance.create_network_resources(config_scale)
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/base_network.py", line 344, in create_network_resources
    network_instance.create_compute_resources(network_name, config_scale)
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/base_network.py", line 185, in create_compute_resources
    perf_instance.vol = bs_obj.create_vol(vol_size, name=vol_name)
  File "/home/vkb/lib/python2.7/site-packages/kloudbuster/base_storage.py", line 33, in create_vol
    vol = self.cinderclient.volumes.create(size, name=name)
  File "/home/vkb/lib/python2.7/site-packages/cinderclient/v2/volumes.py", line 290, in create
    return self._create('/volumes', body, 'volume')
  File "/home/vkb/lib/python2.7/site-packages/cinderclient/base.py", line 324, in _create
    resp, body = self.api.client.post(url, body=body)
  File "/home/vkb/lib/python2.7/site-packages/cinderclient/client.py", line 202, in post
    return self._cs_request(url, 'POST', **kwargs)
  File "/home/vkb/lib/python2.7/site-packages/cinderclient/client.py", line 190, in _cs_request
    return self.request(url, method, **kwargs)
  File "/home/vkb/lib/python2.7/site-packages/cinderclient/client.py", line 176, in request
    raise exceptions.from_response(resp, body)
OverLimit: VolumeSizeExceedsAvailableQuota: Requested volume or snapshot exceeds allowed gigabytes quota. Requested 10G, quota is 125G and 120G has been consumed. (HTTP 413) (Request-ID: req-139e54a3-5561-4475-879f-12614e115a6a)
2017-09-06 11:25:13 INFO Deleting all user resources for user KBc-T0-U

This is on redhat 7.3, kloudbuster version 7.0.1

config file is attached.

Revision history for this message
Martynas Sklizmantas (saint-ghost) wrote :
Revision history for this message
Alec Hothan (ahothan) wrote :

will look into this, in the meantime please try with 10 VMs

Alec Hothan (ahothan)
Changed in kloudbuster:
status: New → In Progress
assignee: nobody → Alec Hothan (ahothan)
Revision history for this message
Alec Hothan (ahothan) wrote :

The quota calculation function erroneously uses the flavor disk size to calculate the quota when it should be using the storage_stage_configs.disk_size property instead.

I would suggest to leave the flavor disk property to 0 (default) which means to use the default disk size for the VM local disk.
This will indirectly fix this issue (as the cinder quota calculation considers a zero value to mean no limit on the disk quota).

Will issue a patch to fix the disk size lookup to pick storage_stage_configs.disk_size instead.

Revision history for this message
Alec Hothan (ahothan) wrote :

This bug manifests only when the disk flavor size in the passed config is > 0 and < storage_stage_configs.disk_size
In the provided config file, flavor disk is set to 5 and storage_stage_configs.disk_size set to 10

Workaround:
leave flavor disk to 0 or set it to same value than storage_stage_configs.disk_size

Revision history for this message
Alec Hothan (ahothan) wrote :
Revision history for this message
Alec Hothan (ahothan) wrote :

Fixed with 7.0.2
New container updated as well

Changed in kloudbuster:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments