docker support
Change-Id: Ib5727e6acd25c6a74d4ccad2ef03ae56936b657d
diff --git a/neutron/files/entrypoint.sh b/neutron/files/entrypoint.sh
new file mode 100644
index 0000000..c66da6d
--- /dev/null
+++ b/neutron/files/entrypoint.sh
@@ -0,0 +1,25 @@
+{%- from "neutron/map.jinja" import server with context -%}
+#!/bin/bash -e
+
+cat /srv/salt/pillar/neutron-server.sls | envsubst > /tmp/neutron-server.sls
+mv /tmp/neutron-server.sls /srv/salt/pillar/neutron-server.sls
+
+salt-call --local --retcode-passthrough state.highstate
+
+{% for service in server.services %}
+service {{ service }} stop || true
+{% endfor %}
+
+if [ "$1" == "server" ]; then
+ echo "starting neutron-server"
+ su neutron --shell=/bin/sh -c '/usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/opencontrail/ContrailPlugin.ini'
+elif [ "$1" == "lbaas-agent" ]; then
+ echo "starting neutron-lbaas-agent"
+ su neutron --shell=/bin/sh -c '/usr/bin/neutron-lbaas-agent --config-file=/etc/neutron/neutron.conf'
+else
+ echo "No parameter submitted, don't know what to start" 1>&2
+fi
+
+{#-
+vim: syntax=jinja
+-#}
\ No newline at end of file
diff --git a/neutron/map.jinja b/neutron/map.jinja
index 4c89807..23f6502 100644
--- a/neutron/map.jinja
+++ b/neutron/map.jinja
@@ -27,7 +27,7 @@
{% set server = salt['grains.filter_by']({
'Debian': {
- 'pkgs': ['neutron-server','neutron-lbaas-agent'],
+ 'pkgs': ['neutron-server','neutron-lbaas-agent', 'gettext-base'],
'pkgs_ml2': ['neutron-plugin-ml2'],
'services': ['neutron-server'],
'notification': False
diff --git a/neutron/server.sls b/neutron/server.sls
index 573440f..34c656e 100644
--- a/neutron/server.sls
+++ b/neutron/server.sls
@@ -49,13 +49,17 @@
- template: jinja
- require:
- pkg: neutron_server_packages
+{%- if not grains.get('noservices', False) %}
- watch_in:
- service: neutron_server_services
-
{%- endif %}
{%- endif %}
+{%- endif %}
+
+{%- if not grains.get('noservices', False) %}
+
neutron_server_services:
service.running:
- names: {{ server.services }}
@@ -64,3 +68,16 @@
- file: /etc/neutron/neutron.conf
{%- endif %}
+
+{%- if grains.get('virtual_subtype', None) == "Docker" %}
+
+neutron_entrypoint:
+ file.managed:
+ - name: /entrypoint.sh
+ - template: jinja
+ - source: salt://neutron/files/entrypoint.sh
+ - mode: 755
+
+{%- endif %}
+
+{%- endif %}