This commit conditionally allows the os_swift role to install build and deploy within a venv. This is the new default behavior of the role however the functionality can be disabled. In this PR, like all of the other venv related PRs, the `is_metal` flag was removed from the role however unlike some of the other PRs this removal required moving some of the `is_metal` logic out of the role and into the play. This was done for consistency as well as making the role more standalone. The only thing that the role should care about, in terms of installation, is whether or not to install in a venv. Change-Id: I6f5b883a853611659567bd12e8bcf572189854b7 Implements: blueprint enable-venv-support-within-the-roles Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
48 lines
1.6 KiB
Django/Jinja
48 lines
1.6 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
{% if (swift.replication_network is not defined or swift.replication_network == swift.storage_network) and 'replicator-server' in program_name %}
|
|
# Blank script - dedicated replication network not in use
|
|
{% else %}
|
|
# vim:set ft=upstart ts=2 et:
|
|
|
|
description "{{ program_name }}"
|
|
author "Kevin Carter <kevin.carter@rackspace.com>"
|
|
|
|
start on runlevel [2345]
|
|
stop on runlevel [016]
|
|
|
|
respawn
|
|
respawn limit 10 5
|
|
|
|
# Set the RUNBIN environment variable
|
|
env RUNBIN="{{ swift_bin }}/{{ program_binary | default(program_name) }}"
|
|
|
|
# Change directory to service users home
|
|
chdir "{{ service_home }}"
|
|
|
|
# Pre start actions
|
|
pre-start script
|
|
mkdir -p "/var/run/{{ program_binary | default(program_name) }}"
|
|
chown {{ system_user }}:{{ system_group }} "/var/run/{{ program_binary | default(program_name) }}"
|
|
|
|
mkdir -p "/var/lock/{{ program_binary | default(program_name) }}"
|
|
chown {{ system_user }}:{{ system_group }} "/var/lock/{{ program_binary | default(program_name) }}"
|
|
|
|
{% if swift_venv_enabled | bool -%}
|
|
. {{ swift_venv_bin }}/activate
|
|
{%- endif %}
|
|
|
|
end script
|
|
|
|
# Post stop actions
|
|
post-stop script
|
|
rm "/var/run/{{ program_binary | default(program_name) }}/{{ program_name }}.pid"
|
|
end script
|
|
|
|
# Run the start up job
|
|
exec start-stop-daemon --start \
|
|
--chuid {{ system_user }} \
|
|
--make-pidfile \
|
|
--pidfile /var/run/{{ program_binary | default(program_name) }}/{{ program_name }}.pid \
|
|
--exec "{{ program_override|default('$RUNBIN') }}" "{{ program_config_options|default('') }}"
|
|
{% endif %}
|