Merge branch 'master' of github.com:open-cloud/xos
diff --git a/containers/onos/Dockerfile b/containers/onos/Dockerfile
new file mode 100644
index 0000000..a639344
--- /dev/null
+++ b/containers/onos/Dockerfile
@@ -0,0 +1,57 @@
+FROM debian:jessie
+MAINTAINER Zack Williams <zdw@cs.arizona.edu>
+
+# Add Java 8 repository
+ENV DEBIAN_FRONTEND noninteractive
+RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
+    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list && \
+    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list && \
+    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
+
+# Set the environment variables
+ENV HOME /root
+ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
+ENV ONOS_ROOT /src/onos
+ENV KARAF_VERSION 3.0.5
+ENV KARAF_ROOT /root/onos/apache-karaf-3.0.5
+ENV KARAF_LOG /root/onos/apache-karaf-3.0.5/data/log/karaf.log
+ENV BUILD_NUMBER docker
+ENV PATH $PATH:$KARAF_ROOT/bin
+
+#Download and Build ONOS
+WORKDIR /src
+RUN     apt-get update && apt-get install -y python maven git curl oracle-java8-installer oracle-java8-set-default && \
+        git clone https://github.com/opennetworkinglab/onos.git && cd onos && \
+        git checkout 032a98735d1b4989f14bf6e03a29d5099b015ee1 && \
+        mkdir -p /root/Downloads && \
+        mvn clean install && \
+        tools/build/onos-package && \
+        rm -rf /root/.m2 && cd .. && \
+        rm -rf onos && \
+        apt-get remove --purge -y `apt-mark showauto` && \
+        apt-get install oracle-java8-set-default -y && \
+        apt-get clean && apt-get purge -y && apt-get autoremove -y && \
+        rm -rf /var/lib/apt/lists/* && \
+        rm -rf /var/cache/oracle-jdk8-installer && \
+        rm -rf /root/Downloads
+
+# Change to /root directory
+WORKDIR /root
+
+#Install ONOS
+RUN mkdir onos && \
+   mv /tmp/onos-*.docker.tar.gz . && \
+   tar -xf onos-*.docker.tar.gz -C onos --strip-components=1 && \
+   rm -rf onos-*.docker.tar.gz
+
+# Ports
+# 6653 - OpenFlow
+# 8181 - GUI
+# 8101 - ONOS CLI
+# 9876 - ONOS CLUSTER COMMUNICATION
+EXPOSE 6653 8181 8101 9876
+
+# Get ready to run command
+WORKDIR /root/onos
+ENTRYPOINT ["./bin/onos-service"]
+
diff --git a/containers/onos/Makefile b/containers/onos/Makefile
new file mode 100644
index 0000000..4db1a9b
--- /dev/null
+++ b/containers/onos/Makefile
@@ -0,0 +1,15 @@
+IMAGE_NAME:=xosproject/onos-fork
+CONTAINER_NAME:=onos-fork
+NO_DOCKER_CACHE?=false
+
+.PHONY: build
+build: ; sudo docker build --no-cache=${NO_DOCKER_CACHE} --rm -t ${IMAGE_NAME} .
+
+.PHONY: run
+run: ; sudo docker run -d --name ${CONTAINER_NAME} ${IMAGE_NAME}
+
+.PHONY: stop
+stop: ; sudo docker stop ${CONTAINER_NAME}
+
+.PHONY: rm
+rm: ; sudo docker rm ${CONTAINER_NAME}
diff --git a/xos/synchronizers/base/event_loop.py b/xos/synchronizers/base/event_loop.py
index 37ec4ca..4d57deb 100644
--- a/xos/synchronizers/base/event_loop.py
+++ b/xos/synchronizers/base/event_loop.py
@@ -499,7 +499,7 @@
                                 schedule = self.ordered_steps if not deletion else reversed(self.ordered_steps)
 
                                 for S in schedule:
-                                        thread = threading.Thread(target=self.sync, args=(S, deletion))
+                                        thread = threading.Thread(target=self.sync, name='synchronizer', args=(S, deletion))
 
                                         logger.info('Deletion=%r...'%deletion)
                                         threads.append(thread)