Tempest volume tests hardcoded for tenant isolation

Bug #1734776 reported by Cliff Parsons on 2017-11-27
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tempest
Undecided
Cliff Parsons

Bug Description

The force_tenant_isolation flag is currently hard-coded to true in four of the Tempest volume test classes:
  tempest/api/volume/admin/test_volume_quotas.py
  tempest/api/volume/admin/test_volume_quotas_negative.py
  tempest/api/volume/admin/test_volume_snapshot_quotas_negative.py
  tempest/api/volume/test_volume_absolute_limits.py

The force_tenant_isolation flag, when set to true, forces Tempest to create projects and users dynamically, which is a big problem if your cluster has an immutable user source such as LDAP. Furthermore, if the user wants to run these tests against a pre-defined user accounts file (etc/accounts.yaml), it is not possible without removing the hard-coded flag.

Changed in tempest:
assignee: nobody → Cliff Parsons (cliffhparsons)

Fix proposed to branch: master
Review: https://review.openstack.org/523241

Changed in tempest:
status: New → In Progress
Changed in tempest:
assignee: Cliff Parsons (cliffhparsons) → Tin Lam (lamt)
Changed in tempest:
assignee: Tin Lam (lamt) → Cliff Parsons (cliffhparsons)

Reviewed: https://review.openstack.org/523241
Committed: https://git.openstack.org/cgit/openstack/tempest/commit/?id=c460c429f2ebf78c878e8477d509448b3ae6d3d0
Submitter: Zuul
Branch: master

commit c460c429f2ebf78c878e8477d509448b3ae6d3d0
Author: Cliff Parsons <email address hidden>
Date: Mon Nov 27 16:05:32 2017 -0600

    Remove force_tenant_isolation from Cinder tests

    The force_tenant_isolation flag was hard-coded to true in four of the
    volume test classes. This flag, when set to true, forces Tempest to
    create projects and users dynamically, which is a big problem if your
    cluster has an immutable user source such as LDAP. Furthermore, if
    the user wants to run these tests against a pre-defined user accounts
    file, it is not possible without removing the hard-coded flag.

    This change removes the hard-coded flag from the Cinder volume test
    files that have it. Also, in the cases where there is a resource_setup
    function defined and it changed the quota set on the primary project,
    this change adds the code in resource_setup to save the original quota
    values and the addClassResourceCleanup code to revert those changes
    back to their original quota values, just in case the pre-provisioned
    accounts (account.yaml) are used rather than dynamic credentials. And
    because the AbsoluteLimitsTests class tests no longer need forced
    tenant isolation, the class is changed to inherit from BaseVolumeTest
    instead of BaseVolumeAdminTest, and the resource_setup() is changed
    to save the current limits for comparison in the test case (for the
    case where pre-provisioned account volume limits were modified from
    their default values).

    This change has been tested using dynamic user and project creation and
    also with pre-provisioned credentials (accounts.yaml), and all tests
    work both ways, depending on how its configured in etc/tempest.conf.
    There are no resource leaks or quota-related side effects either way.

    Closes-Bug: #1734776
    Change-Id: I903be7bef81f162685ed448ba0d19901dca00bf1

Changed in tempest:
status: In Progress → Fix Released

This issue was fixed in the openstack/tempest 19.0.0 release.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers