| {%- set vendor = salt['pillar.get']('opencontrail:common:vendor', 'opencontrail') %} |
| {%- set version = salt['pillar.get']('opencontrail:common:version') %} |
| {%- set ifmap = salt['pillar.get']('opencontrail:config:ifmap:engine', 'irond') %} |
| |
| {%- load_yaml as base_defaults %} |
| {%- if vendor in ['opencontrail'] %} |
| common: |
| Debian: |
| vendor: opencontrail |
| source: {'engine': 'pkg', 'address': 'http://'} |
| pkgs: |
| ['dpkg-dev', 'contrail-utils', 'contrail-nodemgr', 'gettext-base'] |
| RedHat: |
| vendor: opencontrail |
| source: {'engine': 'pkg', 'address': 'http://'} |
| pkgs: |
| ['contrail-utils', 'contrail-nodemgr'] |
| collector: |
| Debian: |
| pkgs: |
| ['contrail-analytics', 'python-cassandra'] |
| redis_config: '/etc/redis/redis.conf' |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-analytics', 'redis-server'] |
| {%- else %} |
| ['contrail-collector', 'contrail-analytics-api', 'contrail-query-engine', 'contrail-alarm-gen', 'contrail-snmp-collector', 'contrail-topology', 'contrail-analytics-nodemgr', 'redis-server'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('analytics', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.analytics.container_name }} |
| {%- endif%} |
| RedHat: |
| pkgs: |
| ['contrail-analytics'] |
| redis_config: '/etc/redis.conf' |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-analytics', 'redis'] |
| {%- else %} |
| ['contrail-collector', 'contrail-analytics-api', 'contrail-query-engine', 'contrail-alarm-gen', 'contrail-snmp-collector', 'contrail-topology', 'contrail-analytics-nodemgr', 'redis'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('analytics', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.analytics.container_name }} |
| {%- endif%} |
| compute: |
| Debian: |
| pkgs: |
| - contrail-utils |
| - iproute2 |
| - haproxy |
| - {{ ['linux-headers-', grains.get('kernelrelease')]|join('') }} |
| {%- if pillar.nova is defined and 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: |
| {%- if version < 4.0 %} |
| ['supervisor-vrouter'] |
| {%- else %} |
| ['contrail-vrouter-agent', 'contrail-vrouter-nodemgr'] |
| {%- endif %} |
| xmpp: |
| tls: |
| enabled: False |
| auth: |
| enabled: False |
| cert_file: /etc/contrail/ssl/certs/server.pem |
| key_file: /etc/contrail/ssl/private/server-privkey.pem |
| ca_cert_file: /etc/contrail/ssl/certs/ca-cert.pem |
| dpdk: |
| enabled: False |
| RedHat: |
| pkgs: |
| ['contrail-openstack-vrouter', 'contrail-utils', 'haproxy', 'contrail-vrouter-source'] |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-vrouter'] |
| {%- else %} |
| ['contrail-vrouter-agent', 'contrail-vrouter-nodemgr'] |
| {%- endif %} |
| xmpp: |
| tls: |
| enabled: False |
| auth: |
| enabled: False |
| cert_file: /etc/contrail/ssl/certs/server.pem |
| key_file: /etc/contrail/ssl/private/server-privkey.pem |
| ca_cert_file: /etc/contrail/ssl/certs/ca-cert.pem |
| dpdk: |
| enabled: False |
| config: |
| Debian: |
| pkgs: |
| - 'contrail-config-openstack' |
| {%- if version < 4.0 %} |
| {%- if ifmap == 'irond' %} |
| - 'ifmap-server' |
| {%- endif %} |
| {%- endif %} |
| services: |
| {%- if version < 4.0 %} |
| {%- if ifmap == 'irond' %} |
| - 'ifmap-server' |
| {%- endif %} |
| - 'supervisor-config' |
| {%- else %} |
| ['contrail-api', 'contrail-schema', 'contrail-svc-monitor', 'contrail-device-manager', 'contrail-config-nodemgr'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('controller', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.controller.container_name }} |
| {%- endif%} |
| RedHat: |
| pkgs: |
| ['contrail-openstack-config'] |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-config'] |
| {%- else %} |
| ['contrail-api', 'contrail-schema', 'contrail-svc-monitor', 'contrail-device-manager', 'contrail-config-nodemgr'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('controller', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.controller.container_name }} |
| {%- endif%} |
| control: |
| Debian: |
| pkgs: |
| ['contrail-control', 'contrail-dns'] |
| services: |
| {%- if version < 4.0 %} |
| ['contrail-control', 'supervisor-control'] |
| {%- else %} |
| ['contrail-control', 'contrail-named', 'contrail-dns', 'contrail-control-nodemgr'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('controller', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.controller.container_name }} |
| {%- endif%} |
| xmpp: |
| tls: |
| enabled: False |
| auth: |
| enabled: False |
| cert_file: /etc/contrail/ssl/certs/server.pem |
| key_file: /etc/contrail/ssl/private/server-privkey.pem |
| ca_cert_file: /etc/contrail/ssl/certs/ca-cert.pem |
| RedHat: |
| pkgs: |
| ['contrail-openstack-control'] |
| services: |
| {%- if version < 4.0 %} |
| ['contrail-control', 'supervisor-control'] |
| {%- else %} |
| ['contrail-control', 'contrail-named', 'contrail-dns', 'contrail-control-nodemgr'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('controller', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.controller.container_name }} |
| {%- endif%} |
| xmpp: |
| tls: |
| enabled: False |
| auth: |
| enabled: False |
| cert_file: /etc/contrail/ssl/certs/server.pem |
| key_file: /etc/contrail/ssl/private/server-privkey.pem |
| ca_cert_file: /etc/contrail/ssl/certs/ca-cert.pem |
| database: |
| Debian: |
| pkgs: |
| {%- set openjdkPackage = 'openjdk-8-jre-headless' if grains.get('oscodename') == 'xenial' else 'openjdk-7-jre-headless' %} |
| {%- set databasePackage = 'contrail-openstack-database' if version >= 4.0 else 'contrail-database' %} |
| ['cassandra', 'zookeeper', '{{ openjdkPackage }}' , '{{ databasePackage }}'] |
| {%- if version >= 4.1 %} |
| cassandra_version: '3.10' |
| kafka_version: '1.1.1' |
| {%- elif version == 4.0 %} |
| cassandra_version: '2.2' |
| kafka_version: '0.9.0.1' |
| {%- else %} |
| cassandra_version: '2.1' |
| kafka_version: '0.8.2.0' |
| {%- endif%} |
| cassandra_config: '/etc/cassandra/' |
| compaction_throughput_mb_per_sec: 16 |
| services: |
| {%- if version < 4.0 %} |
| ['supervisord-contrail-database', 'zookeeper'] |
| {%- else %} |
| ['contrail-database', 'contrail-database-nodemgr', 'zookeeper'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('analyticsdb', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.analyticsdb.container_name }} |
| {%- endif%} |
| RedHat: |
| pkgs: |
| ['contrail-openstack-database', 'zookeeper', 'supervisor', 'java-1.7.0-openjdk-headless'] |
| {%- if version >= 4.1 %} |
| cassandra_version: '3.10' |
| kafka_version: '1.1.1' |
| {%- elif version == 4.0 %} |
| cassandra_version: '2.2' |
| kafka_version: '0.9.0.1' |
| {%- else %} |
| cassandra_version: '2.1' |
| kafka_version: '0.8.2.0' |
| {%- endif%} |
| cassandra_config: '/etc/cassandra/conf/' |
| compaction_throughput_mb_per_sec: 16 |
| services: |
| {%- if version < 4.0 %} |
| ['supervisord-contrail-database', 'zookeeper'] |
| {%- else %} |
| ['contrail-database', 'contrail-database-nodemgr', 'zookeeper'] |
| {%- endif %} |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('analyticsdb', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.analyticsdb.container_name }} |
| {%- endif%} |
| web: |
| Debian: |
| pkgs: |
| ['contrail-web-controller', 'gettext-base', 'nodejs-legacy'] |
| redis_config_dir: '/etc/redis/' |
| services: |
| {%- if version < 4.0 %} |
| ['contrail-webui-webserver', 'contrail-webui-jobserver'] |
| {%- else %} |
| ['contrail-webui', 'contrail-webui-middleware'] |
| {%- endif %} |
| database: |
| engine: cassandra |
| port: 9160 |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('controller', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.controller.container_name }} |
| {%- endif%} |
| RedHat: |
| pkgs: |
| ['contrail-web-controller'] |
| redis_config_dir: '/etc/' |
| services: |
| ['supervisor-webui'] |
| database: |
| engine: cassandra |
| port: 9160 |
| {%- if pillar.get('docker', {}).get('client', {}).get('compose', {}).get('opencontrail', {}).get('service', {}).get('controller', {}).container_name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail.service.controller.container_name }} |
| {%- endif%} |
| client: |
| Debian: |
| pkgs: |
| ['python-contrail'] |
| RedHat: |
| pkgs: |
| [] |
| test: |
| Debian: |
| pkgs: ['libssl-dev', 'python-dev', 'libvirt-dev', 'python-pip'] |
| {%- elif vendor == 'juniper' -%} |
| |
| common: |
| Debian: |
| vendor: juniper |
| source: {'engine': 'pkg', 'address': 'http://'} |
| pkgs: |
| ['dpkg-dev', 'contrail-utils', 'contrail-nodemgr', 'gettext-base'] |
| RedHat: |
| vendor: juniper |
| source: {'engine': 'pkg', 'address': 'http://'} |
| pkgs: |
| ['contrail-utils', 'contrail-nodemgr'] |
| collector: |
| Debian: |
| pkgs: |
| ['contrail-analytics', 'python-cassandra-driver'] |
| redis_config: '/etc/redis/redis.conf' |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-analytics', 'redis-server'] |
| {%- else %} |
| ['contrail-collector', 'contrail-analytics-api', 'contrail-query-engine', 'contrail-alarm-gen', 'contrail-snmp-collector', 'contrail-topology', 'contrail-analytics-nodemgr', 'redis-server'] |
| {%- endif %} |
| RedHat: |
| pkgs: |
| ['contrail-analytics', 'python-cassandra-driver'] |
| redis_config: '/etc/redis.conf' |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-analytics', 'redis'] |
| {%- else %} |
| ['contrail-collector', 'contrail-analytics-api', 'contrail-query-engine', 'contrail-alarm-gen', 'contrail-snmp-collector', 'contrail-topology', 'contrail-analytics-nodemgr', 'redis'] |
| {%- endif %} |
| compute: |
| Debian: |
| pkgs: |
| ['contrail-utils', 'iproute2', 'haproxy', '{{ ['linux-headers-', grains.get('kernelrelease')]|join('') }}', 'contrail-openstack-vrouter'] |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-vrouter'] |
| {%- else %} |
| ['contrail-vrouter-agent', 'contrail-vrouter-nodemgr'] |
| {%- endif %} |
| dpdk: |
| enabled: False |
| RedHat: |
| pkgs: |
| ['contrail-openstack-vrouter', 'contrail-utils', 'haproxy', 'contrail-vrouter-source'] |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-vrouter'] |
| {%- else %} |
| ['contrail-vrouter-agent', 'contrail-vrouter-nodemgr'] |
| {%- endif %} |
| dpdk: |
| enabled: False |
| config: |
| Debian: |
| pkgs: |
| ['contrail-config-openstack', 'ifmap-server'] |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-config'] |
| {%- else %} |
| ['contrail-api', 'contrail-schema', 'contrail-svc-monitor', 'contrail-device-manager', 'contrail-config-nodemgr'] |
| {%- endif %} |
| RedHat: |
| pkgs: |
| ['contrail-openstack-config'] |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-config'] |
| {%- else %} |
| ['contrail-api', 'contrail-schema', 'contrail-svc-monitor', 'contrail-device-manager', 'contrail-config-nodemgr'] |
| {%- endif %} |
| control: |
| Debian: |
| pkgs: |
| ['contrail-control', 'contrail-dns'] |
| services: |
| {%- if version < 4.0 %} |
| ['contrail-control', 'supervisor-control'] |
| {%- else %} |
| ['contrail-control', 'contrail-named', 'contrail-dns', 'contrail-control-nodemgr'] |
| {%- endif %} |
| RedHat: |
| pkgs: |
| ['contrail-openstack-control'] |
| services: |
| {%- if version < 4.0 %} |
| ['contrail-control', 'supervisor-control'] |
| {%- else %} |
| ['contrail-control', 'contrail-named', 'contrail-dns', 'contrail-control-nodemgr'] |
| {%- endif %} |
| database: |
| Debian: |
| pkgs: |
| {%- set openjdkPackage = 'openjdk-8-jre-headless' if grains.get('oscodename') == 'xenial' else 'openjdk-7-jre-headless' %} |
| ['cassandra', 'zookeeper', '{{ openjdkPackage }}', 'contrail-openstack-database'] |
| {%- if version >= 4.1 %} |
| cassandra_version: '3.10' |
| kafka_version: '1.1.1' |
| {%- elif version == 4.0 %} |
| cassandra_version: '2.2' |
| kafka_version: '0.9.0.1' |
| {%- else %} |
| cassandra_version: '2.1' |
| kafka_version: '0.8.2.0' |
| {%- endif%} |
| cassandra_config: '/etc/cassandra/' |
| compaction_throughput_mb_per_sec: 16 |
| services: |
| {%- if version < 4.0 %} |
| ['supervisord-contrail-database', 'zookeeper'] |
| {%- else %} |
| ['contrail-database', 'contrail-database-nodemgr', 'zookeeper'] |
| {%- endif %} |
| RedHat: |
| pkgs: |
| ['contrail-openstack-database', 'zookeeper', 'supervisor', 'java-1.7.0-openjdk-headless'] |
| {%- if version >= 4.1 %} |
| cassandra_version: '3.10' |
| kafka_version: '1.1.1' |
| {%- elif version == 4.0 %} |
| cassandra_version: '2.2' |
| kafka_version: '0.9.0.1' |
| {%- else %} |
| cassandra_version: '2.1' |
| kafka_version: '0.8.2.0' |
| {%- endif%} |
| cassandra_config: '/etc/cassandra/conf/' |
| compaction_throughput_mb_per_sec: 16 |
| services: |
| {%- if version < 4.0 %} |
| ['supervisord-contrail-database', 'zookeeper'] |
| {%- else %} |
| ['contrail-database', 'contrail-database-nodemgr', 'zookeeper'] |
| {%- endif %} |
| web: |
| Debian: |
| pkgs: |
| ['contrail-web-controller', 'contrail-openstack-webui', 'nodejs', 'gettext-base'] |
| redis_config_dir: '/etc/redis/' |
| services: |
| {%- if version < 4.0 %} |
| ['supervisor-webui'] |
| {%- else %} |
| ['contrail-webui', 'contrail-webui-middleware'] |
| {%- endif %} |
| database: |
| engine: cassandra |
| port: 9160 |
| {%- if pillar.get('docker',{}).get('client',{}).get('compose',{}).get('opencontrail_api',{}).get('service',{}).get('controller',{}).name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail_api.service.controller.name }} |
| {%- endif%} |
| RedHat: |
| pkgs: |
| ['contrail-web-controller'] |
| redis_config_dir: '/etc/' |
| services: |
| ['supervisor-webui'] |
| database: |
| engine: cassandra |
| port: 9160 |
| {%- if pillar.get('docker',{}).get('client',{}).get('compose',{}).get('opencontrail_api',{}).get('service',{}).get('controller',{}).name is defined %} |
| container_name: |
| {{ pillar.docker.client.compose.opencontrail_api.service.controller.name }} |
| {%- endif%} |
| client: |
| Debian: |
| pkgs: |
| ['python-contrail'] |
| RedHat: |
| pkgs: |
| [] |
| test: |
| Debian: |
| pkgs: ['libssl-dev', 'python-dev', 'libvirt-dev', 'python-pip'] |
| {%- endif %} |
| {%- endload %} |
| |
| {% set common = salt['grains.filter_by'](base_defaults['common'], merge=salt['pillar.get']('opencontrail:common', {}), base='common') %} |
| {% set collector = salt['grains.filter_by'](base_defaults['collector'], merge=salt['pillar.get']('opencontrail:collector', {}), base='collector') %} |
| {% set compute = salt['grains.filter_by'](base_defaults['compute'], merge=salt['pillar.get']('opencontrail:compute', {}), base='compute') %} |
| {% set config = salt['grains.filter_by'](base_defaults['config'], merge=salt['pillar.get']('opencontrail:config', {}), base='config') %} |
| {% set control = salt['grains.filter_by'](base_defaults['control'], merge=salt['pillar.get']('opencontrail:control', {}), base='control') %} |
| {% set database = salt['grains.filter_by'](base_defaults['database'], merge=salt['pillar.get']('opencontrail:database', {}), base='database') %} |
| {% set web = salt['grains.filter_by'](base_defaults['web'], merge=salt['pillar.get']('opencontrail:web', {}), base='web') %} |
| {% set client = salt['grains.filter_by'](base_defaults['client'], merge=salt['pillar.get']('opencontrail:client', {}), base='client') %} |
| {% set test = salt['grains.filter_by'](base_defaults['test'], merge=salt['pillar.get']('opencontrail:test', {}), base='test') %} |
| |
| {% set monitoring = salt['grains.filter_by']({ |
| 'default': { |
| 'xmpp_sessions_too_high_threshold': 500, |
| 'xmpp_sessions_variation_threshold': 100, |
| 'vrouter_xmpp_sessions_too_high_threshold': 10, |
| 'vrouter_xmpp_sessions_variation_threshold': 5, |
| 'vrouter_dns_xmpp_sessions_too_high_threshold': 10, |
| 'vrouter_dns_xmpp_sessions_variation_threshold': 5, |
| 'vrouter_lls_too_high_threshold': 10, |
| 'vrouter_lls_variation_threshold': 5, |
| 'services_failed_warning_threshold_percent': 0.3, |
| 'services_failed_critical_threshold_percent': 0.6, |
| }, |
| }, grain='os_family', merge=salt['pillar.get']('opencontrail:monitoring')) %} |