diff --git a/defaults/main.yml b/defaults/main.yml index 67dd5201..18b43066 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -169,19 +169,6 @@ swift_rabbitmq_telemetry_servers: "127.0.0.1" # For now swift ceilometer does not work with SSL - this is a speculative option in the hope it gets added swift_rabbitmq_telemetry_use_ssl: "False" -swift_account_server_program_config_options: /etc/swift/account-server/account-server.conf -swift_account_replicator_program_config_options: /etc/swift/account-server/account-server-replicator.conf - -swift_container_server_program_config_options: /etc/swift/container-server/container-server.conf -swift_container_replicator_program_config_options: /etc/swift/container-server/container-server-replicator.conf -swift_container_reconciler_program_config_options: /etc/swift/container-server/container-reconciler.conf - -swift_object_server_program_config_options: /etc/swift/object-server/object-server.conf -swift_object_replicator_program_config_options: /etc/swift/object-server/object-server-replicator.conf -swift_object_expirer_program_config_options: /etc/swift/object-server/object-expirer.conf - -swift_proxy_server_program_config_options: /etc/swift/proxy-server/proxy-server.conf - ## General Swift configuration # If ``swift_account_server_replicator_workers`` is unset the system will use half the number # of available VCPUS to compute the number of api workers to use. @@ -299,32 +286,86 @@ swift_pip_packages: - python-swiftclient - swift -swift_account_program_names: - - swift-account-server - - swift-account-auditor - - swift-account-replicator - - swift-account-reaper - - swift-account-replicator-server - -swift_container_program_names: - - swift-container-server - - swift-container-auditor - - swift-container-replicator - - swift-container-sync - - swift-container-updater - - swift-container-replicator-server - - swift-container-reconciler - -swift_object_program_names: - - swift-object-server - - swift-object-auditor - - swift-object-replicator - - swift-object-updater - - swift-object-replicator-server - - swift-object-expirer - -swift_proxy_program_names: - - swift-proxy-server +swift_services: + swift-account-replicator: + group: swift_acc + program_name: "swift-account-replicator" + program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/account-server/account-server-replicator.conf', '/etc/swift/account-server/account-server.conf') }}" + swift-account-replicator-server: + group: swift_acc + program_name: "swift-account-replicator-server" + program_binary: "swift-account-server" + program_config_options: "/etc/swift/account-server/account-server-replicator.conf" + swift-account-server: + group: swift_acc + program_name: "swift-account-server" + program_config_options: "/etc/swift/account-server/account-server.conf" + swift-account-auditor: + group: swift_acc + program_name: "swift-account-auditor" + program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/account-server/account-server-replicator.conf', '/etc/swift/account-server/account-server.conf') }}" + swift-account-reaper: + group: swift_acc + program_name: "swift-account-reaper" + program_config_options: "/etc/swift/account-server/account-server.conf" + swift-container-replicator: + group: swift_cont + program_name: "swift-container-replicator" + program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/container-server/container-server-replicator.conf', '/etc/swift/container-server/container-server.conf') }}" + swift-container-replicator-server: + group: swift_cont + program_name: "swift-container-replicator-server" + program_binary: "swift-container-server" + program_config_options: "/etc/swift/container-server/container-server-replicator.conf" + swift-container-server: + group: swift_cont + program_name: "swift-container-server" + program_config_options: "/etc/swift/container-server/container-server.conf" + swift-container-auditor: + group: swift_cont + program_name: "swift-container-auditor" + program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/container-server/container-server-replicator.conf', '/etc/swift/container-server/container-server.conf') }}" + swift-container-sync: + group: swift_cont + program_name: "swift-container-sync" + program_config_options: "/etc/swift/container-server/container-server.conf" + swift-container-updater: + group: swift_cont + program_name: "swift-container-updater" + program_config_options: "/etc/swift/container-server/container-server.conf" + swift-container-reconciler: + group: swift_cont + program_name: "swift-container-reconciler" + program_config_options: "/etc/swift/container-server/container-reconciler.conf" + swift-object-replicator: + group: swift_obj + program_name: "swift-object-replicator" + program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server.conf') }}" + swift-object-replicator-server: + group: swift_obj + program_name: "swift-object-replicator-server" + program_binary: "swift-object-server" + program_config_options: "/etc/swift/object-server/object-server-replicator.conf" + swift-object-server: + group: swift_obj + program_name: "swift-object-server" + program_config_options: "/etc/swift/object-server/object-server.conf" + swift-object-auditor: + group: swift_obj + program_name: "swift-object-auditor" + program_config_options: "{{ swift_dedicated_replication | ternary('/etc/swift/object-server/object-server-replicator.conf', '/etc/swift/object-server/object-server.conf') }}" + swift-object-updater: + group: swift_obj + program_name: "swift-object-updater" + program_config_options: "/etc/swift/object-server/object-server.conf" + swift-object-expirer: + group: swift_obj + program_name: "swift-object-expirer" + program_config_options: "/etc/swift/object-server/object-expirer.conf" + swift-proxy-server: + group: swift_proxy + program_name: "swift-proxy-server" + program_config_options: "/etc/swift/proxy-server/proxy-server.conf" # Set to True to reset the clock on the last time a rebalance happened, # circumventing the min_part_hours check. diff --git a/handlers/main.yml b/handlers/main.yml index 4843210e..e3331209 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -13,49 +13,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: Restart swift account services - service: - name: "{{ item }}" - state: "restarted" - pattern: "{{ item }}" - register: service_restart - with_items: "{{ swift_account_program_names }}" - failed_when: false +- name: Reload systemd daemon + command: "systemctl daemon-reload" + notify: + - Restart swift services -- name: Restart swift container services - service: - name: "{{ item }}" - state: "restarted" - pattern: "{{ item }}" - register: service_restart - with_items: "{{ swift_container_program_names }}" - failed_when: false +- name: Reload upstart init scripts + shell: | + initctl reload-configuration + notify: + - Restart swift services -- name: Restart swift object services +- name: Restart swift services service: - name: "{{ item }}" + name: "{{ item.value.program_name }}" state: "restarted" - pattern: "{{ item }}" - register: service_restart - with_items: "{{ swift_object_program_names }}" - failed_when: false - -- name: Restart swift proxy services - service: - name: "{{ item }}" - state: "restarted" - pattern: "{{ item }}" - register: service_restart - with_items: "{{ swift_proxy_program_names }}" - failed_when: false - -- name: Restart service - service: - name: "{{ item }}" - state: "restarted" - pattern: "{{ item }}" - enabled: "yes" - when: item is defined + pattern: "{{ item.value.program_name }}" + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] - name: Restart rsyslog service: diff --git a/tasks/main.yml b/tasks/main.yml index 383ae6c6..31e10e1f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -95,6 +95,10 @@ - swift-config - swift-install +- include: swift_init_common.yml + tags: + - swift-install + - include: swift_service_setup.yml when: - inventory_hostname == groups['swift_all'][0] diff --git a/tasks/swift_init_common.yml b/tasks/swift_init_common.yml index 43d1aade..df178ff8 100644 --- a/tasks/swift_init_common.yml +++ b/tasks/swift_init_common.yml @@ -23,7 +23,9 @@ - name: Load service service: - name: "{{ program_name }}" + name: "{{ item.value.program_name }}" enabled: "yes" - state: restarted - when: init_script|changed + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] + notify: + - Restart swift services diff --git a/tasks/swift_init_systemd.yml b/tasks/swift_init_systemd.yml index eb0959da..fa3f1030 100644 --- a/tasks/swift_init_systemd.yml +++ b/tasks/swift_init_systemd.yml @@ -15,19 +15,23 @@ - name: Create TEMP run dir file: - path: "/var/run/{{ program_name }}" + path: "/var/run/{{ item.value.program_name }}" state: directory - owner: "{{ system_user }}" - group: "{{ system_group }}" + owner: "{{ swift_system_user_name }}" + group: "{{ swift_system_group_name }}" mode: "02755" + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] - name: Create TEMP lock dir file: - path: "/var/lock/{{ program_name }}" + path: "/var/lock/{{ item.value.program_name }}" state: directory - owner: "{{ system_user }}" - group: "{{ system_group }}" + owner: "{{ swift_system_user_name }}" + group: "{{ swift_system_group_name }}" mode: "02755" + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] - name: Create tempfile.d entry template: @@ -36,16 +40,17 @@ mode: "0644" owner: "root" group: "root" + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] - name: Place the systemd init script template: src: "swift-systemd-init.j2" - dest: "/etc/systemd/system/{{ program_name }}.service" + dest: "/etc/systemd/system/{{ item.value.program_name }}.service" mode: "0644" owner: "root" group: "root" - register: init_script - -- name: Reload the systemd daemon - command: "systemctl daemon-reload" - when: init_script | changed + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] + notify: + - Reload systemd daemon diff --git a/tasks/swift_init_upstart.yml b/tasks/swift_init_upstart.yml index 8c80414e..37f9747d 100644 --- a/tasks/swift_init_upstart.yml +++ b/tasks/swift_init_upstart.yml @@ -16,13 +16,11 @@ - name: Place the init script template: src: "swift-upstart-init.j2" - dest: "/etc/init/{{ program_name }}.conf" + dest: "/etc/init/{{ item.value.program_name }}.conf" mode: "0644" owner: "root" group: "root" - register: init_script - -- name: Reload init scripts - shell: | - initctl reload-configuration - when: init_script|changed + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] + notify: + - Reload upstart init scripts diff --git a/tasks/swift_install.yml b/tasks/swift_install.yml index b0024ae8..a652f24b 100644 --- a/tasks/swift_install.yml +++ b/tasks/swift_install.yml @@ -123,10 +123,7 @@ - not swift_developer_mode | bool - swift_get_venv | changed or swift_venv_dir | changed notify: - - Restart swift account services - - Restart swift container services - - Restart swift object services - - Restart swift proxy services + - Restart swift services - name: Install pip packages pip: @@ -143,10 +140,7 @@ - not swift_pypy_enabled | bool - swift_get_venv | failed or swift_developer_mode | bool notify: - - Restart swift account services - - Restart swift container services - - Restart swift object services - - Restart swift proxy services + - Restart swift services - name: Update virtualenv path command: > diff --git a/tasks/swift_post_install.yml b/tasks/swift_post_install.yml index df384045..64a68115 100644 --- a/tasks/swift_post_install.yml +++ b/tasks/swift_post_install.yml @@ -36,10 +36,7 @@ config_overrides: "{{ swift_memcache_conf_overrides }}" config_type: "ini" notify: - - Restart swift account services - - Restart swift container services - - Restart swift object services - - Restart swift proxy services + - Restart swift services - name: Copy swift config template: @@ -48,8 +45,5 @@ owner: "{{ swift_system_user_name }}" group: "{{ swift_system_group_name }}" notify: - - Restart swift account services - - Restart swift container services - - Restart swift object services - - Restart swift proxy services + - Restart swift services - Restart rsyslog diff --git a/tasks/swift_proxy_hosts.yml b/tasks/swift_proxy_hosts.yml index 48cced6b..cf73fba6 100644 --- a/tasks/swift_proxy_hosts.yml +++ b/tasks/swift_proxy_hosts.yml @@ -36,17 +36,6 @@ - swift_gnocchi_enabled | bool - get_gnocchi_project | success -- include: swift_init_common.yml - vars: - program_name: "swift-proxy-server" - program_config_options: "{{ swift_proxy_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - tags: - - swift-install - - name: swift proxy server configuration config_template: src: "proxy-server.conf.j2" @@ -56,7 +45,7 @@ mode: "0644" config_overrides: "{{ swift_proxy_server_conf_overrides }}" config_type: "ini" - notify: Restart swift proxy services + notify: Restart swift services tags: - swift-config @@ -72,6 +61,6 @@ config_type: "ini" when: > swift_container_sync_realms is defined - notify: Restart swift proxy services + notify: Restart swift services tags: - swift-config diff --git a/tasks/swift_pypy_setup.yml b/tasks/swift_pypy_setup.yml index a3a4813f..57c64f8d 100644 --- a/tasks/swift_pypy_setup.yml +++ b/tasks/swift_pypy_setup.yml @@ -66,10 +66,7 @@ retries: 5 delay: 2 notify: - - Restart swift account services - - Restart swift container services - - Restart swift object services - - Restart swift proxy services + - Restart swift services - name: Mark swift venv for use with pypy file: diff --git a/tasks/swift_storage_hosts_account.yml b/tasks/swift_storage_hosts_account.yml index 586776ee..ddda1aba 100644 --- a/tasks/swift_storage_hosts_account.yml +++ b/tasks/swift_storage_hosts_account.yml @@ -13,63 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# When using a replication network use the specific replicator configuration -# When not using a replication network use the default configuration -- include: swift_init_common.yml - vars: - program_name: "swift-account-replicator" - program_config_options: "{{ swift_dedicated_replication | ternary( - swift_account_replicator_program_config_options, - swift_account_server_program_config_options) }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -# When using a replication network use a second server for dedicated replicator configuration -# This will be a blank file if not using dedicated replication network to prevent errors -# when the service attempts to start. -- include: swift_init_common.yml - vars: - program_name: "swift-account-replicator-server" - program_binary: "swift-account-server" - program_config_options: "{{ swift_account_replicator_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-account-server" - program_config_options: "{{ swift_account_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -# The auditor needs to point at the replicator configuration. -# When using a dedicated replication network that means the dedicated conf file. -- include: swift_init_common.yml - vars: - program_name: "swift-account-auditor" - program_config_options: "{{ swift_dedicated_replication | ternary( - swift_account_replicator_program_config_options, - swift_account_server_program_config_options) }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-account-reaper" - program_config_options: "{{ swift_account_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - - name: "Swift account server configuration" config_template: src: "account-server.conf.j2" @@ -79,7 +22,7 @@ mode: "0644" config_overrides: "{{ swift_account_server_conf_overrides }}" config_type: "ini" - notify: Restart swift account services + notify: Restart swift services # We only create the dedicated replicator configuration when using a dedicated replication_network - name: "Swift account server replicator configuration" @@ -92,7 +35,7 @@ config_overrides: "{{ swift_account_server_replicator_conf_overrides }}" config_type: "ini" when: swift_dedicated_replication - notify: Restart swift account services + notify: Restart swift services # Remove the dedicated replicator configuration when no dedicated replication network in use - name: "Remove dedicated replicator configuration" diff --git a/tasks/swift_storage_hosts_container.yml b/tasks/swift_storage_hosts_container.yml index 6727f4e8..d40d959b 100644 --- a/tasks/swift_storage_hosts_container.yml +++ b/tasks/swift_storage_hosts_container.yml @@ -13,81 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# When using a replication network use the specific replicator configuration -# When not using a replication network use the default configuration -- include: swift_init_common.yml - vars: - program_name: "swift-container-replicator" - program_config_options: "{{ swift_dedicated_replication | ternary( - swift_container_replicator_program_config_options, - swift_container_server_program_config_options) }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -# When using a replication network create a second server for dedicated replicator configuration -# This will be a blank file if not using dedicated replication network to prevent errors -# when the service attempts to start. -- include: swift_init_common.yml - vars: - program_name: "swift-container-replicator-server" - program_binary: "swift-container-server" - program_config_options: "{{ swift_container_replicator_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-container-server" - program_config_options: "{{ swift_container_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -# The auditor needs to point at the replicator configuration. -# # When using a dedicated replication network that means the dedicated conf file. -- include: swift_init_common.yml - vars: - program_name: "swift-container-auditor" - program_config_options: "{{ swift_dedicated_replication | ternary( - swift_container_replicator_program_config_options, - swift_container_server_program_config_options) }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-container-sync" - program_config_options: "{{ swift_container_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-container-updater" - program_config_options: "{{ swift_container_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-container-reconciler" - program_config_options: "{{ swift_container_reconciler_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - - name: "Swift container server configuration" config_template: src: "{{ item.src }}" @@ -106,7 +31,7 @@ dest: "/etc/swift/container-server/container-reconciler.conf" config_overrides: "{{ swift_container_reconciler_conf_overrides }}" config_type: "ini" - notify: Restart swift container services + notify: Restart swift services # If we've specified a container-sync realm use container-sync-realms.conf - name: "Swift container-sync configuration" @@ -120,7 +45,7 @@ config_type: "ini" when: - swift_container_sync_realms is defined - notify: Restart swift container services + notify: Restart swift services # We only create the dedicated replicator configuration when using a dedicated replication_network - name: "Swift container server replicator configuration" @@ -133,7 +58,7 @@ config_overrides: "{{ swift_container_server_replicator_conf_overrides }}" config_type: "ini" when: swift_dedicated_replication - notify: Restart swift container services + notify: Restart swift services # Remove the dedicated replicator configuration when no dedicated replication network in use - name: "Remove dedicated replicator configuration" diff --git a/tasks/swift_storage_hosts_object.yml b/tasks/swift_storage_hosts_object.yml index 10bc02ff..b09eb948 100644 --- a/tasks/swift_storage_hosts_object.yml +++ b/tasks/swift_storage_hosts_object.yml @@ -13,72 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# When using a replication network use the specific replicator configuration -# When not using a replication network use the default configuration -- include: swift_init_common.yml - vars: - program_name: "swift-object-replicator" - program_config_options: "{{ swift_dedicated_replication | ternary( - swift_object_replicator_program_config_options, - swift_object_server_program_config_options) }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -# When using a replication network use a second server for dedicated replicator configuration -# This will be a blank file if not using dedicated replication network to prevent errors -# when the service attempts to start. -- include: swift_init_common.yml - vars: - program_name: "swift-object-replicator-server" - program_binary: "swift-object-server" - program_config_options: "{{ swift_object_replicator_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-object-server" - program_config_options: "{{ swift_object_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -# The auditor needs to point at the replicator configuration. -# # When using a dedicated replication network that means the dedicated conf file. -- include: swift_init_common.yml - vars: - program_name: "swift-object-auditor" - program_config_options: "{{ swift_dedicated_replication | ternary( - swift_object_replicator_program_config_options, - swift_object_server_program_config_options) }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-object-updater" - program_config_options: "{{ swift_object_server_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - -- include: swift_init_common.yml - vars: - program_name: "swift-object-expirer" - program_config_options: "{{ swift_object_expirer_program_config_options }}" - service_name: "{{ swift_service_name }}" - system_user: "{{ swift_system_user_name }}" - system_group: "{{ swift_system_group_name }}" - service_home: "{{ swift_system_home_folder }}" - - name: "Swift object server configuration" config_template: src: "{{ item.src }}" @@ -97,7 +31,7 @@ dest: "/etc/swift/object-server/object-expirer.conf" config_overrides: "{{ swift_object_expirer_conf_overrides }}" config_type: "ini" - notify: Restart swift object services + notify: Restart swift services # We only create the dedicated replicator configuration when using a dedicated replication_network - name: "Swift object server replicator configuration" @@ -110,7 +44,7 @@ config_overrides: "{{ swift_object_server_replicator_conf_overrides }}" config_type: "ini" when: swift_dedicated_replication - notify: Restart swift object services + notify: Restart swift services # Remove the dedicated replicator configuration when no dedicated replication network in use - name: "Remove dedicated replicator configuration" diff --git a/tasks/swift_sync_post_install.yml b/tasks/swift_sync_post_install.yml index 41c25628..0d995a40 100644 --- a/tasks/swift_sync_post_install.yml +++ b/tasks/swift_sync_post_install.yml @@ -15,19 +15,8 @@ - name: "Ensure services are started" service: - name: "{{ item }}" + name: "{{ item.value.program_name }}" state: "started" - pattern: "{{ item }}" - with_items: - - "{{ swift_account_program_names }}" - - "{{ swift_container_program_names }}" - - "{{ swift_object_program_names }}" - when: inventory_hostname in groups['swift_hosts'] - -- name: "Ensure services are started" - service: - name: "{{ item }}" - state: "started" - pattern: "{{ item }}" - with_items: "{{ swift_proxy_program_names }}" - when: inventory_hostname in groups['swift_proxy'] + pattern: "{{ item.value.program_name }}" + with_dict: "{{ swift_services }}" + when: inventory_hostname in groups[item.value.group] diff --git a/templates/swift-systemd-init.j2 b/templates/swift-systemd-init.j2 index 2064f23c..20518bdb 100644 --- a/templates/swift-systemd-init.j2 +++ b/templates/swift-systemd-init.j2 @@ -1,5 +1,4 @@ # {{ ansible_managed }} - [Unit] Description=swift openstack service After=syslog.target @@ -7,13 +6,13 @@ After=network.target [Service] Type=simple -User={{ system_user }} -Group={{ system_group }} +User={{ swift_system_user_name }} +Group={{ swift_system_group_name }} -{% if program_override is defined %} -ExecStart={{ program_override }} {{ program_config_options|default('') }} +{% if item.value.program_override is defined %} +ExecStart={{ item.value.program_override }} {{ item.value.program_config_options|default('') }} {% else %} -ExecStart={{ swift_bin }}/{{ program_name }} {{ program_config_options|default('') }} +ExecStart={{ swift_bin }}/{{ item.value.program_name }} {{ item.value.program_config_options|default('') }} {% endif %} # Give a reasonable amount of time for the server to start up/shut down diff --git a/templates/swift-systemd-tempfiles.j2 b/templates/swift-systemd-tempfiles.j2 index b723d85d..9b044fa2 100644 --- a/templates/swift-systemd-tempfiles.j2 +++ b/templates/swift-systemd-tempfiles.j2 @@ -1,4 +1,4 @@ # {{ ansible_managed }} -D /var/lock/{{ program_name }} 2755 {{ system_user }} {{ system_group }} -D /var/run/{{ program_name }} 2755 {{ system_user }} {{ system_group }} +D /var/lock/{{ item.value.program_name }} 2755 {{ swift_system_user_name }} {{ swift_system_group_name }} +D /var/run/{{ item.value.program_name }} 2755 {{ swift_system_user_name }} {{ swift_system_group_name }} diff --git a/templates/swift-upstart-init.j2 b/templates/swift-upstart-init.j2 index 80fc655c..274fe83c 100644 --- a/templates/swift-upstart-init.j2 +++ b/templates/swift-upstart-init.j2 @@ -1,9 +1,9 @@ # {{ ansible_managed }} -{% if not swift_dedicated_replication and 'replicator-server' in program_name %} +{% if not swift_dedicated_replication and 'replicator-server' in item.value.program_name %} # Blank script - dedicated replication network not in use {% else %} -description "{{ program_name }}" +description "{{ item.value.program_name }}" author "Kevin Carter " start on runlevel [2345] @@ -13,18 +13,18 @@ respawn respawn limit 10 5 # Set the RUNBIN environment variable -env RUNBIN="{{ swift_bin }}/{{ program_binary | default(program_name) }}" +env RUNBIN="{{ swift_bin }}/{{ item.value.program_binary | default(item.value.program_name) }}" # Change directory to service users home -chdir "{{ service_home }}" +chdir "{{ swift_system_home_folder }}" # 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/run/{{ item.value.program_binary | default(item.value.program_name) }}" + chown {{ swift_system_user_name }}:{{ swift_system_group_name }} "/var/run/{{ item.value.program_binary | default(item.value.program_name) }}" - mkdir -p "/var/lock/{{ program_binary | default(program_name) }}" - chown {{ system_user }}:{{ system_group }} "/var/lock/{{ program_binary | default(program_name) }}" + mkdir -p "/var/lock/{{ item.value.program_binary | default(item.value.program_name) }}" + chown {{ swift_system_user_name }}:{{ swift_system_group_name }} "/var/lock/{{ item.value.program_binary | default(item.value.program_name) }}" . {{ swift_bin }}/activate @@ -32,13 +32,13 @@ end script # Post stop actions post-stop script - rm "/var/run/{{ program_binary | default(program_name) }}/{{ program_name }}.pid" + rm "/var/run/{{ item.value.program_binary | default(item.value.program_name) }}/{{ item.value.program_name }}.pid" end script # Run the start up job exec start-stop-daemon --start \ - --chuid {{ system_user }} \ + --chuid {{ swift_system_user_name }} \ --make-pidfile \ - --pidfile /var/run/{{ program_binary | default(program_name) }}/{{ program_name }}.pid \ - --exec "{{ program_override|default('$RUNBIN') }}" "{{ program_config_options|default('') }}" + --pidfile /var/run/{{ item.value.program_binary | default(item.value.program_name) }}/{{ item.value.program_name }}.pid \ + --exec "{{ item.value.program_override|default('$RUNBIN') }}" "{{ item.value.program_config_options|default('') }}" {% endif %}