Kevin Carter 012d3f3530 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: Ic4edfa39b8ee42d0f6192b986e1c40c9c94488df
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2017-03-28 23:37:47 -05:00

191 lines
6.5 KiB
YAML

---
# 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.
## Verbosity Options
debug: False
# Set the package install state for distribution and pip packages
# Options are 'present' and 'latest'
sahara_package_state: "latest"
sahara_pip_package_state: "latest"
sahara_git_repo: https://git.openstack.org/openstack/sahara
sahara_git_install_branch: master
sahara_developer_mode: false
sahara_developer_constraints:
- "git+{{ sahara_git_repo }}@{{ sahara_git_install_branch }}#egg=sahara"
# Name of the virtual env to deploy into
sahara_venv_tag: untagged
sahara_bin: "/openstack/venvs/sahara-{{ sahara_venv_tag }}/bin"
sahara_etc_dir: "{{ sahara_bin | dirname }}/etc/sahara"
# venv_download, even when true, will use the fallback method of building the
# venv from scratch if the venv download fails.
sahara_venv_download: "{{ not sahara_developer_mode | bool }}"
sahara_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/sahara.tgz
sahara_db_config: /etc/sahara/sahara.conf
# Enable/Disable Ceilometer
sahara_ceilometer_enabled: False
sahara_profiler_enabled: False
sahara_fatal_deprecations: False
## System info
sahara_system_user_name: sahara
sahara_system_group_name: sahara
sahara_system_shell: /bin/false
sahara_system_comment: sahara system user
sahara_system_user_home: "/var/lib/{{ sahara_system_user_name }}"
sahara_engine_host: "{{ internal_lb_vip_address }}"
## RabbitMQ info
sahara_rpc_backend: sahara.openstack.common.rpc.impl_kombu
sahara_rabbitmq_userid: sahara
sahara_rabbitmq_vhost: /sahara
sahara_rabbitmq_use_ssl: False
sahara_rabbitmq_servers: 127.0.0.1
sahara_rabbitmq_port: 5672
## Configuration for notifications communication, i.e. [oslo_messaging_notifications]
sahara_rabbitmq_telemetry_userid: "{{ sahara_rabbitmq_userid }}"
sahara_rabbitmq_telemetry_vhost: "{{ sahara_rabbitmq_vhost }}"
sahara_rabbitmq_telemetry_port: "{{ sahara_rabbitmq_port }}"
sahara_rabbitmq_telemetry_servers: "{{ sahara_rabbitmq_servers }}"
sahara_rabbitmq_telemetry_use_ssl: "{{ sahara_rabbitmq_use_ssl }}"
## DB info
sahara_galera_database: sahara
sahara_galera_user: sahara
sahara_role_name: admin
sahara_api_bind_address: 0.0.0.0
sahara_api_service_port: 8386
## Service Type and Data
sahara_service_region: RegionOne
sahara_service_name: sahara
sahara_service_port: 8386
sahara_service_proto: http
sahara_service_engine_proto: "{{ sahara_service_proto }}"
sahara_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(sahara_service_proto) }}"
sahara_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(sahara_service_proto) }}"
sahara_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(sahara_service_proto) }}"
sahara_service_type: data-processing
sahara_service_description: "Sahara Data Processing Service"
sahara_service_user_name: sahara
sahara_service_project_name: service
sahara_service_project_domain_id: default
sahara_service_user_domain_id: default
sahara_service_publicuri: "{{ sahara_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ sahara_service_port }}"
sahara_service_publicurl: "{{ sahara_service_publicuri }}/v1.1/%(tenant_id)s"
sahara_service_internaluri: "{{ sahara_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ sahara_service_port }}"
sahara_service_internalurl: "{{ sahara_service_internaluri }}/v1.1/%(tenant_id)s"
sahara_service_adminuri: "{{ sahara_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ sahara_service_port }}"
sahara_service_adminurl: "{{ sahara_service_adminuri }}/v1.1/%(tenant_id)s"
## Keystone authentication middleware
sahara_keystone_auth_plugin: password
## Sahara config
sahara_use_floating_ips: False
sahara_use_neutron: True
sahara_use_namespaces: False
sahara_global_remote_threshold: 100
sahara_cluster_remote_threshold: 70
sahara_os_region_name: "{{ sahara_service_region }}"
sahara_default_ntp_server: "pool.ntp.org"
sahara_use_domain_for_proxy_users: True
sahara_proxy_user_domain_name: sahara_proxy
sahara_proxy_user_role_names: _member_
# Other plugins can be added to the system by simply extending the list `sahara_plugin_base`.
sahara_plugin_base:
- vanilla
- spark
- cdh
- ambari
sahara_plugin_loaded_base: "{% for plugin in sahara_plugin_base %}{{ plugin }}{% if not loop.last %},{% endif %}{% endfor %}"
## Cap the maximum number of threads / workers when a user value is unspecified.
sahara_api_workers_max: 16
sahara_api_workers: "{{ [[ansible_processor_vcpus|default(2) // 2, 1] | max, sahara_api_workers_max] | min }}"
sahara_task_executor: taskflow
sahara_digest_algorithm: sha256
sahara_http_keepalive: True
## Sahara policy
sahara_policy_file: policy.json
sahara_policy_default_rule: default
sahara_policy_dirs: policy.d
## Policy vars
# Provide a list of access controls to update the default policy.json with. These changes will be merged
# with the access controls in the default policy.json. E.g.
#sahara_policy_overrides:
# "clusters:get_all": ""
# "clusters:create": ""
sahara_service_in_ldap: False
# Sahara packages that must be installed before anything else
sahara_requires_pip_packages:
- virtualenv
- virtualenv-tools
- python-keystoneclient # Keystoneclient needed to OSA keystone lib
- httplib2
# Common pip packages
sahara_pip_packages:
- sahara
- keystonemiddleware
- PyMySQL
- python-memcached
- pycrypto
- python-saharaclient
- python-keystoneclient
- warlock
sahara_engine_init_overrides: {}
sahara_api_init_overrides: {}
## Service Names
sahara_services:
sahara-api:
group: sahara_api
service_name: sahara-api
init_config_overrides: "{{ sahara_api_init_overrides }}"
sahara-engine:
group: sahara_engine
service_name: sahara-engine
init_config_overrides: "{{ sahara_engine_init_overrides }}"
# This variable is used by the repo_build process to determine
# which host group to check for members of before building the
# pip packages required by this role. The value is picked up
# by the py_pkgs lookup.
sahara_role_project_group: sahara_all
## Tunable overrides
sahara_api_paste_ini_overrides: {}
sahara_conf_overrides: {}
sahara_rootwrap_conf_overrides: {}
sahara_policy_overrides: {}