F5Networks / neutron-lbaas

Clone of the OpenStack project neutron-lbaas
Apache License 2.0
1 stars 10 forks source link

IndexError issued due to index out of range neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON.resource_cleanup #53

Closed ssorenso closed 6 years ago

ssorenso commented 7 years ago

Traceback:


cls = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>

    @classmethod
    def resource_cleanup(cls):
>       super(ListenersTestJSON, cls).resource_cleanup()

cls        = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>

test_listeners_admin.py:57:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
base.py:521: in resource_cleanup
    super(BaseAdminTestCase, cls).resource_cleanup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

cls = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>

    @classmethod
    def resource_cleanup(cls):
        """Cleanup the remaining objects from the test run."""
        cls._teardown_exceptions = []
        for lb_id in cls._lbs_to_delete:
            try:
                lb = cls.load_balancers_client.get_load_balancer_status_tree(
                    lb_id).get('loadbalancer')
                lb_id = lb.get('id')
            except exceptions.NotFound:
                continue
            try:
                cls._teardown_lb(lb, lb_id)
            except Exception as ex:
                try:
                    # If the previous try failed, let's do it again, but only
                    # if the provisioning status is not PENDING_UPDATE. That
                    # would indicate the service is wedged somehow. This can
                    # help if BadStatusLine or network blip occurred during
                    # teardown.
                    lb = cls.load_balancers_client.\
                        get_load_balancer_status_tree(
                            lb_id).get('loadbalancer')
                    if lb.get('provisioning_status') != 'PENDING_UPDATE':
                        cls._teardown_lb(lb, lb_id)
                except exceptions.NotFound:
                    continue

        if cls._teardown_exceptions:
            print("Teardown exceptions occurred, most likely due to timeout "
                  "exceptions when checking for loadbalancer status. This "
                  "will only raise the first error seen. The others will be "
                  "printed out here.")
            for ex in cls._teardown_exceptions:
                print(ex.message)
>           raise ex[0]
E           IndexError: tuple index out of range

cls        = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>
ex         = TimeoutException()
lb         = {'id': 'b97e22a7-db79-401a-896a-9182d5640a9a', 'listeners': [{'id': '2a271cad-d246-40a8-a596-0e05549c8cb0', 'l7policie...', 'l7policies': [], 'name': '', 'operating_status': 'OFFLINE', ...}], 'name': '', 'operating_status': 'DEGRADED', ...}
lb_id      = 'b97e22a7-db79-401a-896a-9182d5640a9a'

base.py:172: IndexError

Impacted Tests:

Driver Version:

Agent Version:

ssorenso commented 7 years ago

Another instance:


cls = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>

    @classmethod
    def resource_cleanup(cls):
>       super(ListenersTestJSON, cls).resource_cleanup()

cls        = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>

test_listeners_admin.py:57:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
base.py:521: in resource_cleanup
    super(BaseAdminTestCase, cls).resource_cleanup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

cls = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>

    @classmethod
    def resource_cleanup(cls):
        """Cleanup the remaining objects from the test run."""
        cls._teardown_exceptions = []
        for lb_id in cls._lbs_to_delete:
            try:
                lb = cls.load_balancers_client.get_load_balancer_status_tree(
                    lb_id).get('loadbalancer')
                lb_id = lb.get('id')
            except exceptions.NotFound:
                continue
            try:
                cls._teardown_lb(lb, lb_id)
            except Exception as ex:
                try:
                    # If the previous try failed, let's do it again, but only
                    # if the provisioning status is not PENDING_UPDATE. That
                    # would indicate the service is wedged somehow. This can
                    # help if BadStatusLine or network blip occurred during
                    # teardown.
                    lb = cls.load_balancers_client.\
                        get_load_balancer_status_tree(
                            lb_id).get('loadbalancer')
                    if lb.get('provisioning_status') != 'PENDING_UPDATE':
                        cls._teardown_lb(lb, lb_id)
                except exceptions.NotFound:
                    continue

        if cls._teardown_exceptions:
            print("Teardown exceptions occurred, most likely due to timeout "
                  "exceptions when checking for loadbalancer status. This "
                  "will only raise the first error seen. The others will be "
                  "printed out here.")
            for ex in cls._teardown_exceptions:
                print(ex.message)
>           raise ex[0]
E           IndexError: tuple index out of range

cls        = <class 'neutron_lbaas.tests.tempest.v2.api.test_listeners_admin.ListenersTestJSON'>
ex         = TimeoutException()
lb         = {'id': 'b97e22a7-db79-401a-896a-9182d5640a9a', 'listeners': [{'id': '2a271cad-d246-40a8-a596-0e05549c8cb0', 'l7policie...', 'l7policies': [], 'name': '', 'operating_status': 'OFFLINE', ...}], 'name': '', 'operating_status': 'DEGRADED', ...}
lb_id      = 'b97e22a7-db79-401a-896a-9182d5640a9a'

base.py:172: IndexError

Impacted tests: