GitHub user karuturi opened a pull request:

    https://github.com/apache/cloudstack/pull/1107

    CLOUDSTACK-9080: Resource limits for Primary arent respected during attach

    primary store resource limit check is not performed while attaching a
    volume to a vm. Added them same.
    Also added a marvin test case to verify the same.
    
    Testing:
    BEFORE
    No error is shown in UI when trying to attach a volume even after reaching 
the resource limits.
    
    ```
    mysql> select * from resource_limit where type="primary_storage";
    +----+-----------+------------+-----------------+-------------+
    | id | domain_id | account_id | type            | max         |
    +----+-----------+------------+-----------------+-------------+
    | 10 |      NULL |          4 | primary_storage | 21474836480 |
    +----+-----------+------------+-----------------+-------------+
    1 row in set (0.00 sec)
    
    mysql> select * from resource_count where account_id=4 and 
type='primary_storage';
    +----+------------+-----------+-----------------+-------------+
    | id | account_id | domain_id | type            | count       |
    +----+------------+-----------+-----------------+-------------+
    | 63 |          4 |      NULL | primary_storage | 48318382080 |
    +----+------------+-----------+-----------------+-------------+
    1 row in set (0.00 sec)
    ```
    
    AFTER
    Following error message is shown in UI and the volume is not attached
    ![screen shot 2015-11-19 at 5 34 08 
pm](https://cloud.githubusercontent.com/assets/186833/11336645/046b5bcc-920d-11e5-97af-3d0da14c0e38.png)
    
    The resource limits stays the same
    
    ```
    mysql> select * from resource_limit where type="primary_storage";
    +----+-----------+------------+-----------------+-------------+
    | id | domain_id | account_id | type            | max         |
    +----+-----------+------------+-----------------+-------------+
    | 10 |      NULL |          4 | primary_storage | 21474836480 |
    +----+-----------+------------+-----------------+-------------+
    1 row in set (0.01 sec)
    
    mysql> select * from resource_count where account_id=4 and 
type='primary_storage';
    +----+------------+-----------+-----------------+-------------+
    | id | account_id | domain_id | type            | count       |
    +----+------------+-----------+-----------------+-------------+
    | 63 |          4 |      NULL | primary_storage | 48318382080 |
    +----+------------+-----------+-----------------+-------------+
    1 row in set (0.00 sec)
    ```
    
    Marvin test: nosetests --with-marvin --marvin-config=setup/dev/advanced.cfg 
--zone=xen-zone0 --hypervisor=xenserver 
test/integration/component/test_ps_resource_limits_volume.py
    
    before the change
    
    ```
    # do ... === TestName: test_attach_volume_exceeding_primary_limits | Status 
: FAILED ===
    AssertionError: Resource count 23 should match with the expected resource 
count 22\n
    ```
    
    After the change
    
    ```
    # do ... === TestName: test_attach_volume_exceeding_primary_limits | Status 
: SUCCESS ===
    ok
    
    ----------------------------------------------------------------------
    Ran 1 test in 1178.354s
    
    OK
    ```


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/karuturi/cloudstack CLOUDSTACK-9080

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1107.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1107
    
----
commit 12756a79668b0b6eac253d9561b7145294a59873
Author: Rajani Karuturi <rajanikarut...@gmail.com>
Date:   2015-05-21T11:20:39Z

    CLOUDSTACK-9080: Resource limits for Primary arent respected during attach.
    
    primary store resource limit check is not performed while attaching a
    volume to a vm. Added them same.
    Also added a marvin test case to verify the same.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to