blob: 7894ae7eaba3779cd56f81163ad6567ca53a1ceb [file] [log] [blame]
{%- set default_params = {
'cacert_file': salt['grains.filter_by']({
'Debian': '/etc/ssl/certs/ca-certificates.crt',
'RedHat': '/etc/pki/tls/certs/ca-bundle.crt'
})}
%}
{% set compute_bind_defaults = {
'vnc_address': '10.0.0.10',
'vnc_port': '6080',
'vnc_name': 'cloud.domain.com',
'vnc_protocol': 'http',
} %}
{%- if grains.os_family == "Debian" %}
{%- set pkgs_list = [ 'nova-common', 'nova-consoleproxy', 'novnc', 'nova-api', 'nova-conductor', 'nova-consoleauth', 'nova-doc', 'nova-scheduler', 'python-novaclient', 'python-memcache', 'gettext-base', 'python-pycadf'] %}
{%- set services_list = ['nova-api', 'nova-consoleauth', 'nova-scheduler', 'nova-conductor', 'nova-novncproxy'] %}
{%- if pillar.nova.controller is defined and pillar.nova.controller.get('version',{}) in ["juno", "kilo", "liberty", "mitaka"] %}
{%- do pkgs_list.append('nova-cert') %}
{%- do services_list.append('nova-cert') %}
{%- endif %}
{%- endif %}
{%- if grains.os_family == "RedHat" %}
{%- set pkgs_list = ['openstack-nova-novncproxy', 'python-nova', 'openstack-nova-api', 'openstack-nova-console', 'openstack-nova-scheduler', 'python-novaclient', 'openstack-nova-common', 'openstack-nova-conductor', 'python-pycadf'] %}
{%- set services_list = ['openstack-nova-api', 'openstack-nova-consoleauth', 'openstack-nova-scheduler', 'openstack-nova-conductor', 'openstack-nova-novncproxy'] %}
{%- if pillar.nova.controller is defined and pillar.nova.controller.get('version',{}) in ["juno", "kilo", "liberty", "mitaka", "newton", "ocata"] %}
{%- do pkgs_list.append('openstack-nova-cert') %}
{%- do services_list.append('openstack-nova-cert') %}
{%- endif %}
{%- endif %}
{% set controller = salt['grains.filter_by']({
'BaseDefaults': default_params,
'Debian': {
'pkgs': pkgs_list,
'services': services_list,
'debug': false,
'notification': false,
'cors': {},
'audit': {
'enabled': false
},
'logging': {
'app_name': 'nova',
'log_appender': false,
'log_handlers': {
'watchedfile': {
'enabled': true
}
}
},
'novncproxy': {
'tls': {
'enabled': false,
'key_file': '/etc/pki/nova-novncproxy/client-key.pem',
'cert_file': '/etc/pki/nova-novncproxy/client-cert.pem',
'ca_file': '/etc/pki/nova-novncproxy/ca-cert.pem',
}
},
},
'RedHat': {
'pkgs': pkgs_list,
'services': services_list,
'debug': false,
'notification': false,
'cors': {},
'audit': {
'enabled': false
},
'logging': {
'app_name': 'nova',
'log_appender': false,
'log_handlers': {
'watchedfile': {
'enabled': true
}
}
},
'novncproxy': {
'tls': {
'enabled': false,
'key_file': '/etc/pki/nova-novncproxy/client-key.pem',
'cert_file': '/etc/pki/nova-novncproxy/client-cert.pem',
'ca_file': '/etc/pki/nova-novncproxy/ca-cert.pem',
}
},
},
}, merge=pillar.nova.get('controller', {}), base='BaseDefaults') %}
{% set client = salt['grains.filter_by']({
'Debian': {
'pkgs': ['python-novaclient']
},
'RedHat': {
'pkgs': ['python-novaclient']
},
}, merge=pillar.nova.get('client', {})) %}
{% set compute_network = salt['grains.filter_by']({
'default': {
'dpdk': {
'enabled': false,
},
'openvswitch': {
'vhost_socket_dir': {
'name': 'openvswitch-vhost',
'path': '/run/openvswitch-vhost',
},
},
'region': 'RegionOne',
},
}, merge=salt['pillar.get']('linux:network'), base='default') %}
{%- load_yaml as compute_defaults %}
BaseDefaults: {{ default_params }}
Debian:
pkgs:
- nova-common
- nova-compute-kvm
- python-novaclient
- pm-utils
- sysfsutils
- sg3-utils
- libvirt-bin
- python-memcache
- qemu-kvm
- python-guestfs
- gettext-base
{%- if pillar.nova.compute is defined and pillar.nova.compute.get('networking', 'default') == "contrail" and pillar.nova.compute.get('version', 'ocata') not in ["juno", "kilo", "liberty", "mitaka", "newton"] %}
- contrail-nova-driver
{%- endif %}
services:
- nova-compute
libvirt_config: libvirtd.conf
{# Since Openstack Pike Libvirt 3.6 package is installed, it requires different file name for environment file #}
{%- if pillar.nova.compute is defined and pillar.nova.compute.version not in ["juno", "kilo", "liberty", "mitaka", "newton", "ocata"] %}
libvirt_bin: "/etc/default/libvirtd"
{%- else %}
libvirt_bin: "/etc/default/libvirt-bin"
{%- endif %}
libvirt_service: libvirt-bin
bind: compute_bind_defaults
debug: false
qemu:
vnc:
tls:
enabled: False
key_file: '/etc/pki/libvirt-vnc/server-key.pem'
cert_file: '/etc/pki/libvirt-vnc/server-cert.pem'
ca_file: '/etc/pki/libvirt-vnc/ca-cert.pem'
cert_dir: '/etc/pki/libvirt-vnc'
libvirt:
inject_partition: '-2'
inject_password: False
tls:
enabled: False
key_file: '/etc/pki/libvirt/private/serverkey.pem'
cert_file: '/etc/pki/libvirt/servercert.pem'
ca_file: '/etc/pki/CA/cacert.pem'
client:
key_file: '/etc/pki/libvirt/private/clientkey.pem'
cert_file: '/etc/pki/libvirt/clientcert.pem'
instances_path: "$state_path/instances"
notification: false
availability_zone:
aggregates: []
cpu_mode: host-passthrough
identity:
region: RegionOne
network: {{ compute_network }}
heal_instance_info_cache_interval: '60'
message_queue:
zmq_linger: 30
rpc_response_timeout: 3600
logging:
app_name: 'nova'
log_appender: false
log_handlers:
watchedfile:
enabled: true
RedHat:
pkgs:
- openstack-nova-compute
- python-novaclient
- python-nova
- sysfsutils
- sg3_utils
services:
- messagebus
- openstack-nova-compute
- libvirtd
libvirt_config: libvirt.conf
libvirt_bin: "/etc/sysconfig/libvirtd"
libvirt_service: libvirtd
bind: compute_bind_defaults
debug: false
qemu:
vnc:
tls:
enabled: False
key_file: '/etc/pki/libvirt-vnc/server-key.pem'
cert_file: '/etc/pki/libvirt-vnc/server-cert.pem'
ca_file: '/etc/pki/libvirt-vnc/ca-cert.pem'
cert_dir: '/etc/pki/libvirt-vnc'
libvirt:
inject_partition: '-2'
inject_password: False
tls:
enabled: False
key_file: '/etc/pki/libvirt/private/serverkey.pem'
cert_file: '/etc/pki/libvirt/servercert.pem'
ca_file: '/etc/pki/CA/cacert.pem'
client:
key_file: '/etc/pki/libvirt/private/clientkey.pem'
cert_file: '/etc/pki/libvirt/clientcert.pem'
notification: false
availability_zone:
identity:
region: RegionOne
network: {{ compute_network }}
heal_instance_info_cache_interval: '60'
message_queue:
zmq_linger: 30
rpc_response_timeout: 3600
logging:
app_name: 'nova'
log_appender: false
log_handlers:
watchedfile:
enabled: true
{%- endload %}
{% set compute = salt["grains.filter_by"](compute_defaults, merge=pillar.nova.get("compute", {}), base='BaseDefaults') %}
{% set monitoring = salt['grains.filter_by']({
'default': {
'disk': {
'warn': '15%',
'crit': '5%',
},
'error_log_rate': {
'warn': 0.2,
},
'services_failed_warning_threshold_percent': 0.3,
'services_failed_critical_threshold_percent': 0.6,
'computes_failed_warning_threshold_percent': 0.25,
'computes_failed_critical_threshold_percent': 0.5,
'cpu_minor_threshold': 0.85,
'cpu_major_threshold': 0.95,
'ram_major_threshold': 0.85,
'ram_critical_threshold': 0.95,
'disk_major_threshold': 0.85,
'disk_critical_threshold': 0.95,
'endpoint_failed_major_threshold': 0.5,
},
}, grain='os_family', merge=salt['pillar.get']('nova:monitoring')) %}