← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2019859] [NEW] stable/xena regression - NotImplementedError: Operator 'getitem' is not supported on this expression

 

Public bug reported:

neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings fails on stable/xena with:
NotImplementedError: Operator 'getitem' is not supported on this expression

The code introduced in commit 2fb9ddb01ed44fae19c0184baa8620e95e51e344
[1] depends on a sqlalchemy version that is higher than the minimum
version specified in requirements.txt.

[1]

commit 2fb9ddb01ed44fae19c0184baa8620e95e51e344
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date:   Mon Dec 12 05:10:01 2022 +0100

    Delete the PB level registers when deleting the duplicated PB

    The ``neutron-remove-duplicated-port-bindings`` script removes the
    duplicated port binding registers ("ml2_port_bindings" table) that
    have status=INACTIVE.

    This patch also removes the corresponding port binding levels
    ("ml2_port_binding_levels" table) associated to those inactive port
    bindings.

    Closes-Bug: #2000078

    Change-Id: I12fa0764cd0ff509f1859b61060d64cc5a54a7b9
    (cherry picked from commit 572185e1fd252772d8baaec099bf8bedfc837013)
    (cherry picked from commit 07855a68266484ae187c76708a727b8a4db1e2e2)

To recreate:

root@f1:~/neutron# git remote -v
origin  https://opendev.org/openstack/neutron (fetch)
origin  https://opendev.org/openstack/neutron (push)

root@f1:~/neutron# git branch
* (HEAD detached at 19.7.0)
  master
  stable/xena

root@f1:~/neutron# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

root@f1:~/neutron# tox -e py3 --notest
  ...
  py3: OK (22.37 seconds)
  congratulations :) (22.46 seconds)

root@f1:~/neutron# .tox/py3/bin/pip3 freeze | grep -i -E 'oslo.db|sqlalchemy'
oslo.db==11.0.0
SQLAlchemy==1.4.23
sqlalchemy-migrate==0.13.0

root@f1:~/neutron# grep -i -E 'oslo.db|sqlalchemy' requirements.txt
SQLAlchemy>=1.3.23 # MIT
oslo.db>=4.44.0 # Apache-2.0

root@f1:~/neutron# .tox/py3/bin/pip3 install oslo.db==4.44.0 SQLAlchemy==1.3.23
...
Successfully installed SQLAlchemy-1.3.23 oslo.db-4.44.0

root@f1:~/neutron# tox -e py3 -- neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings
...
{0} neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings [0.367953s] ... FAILED                                                                           [117/27872]

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):

      File "/root/neutron/neutron/tests/base.py", line 183, in func
    return f(self, *args, **kwargs)

      File "/root/neutron/neutron/tests/unit/objects/test_ports.py", line 68, in test_get_duplicated_port_bindings
    dup_pb = ports.PortBinding.get_duplicated_port_bindings(self.context)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1012, in wrapper
    return fn(*args, **kwargs)

      File "/root/neutron/neutron/objects/ports.py", line 115, in get_duplicated_port_bindings
    sqlalchemy.select(cls.db_model.port_id).

      File "<string>", line 2, in select

      File "<string>", line 2, in __init__

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 139, in warned
    return fn(*args, **kwargs)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/selectable.py", line 3114, in __init__
    for c in columns:

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
    return self.operate(getitem, index)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 226, in operate
    return op(self.comparator, *other, **kwargs)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
    return self.operate(getitem, index)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/properties.py", line 367, in operate
    return op(self.__clause_element__(), *other, **kwargs)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
    return self.operate(getitem, index)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 762, in operate
    return op(self.comparator, *other, **kwargs)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
    return self.operate(getitem, index)

      File "<string>", line 1, in <lambda>

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/type_api.py", line 67, in operate
    return o[0](self.expr, op, *(other + o[1:]), **kwargs)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 237, in _getitem_impl
    _unsupported_impl(expr, op, other, **kw)

      File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 241, in _unsupported_impl
    raise NotImplementedError(

    NotImplementedError: Operator 'getitem' is not supported on this
expression

** Affects: cloud-archive
     Importance: Undecided
         Status: Invalid

** Affects: cloud-archive/xena
     Importance: High
         Status: Triaged

** Affects: neutron
     Importance: Undecided
         Status: New

** Description changed:

  neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings fails on stable/xena with:
  NotImplementedError: Operator 'getitem' is not supported on this expression
  
  The code introduced in commit 2fb9ddb01ed44fae19c0184baa8620e95e51e344
- [1] appears to depend on a sqlalchemy version that is higher than the
- minimum version specified in requirements.txt.
- 
+ [1] depends on a sqlalchemy version that is higher than the minimum
+ version specified in requirements.txt.
  
  [1]
  
  commit 2fb9ddb01ed44fae19c0184baa8620e95e51e344
  Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
  Date:   Mon Dec 12 05:10:01 2022 +0100
  
-     Delete the PB level registers when deleting the duplicated PB
-     
-     The ``neutron-remove-duplicated-port-bindings`` script removes the
-     duplicated port binding registers ("ml2_port_bindings" table) that
-     have status=INACTIVE.
-     
-     This patch also removes the corresponding port binding levels
-     ("ml2_port_binding_levels" table) associated to those inactive port
-     bindings.
-     
-     Closes-Bug: #2000078
-     
-     Change-Id: I12fa0764cd0ff509f1859b61060d64cc5a54a7b9
-     (cherry picked from commit 572185e1fd252772d8baaec099bf8bedfc837013)
-     (cherry picked from commit 07855a68266484ae187c76708a727b8a4db1e2e2)
+     Delete the PB level registers when deleting the duplicated PB
  
+     The ``neutron-remove-duplicated-port-bindings`` script removes the
+     duplicated port binding registers ("ml2_port_bindings" table) that
+     have status=INACTIVE.
+ 
+     This patch also removes the corresponding port binding levels
+     ("ml2_port_binding_levels" table) associated to those inactive port
+     bindings.
+ 
+     Closes-Bug: #2000078
+ 
+     Change-Id: I12fa0764cd0ff509f1859b61060d64cc5a54a7b9
+     (cherry picked from commit 572185e1fd252772d8baaec099bf8bedfc837013)
+     (cherry picked from commit 07855a68266484ae187c76708a727b8a4db1e2e2)
  
  To recreate:
  
  root@f1:~/neutron# git remote -v
  origin  https://opendev.org/openstack/neutron (fetch)
  origin  https://opendev.org/openstack/neutron (push)
  
  root@f1:~/neutron# git branch
  * (HEAD detached at 19.7.0)
-   master
-   stable/xena
+   master
+   stable/xena
  
  root@f1:~/neutron# lsb_release -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 20.04.6 LTS
  Release:        20.04
  Codename:       focal
  
- root@f1:~/neutron# tox -e py3 --notest                                                                                                                                                                              
-   ...         
-   py3: OK (22.37 seconds)                         
-   congratulations :) (22.46 seconds)
+ root@f1:~/neutron# tox -e py3 --notest
+   ...
+   py3: OK (22.37 seconds)
+   congratulations :) (22.46 seconds)
  
- root@f1:~/neutron# .tox/py3/bin/pip3 freeze | grep -i -E 'oslo.db|sqlalchemy'                              
- oslo.db==11.0.0                    
- SQLAlchemy==1.4.23                              
- sqlalchemy-migrate==0.13.0     
+ root@f1:~/neutron# .tox/py3/bin/pip3 freeze | grep -i -E 'oslo.db|sqlalchemy'
+ oslo.db==11.0.0
+ SQLAlchemy==1.4.23
+ sqlalchemy-migrate==0.13.0
  
- root@f1:~/neutron# grep -i -E 'oslo.db|sqlalchemy' requirements.txt                                        
- SQLAlchemy>=1.3.23 # MIT        
+ root@f1:~/neutron# grep -i -E 'oslo.db|sqlalchemy' requirements.txt
+ SQLAlchemy>=1.3.23 # MIT
  oslo.db>=4.44.0 # Apache-2.0
  
- root@f1:~/neutron# .tox/py3/bin/pip3 install oslo.db==4.44.0 SQLAlchemy==1.3.23                            
+ root@f1:~/neutron# .tox/py3/bin/pip3 install oslo.db==4.44.0 SQLAlchemy==1.3.23
  ...
  Successfully installed SQLAlchemy-1.3.23 oslo.db-4.44.0
  
  root@f1:~/neutron# tox -e py3 -- neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings
  ...
  {0} neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings [0.367953s] ... FAILED                                                                           [117/27872]
-                                                                                                                                                                                                                     
- Captured traceback:                                                                                                                                                                                                 
- ~~~~~~~~~~~~~~~~~~~                                                                                       
-     Traceback (most recent call last):                                                                                                                                                                              
-                                                                                                                                                                                                                     
-       File "/root/neutron/neutron/tests/base.py", line 183, in func
-     return f(self, *args, **kwargs)                                                                                                                                                                                 
-                                                                                                                                                                                                                     
-       File "/root/neutron/neutron/tests/unit/objects/test_ports.py", line 68, in test_get_duplicated_port_bindings
-     dup_pb = ports.PortBinding.get_duplicated_port_bindings(self.context)                                                                                                                                           
-                                                                                                           
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1012, in wrapper
-     return fn(*args, **kwargs)                                                                                                                                                                                      
-                                                      
-       File "/root/neutron/neutron/objects/ports.py", line 115, in get_duplicated_port_bindings
-     sqlalchemy.select(cls.db_model.port_id).
  
-       File "<string>", line 2, in select
+ Captured traceback:
+ ~~~~~~~~~~~~~~~~~~~
+     Traceback (most recent call last):
  
-       File "<string>", line 2, in __init__
+       File "/root/neutron/neutron/tests/base.py", line 183, in func
+     return f(self, *args, **kwargs)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 139, in warned
-     return fn(*args, **kwargs)
+       File "/root/neutron/neutron/tests/unit/objects/test_ports.py", line 68, in test_get_duplicated_port_bindings
+     dup_pb = ports.PortBinding.get_duplicated_port_bindings(self.context)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/selectable.py", line 3114, in __init__
-     for c in columns:
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1012, in wrapper
+     return fn(*args, **kwargs)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
-     return self.operate(getitem, index)
+       File "/root/neutron/neutron/objects/ports.py", line 115, in get_duplicated_port_bindings
+     sqlalchemy.select(cls.db_model.port_id).
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 226, in operate
-     return op(self.comparator, *other, **kwargs)
+       File "<string>", line 2, in select
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
-     return self.operate(getitem, index)
+       File "<string>", line 2, in __init__
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/properties.py", line 367, in operate
-     return op(self.__clause_element__(), *other, **kwargs)
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 139, in warned
+     return fn(*args, **kwargs)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
-     return self.operate(getitem, index)
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/selectable.py", line 3114, in __init__
+     for c in columns:
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 762, in operate
-     return op(self.comparator, *other, **kwargs)
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
+     return self.operate(getitem, index)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
-     return self.operate(getitem, index)
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 226, in operate
+     return op(self.comparator, *other, **kwargs)
  
-       File "<string>", line 1, in <lambda>
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
+     return self.operate(getitem, index)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/type_api.py", line 67, in operate
-     return o[0](self.expr, op, *(other + o[1:]), **kwargs)
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/properties.py", line 367, in operate
+     return op(self.__clause_element__(), *other, **kwargs)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 237, in _getitem_impl
-     _unsupported_impl(expr, op, other, **kw)
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
+     return self.operate(getitem, index)
  
-       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 241, in _unsupported_impl
-     raise NotImplementedError(
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 762, in operate
+     return op(self.comparator, *other, **kwargs)
  
-     NotImplementedError: Operator 'getitem' is not supported on this
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
+     return self.operate(getitem, index)
+ 
+       File "<string>", line 1, in <lambda>
+ 
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/type_api.py", line 67, in operate
+     return o[0](self.expr, op, *(other + o[1:]), **kwargs)
+ 
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 237, in _getitem_impl
+     _unsupported_impl(expr, op, other, **kw)
+ 
+       File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 241, in _unsupported_impl
+     raise NotImplementedError(
+ 
+     NotImplementedError: Operator 'getitem' is not supported on this
  expression

** Also affects: neutron (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: cloud-archive
   Importance: Undecided
       Status: New

** Also affects: cloud-archive/xena
   Importance: Undecided
       Status: New

** Changed in: cloud-archive/xena
       Status: New => Triaged

** Changed in: cloud-archive/xena
   Importance: Undecided => High

** Changed in: cloud-archive
       Status: New => Invalid

** No longer affects: neutron (Ubuntu)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2019859

Title:
  stable/xena regression - NotImplementedError: Operator 'getitem' is
  not supported on this expression

Status in Ubuntu Cloud Archive:
  Invalid
Status in Ubuntu Cloud Archive xena series:
  Triaged
Status in neutron:
  New

Bug description:
  neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings fails on stable/xena with:
  NotImplementedError: Operator 'getitem' is not supported on this expression

  The code introduced in commit 2fb9ddb01ed44fae19c0184baa8620e95e51e344
  [1] depends on a sqlalchemy version that is higher than the minimum
  version specified in requirements.txt.

  [1]

  commit 2fb9ddb01ed44fae19c0184baa8620e95e51e344
  Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
  Date:   Mon Dec 12 05:10:01 2022 +0100

      Delete the PB level registers when deleting the duplicated PB

      The ``neutron-remove-duplicated-port-bindings`` script removes the
      duplicated port binding registers ("ml2_port_bindings" table) that
      have status=INACTIVE.

      This patch also removes the corresponding port binding levels
      ("ml2_port_binding_levels" table) associated to those inactive port
      bindings.

      Closes-Bug: #2000078

      Change-Id: I12fa0764cd0ff509f1859b61060d64cc5a54a7b9
      (cherry picked from commit 572185e1fd252772d8baaec099bf8bedfc837013)
      (cherry picked from commit 07855a68266484ae187c76708a727b8a4db1e2e2)

  To recreate:

  root@f1:~/neutron# git remote -v
  origin  https://opendev.org/openstack/neutron (fetch)
  origin  https://opendev.org/openstack/neutron (push)

  root@f1:~/neutron# git branch
  * (HEAD detached at 19.7.0)
    master
    stable/xena

  root@f1:~/neutron# lsb_release -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 20.04.6 LTS
  Release:        20.04
  Codename:       focal

  root@f1:~/neutron# tox -e py3 --notest
    ...
    py3: OK (22.37 seconds)
    congratulations :) (22.46 seconds)

  root@f1:~/neutron# .tox/py3/bin/pip3 freeze | grep -i -E 'oslo.db|sqlalchemy'
  oslo.db==11.0.0
  SQLAlchemy==1.4.23
  sqlalchemy-migrate==0.13.0

  root@f1:~/neutron# grep -i -E 'oslo.db|sqlalchemy' requirements.txt
  SQLAlchemy>=1.3.23 # MIT
  oslo.db>=4.44.0 # Apache-2.0

  root@f1:~/neutron# .tox/py3/bin/pip3 install oslo.db==4.44.0 SQLAlchemy==1.3.23
  ...
  Successfully installed SQLAlchemy-1.3.23 oslo.db-4.44.0

  root@f1:~/neutron# tox -e py3 -- neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings
  ...
  {0} neutron.tests.unit.objects.test_ports.PortBindingDbObjectTestCase.test_get_duplicated_port_bindings [0.367953s] ... FAILED                                                                           [117/27872]

  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
      Traceback (most recent call last):

        File "/root/neutron/neutron/tests/base.py", line 183, in func
      return f(self, *args, **kwargs)

        File "/root/neutron/neutron/tests/unit/objects/test_ports.py", line 68, in test_get_duplicated_port_bindings
      dup_pb = ports.PortBinding.get_duplicated_port_bindings(self.context)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1012, in wrapper
      return fn(*args, **kwargs)

        File "/root/neutron/neutron/objects/ports.py", line 115, in get_duplicated_port_bindings
      sqlalchemy.select(cls.db_model.port_id).

        File "<string>", line 2, in select

        File "<string>", line 2, in __init__

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 139, in warned
      return fn(*args, **kwargs)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/selectable.py", line 3114, in __init__
      for c in columns:

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
      return self.operate(getitem, index)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/attributes.py", line 226, in operate
      return op(self.comparator, *other, **kwargs)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
      return self.operate(getitem, index)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/orm/properties.py", line 367, in operate
      return op(self.__clause_element__(), *other, **kwargs)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
      return self.operate(getitem, index)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 762, in operate
      return op(self.comparator, *other, **kwargs)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/operators.py", line 432, in __getitem__
      return self.operate(getitem, index)

        File "<string>", line 1, in <lambda>

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/type_api.py", line 67, in operate
      return o[0](self.expr, op, *(other + o[1:]), **kwargs)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 237, in _getitem_impl
      _unsupported_impl(expr, op, other, **kw)

        File "/root/neutron/.tox/py3/lib/python3.8/site-packages/sqlalchemy/sql/default_comparator.py", line 241, in _unsupported_impl
      raise NotImplementedError(

      NotImplementedError: Operator 'getitem' is not supported on this
  expression

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2019859/+subscriptions



Follow ups