[openstack-dev] [tricircle] playing tricircle with two node configuration

Yipei Niu newypei at gmail.com
Mon Mar 28 05:25:04 UTC 2016


Hi, all,

After I execute the command "nova boot --flavor 1 --image
c30b097c-b185-4f70-9fcd-09ffdaee5793 --nic
net-id=a9059cde-3065-4615-859a-facd6aa66b76 --availability-zone az1 vm1",
there exist some problem with the argument port. In t-ngw.log, I find that
the status of port switches from ACTIVE to DOWN, which is marked as bold
below. Is it the reason why I failed to boot a VM?

2016-03-28 11:49:44.026 ^[[00;32mDEBUG neutronclient.client
[^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin
admin^[[00;32m] ^[[01;35m^[[00;32mREQ: curl -i
http://192.168.56.101:9696//v2.0/ports.json -X POST -H "User-Agent:
python-neutronclient" -H "X-Auth-Token: 7cfcfb91173a4920adaf24db7eebd773"
-d '{"port": {"network_id": "a9059cde-3065-4615-859a-facd6aa66b76",
"admin_state_up": true}}'^[[00m ^[[00;33mfrom (pid=17537) http_log_req
/usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.py:141^[[00m
2016-03-28 11:49:44.254 ^[[00;32mDEBUG neutronclient.client
[^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin
admin^[[00;32m] ^[[01;35m^[[00;32mRESP: 201 {'Date': 'Mon, 28 Mar 2016
03:49:44 GMT', 'Connection': 'keep-alive', 'Content-Type':
'application/json; charset=UTF-8', 'Content-Length': '384',
'X-Openstack-Request-Id': 'req-b824dc9e-2fcf-4922-96a5-83beb1f0bff3'}
{"port": {*"status": "ACTIVE"*, "name": "", "admin_state_up": true,
"network_id": "a9059cde-3065-4615-859a-facd6aa66b76", "tenant_id":
"29a524d386754a94850277afea1e569f", "device_owner": "", "mac_address":
"fa:16:3e:11:bd:09", "fixed_ips": [{"subnet_id":
"2bb5f6fd-01b5-4ad3-ac41-eb8a89a6323d", "ip_address": "10.0.8.5"}], "id":
"e27dc15d-188f-4d60-a38c-f48052d6330b", "device_id": ""}}^[[00m
^[[00;33mfrom (pid=17537) http_log_resp
/usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.py:150^[[00m
2016-03-28 11:49:44.277 ^[[00;32mDEBUG neutronclient.client
[^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin
admin^[[00;32m] ^[[01;35m^[[00;32mREQ: curl -i
http://192.168.56.101:20001//v2.0/ports.json -X POST -H "User-Agent:
python-neutronclient" -H "X-Auth-Token: 7cfcfb91173a4920adaf24db7eebd773"
-d '{"port": {"name": "e27dc15d-188f-4d60-a38c-f48052d6330b",
"admin_state_up": true, "network_id":
"25ebd3c0-ae47-4e77-be35-16d815bffe5c", "tenant_id":
"29a524d386754a94850277afea1e569f", "mac_address": "fa:16:3e:11:bd:09",
"fixed_ips": [{"subnet_id": "fd1abd0d-9398-4848-a3cf-57858868a480",
"ip_address": "10.0.8.5"}]}}'^[[00m ^[[00;33mfrom (pid=17537) http_log_req
/usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.py:141^[[00m
2016-03-28 11:49:44.669 ^[[00;32mDEBUG neutronclient.client
[^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin
admin^[[00;32m] ^[[01;35m^[[00;32mRESP: 201 {'Date': 'Mon, 28 Mar 2016
03:49:44 GMT', 'Connection': 'keep-alive', 'Content-Type':
'application/json; charset=UTF-8', 'Content-Length': '808',
'X-Openstack-Request-Id': 'req-d286f85c-bc4b-4d7c-9915-666fe13b48b5'}
{"port": {*"status": "DOWN"*, "binding:host_id": "",
"allowed_address_pairs": [], "dns_assignment": [{"hostname":
"host-10-0-8-5", "ip_address": "10.0.8.5", "fqdn":
"host-10-0-8-5.openstacklocal."}], "device_owner": "", "binding:profile":
{}, "port_security_enabled": true, "fixed_ips": [{"subnet_id":
"fd1abd0d-9398-4848-a3cf-57858868a480", "ip_address": "10.0.8.5"}], "id":
"0bbf77a4-c4e4-43ad-89a0-e55f053ef4da", "security_groups":
["16f02958-2a4f-4f58-b560-b9fa76be1b0c"], "device_id": "", "name":
"e27dc15d-188f-4d60-a38c-f48052d6330b", "admin_state_up": true,
"network_id": "25ebd3c0-ae47-4e77-be35-16d815bffe5c", "dns_name": "",
"binding:vif_details": {}, "binding:vnic_type": "normal",
"binding:vif_type": "unbound", "tenant_id":
"29a524d386754a94850277afea1e569f", "mac_address":
"fa:16:3e:11:bd:09"}}^[[00m ^[[00;33mfrom (pid=17537) http_log_resp
/usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.py:150^[[00m
2016-03-28 11:49:44.810 ^[[00;36mINFO eventlet.wsgi.server
[^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin
admin^[[00;36m] ^[[01;35m^[[00;36mTraceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 454,
in handle_one_response
    result = self.application(self.environ, start_response)
  File
"/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive.py",
line 56, in __call__
    return self.application(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in
__call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in
call_func
    return self.func(req, *args, **kwargs)
  File
"/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py",
line 456, in __call__
    response = req.get_response(self._app)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1317, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1281, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in
__call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in
call_func
    return self.func(req, *args, **kwargs)
  File
"/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id.py",
line 37, in __call__
    response = req.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1317, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 454,
in handle_one_response
    result = self.application(self.environ, start_response)
  File
"/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive.py",
line 56, in __call__
    return self.application(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in
__call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in
call_func
    return self.func(req, *args, **kwargs)
  File
"/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py",
line 456, in __call__
    response = req.get_response(self._app)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1317, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1281, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in
__call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in
call_func
    return self.func(req, *args, **kwargs)
  File
"/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id.py",
line 37, in __call__
    response = req.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1317, in send
    application, catch_exc_info=False)
    return self.func(req, *args, **kwargs)
  File
"/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id.py",
line 37, in __call__
    response = req.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line
1317, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 829, in
__call__
    return super(Pecan, self).__call__(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 678, in
__call__
    self.invoke_controller(controller, args, kwargs, state)
  File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 572, in
invoke_controller
    result = controller(*args, **kwargs)
  File "/opt/stack/tricircle/tricircle/nova_apigw/controllers/server.py",
line 376, in post
    nics=nics)
  File "/opt/stack/tricircle/tricircle/common/client.py", line 87, in
handle_args
    return func(*args, **kwargs)
  File "/opt/stack/tricircle/tricircle/common/client.py", line 358, in
create_resources
    return handle.handle_create(cxt, resource, *args, **kwargs)
  File "/opt/stack/tricircle/tricircle/common/resource_handle.py", line
227, in handle_create
    *args, **kwargs).to_dict()
  File "/usr/local/lib/python2.7/dist-packages/novaclient/v2/servers.py",
line 1038, in create
    **boot_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/novaclient/v2/servers.py",
line 555, in _boot
    return_raw=return_raw, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/novaclient/base.py", line
302, in _create
    _resp, body = self.api.client.post(url, body=body)
  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line
451, in post
    return self._cs_request(url, 'POST', **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line
426, in _cs_request
    resp, body = self._time_request(url, method, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line
399, in _time_request
    resp, body = self.request(url, method, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line
393, in request
    raise exceptions.from_response(resp, body, url, method)
*BadRequest: Unknown argument: port (HTTP 400)* (Request-ID:
req-d6719f21-ee97-49ed-a058-a303b16abcf1)
^[[00m
2016-03-28 11:49:44.814 ^[[00;36mINFO eventlet.wsgi.server
[^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin
admin^[[00;36m] ^[[01;35m^[[00;36m192.168.56.101 "POST
/v2.1/29a524d386754a94850277afea1e569f/servers HTTP/1.1" status: 500  len:
139 time: 2.1919141^[[00m

Best regards,
Yipei

On Wed, Mar 23, 2016 at 1:19 PM, Shinobu Kinjo <shinobu.kj at gmail.com> wrote:

> On Wed, Mar 23, 2016 at 12:41 PM, joehuang <joehuang at huawei.com> wrote:
> > Hi, Yipei,
> >
> >
> >
> > When you play Tricircle, it’s important to know that Tricircle is the
> > OpenStack API gateway to other OpenStack instances. In the Readme, Pod1,
> > Pod2 are two OpenStack instances, before trying Tricircle, you can make
> sure
> > the environment is normal or not by executeing command separately on
> Pod1,
> > Pod2, just  Nova –os-region-name Pod1, or Nova –os-region-name Pod2, in
> > fact, because Pod1,Pod2 are two normal OpenStack instances, any command
> to
> > Pod1,Pod2 should be successful.  Otherwise that means there are some
> issue
> > in the installation of the environment itself. Only when each bottom
> > OpenStack can work correctly, then you can even manually add Tricircle,
> or
> > through the scripts in the github to install Tircircle automaticly, as
> the
> > API gateway to Pod1 and Pod2, just like you add one load balancer before
> > your multiple web servers.
>
> Yeah, above explanation is really essential for the tricircle.
>
> >
> >
> >
> > After the Tricircle was added, then the API will flow from Tricircle
> > services like Nova-APIGW/Cinder-APIGW/Neutron API to the bottom Pod1,
> Pod2.
> >
> >
> >
> > So if you use Nova boot, and some error happened, you can ask question:
> >
> > 1.      Is the command sent to the Tricircle Nova-APIGW?
> >
> > 2.      What’ll will do for the Nova-APIGW for the next step?
> >
> > 3.      Is the API request forwarded by Tricircle correctly to the proper
> > bottom OpenStack?
> >
> > 4.      Is the bottom OpenStack working normal even without Tricircle?
> >
> > 5.      Is the API request forwarded by Tricircle includes the correct
> > request content?
> >
> > 6.      …
> >
> >
> >
> > You can carry the map before you try to fix the issue. And break down a
> big
> > system into smaller part, and make sure which part works fine, which not
> in
> > order.
> >
> >
> >
> > From the information you provided, can’t make judgment the error is
> occurred
> > at Tricircle services, or bottom pod, or which pod. Don’t know which step
> > the error occurred. And don’t know the request information, how the
> > requested will be routed and processed, a lot of context needed to
> diagnose
> > an error.
> >
> >
> >
> > Best Regards
> >
> > Chaoyi Huang ( Joe Huang )
> >
> >
> >
> > From: Yipei Niu [mailto:newypei at gmail.com]
> > Sent: Wednesday, March 23, 2016 10:36 AM
> > To: OpenStack Development Mailing List (not for usage questions)
> > Cc: joehuang; Zhiyuan Cai
> > Subject: [tricircle] playing tricircle with two node configuration
> >
> >
> >
> > Hi, Joe and Zhiyuan,
> >
> >
> >
> > I have already finished installing devstack in two nodes with tricircle.
> I
> > encounter some errors when testing cross-pod L3 networking with
> DevStack. I
> > followed the README.md in github, every thing goes well until I boot
> virtual
> > machines with the following command:
> >
> >
> >
> > nova boot --flavor 1 --image 60a8184b-a4be-463d-a8a1-48719edc37a3 --nic
> > net-id=76356099-f3bd-40a5-83bd-600b78b671eb --availability-zone az1 vm1
> >
> >
> >
> > The info in the terminal is as follows:
> >
> > Your request was processed by a Nova API which does not support
> > microversions (X-OpenStack-Nova-API-Version header is missing from
> > response). Warning: Response may be incorrect.
> >
> > Your request was processed by a Nova API which does not support
> > microversions (X-OpenStack-Nova-API-Version header is missing from
> > response). Warning: Response may be incorrect.
> >
> > Your request was processed by a Nova API which does not support
> > microversions (X-OpenStack-Nova-API-Version header is missing from
> > response). Warning: Response may be incorrect.
> >
> > ERROR (ClientException): Unknown Error (HTTP 500)
> >
> >
> >
> > I run rejoin-stack.sh and find some error in n-api screen. In n-api.log,
> the
> > error is as follows:
> >
> > 2016-03-22 19:19:38.248 ^[[01;31mERROR nova.api.openstack.extensions
> > [^[[01;36mreq-cf58e7aa-bd7d-483f-aa57-bca5268ce963 ^[[00;36madmin
> > admin^[[01;31m] ^[[01;35m^[[01;31mUnexpected exception in API
> method^[[00m
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00mTraceback (most recent call last):
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/openstack/extensions.py",
> > line 478, in wrapped
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    return f(*args, **kwargs)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/validation/__init__.py",
> > line 73, in wrapper
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    return func(*args, **kwargs)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/api/validation/__init__.py",
> > line 73, in wrapper
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    return func(*args, **kwargs)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File
> > "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 604, in
> create
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    **create_kwargs)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/hooks.py", line 149, in inner
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    rv = f(*args, **kwargs)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 1504,
> in
> > create
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    check_server_group_quota=check_server_group_quota)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 1097,
> in
> > _create_instance
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    auto_disk_config, reservation_id, max_count)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 871, in
> > _validate_and_build_base_options
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    pci_request_info, requested_networks)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/network/neutronv2/api.py",
> line
> > 981, in create_pci_requests_for_sriov_ports
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    neutron = get_client(context, admin=True)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/network/neutronv2/api.py",
> line
> > 149, in get_client
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    _ADMIN_AUTH = _load_auth_plugin(CONF)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m  File "/opt/stack/nova/nova/network/neutronv2/api.py",
> line
> > 125, in _load_auth_plugin
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m    raise neutron_client_exc.Unauthorized(message=err_msg)
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00mUnauthorized: Unknown auth plugin: None
> >
> > ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions
> > ^[[01;35m^[[00m
> >
> > 2016-03-22 20:04:19.992 ^[[00;36mINFO nova.api.openstack.wsgi
> > [^[[01;36mreq-ed35efe8-5dc0-40b0-bb2b-c1a73618aa50 ^[[00;36madmin
> > admin^[[00;36m] ^[[01;35m^[[00;36mHTTP exception thrown: Unexpected API
> > Error. Please report this at http://bugs.launchpad.net/nova/ and attach
> the
> > Nova API log if possible.
> >
> > <class 'neutronclient.common.exceptions.Unauthorized'>^[[00m
> >
> > 2016-03-22 20:04:19.993 ^[[00;32mDEBUG nova.api.openstack.wsgi
> > [^[[01;36mreq-ed35efe8-5dc0-40b0-bb2b-c1a73618aa50 ^[[00;36madmin
> > admin^[[00;32m] ^[[01;35m^[[00;32mReturning 500 to user: Unexpected API
> > Error. Please report this at http://bugs.launchpad.net/nova/ and attach
> the
> > Nova API log if possible.
> >
> > <class 'neutronclient.common.exceptions.Unauthorized'>^[[00m
> ^[[00;33mfrom
> > (pid=17273) __call__
> /opt/stack/nova/nova/api/openstack/wsgi.py:1180^[[00m
> >
> > 2016-03-22 20:04:20.007 ^[[00;36mINFO nova.osapi_compute.wsgi.server
> > [^[[01;36mreq-ed35efe8-5dc0-40b0-bb2b-c1a73618aa50 ^[[00;36madmin
> > admin^[[00;36m] ^[[01;35m^[[00;36m192.168.56.101 "POST
> > /v2.1/1f824c3b19a64fa1a401125f41324731/servers HTTP/1.1" status: 500 len:
> > 520 time: 1.1018770^[[00m
> >
> >
> >
> > Best regards,
> >
> > Yipei
> >
> >
> >
> __________________________________________________________________________
> > OpenStack Development Mailing List (not for usage questions)
> > Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
>
>
>
> --
> Email:
> shinobu at linux.com
> GitHub:
> shinobu-x
> Blog:
> Life with Distributed Computational System based on OpenSource
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160328/bb5780f7/attachment.html>


More information about the OpenStack-dev mailing list