<div dir="ltr">Hi Yipei,<div><br></div><div>Segment id is not correctly assigned to the bridge network so you get the "None is not an interger" message. What version of neutron and tricircle you use? Neutron moves network segment table definition out of ML2 code tree and tricircle has adapted this change.</div><div><br></div><div>BTW, I updated devstack, nova, neutron, keystone, requirements, glance, cinder, tricircle to the latest version in my environment yesterday and everything worked fine.</div><div><br></div><div>BR<br>Zhiyuan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 30 March 2016 at 10:19, Yipei Niu <span dir="ltr"><<a href="mailto:newypei@gmail.com" target="_blank">newypei@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>I have already booted two VMs and successfully created a router with Neutron. But I have some trouble with attaching the router to a subnet. The error in q-svc.log is as follows:</div><div><div>2016-03-29 15:41:04.065 ^[[01;31mERROR oslo_db.api [^[[01;36mreq-0180a3f5-e34c-4d4c-bd39-3c0c714b02de ^[[00;36madmin 685f8f37363f4467bead5a375e855ccd^[[01;31m] ^[[01;35m^[[01;31mDB error.^[[00m</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00mTraceback (most recent call last):</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 137, in wrapper</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    return f(*args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/api/v2/base.py", line 217, in _handle_action</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    ret_value = getattr(self._plugin, name)(*arg_list, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 768, in add_router_interface</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    t_bridge_port)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 686, in _get_bottom_bridge_elements</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    t_ctx, project_id, pod, t_net, 'network', net_body)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 550, in _prepare_bottom_element</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    list_resources, create_resources)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/lock_handle.py", line 99, in get_or_create_element</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    ele = create_ele_method(t_ctx, q_ctx, pod, body, _type)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 545, in create_resources</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    return client.create_resources(_type_, t_ctx_, body_)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/client.py", line 87, in handle_args</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    return func(*args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/client.py", line 358, in create_resources</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    return handle.handle_create(cxt, resource, *args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/resource_handle.py", line 149, in handle_create</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    *args, **kwargs)[resource]</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 100, in with_params</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    ret = self.function(instance, *args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 552, in create_network</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    return self.post(self.networks_path, body=body)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 271, in post</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    headers=headers, params=params)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 206, in do_request</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    self._handle_fault_response(status_code, replybody)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 182, in _handle_fault_response</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    exception_handler_v20(status_code, des_error_body)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 69, in exception_handler_v20</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    status_code=status_code)</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00mBadRequest: Invalid input for operation: 'None' is not an integer.</div><div>^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m</div></div><div><br></div><div><div>2016-03-29 15:41:04.122 ^[[01;31mERROR neutron.api.v2.resource [^[[01;36mreq-0180a3f5-e34c-4d4c-bd39-3c0c714b02de ^[[00;36madmin 685f8f37363f4467bead5a375e855ccd^[[01;31m] ^[[01;35m^[[01;31madd_router_interface failed^[[00m</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00mTraceback (most recent call last):</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    result = method(request=request, **args)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 152, in wrapper</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    ectxt.value = e.inner_exc</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 204, in __exit__</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    six.reraise(self.type_, self.value, self.tb)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 137, in wrapper</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    return f(*args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/api/v2/base.py", line 217, in _handle_action</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    ret_value = getattr(self._plugin, name)(*arg_list, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 768, in add_router_interface</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    t_bridge_port)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 686, in _get_bottom_bridge_elements</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    t_ctx, project_id, pod, t_net, 'network', net_body)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 550, in _prepare_bottom_element</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    list_resources, create_resources)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/lock_handle.py", line 99, in get_or_create_element</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    ele = create_ele_method(t_ctx, q_ctx, pod, body, _type)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/network/plugin.py", line 545, in create_resources</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    return client.create_resources(_type_, t_ctx_, body_)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/client.py", line 87, in handle_args</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    return func(*args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/client.py", line 358, in create_resources</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    return handle.handle_create(cxt, resource, *args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/opt/stack/tricircle/tricircle/common/resource_handle.py", line 149, in handle_create</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    *args, **kwargs)[resource]</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 100, in with_params</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    ret = self.function(instance, *args, **kwargs)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 552, in create_network</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    return self.post(self.networks_path, body=body)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 271, in post</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    headers=headers, params=params)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 206, in do_request</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    self._handle_fault_response(status_code, replybody)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 182, in _handle_fault_response</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    exception_handler_v20(status_code, des_error_body)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m  File "/usr/local/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 69, in exception_handler_v20</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m    status_code=status_code)</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00mBadRequest: Invalid input for operation: 'None' is not an integer.</div><div>^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource ^[[01;35m^[[00m</div><div>2016-03-29 15:41:04.137 ^[[00;36mINFO neutron.wsgi [^[[01;36mreq-0180a3f5-e34c-4d4c-bd39-3c0c714b02de ^[[00;36madmin 685f8f37363f4467bead5a375e855ccd^[[00;36m] ^[[01;35m^[[00;36m192.168.56.101 - - [29/Mar/2016 15:41:04] "PUT /v2.0/routers/999a46c9-8055-4514-82d6-81945f095bd6/add_router_interface.json HTTP/1.1" 500 383 1.574475^[[00</div></div><div><br></div><div>I search solutions with google, but get little information. Sorry to trouble you guys.</div><div><br></div><div>Best regards,</div><div>Yipei</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 29, 2016 at 4:36 PM, Vega Cai <span dir="ltr"><<a href="mailto:luckyvega.g@gmail.com" target="_blank">luckyvega.g@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Yipei,<div><br></div><div>Glad to hear that you can successfully boot VMs. So the problems are caused by the incompatibility of the nova, neutron and devstack code trees in your environment. Yeah, what you did is what I always do. When devstack fails to start or has some troubles, find the reason then modify the scripts.</div><div><br></div><div>I am updating the code trees in my environment to the newest version to see if tricircle can be correctly deployed. I will send out the result later.</div><div><br></div><div>BR</div><div>Zhiyuan</div><div> </div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On 29 March 2016 at 16:10, Yipei Niu <span dir="ltr"><<a href="mailto:newypei@gmail.com" target="_blank">newypei@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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><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><br>
Best Regards<br>
Chaoyi Huang ( Joe Huang )<br>
<br>
<br>
</span><span>-----Original Message-----<br>
From: Shinobu Kinjo [mailto:<a href="mailto:shinobu.kj@gmail.com" target="_blank">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>Cc: Yipei Niu<br>
Subject: Re: [openstack-dev] [tricircle] playing tricircle with two node configuration<br>
<br>
</span><div><div>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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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>>>> > .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" target="_blank">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" target="_blank">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" target="_blank">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>>>> >> 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" target="_blank">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>>>> > 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" target="_blank">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><div>> 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" target="_blank">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>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>