VOL-281: OfAgent integration in swarm cluster
- Auto connect/reconnect of agent with a voltha instance
- Survives and cleans up after a voltha disconnect
- Added new compose files to start ofagent and onos in swarm cluster
Amendments:
- Fixed logs to have uniform format
- Removed instructions to start/stop ONOS service in cluster scripts
- Added missing change in local handler to exit streaming rpc calls
after ofagent termination
- Renamed references from voltha to vcore where necessary
Change-Id: Icb4611d92be35b48e557e6b12f7d2074282175ea
diff --git a/compose/docker-compose-ofagent-swarm.yml b/compose/docker-compose-ofagent-swarm.yml
new file mode 100644
index 0000000..dee18cc
--- /dev/null
+++ b/compose/docker-compose-ofagent-swarm.yml
@@ -0,0 +1,31 @@
+#
+# This Docker stackfile deploys a ofagent container on all swarm instances.
+#
+# The stackfile assumes that overlay network 'voltha_net' has already been
+# created. To deploy the stack, issue the command:
+#
+# docker stack deploy -c docker-compose-ofagent-swarm.yml ofagent
+#
+version: "3.2"
+services:
+ ofagent:
+ image: cord/ofagent
+ deploy:
+ replicas: 3
+ entrypoint:
+ - /ofagent/ofagent/main.py
+ - -v
+ - --consul=consul:8500
+ - --fluentd=fluentd:24224
+ - --controller=onos:6653
+ - --grpc-endpoint=vcore:50556
+ - --instance-id-is-container-name
+ volumes:
+ - /var/run/docker.sock:/tmp/docker.sock
+ networks:
+ - voltha-net
+
+networks:
+ voltha-net:
+ external:
+ name: voltha_net
diff --git a/compose/docker-compose-onos-swarm.yml b/compose/docker-compose-onos-swarm.yml
new file mode 100644
index 0000000..54d43ed
--- /dev/null
+++ b/compose/docker-compose-onos-swarm.yml
@@ -0,0 +1,54 @@
+#
+# This Docker stackfile deploys a single onos container and freeradius.
+#
+# The stackfile assumes that overlay network 'voltha_net' has already been
+# created. To deploy the stack, issue the command:
+#
+# docker stack deploy -c docker-compose-onos-swarm.yml onos
+#
+version: "3.2"
+services:
+ freeradius:
+ deploy:
+ replicas: 1
+ image: "marcelmaatkamp/freeradius"
+ ports:
+ - "1812:1812/udp"
+ - "1813:1813"
+ - "18120:18120"
+ volumes:
+ - /cord/incubator/voltha/compose/data/clients.conf:/etc/raddb/clients.conf
+ - /cord/incubator/voltha/compose/data/users:/etc/raddb/users
+ networks:
+ - net
+ - voltha-net
+
+ onos:
+ deploy:
+ # Single instance for now since a cluster
+ # needs to be configured through onos
+ replicas: 1
+ image: "cord/onos"
+ ports:
+ - 8101:8101 # ssh
+ - 6653:6653 # OF
+ - 8181:8181 # UI
+ environment:
+ ONOS_APPS: 'drivers,openflow-base'
+ networks:
+ - net
+ - voltha-net
+
+networks:
+ net:
+ driver: overlay
+ driver_opts:
+ encrypted: "true"
+ ipam:
+ driver: default
+ config:
+ - subnet: 172.25.0.0/24
+
+ voltha-net:
+ external:
+ name: voltha_net