<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:宋体;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="ZH-CN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">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. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"># Use Neutron instead of nova-network<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">disable_service n-net<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">enable_service q-svc<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">enable_service q-svc1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">enable_service q-dhcp<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">enable_service q-agt<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">And also check the configuration in Nova to use Neutron<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Best Regards<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D">Chaoyi Huang ( Joe Huang )</span><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Vega Cai [mailto:luckyvega.g@gmail.com]
<br>
<b>Sent:</b> Monday, March 28, 2016 2:55 PM<br>
<b>To:</b> Yipei Niu<br>
<b>Cc:</b> OpenStack Development Mailing List (not for usage questions); joehuang<br>
<b>Subject:</b> Re: [openstack-dev] [tricircle] playing tricircle with two node configuration<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi Yipei,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US">Check "network_api_class" and "use_neutron" options in your nova.conf. It seems that your nova API is not configured to use neutron.<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">BR<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Zhiyuan<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">On 28 March 2016 at 13:25, Yipei Niu <<a href="mailto:newypei@gmail.com" target="_blank">newypei@gmail.com</a>> wrote:<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi, all,<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">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?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">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
<a href="http://192.168.56.101:9696/v2.0/ports.json" target="_blank">http://192.168.56.101:9696//v2.0/ports.json</a> -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<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">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": {<b>"status": "ACTIVE"</b>, "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<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">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
<a href="http://192.168.56.101:20001/v2.0/ports.json" target="_blank">http://192.168.56.101:20001//v2.0/ports.json</a> -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<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">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": {<b>"status": "DOWN"</b>, "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<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">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):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 454, in handle_one_response<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    result = self.application(self.environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive.py", line 56, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.application(environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    resp = self.call_func(req, *args, **self.kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.func(req, *args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 456, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    response = req.get_response(self._app)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    application, catch_exc_info=False)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in call_application<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    app_iter = application(self.environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    resp = self.call_func(req, *args, **self.kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.func(req, *args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id.py", line 37, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    response = req.get_response(self.application)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    application, catch_exc_info=False)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 454, in handle_one_response<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    result = self.application(self.environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/pecan/middleware/recursive.py", line 56, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.application(environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    resp = self.call_func(req, *args, **self.kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.func(req, *args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 456, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    response = req.get_response(self._app)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    application, catch_exc_info=False)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1281, in call_application<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    app_iter = application(self.environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    resp = self.call_func(req, *args, **self.kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.func(req, *args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id.py", line 37, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    response = req.get_response(self.application)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    application, catch_exc_info=False)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self.func(req, *args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/oslo_middleware/request_id.py", line 37, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    response = req.get_response(self.application)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1317, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    application, catch_exc_info=False)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 829, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return super(Pecan, self).__call__(environ, start_response)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 678, in __call__<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    self.invoke_controller(controller, args, kwargs, state)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/pecan/core.py", line 572, in invoke_controller<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    result = controller(*args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/opt/stack/tricircle/tricircle/nova_apigw/controllers/server.py", line 376, in post<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    nics=nics)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/opt/stack/tricircle/tricircle/common/client.py", line 87, in handle_args<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return func(*args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/opt/stack/tricircle/tricircle/common/client.py", line 358, in create_resources<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return handle.handle_create(cxt, resource, *args, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/opt/stack/tricircle/tricircle/common/resource_handle.py", line 227, in handle_create<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    *args, **kwargs).to_dict()<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/v2/servers.py", line 1038, in create<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    **boot_kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/v2/servers.py", line 555, in _boot<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return_raw=return_raw, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/base.py", line 302, in _create<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    _resp, body = self.api.client.post(url, body=body)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 451, in post<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    return self._cs_request(url, 'POST', **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 426, in _cs_request<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    resp, body = self._time_request(url, method, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 399, in _time_request<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    resp, body = self.request(url, method, **kwargs)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">  File "/usr/local/lib/python2.7/dist-packages/novaclient/client.py", line 393, in request<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">    raise exceptions.from_response(resp, body, url, method)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><b><span lang="EN-US">BadRequest: Unknown argument: port (HTTP 400)</span></b><span lang="EN-US"> (Request-ID: req-d6719f21-ee97-49ed-a058-a303b16abcf1)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">^[[00m<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">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<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Best regards,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Yipei<o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">On Wed, Mar 23, 2016 at 1:19 PM, Shinobu Kinjo <<a href="mailto:shinobu.kj@gmail.com" target="_blank">shinobu.kj@gmail.com</a>> wrote:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">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 the<br>
> OpenStack API gateway to other OpenStack instances. In the Readme, Pod1,<br>
> Pod2 are two OpenStack instances, before trying Tricircle, you can make sure<br>
> the environment is normal or not by executeing command separately on Pod1,<br>
> Pod2, just  Nova –os-region-name Pod1, or Nova –os-region-name Pod2, in<br>
> fact, because Pod1,Pod2 are two normal OpenStack instances, any command to<br>
> Pod1,Pod2 should be successful.  Otherwise that means there are some issue<br>
> in the installation of the environment itself. Only when each bottom<br>
> OpenStack can work correctly, then you can even manually add Tricircle, or<br>
> through the scripts in the github to install Tircircle automaticly, as the<br>
> API gateway to Pod1 and Pod2, just like you add one load balancer before<br>
> your multiple web servers.<br>
<br>
Yeah, above explanation is really essential for the tricircle.<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US"><br>
><br>
><br>
><br>
> After the Tricircle was added, then the API will flow from Tricircle<br>
> services like Nova-APIGW/Cinder-APIGW/Neutron API to the bottom Pod1, Pod2.<br>
><br>
><br>
><br>
> So if you use Nova boot, and some error happened, you can ask 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 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 down a big<br>
> system into smaller part, and make sure which part works fine, which not in<br>
> order.<br>
><br>
><br>
><br>
> From the information you provided, can’t make judgment the error is occurred<br>
> at Tricircle services, or bottom pod, or which pod. Don’t know which step<br>
> the error occurred. And don’t know the request information, how the<br>
> requested will be routed and processed, a lot of context needed to diagnose<br>
> 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 configuration<br>
><br>
><br>
><br>
> Hi, Joe and Zhiyuan,<br>
><br>
><br>
><br>
> I have already finished installing devstack in two nodes with tricircle. I<br>
> encounter some errors when testing cross-pod L3 networking with DevStack. I<br>
> followed the README.md in github, every thing goes well until I boot virtual<br>
> machines with the following command:<br>
><br>
><br>
><br>
> nova boot --flavor 1 --image 60a8184b-a4be-463d-a8a1-48719edc37a3 --nic<br>
> net-id=76356099-f3bd-40a5-83bd-600b78b671eb --availability-zone az1 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 from<br>
> 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 from<br>
> 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 from<br>
> 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 n-api.log, the<br>
> error is as follows:<br>
><br>
> 2016-03-22 19:19:38.248 ^[[01;31mERROR 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 method^[[00m<br>
><br>
> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
> ^[[01;35m^[[00mTraceback (most recent call last):<br>
><br>
> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File<br>
> "/opt/stack/nova/nova/api/openstack/compute/servers.py", line 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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/opt/stack/nova/nova/compute/api.py", line 1504, in<br>
> 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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/opt/stack/nova/nova/network/neutronv2/api.py", 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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/opt/stack/nova/nova/network/neutronv2/api.py", 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 nova.api.openstack.extensions<br>
> ^[[01;35m^[[00m  File "/opt/stack/nova/nova/network/neutronv2/api.py", 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 neutron_client_exc.Unauthorized(message=err_msg)<br>
><br>
> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
> ^[[01;35m^[[00mUnauthorized: Unknown auth plugin: None<br>
><br>
> ^[[01;31m2016-03-22 19:19:38.248 TRACE nova.api.openstack.extensions<br>
> ^[[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: Unexpected API<br>
> Error. Please report this at <a href="http://bugs.launchpad.net/nova/" target="_blank">
http://bugs.launchpad.net/nova/</a> and attach the<br>
> Nova API log if 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: Unexpected API<br>
> Error. Please report this at <a href="http://bugs.launchpad.net/nova/" target="_blank">
http://bugs.launchpad.net/nova/</a> and attach the<br>
> Nova API log if possible.<br>
><br>
> <class 'neutronclient.common.exceptions.Unauthorized'>^[[00m ^[[00;33mfrom<br>
> (pid=17273) __call__ /opt/stack/nova/nova/api/openstack/wsgi.py:1180^[[00m<br>
><br>
> 2016-03-22 20:04:20.007 ^[[00;36mINFO 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: 500 len:<br>
> 520 time: 1.1018770^[[00m<br>
><br>
><br>
><br>
> Best regards,<br>
><br>
> Yipei<br>
><br>
><o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US">> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<span style="color:#888888"><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</span><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</div>
</body>
</html>