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"