This creates a specific slice which all OpenStack services will operate from. By creating an independent slice these components will be governed away from the system slice allowing us to better optimise resource consumption. See the following for more information on slices: * https://www.freedesktop.org/software/systemd/man/systemd.slice.html See for following for more information on resource controls: * https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html Tools like ``systemd-cgtop`` and ``systemd-cgls`` will now give us insight into specific processes, process groups, and resouce consumption in ways that we've not had access to before. To enable some of this reporting the accounting options have been added to the [Service] section of the unit file. Change-Id: I6078d6cf19da27afc22b5f699165acea0139ddc1 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
48 lines
1.8 KiB
YAML
48 lines
1.8 KiB
YAML
---
|
|
# Copyright 2014, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Reload systemd daemon
|
|
command: "systemctl daemon-reload"
|
|
notify:
|
|
- Restart neutron services
|
|
|
|
- name: Restart neutron services
|
|
service:
|
|
name: "{{ item.value.service_name }}"
|
|
state: restarted
|
|
with_dict: "{{ neutron_services }}"
|
|
failed_when: false
|
|
notify:
|
|
- Run ns-metadata-proxy process cleanup
|
|
when: item.value.service_en | bool
|
|
|
|
# NOTE(cloudnull):
|
|
# When installing or upgrading it is possible that an old metadata proxy process will not
|
|
# be restarted by the metadata agent when a version changes. To fix it the ns-metadata
|
|
# proxy pids are killed if they're not running the current tag. Once the old processeses
|
|
# are removed the metadata agent will respawn the missing process within 60 seconds using
|
|
# the correct code.
|
|
- name: Run ns-metadata-proxy process cleanup
|
|
shell: |
|
|
for ns_pid in $(pgrep neutron-ns-meta); do
|
|
echo $(readlink -f "/proc/$ns_pid/exe") | grep -qv "{{ neutron_venv_tag }}"
|
|
if [ $? -eq 0 ]; then
|
|
if kill -9 "$ns_pid"; then
|
|
logger -s "old metadata proxy pid found and has been cleaned up on: \"$ns_pid\""
|
|
fi
|
|
fi
|
|
done
|
|
when: neutron_services['neutron-metadata-agent'].service_en | bool
|