<div dir="ltr"><div dir="ltr" class="gmail_msg">In Nova Ocata release, deploying placement API is a must. <font color="#3e4349" face="arial, sans-serif" class="gmail_msg">The nova-compute service will fail to start if [placement] section is not configured in nova.conf.</font><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif" class="gmail_msg"><br class="gmail_msg"></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif" class="gmail_msg">DevStack script is updated to generate Apache configuration file for placement API and it works fine in single region scenario.</font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif" class="gmail_msg"><br class="gmail_msg"></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif" class="gmail_msg">However, in Tricircle, we will have multi-region deployment: one node runs Keystone, Tricircle and other core services(like Nova, Neutron, Cinder), another node just runs core services and we configure these services to talk to Keystone in the first node. After updating codes to the newest version, we find that we fail to boot an instance in the second node.</font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif" class="gmail_msg"><br></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif">After digging into the log files, we find the reason is that, the placement API Apache configuration file generated by DevStack doesn't grant necessary access right to the placement API bin folder. In the first node where Keystone is running, Apache configuration file for Keystone already grants access right to "/usr/local/bin" folder, and this folder happens to be the same folder placement API bin is located, so placement API works fine. But in the second node, Keystone is not enabled, so request sent to placement API is rejected and thus we fail to boot an instance.</font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif"><br></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif">One temporary workaround is to manually edit placement API configuration file in the second node to add the following section:</font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif"><br></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif"><div class="gmail_msg"><Directory /usr/local/bin></div><div class="gmail_msg">    Require all granted</div><div class="gmail_msg"></Directory></div></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif"><br></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif">and restart Apache. We test and it works. Later we are going to submit a patch to DevStack for this problem. </font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif"><br></font></div><div class="gmail_msg"><font color="#3e4349" face="arial, sans-serif">BR<br>Zhiyuan</font></div></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">BR<div>Zhiyuan</div></div></div>