Can't deny ipv6 access rule

Bug #1707066 reported by Goutham Pacha Ravi on 2017-07-27
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Critical
Ben Swartzlander
python-manilaclient
High
Goutham Pacha Ravi

Bug Description

Steps to reproduce:

* Create a manila share with any driver that doesn't support ipv6 access rules (ex: Dummy)
* Allow access with an ipv6 access rule
* Wait for rule to become active (Will become active almost immediately, we ignore ipv6 rules by design on backends that don't support ipv6)
* Deny the rule

Expected Outcome:
* Rule is deleted, share's access_rules_status is back to "active"

Actual Outcome:
* Rule is stuck "denying", share's access_rules_status is stuck in "syncing"

Sample test that does this in python-manilaclient fails with this error:

2017-07-27 19:36:02.029458 | 2017-07-27 19:36:02.029 | ======================================================================
2017-07-27 19:36:02.030833 | 2017-07-27 19:36:02.030 | FAIL: manilaclient.tests.functional.test_share_access.NFSShareRWAccessReadWriteTest.test_create_delete_ipv6_access_rule_1_2_38
2017-07-27 19:36:02.032168 | 2017-07-27 19:36:02.031 | tags: worker-2
2017-07-27 19:36:02.034695 | 2017-07-27 19:36:02.033 | ----------------------------------------------------------------------
2017-07-27 19:36:02.035418 | 2017-07-27 19:36:02.035 | Traceback (most recent call last):
2017-07-27 19:36:02.036912 | 2017-07-27 19:36:02.036 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/ddt.py", line 139, in wrapper
2017-07-27 19:36:02.038414 | 2017-07-27 19:36:02.038 | return func(self, *args, **kwargs)
2017-07-27 19:36:02.058815 | 2017-07-27 19:36:02.054 | File "manilaclient/tests/functional/test_share_access.py", line 177, in test_create_delete_ipv6_access_rule
2017-07-27 19:36:02.060852 | 2017-07-27 19:36:02.060 | self.share_id, 'ip', self.access_to['ipv6'].pop(), microversion)
2017-07-27 19:36:02.062717 | 2017-07-27 19:36:02.062 | File "manilaclient/tests/functional/test_share_access.py", line 154, in _create_delete_access_rule
2017-07-27 19:36:02.064544 | 2017-07-27 19:36:02.064 | self.user_client.wait_for_access_rule_deletion(share_id, access['id'])
2017-07-27 19:36:02.066402 | 2017-07-27 19:36:02.065 | File "manilaclient/tests/functional/client.py", line 1080, in wait_for_access_rule_deletion
2017-07-27 19:36:02.068541 | 2017-07-27 19:36:02.067 | time.sleep(self.build_interval)
2017-07-27 19:36:02.070476 | 2017-07-27 19:36:02.069 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/fixtures/_fixtures/timeout.py", line 52, in signal_handler
2017-07-27 19:36:02.072534 | 2017-07-27 19:36:02.072 | raise TimeoutException()
2017-07-27 19:36:02.074268 | 2017-07-27 19:36:02.073 | fixtures._fixtures.timeout.TimeoutException
2017-07-27 19:36:02.075814 | 2017-07-27 19:36:02.075 | ======================================================================
2017-07-27 19:36:02.077679 | 2017-07-27 19:36:02.077 | FAIL: manilaclient.tests.functional.test_share_access.NFSShareROAccessReadWriteTest.test_create_delete_ipv6_access_rule_1_2_38
2017-07-27 19:36:02.079181 | 2017-07-27 19:36:02.078 | tags: worker-5
2017-07-27 19:36:02.080662 | 2017-07-27 19:36:02.080 | ----------------------------------------------------------------------
2017-07-27 19:36:02.081892 | 2017-07-27 19:36:02.081 | Traceback (most recent call last):
2017-07-27 19:36:02.083221 | 2017-07-27 19:36:02.082 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/ddt.py", line 139, in wrapper
2017-07-27 19:36:02.085506 | 2017-07-27 19:36:02.085 | return func(self, *args, **kwargs)
2017-07-27 19:36:02.089005 | 2017-07-27 19:36:02.086 | File "manilaclient/tests/functional/test_share_access.py", line 177, in test_create_delete_ipv6_access_rule
2017-07-27 19:41:44.825184 | 2017-07-27 19:41:44.824 | self.share_id, 'ip', self.access_to['ipv6'].pop(), microversion)
2017-07-27 19:41:44.828353 | 2017-07-27 19:41:44.828 | File "manilaclient/tests/functional/test_share_access.py", line 154, in _create_delete_access_rule
2017-07-27 19:41:44.831001 | 2017-07-27 19:41:44.829 | self.user_client.wait_for_access_rule_deletion(share_id, access['id'])
2017-07-27 19:41:44.835559 | 2017-07-27 19:41:44.835 | File "manilaclient/tests/functional/client.py", line 1084, in wait_for_access_rule_deletion
2017-07-27 19:41:44.837070 | 2017-07-27 19:41:44.836 | is_snapshot=is_snapshot)
2017-07-27 19:41:44.838875 | 2017-07-27 19:41:44.838 | File "manilaclient/tests/functional/client.py", line 44, in wrapped_func
2017-07-27 19:41:44.840729 | 2017-07-27 19:41:44.840 | return f(self, *args, **kwargs)
2017-07-27 19:41:44.842302 | 2017-07-27 19:41:44.841 | File "manilaclient/tests/functional/client.py", line 993, in get_access
2017-07-27 19:41:44.843840 | 2017-07-27 19:41:44.843 | is_snapshot=is_snapshot):
2017-07-27 19:41:44.845459 | 2017-07-27 19:41:44.844 | File "manilaclient/tests/functional/client.py", line 44, in wrapped_func
2017-07-27 19:41:44.851656 | 2017-07-27 19:41:44.847 | return f(self, *args, **kwargs)
2017-07-27 19:41:44.853220 | 2017-07-27 19:41:44.852 | File "manilaclient/tests/functional/client.py", line 986, in list_access
2017-07-27 19:41:44.854631 | 2017-07-27 19:41:44.854 | access_list_raw = self.manila(cmd, microversion=microversion)
2017-07-27 19:41:44.856220 | 2017-07-27 19:41:44.855 | File "manilaclient/tests/functional/client.py", line 114, in manila
2017-07-27 19:41:44.857631 | 2017-07-27 19:41:44.857 | 'manila', action, flags, params, fail_ok, merge_stderr)
2017-07-27 19:41:44.859272 | 2017-07-27 19:41:44.858 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/tempest/lib/cli/base.py", line 374, in cmd_with_auth
2017-07-27 19:41:44.860627 | 2017-07-27 19:41:44.860 | self.cli_dir, prefix=self.prefix)
2017-07-27 19:41:44.862067 | 2017-07-27 19:41:44.861 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/tempest/lib/cli/base.py", line 66, in execute
2017-07-27 19:41:44.863410 | 2017-07-27 19:41:44.863 | result, result_err = proc.communicate()
2017-07-27 19:41:44.864800 | 2017-07-27 19:41:44.864 | File "/usr/lib/python2.7/subprocess.py", line 800, in communicate
2017-07-27 19:41:44.866310 | 2017-07-27 19:41:44.865 | return self._communicate(input)
2017-07-27 19:41:44.867702 | 2017-07-27 19:41:44.867 | File "/usr/lib/python2.7/subprocess.py", line 1417, in _communicate
2017-07-27 19:41:44.869265 | 2017-07-27 19:41:44.868 | stdout, stderr = self._communicate_with_poll(input)
2017-07-27 19:41:44.871012 | 2017-07-27 19:41:44.870 | File "/usr/lib/python2.7/subprocess.py", line 1471, in _communicate_with_poll
2017-07-27 19:41:44.872501 | 2017-07-27 19:41:44.872 | ready = poller.poll()
2017-07-27 19:41:44.874045 | 2017-07-27 19:41:44.873 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/fixtures/_fixtures/timeout.py", line 52, in signal_handler
2017-07-27 19:41:44.879486 | 2017-07-27 19:41:44.878 | raise TimeoutException()
2017-07-27 19:41:44.881953 | 2017-07-27 19:41:44.881 | fixtures._fixtures.timeout.TimeoutException
2017-07-27 19:41:44.883947 | 2017-07-27 19:41:44.883 | ======================================================================
2017-07-27 19:41:44.885540 | 2017-07-27 19:41:44.885 | FAIL: manilaclient.tests.functional.test_share_access.NFSShareRWAccessReadWriteTest.test_create_delete_ipv6_access_rule_2_2_40
2017-07-27 19:41:44.887031 | 2017-07-27 19:41:44.886 | tags: worker-2
2017-07-27 19:41:44.888511 | 2017-07-27 19:41:44.888 | ----------------------------------------------------------------------
2017-07-27 19:41:44.890121 | 2017-07-27 19:41:44.889 | Traceback (most recent call last):
2017-07-27 19:41:44.891637 | 2017-07-27 19:41:44.891 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/ddt.py", line 139, in wrapper
2017-07-27 19:41:44.895454 | 2017-07-27 19:41:44.894 | return func(self, *args, **kwargs)
2017-07-27 19:41:44.898565 | 2017-07-27 19:41:44.897 | File "manilaclient/tests/functional/test_share_access.py", line 177, in test_create_delete_ipv6_access_rule
2017-07-27 19:41:44.900347 | 2017-07-27 19:41:44.899 | self.share_id, 'ip', self.access_to['ipv6'].pop(), microversion)
2017-07-27 19:41:44.901902 | 2017-07-27 19:41:44.901 | File "manilaclient/tests/functional/test_share_access.py", line 152, in _create_delete_access_rule
2017-07-27 19:41:44.903367 | 2017-07-27 19:41:44.902 | self.user_client.wait_for_access_rule_status(share_id, access['id'])
2017-07-27 19:41:44.905028 | 2017-07-27 19:41:44.904 | File "manilaclient/tests/functional/client.py", line 1053, in wait_for_access_rule_status
2017-07-27 19:41:44.906792 | 2017-07-27 19:41:44.906 | is_snapshot=is_snapshot)
2017-07-27 19:41:44.908465 | 2017-07-27 19:41:44.907 | File "manilaclient/tests/functional/client.py", line 44, in wrapped_func
2017-07-27 19:41:44.909808 | 2017-07-27 19:41:44.909 | return f(self, *args, **kwargs)
2017-07-27 19:41:44.911306 | 2017-07-27 19:41:44.910 | File "manilaclient/tests/functional/client.py", line 993, in get_access
2017-07-27 19:41:44.913003 | 2017-07-27 19:41:44.912 | is_snapshot=is_snapshot):
2017-07-27 19:41:44.914470 | 2017-07-27 19:41:44.914 | File "manilaclient/tests/functional/client.py", line 44, in wrapped_func
2017-07-27 19:41:44.915867 | 2017-07-27 19:41:44.915 | return f(self, *args, **kwargs)
2017-07-27 19:41:44.917341 | 2017-07-27 19:41:44.916 | File "manilaclient/tests/functional/client.py", line 986, in list_access
2017-07-27 19:41:44.918714 | 2017-07-27 19:41:44.918 | access_list_raw = self.manila(cmd, microversion=microversion)
2017-07-27 19:41:44.920180 | 2017-07-27 19:41:44.919 | File "manilaclient/tests/functional/client.py", line 114, in manila
2017-07-27 19:41:44.921460 | 2017-07-27 19:41:44.921 | 'manila', action, flags, params, fail_ok, merge_stderr)
2017-07-27 19:41:44.922827 | 2017-07-27 19:41:44.922 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/tempest/lib/cli/base.py", line 374, in cmd_with_auth
2017-07-27 19:41:44.924117 | 2017-07-27 19:41:44.923 | self.cli_dir, prefix=self.prefix)
2017-07-27 19:41:44.925524 | 2017-07-27 19:41:44.925 | File "/opt/stack/new/python-manilaclient/.tox/functional/local/lib/python2.7/site-packages/tempest/lib/cli/base.py", line 66, in execute
2017-07-27 19:41:44.926924 | 2017-07-27 19:41:44.926 | result, result_err = proc.communicate()
2017-07-27 19:41:44.928359 | 2017-07-27 19:41:44.928 | File "/usr/lib/python2.7/subprocess.py", line 800, in communicate
2017-07-27 19:41:44.929654 | 2017-07-27 19:41:44.929 | return self._communicate(input)
2017-07-27 19:41:44.931601 | 2017-07-27 19:41:44.931 | File "/usr/lib/python2.7/subprocess.py", line 1417, in _communicate
2017-07-27 19:41:44.932930 | 2017-07-27 19:41:44.932 | stdout, stderr = self._communicate_with_poll(input)
2017-07-27 19:41:44.935176 | 2017-07-27 19:41:44.934 | File "/usr/lib/python2.7/subprocess.py", line 1471, in _communicate_with_poll
2017-07-27 19:48:12.197642 | 2017-07-27 19:48:12.197 | No handlers could be found for logger "manilaclient.tests.functional.base"
2017-07-27 19:59:43.389075 | /home/jenkins/workspace/gate-manilaclient-dsvm-neutron-functional-ubuntu-xenial/devstack-gate/functions.sh: line 1127: 13491 Killed timeout -s 9 ${REMAINING_TIME}m bash -c "source $WORKSPACE/devstack-gate/functions.sh && $cmd"
2017-07-27 19:59:43.389166 | Cleaning up host

Changed in manila:
importance: Undecided → Critical
Changed in python-manilaclient:
importance: Undecided → High
Changed in manila:
milestone: none → pike-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (master)

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

Changed in manila:
assignee: nobody → zhongjun (jun-zhongjun)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-manilaclient (master)

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

Changed in python-manilaclient:
assignee: nobody → Tom Barron (tpb)
status: New → In Progress
Changed in manila:
assignee: zhongjun (jun-zhongjun) → Ben Swartzlander (bswartz)
Changed in python-manilaclient:
assignee: Tom Barron (tpb) → Goutham Pacha Ravi (gouthamr)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (master)

Reviewed: https://review.openstack.org/488938
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=a1ba28cad3b445bd28644f0be55912a072859166
Submitter: Jenkins
Branch: master

commit a1ba28cad3b445bd28644f0be55912a072859166
Author: zhongjun <email address hidden>
Date: Sat Jul 29 15:50:46 2017 +0800

    Fix cannot deny ipv6 access rules

    We cannot deny ipv6 access rules because we remove the ipv6
    access rules from global delete rules, not just remove the
    ipv6 access rules from driver update_access interface parameters.
    So the ipv6 access rules cannot be deleted in db.
    Now, changed to only remove the ipv6 access rules
    from the driver update_access interface parameters(add_rules,
    delete_rules, access_rules_to_be_on_share).

    Closes-bug: 1707066

    Depends-On: Ifea1799e1d2e3963fec7e90ce3f9cb47b9f02f4f

    Change-Id: Idd0014d898d5468922625e62f9e649926dc04e35

Changed in manila:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-manilaclient (master)

Reviewed: https://review.openstack.org/490113
Committed: https://git.openstack.org/cgit/openstack/python-manilaclient/commit/?id=c8b84e7a8d6b9e828b7752d5f3eb86ff602b0929
Submitter: Jenkins
Branch: master

commit c8b84e7a8d6b9e828b7752d5f3eb86ff602b0929
Author: Tom Barron <email address hidden>
Date: Wed Aug 2 13:43:07 2017 -0400

    Stop skipping ipv6 delete access rule test

    Closes-Bug: #1707066

    Depends-On: Idd0014d898d5468922625e62f9e649926dc04e35
    Change-Id: Iff896f101fce8121959ad7166ded3f6c99e9173f

Changed in python-manilaclient:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila 5.0.0.0rc1

This issue was fixed in the openstack/manila 5.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/python-manilaclient 1.18.0

This issue was fixed in the openstack/python-manilaclient 1.18.0 release.

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

Other bug subscribers