<div dir="ltr">Hi, all,<div><br></div><div>I follow the advice given by Zhiyuan, and it works. For the port error, somebody removes the line "iniset $NOVA_CONF DEFAULT network_api_class nova.network.neutronv2.api.API" in lib/neutron-legacy. For the <span style="font-size:12.8px">unknown auth_plugin error in the first mail, somebody changes the auth_plugin to auth_type in lib/neutron-legacy, but the loader still searches auth_plugin for configuration in nova/network/neutronv2/api.py, which therefore leads to none in auth_plugin option. I change the files to their original versions, respectively. Now I have booted two VMs successfully. Is the solution OK?</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">BTW, I have some trouble with creating router and I am trying to fix it.</span></div><div><br></div><div>Best regards,</div><div>Yipei</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 29, 2016 at 2:25 PM, joehuang <span dir="ltr"><<a href="mailto:joehuang@huawei.com" target="_blank">joehuang@huawei.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think we can do it later. It's still a little bit strange that if nova-network in the Local.conf is disabled at first before devstack installation, the devstack should use Neutron instead, not sure how clean Yipei's environment is.<br>
<br>
I suggest Yipei to use clean virtual machines running in virtualbox, and follow the readme[1] and pengfei's experience[2] to install Tricircle.<br>
<br>
[1] <a href="https://github.com/openstack/tricircle/blob/master/README.md" rel="noreferrer" target="_blank">https://github.com/openstack/tricircle/blob/master/README.md</a><br>
[2] <a href="http://shipengfei92.cn/play_tricircle_with_virtualbox" rel="noreferrer" target="_blank">http://shipengfei92.cn/play_tricircle_with_virtualbox</a><br>
<span class=""><br>
Best Regards<br>
Chaoyi Huang ( Joe Huang )<br>
<br>
<br>
</span><span class="">-----Original Message-----<br>
From: Shinobu Kinjo [mailto:<a href="mailto:shinobu.kj@gmail.com">shinobu.kj@gmail.com</a>]<br>
Sent: Tuesday, March 29, 2016 10:48 AM<br>
To: OpenStack Development Mailing List (not for usage questions)<br>
</span><span class="">Cc: Yipei Niu<br>
Subject: Re: [openstack-dev] [tricircle] playing tricircle with two node configuration<br>
<br>
</span><div><div class="h5">Sorry for interruption.<br>
<br>
>> I followed the README.md in github, every thing goes well until I<br>
>> boot virtual machines with the following command<br>
<br>
Point here is that even Yipei was following READM provided by us, setting up the tricircle was failed. [1] It may be required to review it, I think.<br>
<br>
[1] <a href="https://github.com/openstack/tricircle/blob/master/README.md" rel="noreferrer" target="_blank">https://github.com/openstack/tricircle/blob/master/README.md</a><br>
<br>
Cheers,<br>
Shinobu<br>
<br>
<br>
On Tue, Mar 29, 2016 at 11:21 AM, Vega Cai <<a href="mailto:luckyvega.g@gmail.com">luckyvega.g@gmail.com</a>> wrote:<br>
> Hi Yipei,<br>
><br>
> If you want to use neutron, you need to set "nova_api_class" to<br>
> "nova.network.neutronv2.api.API", "nova.network.api.API" is for nova<br>
> network.<br>
><br>
> Related code:<br>
> <a href="https://github.com/openstack/nova/blob/master/nova/network/__init__.py" rel="noreferrer" target="_blank">https://github.com/openstack/nova/blob/master/nova/network/__init__.py</a><br>
> #L47<br>
><br>
> Simply search "Unknown argument: port" which is the error showed in<br>
> the log in the nova code tree then you can find the above code.<br>
><br>
> Also, if all the services are running but you want to change some of<br>
> the configuration options, you can just modify the configuration files<br>
> then restart the services, so you can quickly check if your<br>
> modification works without restarting devstack.<br>
><br>
> BR<br>
> Zhiyuan<br>
><br>
> On 29 March 2016 at 08:56, Yipei Niu <<a href="mailto:newypei@gmail.com">newypei@gmail.com</a>> wrote:<br>
>><br>
>> Hi, all,<br>
>><br>
>> I checked nova.conf and local.conf both.<br>
>><br>
>> In nova.conf, the option "nova_api_class" is missing while "use_neutron"<br>
>> is set as True. I modify the lib/nova so that the devstack can write<br>
>> "nova_api_class=nova.network.api.API" to nova.conf [1]. However,<br>
>> after installing devstack with tricircle, the same error still happens as before.<br>
>><br>
>> In local.conf, n-net is disabled, which is the same as the sample<br>
>> file of tricircle.<br>
>><br>
>> [1] <a href="http://docs.openstack.org/developer/nova/sample_config.html" rel="noreferrer" target="_blank">http://docs.openstack.org/developer/nova/sample_config.html</a><br>
>><br>
>> Best regards,<br>
>> Yipei<br>
>><br>
>> On Mon, Mar 28, 2016 at 4:46 PM, Shinobu Kinjo <<a href="mailto:shinobu.kj@gmail.com">shinobu.kj@gmail.com</a>><br>
>> wrote:<br>
>>><br>
>>> FYI:<br>
>>> This is the reason is that there is still n-net. [1]<br>
>>><br>
>>> [1]<br>
>>> <a href="http://docs.openstack.org/openstack-ops/content/nova-network-depreca" rel="noreferrer" target="_blank">http://docs.openstack.org/openstack-ops/content/nova-network-depreca</a><br>
>>> tion.html<br>
>>><br>
>>> Cheers,<br>
>>> S<br>
>>><br>
>>> On Mon, Mar 28, 2016 at 5:08 PM, joehuang <<a href="mailto:joehuang@huawei.com">joehuang@huawei.com</a>> wrote:<br>
>>> > Hi,<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > Agree, it’s quite important not to use Nova-network in devstack.<br>
>>> > In devstack local.conf, make sure the Neutron service is enabled<br>
>>> > and Nova-network is disabled.<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > # Use Neutron instead of nova-network<br>
>>> ><br>
>>> > disable_service n-net<br>
>>> ><br>
>>> > enable_service q-svc<br>
>>> ><br>
>>> > enable_service q-svc1<br>
>>> ><br>
>>> > enable_service q-dhcp<br>
>>> ><br>
>>> > enable_service q-agt<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > And also check the configuration in Nova to use Neutron<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > Best Regards<br>
>>> ><br>
>>> > Chaoyi Huang ( Joe Huang )<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > From: Vega Cai [mailto:<a href="mailto:luckyvega.g@gmail.com">luckyvega.g@gmail.com</a>]<br>
>>> > Sent: Monday, March 28, 2016 2:55 PM<br>
>>> > To: Yipei Niu<br>
>>> > Cc: OpenStack Development Mailing List (not for usage questions);<br>
>>> > joehuang<br>
>>> > Subject: Re: [openstack-dev] [tricircle] playing tricircle with<br>
>>> > two node configuration<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > Hi Yipei,<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > Check "network_api_class" and "use_neutron" options in your nova.conf.<br>
>>> > It<br>
>>> > seems that your nova API is not configured to use neutron.<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > BR<br>
>>> ><br>
>>> > Zhiyuan<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > On 28 March 2016 at 13:25, Yipei Niu <<a href="mailto:newypei@gmail.com">newypei@gmail.com</a>> wrote:<br>
>>> ><br>
>>> > Hi, all,<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > After I execute the command "nova boot --flavor 1 --image<br>
>>> > c30b097c-b185-4f70-9fcd-09ffdaee5793 --nic<br>
>>> > net-id=a9059cde-3065-4615-859a-facd6aa66b76 --availability-zone<br>
>>> > az1 vm1", there exist some problem with the argument port. In<br>
>>> > t-ngw.log, I find that the status of port switches from ACTIVE to<br>
>>> > DOWN, which is marked as bold below. Is it the reason why I failed<br>
>>> > to boot a VM?<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > 2016-03-28 11:49:44.026 ^[[00;32mDEBUG neutronclient.client<br>
>>> > [^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin<br>
>>> > admin^[[00;32m] ^[[01;35m^[[00;32mREQ: curl -i<br>
>>> > <a href="http://192.168.56.101:9696//v2.0/ports.json" rel="noreferrer" target="_blank">http://192.168.56.101:9696//v2.0/ports.json</a> -X POST -H "User-Agent:<br>
>>> > python-neutronclient" -H "X-Auth-Token:<br>
>>> > 7cfcfb91173a4920adaf24db7eebd773" -d<br>
>>> > '{"port": {"network_id": "a9059cde-3065-4615-859a-facd6aa66b76",<br>
>>> > "admin_state_up": true}}'^[[00m ^[[00;33mfrom (pid=17537)<br>
>>> > http_log_req<br>
>>> ><br>
>>> > /usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.<br>
>>> > py:141^[[00m<br>
>>> ><br>
>>> > 2016-03-28 11:49:44.254 ^[[00;32mDEBUG neutronclient.client<br>
>>> > [^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin<br>
>>> > admin^[[00;32m] ^[[01;35m^[[00;32mRESP: 201 {'Date': 'Mon, 28 Mar<br>
>>> > 2016<br>
>>> > 03:49:44 GMT', 'Connection': 'keep-alive', 'Content-Type':<br>
>>> > 'application/json; charset=UTF-8', 'Content-Length': '384',<br>
>>> > 'X-Openstack-Request-Id':<br>
>>> > 'req-b824dc9e-2fcf-4922-96a5-83beb1f0bff3'}<br>
>>> > {"port": {"status": "ACTIVE", "name": "", "admin_state_up": true,<br>
>>> > "network_id": "a9059cde-3065-4615-859a-facd6aa66b76", "tenant_id":<br>
>>> > "29a524d386754a94850277afea1e569f", "device_owner": "", "mac_address":<br>
>>> > "fa:16:3e:11:bd:09", "fixed_ips": [{"subnet_id":<br>
>>> > "2bb5f6fd-01b5-4ad3-ac41-eb8a89a6323d", "ip_address":<br>
>>> > "10.0.8.5"}],<br>
>>> > "id":<br>
>>> > "e27dc15d-188f-4d60-a38c-f48052d6330b", "device_id": ""}}^[[00m<br>
>>> > ^[[00;33mfrom (pid=17537) http_log_resp<br>
>>> ><br>
>>> > /usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.<br>
>>> > py:150^[[00m<br>
>>> ><br>
>>> > 2016-03-28 11:49:44.277 ^[[00;32mDEBUG neutronclient.client<br>
>>> > [^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin<br>
>>> > admin^[[00;32m] ^[[01;35m^[[00;32mREQ: curl -i<br>
>>> > <a href="http://192.168.56.101:20001//v2.0/ports.json" rel="noreferrer" target="_blank">http://192.168.56.101:20001//v2.0/ports.json</a> -X POST -H "User-Agent:<br>
>>> > python-neutronclient" -H "X-Auth-Token:<br>
>>> > 7cfcfb91173a4920adaf24db7eebd773" -d<br>
>>> > '{"port": {"name": "e27dc15d-188f-4d60-a38c-f48052d6330b",<br>
>>> > "admin_state_up":<br>
>>> > true, "network_id": "25ebd3c0-ae47-4e77-be35-16d815bffe5c",<br>
>>> > "tenant_id":<br>
>>> > "29a524d386754a94850277afea1e569f", "mac_address":<br>
>>> > "fa:16:3e:11:bd:09",<br>
>>> > "fixed_ips": [{"subnet_id":<br>
>>> > "fd1abd0d-9398-4848-a3cf-57858868a480",<br>
>>> > "ip_address": "10.0.8.5"}]}}'^[[00m ^[[00;33mfrom (pid=17537)<br>
>>> > http_log_req<br>
>>> ><br>
>>> > /usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.<br>
>>> > py:141^[[00m<br>
>>> ><br>
>>> > 2016-03-28 11:49:44.669 ^[[00;32mDEBUG neutronclient.client<br>
>>> > [^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin<br>
>>> > admin^[[00;32m] ^[[01;35m^[[00;32mRESP: 201 {'Date': 'Mon, 28 Mar<br>
>>> > 2016<br>
>>> > 03:49:44 GMT', 'Connection': 'keep-alive', 'Content-Type':<br>
>>> > 'application/json; charset=UTF-8', 'Content-Length': '808',<br>
>>> > 'X-Openstack-Request-Id':<br>
>>> > 'req-d286f85c-bc4b-4d7c-9915-666fe13b48b5'}<br>
>>> > {"port": {"status": "DOWN", "binding:host_id": "",<br>
>>> > "allowed_address_pairs":<br>
>>> > [], "dns_assignment": [{"hostname": "host-10-0-8-5", "ip_address":<br>
>>> > "10.0.8.5", "fqdn": "host-10-0-8-5.openstacklocal."}], "device_owner":<br>
>>> > "",<br>
>>> > "binding:profile": {}, "port_security_enabled": true, "fixed_ips":<br>
>>> > [{"subnet_id": "fd1abd0d-9398-4848-a3cf-57858868a480", "ip_address":<br>
>>> > "10.0.8.5"}], "id": "0bbf77a4-c4e4-43ad-89a0-e55f053ef4da",<br>
>>> > "security_groups": ["16f02958-2a4f-4f58-b560-b9fa76be1b0c"],<br>
>>> > "device_id":<br>
>>> > "", "name": "e27dc15d-188f-4d60-a38c-f48052d6330b", "admin_state_up":<br>
>>> > true,<br>
>>> > "network_id": "25ebd3c0-ae47-4e77-be35-16d815bffe5c", "dns_name":<br>
>>> > "",<br>
>>> > "binding:vif_details": {}, "binding:vnic_type": "normal",<br>
>>> > "binding:vif_type": "unbound", "tenant_id":<br>
>>> > "29a524d386754a94850277afea1e569f", "mac_address":<br>
>>> > "fa:16:3e:11:bd:09"}}^[[00m ^[[00;33mfrom (pid=17537)<br>
>>> > http_log_resp<br>
>>> ><br>
>>> > /usr/local/lib/python2.7/dist-packages/neutronclient/common/utils.<br>
>>> > py:150^[[00m<br>
>>> ><br>
>>> > 2016-03-28 11:49:44.810 ^[[00;36mINFO eventlet.wsgi.server<br>
>>> > [^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin<br>
>>> > admin^[[00;36m] ^[[01;35m^[[00;36mTraceback (most recent call last):<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py",<br>
>>> > line 454, in handle_one_response<br>
>>> ><br>
>>> >     result = self.application(self.environ, start_response)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive<br>
>>> > .py",<br>
>>> > line<br>
>>> > 56, in __call__<br>
>>> ><br>
>>> >     return self.application(environ, start_response)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 130, in __call__<br>
>>> ><br>
>>> >     resp = self.call_func(req, *args, **self.kwargs)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 195, in call_func<br>
>>> ><br>
>>> >     return self.func(req, *args, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> ><br>
>>> > "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_to<br>
>>> > ken/__init__.py",<br>
>>> > line 456, in __call__<br>
>>> ><br>
>>> >     response = req.get_response(self._app)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1317, in send<br>
>>> ><br>
>>> >     application, catch_exc_info=False)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1281, in call_application<br>
>>> ><br>
>>> >     app_iter = application(self.environ, start_response)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 130, in __call__<br>
>>> ><br>
>>> >     resp = self.call_func(req, *args, **self.kwargs)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 195, in call_func<br>
>>> ><br>
>>> >     return self.func(req, *args, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id<br>
>>> > .py",<br>
>>> > line<br>
>>> > 37, in __call__<br>
>>> ><br>
>>> >     response = req.get_response(self.application)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1317, in send<br>
>>> ><br>
>>> >     application, catch_exc_info=False)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py",<br>
>>> > line 454, in handle_one_response<br>
>>> ><br>
>>> >     result = self.application(self.environ, start_response)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive<br>
>>> > .py",<br>
>>> > line<br>
>>> > 56, in __call__<br>
>>> ><br>
>>> >     return self.application(environ, start_response)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 130, in __call__<br>
>>> ><br>
>>> >     resp = self.call_func(req, *args, **self.kwargs)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 195, in call_func<br>
>>> ><br>
>>> >     return self.func(req, *args, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> ><br>
>>> > "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_to<br>
>>> > ken/__init__.py",<br>
>>> > line 456, in __call__<br>
>>> ><br>
>>> >     response = req.get_response(self._app)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1317, in send<br>
>>> ><br>
>>> >     application, catch_exc_info=False)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1281, in call_application<br>
>>> ><br>
>>> >     app_iter = application(self.environ, start_response)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 130, in __call__<br>
>>> ><br>
>>> >     resp = self.call_func(req, *args, **self.kwargs)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line<br>
>>> > 195, in call_func<br>
>>> ><br>
>>> >     return self.func(req, *args, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id<br>
</div></div><div><div class="h5">>>> > .py",<br>
>>> > line<br>
>>> > 37, in __call__<br>
>>> ><br>
>>> >     response = req.get_response(self.application)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1317, in send<br>
>>> ><br>
>>> >     application, catch_exc_info=False)<br>
>>> ><br>
>>> >     return self.func(req, *args, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id<br>
>>> > .py",<br>
>>> > line<br>
>>> > 37, in __call__<br>
>>> ><br>
>>> >     response = req.get_response(self.application)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/webob/request.py",<br>
>>> > line 1317, in send<br>
>>> ><br>
>>> >     application, catch_exc_info=False)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/pecan/core.py",<br>
>>> > line 829, in __call__<br>
>>> ><br>
>>> >     return super(Pecan, self).__call__(environ, start_response)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/pecan/core.py",<br>
>>> > line 678, in __call__<br>
>>> ><br>
>>> >     self.invoke_controller(controller, args, kwargs, state)<br>
>>> ><br>
>>> >   File "/usr/local/lib/python2.7/dist-packages/pecan/core.py",<br>
>>> > line 572, in invoke_controller<br>
>>> ><br>
>>> >     result = controller(*args, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/opt/stack/tricircle/tricircle/nova_apigw/controllers/server.py",<br>
>>> > line 376, in post<br>
>>> ><br>
>>> >     nics=nics)<br>
>>> ><br>
>>> >   File "/opt/stack/tricircle/tricircle/common/client.py", line 87,<br>
>>> > in handle_args<br>
>>> ><br>
>>> >     return func(*args, **kwargs)<br>
>>> ><br>
>>> >   File "/opt/stack/tricircle/tricircle/common/client.py", line<br>
>>> > 358, in create_resources<br>
>>> ><br>
>>> >     return handle.handle_create(cxt, resource, *args, **kwargs)<br>
>>> ><br>
>>> >   File "/opt/stack/tricircle/tricircle/common/resource_handle.py",<br>
>>> > line 227, in handle_create<br>
>>> ><br>
>>> >     *args, **kwargs).to_dict()<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/v2/servers.py",<br>
>>> > line 1038, in create<br>
>>> ><br>
>>> >     **boot_kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/v2/servers.py",<br>
>>> > line 555, in _boot<br>
>>> ><br>
>>> >     return_raw=return_raw, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/base.py",<br>
>>> > line<br>
>>> > 302, in _create<br>
>>> ><br>
>>> >     _resp, body = self.api.client.post(url, body=body)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/client.py",<br>
>>> > line<br>
>>> > 451, in post<br>
>>> ><br>
>>> >     return self._cs_request(url, 'POST', **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/client.py",<br>
>>> > line<br>
>>> > 426, in _cs_request<br>
>>> ><br>
>>> >     resp, body = self._time_request(url, method, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/client.py",<br>
>>> > line<br>
>>> > 399, in _time_request<br>
>>> ><br>
>>> >     resp, body = self.request(url, method, **kwargs)<br>
>>> ><br>
>>> >   File<br>
>>> > "/usr/local/lib/python2.7/dist-packages/novaclient/client.py",<br>
>>> > line<br>
>>> > 393, in request<br>
>>> ><br>
>>> >     raise exceptions.from_response(resp, body, url, method)<br>
>>> ><br>
>>> > BadRequest: Unknown argument: port (HTTP 400) (Request-ID:<br>
>>> > req-d6719f21-ee97-49ed-a058-a303b16abcf1)<br>
>>> ><br>
>>> > ^[[00m<br>
>>> ><br>
>>> > 2016-03-28 11:49:44.814 ^[[00;36mINFO eventlet.wsgi.server<br>
>>> > [^[[01;36mreq-414f74df-019a-425c-8d49-a081706b2bd4 ^[[00;36madmin<br>
>>> > admin^[[00;36m] ^[[01;35m^[[00;36m192.168.56.101 "POST<br>
>>> > /v2.1/29a524d386754a94850277afea1e569f/servers HTTP/1.1" status:<br>
>>> > 500<br>
>>> > len:<br>
>>> > 139 time: 2.1919141^[[00m<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > Best regards,<br>
>>> ><br>
>>> > Yipei<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > On Wed, Mar 23, 2016 at 1:19 PM, Shinobu Kinjo<br>
>>> > <<a href="mailto:shinobu.kj@gmail.com">shinobu.kj@gmail.com</a>><br>
>>> > wrote:<br>
>>> ><br>
>>> > On Wed, Mar 23, 2016 at 12:41 PM, joehuang <<a href="mailto:joehuang@huawei.com">joehuang@huawei.com</a>> wrote:<br>
>>> >> Hi, Yipei,<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> When you play Tricircle, it’s important to know that Tricircle is<br>
>>> >> the OpenStack API gateway to other OpenStack instances. In the<br>
>>> >> Readme, Pod1,<br>
>>> >> Pod2 are two OpenStack instances, before trying Tricircle, you<br>
>>> >> can make sure the environment is normal or not by executeing<br>
>>> >> command separately on Pod1, Pod2, just  Nova –os-region-name<br>
>>> >> Pod1, or Nova –os-region-name Pod2, in fact, because Pod1,Pod2<br>
>>> >> are two normal OpenStack instances, any command to<br>
>>> >> Pod1,Pod2 should be successful.  Otherwise that means there are<br>
>>> >> some issue in the installation of the environment itself. Only<br>
>>> >> when each bottom OpenStack can work correctly, then you can even<br>
>>> >> manually add Tricircle, or through the scripts in the github to<br>
>>> >> install Tircircle automaticly, as the API gateway to Pod1 and<br>
>>> >> Pod2, just like you add one load balancer before your multiple<br>
>>> >> web servers.<br>
>>> ><br>
>>> > Yeah, above explanation is really essential for the tricircle.<br>
>>> ><br>
>>> ><br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> After the Tricircle was added, then the API will flow from<br>
>>> >> Tricircle services like Nova-APIGW/Cinder-APIGW/Neutron API to<br>
>>> >> the bottom Pod1, Pod2.<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> So if you use Nova boot, and some error happened, you can ask<br>
>>> >> question:<br>
>>> >><br>
>>> >> 1.      Is the command sent to the Tricircle Nova-APIGW?<br>
>>> >><br>
>>> >> 2.      What’ll will do for the Nova-APIGW for the next step?<br>
>>> >><br>
>>> >> 3.      Is the API request forwarded by Tricircle correctly to the<br>
>>> >> proper<br>
>>> >> bottom OpenStack?<br>
>>> >><br>
>>> >> 4.      Is the bottom OpenStack working normal even without Tricircle?<br>
>>> >><br>
>>> >> 5.      Is the API request forwarded by Tricircle includes the correct<br>
>>> >> request content?<br>
>>> >><br>
>>> >> 6.      …<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> You can carry the map before you try to fix the issue. And break<br>
>>> >> down a big system into smaller part, and make sure which part<br>
>>> >> works fine, which not in order.<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> From the information you provided, can’t make judgment the error<br>
>>> >> is occurred at Tricircle services, or bottom pod, or which pod.<br>
>>> >> Don’t know which step the error occurred. And don’t know the<br>
>>> >> request information, how the requested will be routed and<br>
>>> >> processed, a lot of context needed to diagnose an error.<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Best Regards<br>
>>> >><br>
>>> >> Chaoyi Huang ( Joe Huang )<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> From: Yipei Niu [mailto:<a href="mailto:newypei@gmail.com">newypei@gmail.com</a>]<br>
>>> >> Sent: Wednesday, March 23, 2016 10:36 AM<br>
>>> >> To: OpenStack Development Mailing List (not for usage questions)<br>
>>> >> Cc: joehuang; Zhiyuan Cai<br>
>>> >> Subject: [tricircle] playing tricircle with two node<br>
>>> >> configuration<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Hi, Joe and Zhiyuan,<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> I have already finished installing devstack in two nodes with<br>
>>> >> tricircle. I encounter some errors when testing cross-pod L3<br>
>>> >> networking with DevStack.<br>
>>> >> I<br>
>>> >> followed the README.md in github, every thing goes well until I<br>
>>> >> boot virtual machines with the following command:<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> nova boot --flavor 1 --image 60a8184b-a4be-463d-a8a1-48719edc37a3<br>
>>> >> --nic<br>
>>> >> net-id=76356099-f3bd-40a5-83bd-600b78b671eb --availability-zone<br>
>>> >> az1<br>
>>> >> vm1<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> The info in the terminal is as follows:<br>
>>> >><br>
>>> >> Your request was processed by a Nova API which does not support<br>
>>> >> microversions (X-OpenStack-Nova-API-Version header is missing<br>
>>> >> from response). Warning: Response may be incorrect.<br>
>>> >><br>
>>> >> Your request was processed by a Nova API which does not support<br>
>>> >> microversions (X-OpenStack-Nova-API-Version header is missing<br>
>>> >> from response). Warning: Response may be incorrect.<br>
>>> >><br>
>>> >> Your request was processed by a Nova API which does not support<br>
>>> >> microversions (X-OpenStack-Nova-API-Version header is missing<br>
>>> >> from response). Warning: Response may be incorrect.<br>
>>> >><br>
>>> >> ERROR (ClientException): Unknown Error (HTTP 500)<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> I run rejoin-stack.sh and find some error in n-api screen. In<br>
>>> >> n-api.log, the error is as follows:<br>
>>> >><br>
>>> >> 2016-03-22 19:19:38.248 ^[[01;31mERROR<br>
>>> >> nova.api.openstack.extensions<br>
>>> >> [^[[01;36mreq-cf58e7aa-bd7d-483f-aa57-bca5268ce963 ^[[00;36madmin<br>
>>> >> admin^[[01;31m] ^[[01;35m^[[01;31mUnexpected exception in API<br>
>>> >> method^[[00m<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00mTraceback (most recent call last):<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/api/openstack/extensions.py",<br>
>>> >> line 478, in wrapped<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    return f(*args, **kwargs)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/api/validation/__init__.py",<br>
>>> >> line 73, in wrapper<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    return func(*args, **kwargs)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/api/validation/__init__.py",<br>
>>> >> line 73, in wrapper<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    return func(*args, **kwargs)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/api/openstack/compute/servers.py", line<br>
>>> >> 604, in create<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    **create_kwargs)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/hooks.py", line 149, in inner<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    rv = f(*args, **kwargs)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/compute/api.py", line 1504, in create<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    check_server_group_quota=check_server_group_quota)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/compute/api.py", line 1097, in<br>
>>> >> _create_instance<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    auto_disk_config, reservation_id, max_count)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/compute/api.py", line 871, in<br>
>>> >> _validate_and_build_base_options<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    pci_request_info, requested_networks)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/network/neutronv2/api.py",<br>
>>> >> line<br>
>>> >> 981, in create_pci_requests_for_sriov_ports<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    neutron = get_client(context, admin=True)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/network/neutronv2/api.py",<br>
>>> >> line<br>
>>> >> 149, in get_client<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    _ADMIN_AUTH = _load_auth_plugin(CONF)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m  File<br>
>>> >> "/opt/stack/nova/nova/network/neutronv2/api.py",<br>
>>> >> line<br>
>>> >> 125, in _load_auth_plugin<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00m    raise<br>
>>> >> neutron_client_exc.Unauthorized(message=err_msg)<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions<br>
>>> >> ^[[01;35m^[[00mUnauthorized: Unknown auth plugin: None<br>
>>> >><br>
>>> >> ^[[01;31m2016-03-22 19:19:38.248 TRACE<br>
>>> >> nova.api.openstack.extensions ^[[01;35m^[[00m<br>
>>> >><br>
>>> >> 2016-03-22 20:04:19.992 ^[[00;36mINFO nova.api.openstack.wsgi<br>
>>> >> [^[[01;36mreq-ed35efe8-5dc0-40b0-bb2b-c1a73618aa50 ^[[00;36madmin<br>
>>> >> admin^[[00;36m] ^[[01;35m^[[00;36mHTTP exception thrown:<br>
>>> >> Unexpected API Error. Please report this at<br>
>>> >> <a href="http://bugs.launchpad.net/nova/" rel="noreferrer" target="_blank">http://bugs.launchpad.net/nova/</a> and attach the Nova API log if<br>
>>> >> possible.<br>
>>> >><br>
>>> >> <class 'neutronclient.common.exceptions.Unauthorized'>^[[00m<br>
>>> >><br>
>>> >> 2016-03-22 20:04:19.993 ^[[00;32mDEBUG nova.api.openstack.wsgi<br>
>>> >> [^[[01;36mreq-ed35efe8-5dc0-40b0-bb2b-c1a73618aa50 ^[[00;36madmin<br>
>>> >> admin^[[00;32m] ^[[01;35m^[[00;32mReturning 500 to user:<br>
>>> >> Unexpected API Error. Please report this at<br>
>>> >> <a href="http://bugs.launchpad.net/nova/" rel="noreferrer" target="_blank">http://bugs.launchpad.net/nova/</a> and attach the Nova API log if<br>
>>> >> possible.<br>
>>> >><br>
>>> >> <class 'neutronclient.common.exceptions.Unauthorized'>^[[00m<br>
>>> >> ^[[00;33mfrom<br>
>>> >> (pid=17273) __call__<br>
>>> >> /opt/stack/nova/nova/api/openstack/wsgi.py:1180^[[00m<br>
>>> >><br>
>>> >> 2016-03-22 20:04:20.007 ^[[00;36mINFO<br>
>>> >> nova.osapi_compute.wsgi.server<br>
>>> >> [^[[01;36mreq-ed35efe8-5dc0-40b0-bb2b-c1a73618aa50 ^[[00;36madmin<br>
>>> >> admin^[[00;36m] ^[[01;35m^[[00;36m192.168.56.101 "POST<br>
>>> >> /v2.1/1f824c3b19a64fa1a401125f41324731/servers HTTP/1.1" status:<br>
>>> >> 500<br>
>>> >> len:<br>
>>> >> 520 time: 1.1018770^[[00m<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Best regards,<br>
>>> >><br>
>>> >> Yipei<br>
>>> >><br>
>>> >><br>
>>> ><br>
>>> >><br>
>>> >> _________________________________________________________________<br>
</div></div>>>> >> _________ OpenStack Development Mailing List (not for usage<br>
<span class="">>>> >> questions)<br>
>>> >> Unsubscribe:<br>
>>> >> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
>>> >> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>>> >><br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > --<br>
>>> > Email:<br>
>>> > <a href="mailto:shinobu@linux.com">shinobu@linux.com</a><br>
>>> > GitHub:<br>
>>> > shinobu-x<br>
>>> > Blog:<br>
>>> > Life with Distributed Computational System based on OpenSource<br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> ><br>
>>> > __________________________________________________________________<br>
</span>>>> > ________ OpenStack Development Mailing List (not for usage<br>
<span class="">>>> > questions)<br>
>>> > Unsubscribe:<br>
>>> > <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
>>> > <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
>>> ><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Email:<br>
>>> <a href="mailto:shinobu@linux.com">shinobu@linux.com</a><br>
>>> GitHub:<br>
>>> shinobu-x<br>
>>> Blog:<br>
>>> Life with Distributed Computational System based on OpenSource<br>
>><br>
>><br>
><br>
><br>
> ______________________________________________________________________<br>
</span>> ____ OpenStack Development Mailing List (not for usage questions)<br>
<div class="HOEnZb"><div class="h5">> Unsubscribe:<br>
> <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<br>
<br>
<br>
--<br>
Email:<br>
<a href="mailto:shinobu@linux.com">shinobu@linux.com</a><br>
GitHub:<br>
shinobu-x<br>
Blog:<br>
Life with Distributed Computational System based on OpenSource<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div>