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

Shinobu Kinjo shinobu.kj at gmail.com
Wed Mar 30 04:33:48 UTC 2016


It may not be best practice what we did here even this time is o.k.

On Tue, Mar 29, 2016 at 5:10 PM, 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.

https://review.openstack.org/#/c/288556/

> For the unknown
> auth_plugin error in the first mail, somebody changes the auth_plugin to
> auth_type in lib/neutron-legacy,

https://review.openstack.org/#/c/278569/

> 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
>
>
>
> __________________________________________________________________________
> 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



More information about the OpenStack-dev mailing list