Openstack seems to support adding an extra route to the router via "neutron router-update" command however when tried
results in below error. Please see the request body in below log
2015-10-22 19:42:48.378 DEBUG [keystonemiddleware.auth_token] Removing headers from request environment: X-Service-Catalog,X-Identity-Status,X-Roles,X-Service-Roles,X-Domain-Name,X-Service-Domain-Name,X-Project-Id,X-Service-Project-Id,X-Project-Domain-Name,X-Service-Project-Domain-Name,X-User-Id,X-Service-User-Id,X-User-Name,X-Service-User-Name,X-Project-Name,X-Service-Project-Name,X-User-Domain-Id,X-Service-User-Domain-Id,X-Domain-Id,X-Service-Domain-Id,X-User-Domain-Name,X-Service-User-Domain-Name,X-Project-Domain-Id,X-Service-Project-Domain-Id,X-Role,X-User,X-Tenant-Name,X-Tenant-Id,X-Tenant
2015-10-22 19:42:48.378 DEBUG [keystonemiddleware.auth_token] Authenticating user token
2015-10-22 19:42:48.379 DEBUG [keystonemiddleware.auth_token] Returning cached token
2015-10-22 19:42:48.379 DEBUG [keystonemiddleware.auth_token] Authenticating service token
2015-10-22 19:42:48.379 DEBUG [keystonemiddleware.auth_token] Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
2015-10-22 19:42:48.380 DEBUG [routes.middleware] Matched PUT /routers/c262014e-8975-4e82-b08c-08085d9891ce
2015-10-22 19:42:48.380 DEBUG [routes.middleware] Route path: '/routers/:(id)', defaults: {'action': u'update', 'controller': <wsgify at 84389136 wrapping <function resource at 0x50795f0>>}
2015-10-22 19:42:48.380 DEBUG [routes.middleware] Match dict: {'action': u'update', 'controller': <wsgify at 84389136 wrapping <function resource at 0x50795f0>>, 'id': u'c262014e-8975-4e82-b08c-08085d9891ce'}
2015-10-22 19:42:48.389 DEBUG [neutron.api.v2.base] Request body: {u'router': {u'routes': [{u'destination': u'10.100.0.0/28', u'nexthop': u'10.100.0.2'}]}}
2015-10-22 19:42:48.389 ERROR [neutron.api.v2.resource] update failed
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 87, in resource
result = method(request=request, **args)
File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 501, in update
allow_bulk=self._allow_bulk)
File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 603, in prepare_request_body
Controller._verify_attributes(res_dict, attr_info)
File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 650, in _verify_attributes
raise webob.exc.HTTPBadRequest(msg)
HTTPBadRequest: Unrecognized attribute(s) 'routes'
2015-10-22 19:42:48.390 INFO [neutron.wsgi] 10.84.5.192,10.84.24.8 - - [22/Oct/2015 19:42:48] "PUT /v2.0/routers/c262014e-8975-4e82-b08c-08085d9891ce HTTP/1.1" 400 325 0.012609
Openstack seems to support adding an extra route to the router via "neutron router-update" command however when tried
results in below error. Please see the request body in below log
2015-10-22 19:42:48.378 DEBUG [keystonemiddle ware.auth_ token] Removing headers from request environment: X-Service- Catalog, X-Identity- Status, X-Roles, X-Service- Roles,X- Domain- Name,X- Service- Domain- Name,X- Project- Id,X-Service- Project- Id,X-Project- Domain- Name,X- Service- Project- Domain- Name,X- User-Id, X-Service- User-Id, X-User- Name,X- Service- User-Name, X-Project- Name,X- Service- Project- Name,X- User-Domain- Id,X-Service- User-Domain- Id,X-Domain- Id,X-Service- Domain- Id,X-User- Domain- Name,X- Service- User-Domain- Name,X- Project- Domain- Id,X-Service- Project- Domain- Id,X-Role, X-User, X-Tenant- Name,X- Tenant- Id,X-Tenant ware.auth_ token] Authenticating user token ware.auth_ token] Returning cached token ware.auth_ token] Authenticating service token ware.auth_ token] Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None c262014e- 8975-4e82- b08c-08085d9891 ce 8975-4e82- b08c-08085d9891 ce'} api.v2. base] Request body: {u'router': {u'routes': [{u'destination': u'10.100.0.0/28', u'nexthop': u'10.100.0.2'}]}} api.v2. resource] update failed python2. 7/site- packages/ neutron/ api/v2/ resource. py", line 87, in resource request= request, **args) python2. 7/site- packages/ neutron/ api/v2/ base.py" , line 501, in update bulk=self. _allow_ bulk) python2. 7/site- packages/ neutron/ api/v2/ base.py" , line 603, in prepare_ request_ body _verify_ attributes( res_dict, attr_info) python2. 7/site- packages/ neutron/ api/v2/ base.py" , line 650, in _verify_attributes HTTPBadRequest( msg) 192,10. 84.24.8 - - [22/Oct/2015 19:42:48] "PUT /v2.0/routers/ c262014e- 8975-4e82- b08c-08085d9891 ce HTTP/1.1" 400 325 0.012609
2015-10-22 19:42:48.378 DEBUG [keystonemiddle
2015-10-22 19:42:48.379 DEBUG [keystonemiddle
2015-10-22 19:42:48.379 DEBUG [keystonemiddle
2015-10-22 19:42:48.379 DEBUG [keystonemiddle
2015-10-22 19:42:48.380 DEBUG [routes.middleware] Matched PUT /routers/
2015-10-22 19:42:48.380 DEBUG [routes.middleware] Route path: '/routers/:(id)', defaults: {'action': u'update', 'controller': <wsgify at 84389136 wrapping <function resource at 0x50795f0>>}
2015-10-22 19:42:48.380 DEBUG [routes.middleware] Match dict: {'action': u'update', 'controller': <wsgify at 84389136 wrapping <function resource at 0x50795f0>>, 'id': u'c262014e-
2015-10-22 19:42:48.389 DEBUG [neutron.
2015-10-22 19:42:48.389 ERROR [neutron.
Traceback (most recent call last):
File "/usr/lib/
result = method(
File "/usr/lib/
allow_
File "/usr/lib/
Controller.
File "/usr/lib/
raise webob.exc.
HTTPBadRequest: Unrecognized attribute(s) 'routes'
2015-10-22 19:42:48.390 INFO [neutron.wsgi] 10.84.5.