Use full paths for nginx and uwsgi binaries

Change-Id: I2db1ef030d45d4f86520f8527eb0e4086f46b534
This commit is contained in:
Corey Bryant 2017-04-18 18:21:13 +00:00
parent 110b773d98
commit 39210c7412
3 changed files with 26 additions and 7 deletions

View File

@ -148,7 +148,7 @@ class OpenStackSnap(object):
cmd.extend(other_args)
elif cmd_type == UWSGI_EP_TYPE:
cmd = [UWSGI_EP_TYPE]
cmd = ["{snap}/bin/uwsgi".format(**utils.snap_env)]
cmd.extend(DEFAULT_UWSGI_ARGS)
uwsgi_dir = entry_point.get('uwsgi-dir')
@ -162,7 +162,7 @@ class OpenStackSnap(object):
cmd.extend(['--logto', log_file])
elif cmd_type == NGINX_EP_TYPE:
cmd = [NGINX_EP_TYPE]
cmd = ["{snap}/usr/sbin/nginx".format(**utils.snap_env)]
cmd.extend(DEFAULT_NGINX_ARGS)
cfile = entry_point.get('config-file')

View File

@ -21,10 +21,13 @@ entry_points:
config-dirs:
- "/etc/nova/conf.d"
log-file: "/var/log/nova/scheduler.log"
keystone-api:
keystone-uwsgi:
type: uwsgi
uwsgi-dir: "/etc/uwsgi"
log-file: "/var/log/uwsgi/keystone.log"
keystone-nginx:
type: nginx
config-file: "/etc/nginx/keystone/nginx.conf"
nova-broken:
type: unknown
binary: nova-broken

View File

@ -48,7 +48,7 @@ class TestOpenStackSnapExecute(test_base.TestCase):
def mock_snap_utils(self, mock_utils):
snap_utils = mock_utils.return_value
snap_utils.snap_env.return_value = MOCK_SNAP_ENV
snap_utils.snap_env = MOCK_SNAP_ENV
@patch('snap_openstack.base.SnapUtils')
@patch.object(base, 'os')
@ -109,15 +109,31 @@ class TestOpenStackSnapExecute(test_base.TestCase):
'snap-openstack.yaml'))
mock_os.path.exists.side_effect = self.mock_exists
snap.execute(['snap-openstack',
'keystone-api'])
'keystone-uwsgi'])
mock_os.execvp.assert_called_with(
'uwsgi',
['uwsgi', '--master',
'/snap/common/bin/uwsgi',
['/snap/common/bin/uwsgi', '--master',
'--die-on-term', '--emperor',
'/etc/uwsgi',
'--logto', '/var/log/uwsgi/keystone.log']
)
@patch('snap_openstack.base.SnapUtils')
@patch.object(base, 'os')
def test_base_snap_config_nginx(self, mock_os, mock_utils):
'''Ensure wrapped binary of nginx called with correct arguments'''
self.mock_snap_utils(mock_utils)
snap = base.OpenStackSnap(os.path.join(TEST_DIR,
'snap-openstack.yaml'))
mock_os.path.exists.side_effect = self.mock_exists
snap.execute(['snap-openstack',
'keystone-nginx'])
mock_os.execvp.assert_called_with(
'/snap/common/usr/sbin/nginx',
['/snap/common/usr/sbin/nginx', '-g',
'daemon on; master_process on;']
)
@patch('snap_openstack.base.SnapUtils')
@patch.object(base, 'os')
def test_base_snap_config_invalid_ep_type(self, mock_os, mock_utils):