openstack-ansible-os_neutron/tasks/main.yml
Kevin Carter 32891e596b
Ensure the components are isolated from the system
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>
2017-03-29 14:10:07 -05:00

99 lines
2.7 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: Gather variables for each operating system
include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml"
- "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
- "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
- "{{ ansible_distribution | lower }}.yml"
- "{{ ansible_os_family | lower }}.yml"
tags:
- always
- name: Get CPU info content and store as var
command: cat /proc/cpuinfo
register: cpuinfo_contents
changed_when: false
failed_when: false
tags:
- always
- name: Set neutron target platform type
set_fact:
neutron_os_type: "powervm"
when:
- cpuinfo_contents.stdout.find('pSeries') != -1
- ansible_architecture == 'ppc64le'
tags:
- always
- include: neutron_ml2_ovs_powervm.yml
static: no
when:
- neutron_os_type is defined
- neutron_os_type == 'powervm'
- neutron_plugin_type == 'ml2.ovs'
- "{{ ansible_distribution_version | version_compare('16.04','>=') }}"
tags:
- neutron-config
- include: neutron_pre_install.yml
tags:
- neutron-install
- include: neutron_install.yml
tags:
- neutron-install
- include: neutron_post_install.yml
tags:
- neutron-config
- include: dragonflow.yml
when: neutron_plugin_type == 'ml2.dragonflow'
tags:
- neutron-install
# neutron system services
- include: neutron_init_common.yml
tags:
- neutron-config
- include: neutron_db_setup.yml
when:
- neutron_services['neutron-server']['group'] in group_names
- inventory_hostname == groups[neutron_services['neutron-server']['group']][0]
tags:
- neutron-config
- include: neutron_service_setup.yml
when:
- "'neutron_all' in group_names"
- inventory_hostname == groups['neutron_all'][0]
tags:
- neutron-config
- include: neutron_l3_ha.yml
when:
- neutron_services['neutron-l3-agent']['group'] in group_names
- neutron_legacy_ha_tool_enabled | bool
tags:
- neutron-config
- name: Flush handlers
meta: flush_handlers