Make API services with apache the default

Run api services with httpd+mod_wsgi in devstack.
This also skips sighup tests conditionally.

Change-Id: I6631f1fecb906ae0c4bb96a2f868117eff045aa0
Closes-Bug: #1656617
This commit is contained in:
rabi 2017-01-10 15:57:35 +05:30
parent e943d0874c
commit 6ef5fa9adc
2 changed files with 19 additions and 4 deletions

View File

@ -40,7 +40,7 @@ GITREPO["python-heatclient"]=${HEATCLIENT_REPO:-${GIT_BASE}/openstack/python-hea
GITBRANCH["python-heatclient"]=${HEATCLIENT_BRANCH:-master}
# Toggle for deploying Heat-API under HTTPD + mod_wsgi
HEAT_USE_MOD_WSGI=${HEAT_USE_MOD_WSGI:-False}
HEAT_USE_MOD_WSGI=${HEAT_USE_MOD_WSGI:-True}
HEAT_DIR=$DEST/heat
HEAT_FILES_DIR=$HEAT_DIR/devstack/files

View File

@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
import re
import subprocess
import time
import eventlet
@ -26,6 +28,13 @@ class ReloadOnSighupTest(functional_base.FunctionalTestsBase):
self.config_file = "/etc/heat/heat.conf"
super(ReloadOnSighupTest, self).setUp()
def _is_mod_wsgi_daemon(self, service):
process = ''.join(['wsgi:', service[:9]]).replace('_', '-')
s = subprocess.Popen(["ps", "ax"], stdout=subprocess.PIPE)
for x in s.stdout:
if re.search(process, x):
return True
def _set_config_value(self, service, key, value):
config = configparser.ConfigParser()
@ -116,11 +125,17 @@ class ReloadOnSighupTest(functional_base.FunctionalTestsBase):
# revert all the changes made
self._change_config(service, new_workers, old_workers)
def _reload_on_sighup(self, service):
if not self._is_mod_wsgi_daemon(service):
self._reload(service)
else:
self.skipTest('Skipping Test, Service running under httpd.')
def test_api_reload_on_sighup(self):
self._reload('heat_api')
self._reload_on_sighup('heat_api')
def test_api_cfn_reload_on_sighup(self):
self._reload('heat_api_cfn')
self._reload_on_sighup('heat_api_cfn')
def test_api_cloudwatch_on_sighup(self):
self._reload('heat_api_cloudwatch')
self._reload_on_sighup('heat_api_cloudwatch')