docker support
Change-Id: Ie94a25fcb97a92090aaccfe89b59cb98bdae6b8a
diff --git a/opencontrail/collector.sls b/opencontrail/collector.sls
index c6caf50..f749e39 100644
--- a/opencontrail/collector.sls
+++ b/opencontrail/collector.sls
@@ -14,8 +14,6 @@
- template: jinja
- require:
- pkg: opencontrail_collector_packages
- - watch_in:
- - service: opencontrail_collector_services
/etc/contrail/contrail-alarm-gen.conf:
file.managed:
@@ -23,8 +21,6 @@
- template: jinja
- require:
- pkg: opencontrail_collector_packages
- - watch_in:
- - service: opencontrail_collector_services
/etc/contrail/contrail-snmp-collector.conf:
file.managed:
@@ -32,8 +28,6 @@
- template: jinja
- require:
- pkg: opencontrail_collector_packages
- - watch_in:
- - service: opencontrail_collector_services
/etc/contrail/contrail-topology.conf:
file.managed:
@@ -41,8 +35,6 @@
- template: jinja
- require:
- pkg: opencontrail_collector_packages
- - watch_in:
- - service: opencontrail_collector_services
{{ collector.redis_config }}:
file.managed:
@@ -78,19 +70,25 @@
- source: salt://opencontrail/files/{{ collector.version }}/collector/contrail-analytics-nodemgr.ini
- require:
- pkg: opencontrail_collector_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_collector_services
+{%- endif %}
/etc/contrail/supervisord_analytics.conf:
file.managed:
- source: salt://opencontrail/files/{{ collector.version }}/collector/supervisord_analytics.conf
- require:
- pkg: opencontrail_collector_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_collector_services
+{%- endif %}
{% endif %}
+{%- if not grains.get('noservices', False) %}
+
opencontrail_collector_services:
service.running:
- enable: true
@@ -100,5 +98,22 @@
- file: /etc/contrail/contrail-query-engine.conf
- file: /etc/contrail/contrail-collector.conf
- file: {{ collector.redis_config }}
+ - file: /etc/contrail/contrail-topology.conf
+ - file: /etc/contrail/contrail-snmp-collector.conf
+ - file: /etc/contrail/contrail-analytics-nodemgr.conf
+ - file: /etc/contrail/contrail-alarm-gen.conf
+
+{%- endif %}
+
+{%- if grains.get('virtual_subtype', None) == "Docker" %}
+
+opencontrail_collector_entrypoint:
+ file.managed:
+ - name: /entrypoint.sh
+ - template: jinja
+ - source: salt://opencontrail/files/entrypoint.sh.collector
+ - mode: 755
+
+{%- endif %}
{%- endif %}
diff --git a/opencontrail/common.sls b/opencontrail/common.sls
index c027e13..42031ce 100644
--- a/opencontrail/common.sls
+++ b/opencontrail/common.sls
@@ -4,14 +4,17 @@
pkg.installed:
- names: {{ common.pkgs }}
+
+/var/crashes:
+ file.directory
+
+{%- if not grains.get('noservices', False) %}
+
iptables:
service.dead:
- enable: false
- name: iptables
-/var/crashes:
- file.directory
-
net.ipv4.ip_forward:
sysctl.present:
- value: 1
@@ -82,6 +85,8 @@
sysctl.present:
- value: 1
+{% endif %}
+
/etc/contrail:
file.directory
diff --git a/opencontrail/config.sls b/opencontrail/config.sls
index 3b6f2eb..97c4003 100644
--- a/opencontrail/config.sls
+++ b/opencontrail/config.sls
@@ -92,8 +92,10 @@
- template: jinja
- require:
- pkg: opencontrail_config_packages
+{%- if not grains.get('noservices', False) %}
- watch_in:
- service: opencontrail_config_services
+{%- endif %}
/etc/contrail/contrail-config-nodemgr.conf:
file.managed:
@@ -101,8 +103,10 @@
- template: jinja
- require:
- pkg: opencontrail_config_packages
+{%- if not grains.get('noservices', False) %}
- watch_in:
- service: opencontrail_config_services
+{%- endif %}
/etc/sudoers.d/contrail_sudoers:
file.managed:
@@ -141,26 +145,34 @@
- source: salt://opencontrail/files/{{ config.version }}/config/contrail-config-nodemgr.ini
- require:
- pkg: opencontrail_config_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_config_services
+{%- endif %}
/etc/contrail/supervisord_config_files/ifmap.ini:
file.absent:
- require:
- pkg: opencontrail_config_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_config_services
+{%- endif %}
/etc/contrail/supervisord_config.conf:
file.managed:
- source: salt://opencontrail/files/{{ config.version }}/config/supervisord_config.conf
- require:
- pkg: opencontrail_config_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_config_services
+{%- endif %}
{% endif %}
+{%- if not grains.get('noservices', False) %}
+
opencontrail_config_services:
service.running:
- enable: true
@@ -175,5 +187,17 @@
- file: /etc/contrail/contrail-keystone-auth.conf
- file: /etc/sudoers.d/contrail_sudoers
+{%- endif %}
+
+{%- if grains.get('virtual_subtype', None) == "Docker" %}
+
+opencontrail_config_entrypoint:
+ file.managed:
+ - name: /entrypoint.sh
+ - template: jinja
+ - source: salt://opencontrail/files/entrypoint.sh.config
+ - mode: 755
+
+{%- endif %}
{%- endif %}
diff --git a/opencontrail/control.sls b/opencontrail/control.sls
index 08da0d7..086f603 100644
--- a/opencontrail/control.sls
+++ b/opencontrail/control.sls
@@ -14,8 +14,6 @@
- template: jinja
- require:
- pkg: opencontrail_control_packages
- - watch_in:
- - service: opencontrail_control_services
/etc/contrail/contrail-control.conf:
file.managed:
@@ -51,19 +49,25 @@
- source: salt://opencontrail/files/{{ control.version }}/control/contrail-control-nodemgr.ini
- require:
- pkg: opencontrail_control_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_control_services
+{%- endif %}
/etc/contrail/supervisord_control.conf:
file.managed:
- source: salt://opencontrail/files/{{ control.version }}/control/supervisord_control.conf
- require:
- pkg: opencontrail_control_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_control_services
+{%- endif %}
{% endif %}
+{%- if not grains.get('noservices', False) %}
+
opencontrail_control_services:
service.running:
- enable: true
@@ -72,5 +76,19 @@
- file: /etc/contrail/dns/contrail-rndc.conf
- file: /etc/contrail/contrail-dns.conf
- file: /etc/contrail/contrail-control.conf
+ - file: /etc/contrail/contrail-control-nodemgr.conf
+
+{%- endif %}
+
+{%- if grains.get('virtual_subtype', None) == "Docker" %}
+
+opencontrail_control_entrypoint:
+ file.managed:
+ - name: /entrypoint.sh
+ - template: jinja
+ - source: salt://opencontrail/files/entrypoint.sh.control
+ - mode: 755
+
+{%- endif %}
{%- endif %}
\ No newline at end of file
diff --git a/opencontrail/database.sls b/opencontrail/database.sls
index ba1d4d9..9640d9f 100644
--- a/opencontrail/database.sls
+++ b/opencontrail/database.sls
@@ -90,16 +90,20 @@
- template: jinja
- require:
- pkg: opencontrail_database_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_database_services
+{%- endif %}
/etc/contrail/supervisord_database_files/contrail-database-nodemgr.ini:
file.managed:
- source: salt://opencontrail/files/{{ database.version }}/database/contrail-database-nodemgr.ini
- require:
- pkg: opencontrail_database_packages
+{%- if not grains.get('noservices', False) %}
- require_in:
- service: opencontrail_database_services
+{%- endif %}
{% endif %}
@@ -111,6 +115,8 @@
- enable: None
{% endif %}
+{%- if not grains.get('noservices', False) %}
+
opencontrail_database_services:
service.running:
- enable: true
@@ -124,3 +130,16 @@
- file: /etc/zookeeper/conf/log4j.properties
{%- endif %}
+
+{%- if grains.get('virtual_subtype', None) == "Docker" %}
+
+opencontrail_database_entrypoint:
+ file.managed:
+ - name: /entrypoint.sh
+ - template: jinja
+ - source: salt://opencontrail/files/entrypoint.sh.database
+ - mode: 755
+
+{%- endif %}
+
+{%- endif %}
diff --git a/opencontrail/files/entrypoint.sh.collector b/opencontrail/files/entrypoint.sh.collector
new file mode 100644
index 0000000..09bead2
--- /dev/null
+++ b/opencontrail/files/entrypoint.sh.collector
@@ -0,0 +1,17 @@
+{%- from "opencontrail/map.jinja" import collector with context %}
+#!/bin/bash -e
+
+cat /srv/salt/pillar/opencontrail-collector.sls | envsubst > /tmp/opencontrail-collector.sls
+mv /tmp/opencontrail-collector.sls /srv/salt/pillar/opencontrail-collector.sls
+
+salt-call --local --retcode-passthrough state.highstate
+
+{% for service in collector.services %}
+service {{ service }} stop || true
+{% endfor %}
+
+/usr/bin/supervisord --nodaemon -c /etc/contrail/supervisord_analytics.conf
+
+{#-
+vim: syntax=jinja
+-#}
\ No newline at end of file
diff --git a/opencontrail/files/entrypoint.sh.config b/opencontrail/files/entrypoint.sh.config
new file mode 100644
index 0000000..968c733
--- /dev/null
+++ b/opencontrail/files/entrypoint.sh.config
@@ -0,0 +1,17 @@
+{%- from "opencontrail/map.jinja" import config with context %}
+#!/bin/bash -e
+
+cat /srv/salt/pillar/opencontrail-config.sls | envsubst > /tmp/opencontrail-config.sls
+mv /tmp/opencontrail-config.sls /srv/salt/pillar/opencontrail-config.sls
+
+salt-call --local --retcode-passthrough state.highstate
+
+{% for service in config.services %}
+service {{ service }} stop || true
+{% endfor %}
+
+/usr/bin/supervisord --nodaemon -c /etc/contrail/supervisord_config.conf
+
+{#-
+vim: syntax=jinja
+-#}
\ No newline at end of file
diff --git a/opencontrail/files/entrypoint.sh.control b/opencontrail/files/entrypoint.sh.control
new file mode 100644
index 0000000..b9a8594
--- /dev/null
+++ b/opencontrail/files/entrypoint.sh.control
@@ -0,0 +1,17 @@
+{%- from "opencontrail/map.jinja" import control with context %}
+#!/bin/bash -e
+
+cat /srv/salt/pillar/opencontrail-control.sls | envsubst > /tmp/opencontrail-control.sls
+mv /tmp/opencontrail-control.sls /srv/salt/pillar/opencontrail-control.sls
+
+salt-call --local --retcode-passthrough state.highstate
+
+{% for service in control.services %}
+service {{ service }} stop || true
+{% endfor %}
+
+/usr/bin/supervisord --nodaemon -c /etc/contrail/supervisord_control.conf
+
+{#-
+vim: syntax=jinja
+-#}
\ No newline at end of file
diff --git a/opencontrail/files/entrypoint.sh.database b/opencontrail/files/entrypoint.sh.database
new file mode 100644
index 0000000..9499d0d
--- /dev/null
+++ b/opencontrail/files/entrypoint.sh.database
@@ -0,0 +1,17 @@
+{%- from "opencontrail/map.jinja" import database with context %}
+#!/bin/bash -e
+
+cat /srv/salt/pillar/opencontrail-database.sls | envsubst > /tmp/opencontrail-database.sls
+mv /tmp/opencontrail-database.sls /srv/salt/pillar/opencontrail-database.sls
+
+salt-call --local --retcode-passthrough state.highstate
+
+{% for service in database.services %}
+service {{ service }} stop || true
+{% endfor %}
+
+/usr/bin/supervisord --nodaemon -c /etc/contrail/supervisord_database.conf
+
+{#-
+vim: syntax=jinja
+-#}
\ No newline at end of file
diff --git a/opencontrail/map.jinja b/opencontrail/map.jinja
index 7d0aefa..238203f 100644
--- a/opencontrail/map.jinja
+++ b/opencontrail/map.jinja
@@ -2,7 +2,7 @@
{% set common = salt['grains.filter_by']({
'Debian': {
'source': {'engine': 'pkg', 'address': 'http://'},
- 'pkgs': ['dpkg-dev','contrail-utils', 'contrail-nodemgr'],
+ 'pkgs': ['dpkg-dev','contrail-utils', 'contrail-nodemgr', 'gettext-base'],
},
'RedHat': {
'source': {'engine': 'pkg', 'address': 'http://'},