From 72a72560fb245681672127488d12d3c0515104f3 Mon Sep 17 00:00:00 2001 From: "Scott S. Lowe" Date: Tue, 6 Dec 2016 03:42:05 -0700 Subject: [PATCH] Add systemd compatibility Remove old Upstart job file. Add systemd unit file. Edit Consul configuration file template to address systemd compatibility. Modify Ansible playbook to address systemd compatibility. Add missing OVN setup script. Remove unneeded files. Signed-off-by: Scott S. Lowe --- ovn-docker-ansible/config.json.j2 | 1 + ovn-docker-ansible/consul-server.service | 17 +++++++++++++++++ ovn-docker-ansible/consul.conf | 21 --------------------- ovn-docker-ansible/provision.yml | 12 ++++++++---- ovn-docker-ansible/setup.sh.j2 | 14 ++++++++++++++ ovn-docker-ansible/update.yml | 10 ---------- 6 files changed, 40 insertions(+), 35 deletions(-) create mode 100644 ovn-docker-ansible/consul-server.service delete mode 100644 ovn-docker-ansible/consul.conf create mode 100644 ovn-docker-ansible/setup.sh.j2 delete mode 100644 ovn-docker-ansible/update.yml diff --git a/ovn-docker-ansible/config.json.j2 b/ovn-docker-ansible/config.json.j2 index cb4157a..09739cd 100644 --- a/ovn-docker-ansible/config.json.j2 +++ b/ovn-docker-ansible/config.json.j2 @@ -4,6 +4,7 @@ { "advertise_addr": "{{ hostvars[inventory_hostname]['ansible_enp0s8']['ipv4']['address'] }}", + "bind_addr": "{{ hostvars[inventory_hostname]['ansible_enp0s8']['ipv4']['address'] }}", "bootstrap_expect": 3, "client_addr": "0.0.0.0", "datacenter": "dc1", diff --git a/ovn-docker-ansible/consul-server.service b/ovn-docker-ansible/consul-server.service new file mode 100644 index 0000000..a1f6fe3 --- /dev/null +++ b/ovn-docker-ansible/consul-server.service @@ -0,0 +1,17 @@ +[Unit] +Description=Consul Server +Requires=network-online.target +After=network-online.target + +[Service] +User=consul +Group=consul +Environment="GOMAXPROCS=2" +Restart=on-failure +RestartSec=1 +ExecReload=/bin/kill -HUP $MAINPID +KillSignal=SIGINT +ExecStart=/usr/local/bin/consul agent -config-dir=/etc/consul.d/server + +[Install] +WantedBy=multi-user.target diff --git a/ovn-docker-ansible/consul.conf b/ovn-docker-ansible/consul.conf deleted file mode 100644 index 60fa820..0000000 --- a/ovn-docker-ansible/consul.conf +++ /dev/null @@ -1,21 +0,0 @@ -description "Consul server process" - -start on runlevel [2345] -stop on runlevel [!2345] - -respawn - -script - if [ -f "/etc/service/consul" ]; then - . /etc/service/consul - fi - -export GOMAXPROCS=`nproc` -BIND_ADDR=`hostname -I | cut -f2 -d' '` - -exec /usr/local/bin/consul agent \ - -config-dir="/etc/consul.d/server" \ - -bind $BIND_ADDR \ - ${CONSUL_FLAGS} \ - >>/var/log/consul.log 2>&1 -end script diff --git a/ovn-docker-ansible/provision.yml b/ovn-docker-ansible/provision.yml index ff903b9..32dfa05 100644 --- a/ovn-docker-ansible/provision.yml +++ b/ovn-docker-ansible/provision.yml @@ -72,10 +72,10 @@ tags: - consul - - name: Install Upstart script for Consul + - name: Install systemd unit for Consul copy: - src: "consul.conf" - dest: "/etc/init/consul.conf" + src: "consul-server.service" + dest: "/etc/systemd/system/consul-server.service" owner: "root" group: "root" mode: "0644" @@ -92,9 +92,12 @@ tags: - consul + - name: Reload systemd units + command: "systemctl daemon-reload" + - name: Start Consul service service: - name: "consul" + name: "consul-server" state: "started" tags: - consul @@ -188,6 +191,7 @@ with_items: - "ovn-common" - "ovn-host" + - "ovn-docker" - "openvswitch-common" - "openvswitch-switch" tags: diff --git a/ovn-docker-ansible/setup.sh.j2 b/ovn-docker-ansible/setup.sh.j2 new file mode 100644 index 0000000..6ad54ce --- /dev/null +++ b/ovn-docker-ansible/setup.sh.j2 @@ -0,0 +1,14 @@ +#!/bin/bash + +# Stop the ovn-controller daemon +sudo /usr/share/openvswitch/scripts/ovn-ctl stop_controller + +# Configure OVS +sudo ovs-vsctl set Open_vSwitch . \ + external_ids:ovn-remote="tcp:192.168.100.101:6642" \ + external_ids:ovn-nb="tcp:192.168.100.101:6641" \ + external_ids:ovn-encap-ip={{ ansible_enp0s8.ipv4.address }} \ + external_ids:ovn-encap-type="geneve" + +# Start the ovn-controller daemon +sudo /usr/share/openvswitch/scripts/ovn-ctl start_controller diff --git a/ovn-docker-ansible/update.yml b/ovn-docker-ansible/update.yml deleted file mode 100644 index c05596b..0000000 --- a/ovn-docker-ansible/update.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- hosts: "all" - become: "yes" - remote_user: "vagrant" - - tasks: - - name: Update package cache - apt: - update_cache: "yes" - cache_valid_time: "3600"