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

Vega Cai luckyvega.g at gmail.com
Wed Mar 30 03:56:49 UTC 2016


Hi Yipei,

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.

BTW, I updated devstack, nova, neutron, keystone, requirements, glance,
cinder, tricircle to the latest version in my environment yesterday and
everything worked fine.

BR
Zhiyuan

On 30 March 2016 at 10:19, Yipei Niu <newypei at gmail.com> wrote:

> Hi all,
>
> 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:
> 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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api
> ^[[01;35m^[[00mTraceback (most recent call last):
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  return f(*args, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  ret_value = getattr(self._plugin, name)(*arg_list, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  t_bridge_port)
> ^[[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
> ^[[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)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  list_resources, create_resources)
> ^[[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
> ^[[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)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  return client.create_resources(_type_, t_ctx_, body_)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  return func(*args, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  return handle.handle_create(cxt, resource, *args, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  *args, **kwargs)[resource]
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m    ret
> = self.function(instance, *args, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  return self.post(self.networks_path, body=body)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  headers=headers, params=params)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  self._handle_fault_response(status_code, replybody)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  exception_handler_v20(status_code, des_error_body)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>  status_code=status_code)
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api
> ^[[01;35m^[[00mBadRequest: Invalid input for operation: 'None' is not an
> integer.
> ^[[01;31m2016-03-29 15:41:04.065 TRACE oslo_db.api ^[[01;35m^[[00m
>
> 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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00mTraceback (most recent call last):
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    result = method(request=request, **args)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    ectxt.value = e.inner_exc
> ^[[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__
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    six.reraise(self.type_, self.value, self.tb)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    return f(*args, **kwargs)
> ^[[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
> ^[[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)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    t_bridge_port)
> ^[[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
> ^[[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)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    list_resources, create_resources)
> ^[[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
> ^[[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)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    return client.create_resources(_type_, t_ctx_, body_)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    return func(*args, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    return handle.handle_create(cxt, resource, *args,
> **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    *args, **kwargs)[resource]
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    ret = self.function(instance, *args, **kwargs)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    return self.post(self.networks_path, body=body)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    headers=headers, params=params)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    self._handle_fault_response(status_code, replybody)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    exception_handler_v20(status_code, des_error_body)
> ^[[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
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m    status_code=status_code)
> ^[[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.
> ^[[01;31m2016-03-29 15:41:04.122 TRACE neutron.api.v2.resource
> ^[[01;35m^[[00m
> 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
>
> I search solutions with google, but get little information. Sorry to
> trouble you guys.
>
> Best regards,
> Yipei
>
> On Tue, Mar 29, 2016 at 4:36 PM, Vega Cai <luckyvega.g at gmail.com> wrote:
>
>> Hi Yipei,
>>
>> 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.
>>
>> 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.
>>
>> BR
>> Zhiyuan
>>
>>
>> On 29 March 2016 at 16:10, Yipei Niu <newypei at gmail.com> wrote:
>>
>>> Hi, all,
>>>
>>> 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 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?
>>>
>>> BTW, I have some trouble with creating router and I am trying to fix it.
>>>
>>> Best regards,
>>> Yipei
>>>
>>> On Tue, Mar 29, 2016 at 2:25 PM, joehuang <joehuang at huawei.com> wrote:
>>>
>>>> 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.
>>>>
>>>> I suggest Yipei to use clean virtual machines running in virtualbox,
>>>> and follow the readme[1] and pengfei's experience[2] to install Tricircle.
>>>>
>>>> [1] https://github.com/openstack/tricircle/blob/master/README.md
>>>> [2] http://shipengfei92.cn/play_tricircle_with_virtualbox
>>>>
>>>> Best Regards
>>>> Chaoyi Huang ( Joe Huang )
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Shinobu Kinjo [mailto:shinobu.kj at gmail.com]
>>>> Sent: Tuesday, March 29, 2016 10:48 AM
>>>> To: OpenStack Development Mailing List (not for usage questions)
>>>> Cc: Yipei Niu
>>>> Subject: Re: [openstack-dev] [tricircle] playing tricircle with two
>>>> node configuration
>>>>
>>>> Sorry for interruption.
>>>>
>>>> >> I followed the README.md in github, every thing goes well until I
>>>> >> boot virtual machines with the following command
>>>>
>>>> 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.
>>>>
>>>> [1] https://github.com/openstack/tricircle/blob/master/README.md
>>>>
>>>> Cheers,
>>>> Shinobu
>>>>
>>>>
>>>> On Tue, Mar 29, 2016 at 11:21 AM, Vega Cai <luckyvega.g at gmail.com>
>>>> wrote:
>>>> > Hi Yipei,
>>>> >
>>>> > If you want to use neutron, you need to set "nova_api_class" to
>>>> > "nova.network.neutronv2.api.API", "nova.network.api.API" is for nova
>>>> > network.
>>>> >
>>>> > Related code:
>>>> >
>>>> https://github.com/openstack/nova/blob/master/nova/network/__init__.py
>>>> > #L47
>>>> >
>>>> > Simply search "Unknown argument: port" which is the error showed in
>>>> > the log in the nova code tree then you can find the above code.
>>>> >
>>>> > Also, if all the services are running but you want to change some of
>>>> > the configuration options, you can just modify the configuration files
>>>> > then restart the services, so you can quickly check if your
>>>> > modification works without restarting devstack.
>>>> >
>>>> > BR
>>>> > Zhiyuan
>>>> >
>>>> > On 29 March 2016 at 08:56, Yipei Niu <newypei at gmail.com> wrote:
>>>> >>
>>>> >> Hi, all,
>>>> >>
>>>> >> I checked nova.conf and local.conf both.
>>>> >>
>>>> >> In nova.conf, the option "nova_api_class" is missing while
>>>> "use_neutron"
>>>> >> is set as True. I modify the lib/nova so that the devstack can write
>>>> >> "nova_api_class=nova.network.api.API" to nova.conf [1]. However,
>>>> >> after installing devstack with tricircle, the same error still
>>>> happens as before.
>>>> >>
>>>> >> In local.conf, n-net is disabled, which is the same as the sample
>>>> >> file of tricircle.
>>>> >>
>>>> >> [1] http://docs.openstack.org/developer/nova/sample_config.html
>>>> >>
>>>> >> Best regards,
>>>> >> Yipei
>>>> >>
>>>> >> On Mon, Mar 28, 2016 at 4:46 PM, Shinobu Kinjo <shinobu.kj at gmail.com
>>>> >
>>>> >> wrote:
>>>> >>>
>>>> >>> FYI:
>>>> >>> This is the reason is that there is still n-net. [1]
>>>> >>>
>>>> >>> [1]
>>>> >>>
>>>> http://docs.openstack.org/openstack-ops/content/nova-network-depreca
>>>> >>> tion.html
>>>> >>>
>>>> >>> Cheers,
>>>> >>> S
>>>> >>>
>>>> >>> On Mon, Mar 28, 2016 at 5:08 PM, joehuang <joehuang at huawei.com>
>>>> wrote:
>>>> >>> > Hi,
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > Agree, it’s quite important not to use Nova-network in devstack.
>>>> >>> > In devstack local.conf, make sure the Neutron service is enabled
>>>> >>> > and Nova-network is disabled.
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > # Use Neutron instead of nova-network
>>>> >>> >
>>>> >>> > disable_service n-net
>>>> >>> >
>>>> >>> > enable_service q-svc
>>>> >>> >
>>>> >>> > enable_service q-svc1
>>>> >>> >
>>>> >>> > enable_service q-dhcp
>>>> >>> >
>>>> >>> > enable_service q-agt
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > And also check the configuration in Nova to use Neutron
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > Best Regards
>>>> >>> >
>>>> >>> > Chaoyi Huang ( Joe Huang )
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > From: Vega Cai [mailto:luckyvega.g at gmail.com]
>>>> >>> > Sent: Monday, March 28, 2016 2:55 PM
>>>> >>> > To: Yipei Niu
>>>> >>> > Cc: OpenStack Development Mailing List (not for usage questions);
>>>> >>> > joehuang
>>>> >>> > Subject: Re: [openstack-dev] [tricircle] playing tricircle with
>>>> >>> > two node configuration
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > Hi Yipei,
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > Check "network_api_class" and "use_neutron" options in your
>>>> nova.conf.
>>>> >>> > It
>>>> >>> > seems that your nova API is not configured to use neutron.
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > BR
>>>> >>> >
>>>> >>> > Zhiyuan
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > On 28 March 2016 at 13:25, Yipei Niu <newypei at gmail.com> wrote:
>>>> >>> >
>>>> >>> > 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_to
>>>> >>> > ken/__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_to
>>>> >>> > ken/__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
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > __________________________________________________________________
>>>> >>> > ________ 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
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>> > ______________________________________________________________________
>>>> > ____ 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
>>>>
>>>>
>>>> __________________________________________________________________________
>>>> 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
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160330/47b0a505/attachment.html>


More information about the OpenStack-dev mailing list