yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #50309
[Bug 1578997] [NEW] RBAC target-tenant is mandatory when creation
Public bug reported:
I used the admin tenant to create a network by neutron as follow:
[root@liberty ~(keystone_admin)]# neutron net-create test
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | 08211934-702d-420a-87f7-52b08bd940fa |
| mtu | 0 |
| name | test |
| provider:network_type | vxlan |
| provider:physical_network | |
| provider:segmentation_id | 22 |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | cd1d7694e4aa4585b6ac303f089c56e0 |
+---------------------------+--------------------------------------+
Then, I tried to create a RBAC with the object of this network, but did
not provide a "target-tenant":
[root@liberty ~(keystone_admin)]# neutron rbac-create --type network --action access_as_shared test
Request Failed: internal server error while processing your request.
Afterwards, I checked the log file where I found this:
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource [req-e089f610-3173-4c7
0-8e96-8b6f07532d9a 7deab8e1735c4da88b4f09010f783c8e cd1d7694e4aa4585b6ac303f089c
56e0 - - -] create failed
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource Traceback (most recent
call last):
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/pytho
n2.7/site-packages/neutron/api/v2/resource.py", line 83, in resource
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource result = method(re
quest=request, **args)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/pytho
n2.7/site-packages/neutron/api/v2/base.py", line 408, in create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return self._creat
e(request, body, **kwargs)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/pytho
n2.7/site-packages/oslo_db/api.py", line 146, in wrapper
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource ectxt.value = e.inner_exc
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 195, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 136, in wrapper
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 519, in _create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource obj = do_create(body)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 501, in do_create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource request.context, reservation.reservation_id)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 195, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 494, in do_create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return obj_creator(request.context, **kwargs)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/rbac_db_mixin.py", line 51, in create_rbac_policy
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource context.session.add(db_entry)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 502, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.rollback()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 499, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.commit()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 392, in commit
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self._prepare_impl()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 372, in _prepare_impl
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.session.flush()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2027, in flush
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self._flush(objects)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2145, in _flush
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource transaction.rollback(_capture_exception=True)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2109, in _flush
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource flush_context.execute()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 373, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource rec.execute(self)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 532, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource uow
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 174, in save_obj
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource mapper, table, insert)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 800, in _emit_insert_statements
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource execute(statement, params)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return meth(self, multiparams, params)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return connection._execute_clauseelement(self, multiparams, params)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource compiled_sql, distilled_params
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource context)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource util.raise_from_cause(newraise, exc_info)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 200, in raise_from_cause
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource reraise(type(exception), exception, tb=exc_tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource context)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource cursor.execute(statement, parameters)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 174, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.errorhandler(self, exc, value)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource raise errorclass, errorvalue
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource OperationalError: (_mysql_exceptions.OperationalError) (1048, "Column 'target_tenant' cannot be null") [SQL: u'INSERT INTO networkrbacs (tenant_id, id, target_tenant, action, object_id) VALUES (%s, %s, %s, %s, %s)'] [parameters: ('cd1d7694e4aa4585b6ac303f089c56e0', '333a7d46-5b27-4700-ba7d-03cf4ea3a2b1', None, 'access_as_shared', '08211934-702d-420a-87f7-52b08bd940fa')]
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource
As the log said, the value of the target_tenant is null. However, this
is not mandatory when creating a RBAC according to the code in neutron-
client.
** Affects: neutron
Importance: Undecided
Assignee: Han Chao (hanchao-v)
Status: New
** Changed in: neutron
Assignee: (unassigned) => Han Chao (hanchao-v)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1578997
Title:
RBAC target-tenant is mandatory when creation
Status in neutron:
New
Bug description:
I used the admin tenant to create a network by neutron as follow:
[root@liberty ~(keystone_admin)]# neutron net-create test
Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| id | 08211934-702d-420a-87f7-52b08bd940fa |
| mtu | 0 |
| name | test |
| provider:network_type | vxlan |
| provider:physical_network | |
| provider:segmentation_id | 22 |
| router:external | False |
| shared | False |
| status | ACTIVE |
| subnets | |
| tenant_id | cd1d7694e4aa4585b6ac303f089c56e0 |
+---------------------------+--------------------------------------+
Then, I tried to create a RBAC with the object of this network, but
did not provide a "target-tenant":
[root@liberty ~(keystone_admin)]# neutron rbac-create --type network --action access_as_shared test
Request Failed: internal server error while processing your request.
Afterwards, I checked the log file where I found this:
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource [req-e089f610-3173-4c7
0-8e96-8b6f07532d9a 7deab8e1735c4da88b4f09010f783c8e cd1d7694e4aa4585b6ac303f089c
56e0 - - -] create failed
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource Traceback (most recent
call last):
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/pytho
n2.7/site-packages/neutron/api/v2/resource.py", line 83, in resource
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource result = method(re
quest=request, **args)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/pytho
n2.7/site-packages/neutron/api/v2/base.py", line 408, in create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return self._creat
e(request, body, **kwargs)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/pytho
n2.7/site-packages/oslo_db/api.py", line 146, in wrapper
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource ectxt.value = e.inner_exc
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 195, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 136, in wrapper
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 519, in _create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource obj = do_create(body)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 501, in do_create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource request.context, reservation.reservation_id)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 195, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 494, in do_create
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return obj_creator(request.context, **kwargs)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/rbac_db_mixin.py", line 51, in create_rbac_policy
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource context.session.add(db_entry)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 502, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.rollback()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 499, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.commit()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 392, in commit
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self._prepare_impl()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 372, in _prepare_impl
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.session.flush()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2027, in flush
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self._flush(objects)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2145, in _flush
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource transaction.rollback(_capture_exception=True)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource compat.reraise(exc_type, exc_value, exc_tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/session.py", line 2109, in _flush
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource flush_context.execute()
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 373, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource rec.execute(self)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 532, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource uow
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 174, in save_obj
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource mapper, table, insert)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 800, in _emit_insert_statements
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource execute(statement, params)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 914, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return meth(self, multiparams, params)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py", line 323, in _execute_on_connection
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource return connection._execute_clauseelement(self, multiparams, params)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1010, in _execute_clauseelement
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource compiled_sql, distilled_params
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1146, in _execute_context
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource context)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1337, in _handle_dbapi_exception
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource util.raise_from_cause(newraise, exc_info)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 200, in raise_from_cause
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource reraise(type(exception), exception, tb=exc_tb)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource context)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource cursor.execute(statement, parameters)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 174, in execute
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource self.errorhandler(self, exc, value)
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource raise errorclass, errorvalue
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource OperationalError: (_mysql_exceptions.OperationalError) (1048, "Column 'target_tenant' cannot be null") [SQL: u'INSERT INTO networkrbacs (tenant_id, id, target_tenant, action, object_id) VALUES (%s, %s, %s, %s, %s)'] [parameters: ('cd1d7694e4aa4585b6ac303f089c56e0', '333a7d46-5b27-4700-ba7d-03cf4ea3a2b1', None, 'access_as_shared', '08211934-702d-420a-87f7-52b08bd940fa')]
2016-05-06 16:46:01.549 3739 ERROR neutron.api.v2.resource
As the log said, the value of the target_tenant is null. However, this
is not mandatory when creating a RBAC according to the code in
neutron-client.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1578997/+subscriptions