Bug 1252815

Summary: Overcloud deployment fails via UI with Quota exceeded messages
Product: Red Hat OpenStack Reporter: Marius Cornea <mcornea>
Component: rhosp-directorAssignee: chris alfonso <calfonso>
Status: CLOSED DUPLICATE QA Contact: yeylon <yeylon>
Severity: high Docs Contact:
Priority: unspecified    
Version: 7.0 (Kilo)CC: akrivoka, bnemec, chris.brown, hbrock, mburns, mcornea, rhel-osp-director-maint, srevivo
Target Milestone: z1Keywords: ZStream
Target Release: Director   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-19 11:15:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Marius Cornea 2015-08-12 09:46:04 UTC
Description of problem:
I'm trying to do an overcloud deployment via UI on baremetal with flavor matching. Deployment contains 1 controller and 1 compute. Compute flavor has got 98304 MB of RAM with 16 vCPUs, control flavor has got 32768 MB of RAM with 16 vCPUs. During deployment I get the following quota exceeded erros:

Resource CREATE failed: Forbidden: Quota exceeded for ram: Requested 98304, but already used 0 of 51200 ram (HTTP 403)
Resource CREATE failed: Forbidden: Quota exceeded for cores: Requested 16, but already used 16 of 20 cores (HTTP 403)


[stack@rhos-compute-node-18 ~]$ nova quota-defaults
+-----------------------------+-------+
| Quota                       | Limit |
+-----------------------------+-------+
| instances                   | 10    |
| cores                       | 20    |
| ram                         | 51200 |
| floating_ips                | 10    |
| fixed_ips                   | -1    |
| metadata_items              | 128   |
| injected_files              | 5     |
| injected_file_content_bytes | 10240 |
| injected_file_path_bytes    | 255   |
| key_pairs                   | 100   |
| security_groups             | 10    |
| security_group_rules        | 20    |
| server_groups               | 10    |
| server_group_members        | 10    |
+-----------------------------+-------+

Workaround: adjust default quota for ram and cores:
nova quota-class-update --ram 512000 default
nova quota-class-update --cores 200 default

Version-Release number of selected component (if applicable):
instack-undercloud-2.1.2-23.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Deploy 1x 96GB with 16 cores compute + 1 x 32GB with 16 cores ctrl via UI 

Actual results:
Deployment fails with quota exceeded errors.

Expected results:
Deployment completes ok.

Comment 3 Ben Nemec 2015-08-17 16:06:09 UTC
Something is not right here.  The quotas for the admin user on the undercloud are already set to -1 (unlimited):

[cloud-user@undercloud ~]$ nova absolute-limits
+--------------------+------+-------+
| Name               | Used | Max   |
+--------------------+------+-------+                                           
| Cores              | 1    | -1    |                                           
| FloatingIps        | 0    | 10    |                                           
| ImageMeta          | -    | 128   |                                           
| Instances          | 1    | -1    |                                           
| Keypairs           | -    | 100   |                                           
| Personality        | -    | 5     |                                           
| Personality Size   | -    | 10240 |                                           
| RAM                | 4096 | -1    |                                           
| SecurityGroupRules | -    | 20    |                                           
| SecurityGroups     | 1    | 10    |                                           
| Server Meta        | -    | 128   |                                           
| ServerGroupMembers | -    | 10    |                                           
| ServerGroups       | 0    | 10    |                                           
+--------------------+------+-------+

This is also on 2.1.2-23:
[cloud-user@undercloud ~]$ rpm -qa | grep instack
instack-undercloud-2.1.2-23.el7ost.noarch

Note that quota-defaults is not going to show the actual values for users with custom quota values.  absolute-limits is the correct command to check current quota values.

Does the UI not use admin on the undercloud?  If so, it should because that's what the CLI is using, and having to configure two separate users is just going to cause confusion.

Comment 4 Marius Cornea 2015-08-19 10:23:33 UTC
> Does the UI not use admin on the undercloud?  If so, it should because
> that's what the CLI is using, and having to configure two separate users is
> just going to cause confusion.

It looks that the admin user is part of both admin and service tenants. When logging in the UI the admin user is using the service project so the deployment runs under that project. I was able to pass the deployment after switching to the admin project in the UI.

Comment 5 Ana Krivokapic 2015-08-19 11:15:08 UTC

*** This bug has been marked as a duplicate of bug 1248347 ***