diff --git a/containers/xos/Dockerfile.test b/containers/xos/Dockerfile.test
index ac3c14c..521007a 100644
--- a/containers/xos/Dockerfile.test
+++ b/containers/xos/Dockerfile.test
@@ -12,6 +12,7 @@
 
 RUN node -v
 
-# install node modules
-# RUN cd /opt/xos/tests/api; npm install
+RUN pip install selenium
+
+RUN npm install -g phantomjs
 
diff --git a/xos/configurations/test-standalone/Makefile b/xos/configurations/test-standalone/Makefile
index 9eafa61..171fa82 100644
--- a/xos/configurations/test-standalone/Makefile
+++ b/xos/configurations/test-standalone/Makefile
@@ -36,6 +36,13 @@
 	sudo docker-compose run xos python /opt/xos/tosca/run.py none /opt/xos/configurations/common/mydeployment.yaml
 	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/frontend/sample.yaml
 
+	# sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord-pod/setup.yaml
+	# sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord-pod/nodes.yaml
+	# sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord-pod/images.yaml
+	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord-pod/mgmt-net.yaml
+	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/test-standalone/services.yaml
+	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/cord-pod/cord-volt-devices.yaml
+
 
 test: restore-initial-db-status
 	# RUN TESTS
@@ -45,6 +52,9 @@
 test-tosca: restore-initial-db-status
 	sudo docker-compose run xos bash -c "cd /opt/xos/tosca/tests; python ./alltests.py"
 
+test-ui: restore-initial-db-status
+	sudo docker exec -u root -i teststandalone_xos_1 bash -c "cd /opt/xos/tests/ui-e2e; python xos-e2e-test.py"
+
 base-container: 
 	cd ../../../containers/xos; make base
 
diff --git a/xos/configurations/test-standalone/services.yaml b/xos/configurations/test-standalone/services.yaml
new file mode 100644
index 0000000..40e0127
--- /dev/null
+++ b/xos/configurations/test-standalone/services.yaml
@@ -0,0 +1,258 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Just enough Tosca to get the vSG slice running on the CORD POD
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+    # CORD Services
+    service#vtr:
+      type: tosca.nodes.Service
+      properties:
+          view_url: /admin/vtr/vtrservice/$id$/
+          kind: vTR
+          replaces: service_vtr
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      requirements:
+          - vsg_tenant:
+              node: service#vsg
+              relationship: tosca.relationships.TenantOfService
+      properties:
+          view_url: /admin/cord/voltservice/$id$/
+          kind: vOLT
+          replaces: service_volt
+
+    addresses_vsg:
+      type: tosca.nodes.AddressPool
+      properties:
+          addresses: 10.168.0.0/24
+          gateway_ip: 10.168.0.1
+          gateway_mac: 02:42:0a:a8:00:01
+
+    addresses_exampleservice-public:
+      type: tosca.nodes.AddressPool
+      properties:
+          addresses: 10.168.1.0/24
+          gateway_ip: 10.168.1.1
+          gateway_mac: 02:42:0a:a8:00:01
+
+    service#vsg:
+      type: tosca.nodes.VSGService
+      requirements:
+          - vrouter_tenant:
+              node: service#vrouter
+              relationship: tosca.relationships.TenantOfService
+      properties:
+          view_url: /admin/cord/vsgservice/$id$/
+          # backend_network_label: hpc_client
+          private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
+#          node_label: label_vsg
+          replaces: service_vsg
+
+    service#vrouter:
+      type: tosca.nodes.VRouterService
+      properties:
+          view_url: /admin/vrouter/vrouterservice/$id$/
+          replaces: service_vrouter
+      requirements:
+          - addresses_vsg:
+              node: addresses_vsg
+              relationship: tosca.relationships.ProvidesAddresses
+          - addresses_service1:
+              node: addresses_exampleservice-public
+              relationship: tosca.relationships.ProvidesAddresses
+
+#     service#fabric:
+#       type: tosca.nodes.FabricService
+#       properties:
+#           view_url: /admin/fabric/fabricservice/$id$/
+#           replaces: service_fabric
+
+#     service#ONOS_Fabric:
+#       type: tosca.nodes.ONOSService
+#       requirements:
+#       properties:
+#           kind: onos
+#           view_url: /admin/onos/onosservice/$id$/
+#           no_container: true
+#           rest_hostname: onos-fabric
+#           replaces: service_ONOS_Fabric
+
+#     service#ONOS_CORD:
+#       type: tosca.nodes.ONOSService
+#       properties:
+#           no-delete: true
+#           no-create: false
+#           no-update: true
+
+#     # vOLT_ONOS_app:
+#     #   type: tosca.nodes.ONOSvOLTApp
+#     #   requirements:
+#     #       - onos_tenant:
+#     #           node: service#ONOS_CORD
+#     #           relationship: tosca.relationships.TenantOfService
+#     #       - volt_service:
+#     #           node: service#volt
+#     #           relationship: tosca.relationships.UsedByService
+#     #   properties:
+#     #       install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
+#     #       dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
+#     #       autogenerate: volt-network-cfg
+
+#     # vRouter_ONOS_app:
+#     #   type: tosca.nodes.ONOSvRouterApp
+#     #   requirements:
+#     #       - onos_tenant:
+#     #           node: service#ONOS_Fabric
+#     #           relationship: tosca.relationships.TenantOfService
+#     #       - vrouter_service:
+#     #           node: service#vrouter
+#     #           relationship: tosca.relationships.UsedByService
+#     #   properties:
+#     #       dependencies: org.onosproject.vrouter
+#     #       autogenerate: vrouter-network-cfg
+
+#     Private:
+#       type: tosca.nodes.NetworkTemplate
+
+#     management:
+#       type: tosca.nodes.network.Network.XOS
+#       properties:
+#           no-create: true
+#           no-delete: true
+#           no-update: true
+
+#     image#vsg-1.0:
+#       type: tosca.nodes.Image
+
+#     mysite:
+#       type: tosca.nodes.Site
+
+#     label_vsg:
+#       type: tosca.nodes.NodeLabel
+
+#     # Networks required by the CORD setup
+#     mysite_vsg-access:
+#       type: tosca.nodes.network.Network
+#       properties:
+#           ip_version: 4
+#       requirements:
+#           - network_template:
+#               node: Private
+#               relationship: tosca.relationships.UsesNetworkTemplate
+#           - owner:
+#               node: mysite_vsg
+#               relationship: tosca.relationships.MemberOfSlice
+#           - connection:
+#               node: mysite_vsg
+#               relationship: tosca.relationships.ConnectsToSlice
+
+#     # CORD Slices
+#     mysite_vsg:
+#       description: vSG Controller Slice
+#       type: tosca.nodes.Slice
+#       properties:
+#           network: noauto
+#       requirements:
+#           - vsg_service:
+#               node: service#vsg
+#               relationship: tosca.relationships.MemberOfService
+#           - site:
+#               node: mysite
+#               relationship: tosca.relationships.MemberOfSite
+#           - management:
+#               node: management
+#               relationship: tosca.relationships.ConnectsToNetwork
+#           - image:
+#               node: image#vsg-1.0
+#               relationship: tosca.relationships.DefaultImage
+
+#     # Let's add a user who can be administrator of the household
+#     johndoe@myhouse.com:
+#       type: tosca.nodes.User
+#       properties:
+#           password: letmein
+#           firstname: john
+#           lastname: doe
+#       requirements:
+#           - site:
+#               node: mysite
+#               relationship: tosca.relationships.MemberOfSite
+#           - dependency:
+#                 node: mysite_vsg
+#                 relationship: tosca.relationships.DependsOn
+
+#     # A subscriber
+#     My House:
+#        type: tosca.nodes.CORDSubscriber
+#        properties:
+#            service_specific_id: 123
+#            firewall_enable: false
+#            cdn_enable: false
+#            url_filter_enable: false
+#            url_filter_level: R
+#        requirements:
+#           - house_admin:
+#               node: johndoe@myhouse.com
+#               relationship: tosca.relationships.AdminPrivilege
+
+#     Mom's PC:
+#        type: tosca.nodes.CORDUser
+#        properties:
+#            mac: 01:02:03:04:05:06
+#            level: PG_13
+#        requirements:
+#            - household:
+#                node: My House
+#                relationship: tosca.relationships.SubscriberDevice
+
+#     Dad's PC:
+#        type: tosca.nodes.CORDUser
+#        properties:
+#            mac: 90:E2:BA:82:F9:75
+#            level: PG_13
+#        requirements:
+#            - household:
+#                node: My House
+#                relationship: tosca.relationships.SubscriberDevice
+
+#     Jack's Laptop:
+#        type: tosca.nodes.CORDUser
+#        properties:
+#            mac: 68:5B:35:9D:91:D5
+#            level: PG_13
+#        requirements:
+#            - household:
+#                node: My House
+#                relationship: tosca.relationships.SubscriberDevice
+
+#     Jill's Laptop:
+#        type: tosca.nodes.CORDUser
+#        properties:
+#            mac: 34:36:3B:C9:B6:A6
+#            level: PG_13
+#        requirements:
+#            - household:
+#                node: My House
+#                relationship: tosca.relationships.SubscriberDevice
+
+#     My Volt:
+#         type: tosca.nodes.VOLTTenant
+#         properties:
+#             service_specific_id: 123
+#             s_tag: 222
+#             c_tag: 111
+#         requirements:
+#             - provider_service:
+#                 node: service#volt
+#                 relationship: tosca.relationships.MemberOfService
+#             - subscriber:
+#                 node: My House
+#                 relationship: tosca.relationships.BelongsToSubscriber
+#             - dependency:
+#                 node: mysite_vsg
+#                 relationship: tosca.relationships.DependsOn
diff --git a/xos/tests/ui-e2e/.gitignore b/xos/tests/ui-e2e/.gitignore
new file mode 100644
index 0000000..f00183e
--- /dev/null
+++ b/xos/tests/ui-e2e/.gitignore
@@ -0,0 +1,2 @@
+ghostdriver.log
+xos/*
diff --git a/xos/tests/ui-e2e/REAME.md b/xos/tests/ui-e2e/REAME.md
new file mode 100644
index 0000000..c8634fa
--- /dev/null
+++ b/xos/tests/ui-e2e/REAME.md
@@ -0,0 +1,10 @@
+# XOS UI End to End Test
+
+This tests are implemented using `selenium`.
+
+To execute them, you should install it with `pip install selenium` and you should have `phantomjs` available as a command. You can install it with `npm install phantomjs -g`.
+
+# Execute the test
+If you want to execute the tests locally, simply navigate to this folder and execute: `python xos-e2e-test.py`
+
+You can optionally use Firefox as target browser with `python xos-e2e-test.py firefox`
\ No newline at end of file
diff --git a/xos/tests/ui-e2e/xos-e2e-test.py b/xos/tests/ui-e2e/xos-e2e-test.py
new file mode 100644
index 0000000..37804b8
--- /dev/null
+++ b/xos/tests/ui-e2e/xos-e2e-test.py
@@ -0,0 +1,68 @@
+import unittest
+from selenium import webdriver
+from selenium.webdriver.common.keys import Keys
+import sys
+
+
+class XosUI(unittest.TestCase):
+    """Test cases for XOS"""
+
+    url = 'http://127.0.0.1:8000/'
+
+    def setUp(self):
+        if(hasattr(self, 'browser') and self.browser == 'firefox'):
+            self.driver = webdriver.Firefox()
+        elif(hasattr(self, 'browser') and self.browser == 'chrome'):
+            self.driver = webdriver.Chrome()
+        else:
+            self.driver = webdriver.PhantomJS()
+
+        self.driver.set_window_size(1120, 550)
+        self.driver.get(self.url)
+
+    def tearDown(self):
+        self.driver.close()
+        self.driver.quit()
+
+    def doLogin(self):
+        username = self.driver.find_element_by_css_selector('#id_username')
+        password = self.driver.find_element_by_css_selector('#id_password')
+        sign_in = self.driver.find_element_by_css_selector('.btn.btn-primary')
+
+        username.send_keys('padmin@vicci.org')
+        password.send_keys('letmein')
+        sign_in.click()
+
+    def test_login_page(self):
+        """
+        Test that the login page has the login form
+        """
+
+        login_container = self.driver.find_element_by_css_selector('body.login #content-main')
+        assert login_container
+        username = login_container.find_element_by_css_selector('#id_username')
+        password = login_container.find_element_by_css_selector('#id_password')
+        sign_in = login_container.find_element_by_css_selector('.btn.btn-primary')
+        assert username
+        assert password
+        assert sign_in
+
+    def test_login_function(self):
+        """
+        Test that login is working
+        """
+        self.doLogin()
+
+        # if we have a sidebar the login has worked
+        sidebar = self.driver.find_element_by_css_selector('#sidebar-wrapper')
+        assert sidebar
+
+
+if __name__ == "__main__":
+    if len(sys.argv) > 1:
+        XosUI.browser = sys.argv[1]
+        if(sys.argv[2]):
+            XosUI.url = sys.argv[2]
+            del sys.argv[2]
+        del sys.argv[1]
+    unittest.main()
