Merge branch 'feature/onboard'
diff --git a/xos/configurations/cord-pod/docker-compose-bootstrap.yml b/xos/configurations/cord-pod/docker-compose-bootstrap.yml
index a070104..93ccb71 100644
--- a/xos/configurations/cord-pod/docker-compose-bootstrap.yml
+++ b/xos/configurations/cord-pod/docker-compose-bootstrap.yml
@@ -40,100 +40,6 @@
             max-size: "100k"
             max-file: "5"
 
-#xos_synchronizer_onos:
-#    image: xosproject/xos-synchronizer-openstack
-#    command: bash -c "python /opt/xos/synchronizers/onos/onos-synchronizer.py -C /opt/xos/synchronizers/onos/onos_synchronizer_config"
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: onos
-#    links:
-#        - xos_db
-#    volumes:
-#        - .:/root/setup:ro
-#        - ./id_rsa:/opt/xos/synchronizers/onos/onos_key:ro  # private key
-#    log_driver: "json-file"
-#    log_opt:
-#            max-size: "100k"
-#            max-file: "5"
-
-#xos_synchronizer_vcpe:
-#    image: xosproject/xos-synchronizer-openstack
-#    command: bash -c "sleep 120; cp /root/setup/node_key /opt/xos/synchronizers/vcpe/; chmod 0600 /opt/xos/synchronizers/vcpe/node_key; python /opt/xos/synchronizers/vcpe/vcpe-synchronizer.py -C /root/setup/files/vcpe_synchronizer_config"
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: vcpe
-#    links:
-#        - xos_db
-#    volumes:
-#        - .:/root/setup:ro
-#        - ./id_rsa:/opt/xos/synchronizers/vcpe/vcpe_private_key:ro  # private key
-#    log_driver: "json-file"
-#    log_opt:
-#            max-size: "100k"
-#            max-file: "5"
-
-#xos_synchronizer_vtn:
-#    image: xosproject/xos-synchronizer-openstack
-#    command: bash -c "sleep 120; python /opt/xos/synchronizers/vtn/vtn-synchronizer.py -C /opt/xos/synchronizers/vtn/vtn_synchronizer_config"
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: vtn
-#    links:
-#        - xos_db
-#    volumes:
-#        - .:/root/setup:ro
-#    log_driver: "json-file"
-#    log_opt:
-#            max-size: "100k"
-#            max-file: "5"
-
-#xos_synchronizer_monitoring_channel:
-#    image: xosproject/xos-synchronizer-openstack
-#    command: bash -c "sleep 120; python /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer.py -C /root/setup/files/monitoring_channel_synchronizer_config"
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: monitoring_channel
-#    links:
-#        - xos_db
-#    volumes:
-#        - .:/root/setup:ro
-#        - ./id_rsa:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key:ro  # private key
-#    log_driver: "json-file"
-#    log_opt:
-#            max-size: "100k"
-#            max-file: "5"
-
-#xos_synchronizer_vtr:
-#    image: xosproject/xos-synchronizer-openstack
-#    command: bash -c "sleep 120; cp /root/setup/node_key /opt/xos/synchronizers/vtr/; chmod 0600 /opt/xos/synchronizers/vtr/node_key; python /opt/xos/synchronizers/vtr/vtr-synchronizer.py -C /root/setup/files/vtr_synchronizer_config"
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: vtr
-#    links:
-#        - xos_db
-#    volumes:
-#        - .:/root/setup:ro
-#        - ./id_rsa:/opt/xos/synchronizers/vtr/vcpe_private_key:ro  # private key
-#    log_driver: "json-file"
-#    log_opt:
-#            max-size: "100k"
-#            max-file: "5"
-
-#xos_synchronizer_fabric:
-#    image: xosproject/xos-synchronizer-openstack
-#    command: bash -c "sleep 120; python /opt/xos/synchronizers/fabric/fabric-synchronizer.py -C /opt/xos/synchronizers/fabric/fabric_synchronizer_config"
-#    labels:
-#        org.xosproject.kind: synchronizer
-#        org.xosproject.target: fabric
-#    links:
-#        - xos_db
-#    volumes:
-#        - .:/root/setup:ro
-#    log_driver: "json-file"
-#    log_opt:
-#            max-size: "100k"
-#            max-file: "5"
-
 xos_bootstrap_ui:
     command: python /opt/xos/manage.py runserver 0.0.0.0:81 --insecure --makemigrations
     image: xosproject/xos
@@ -146,9 +52,6 @@
         - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
         - ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
         - ../vtn/files/xos_vtn_config:/opt/xos/xos_configuration/xos_vtn_config:ro
-#        - ./id_rsa.pub:/opt/xos/synchronizers/onos/onos_key.pub:ro
-#        - ./id_rsa.pub:/opt/xos/synchronizers/vcpe/vcpe_public_key:ro
-#        - ./id_rsa.pub:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key:ro
     log_driver: "json-file"
     log_opt:
             max-size: "100k"
diff --git a/xos/services/openvpn/admin.py b/xos/onboard/openvpn/admin.py
similarity index 100%
rename from xos/services/openvpn/admin.py
rename to xos/onboard/openvpn/admin.py
diff --git a/xos/api/tenant/openvpn/openvpn.py b/xos/onboard/openvpn/api/tenant/openvpn/openvpn.py
similarity index 100%
rename from xos/api/tenant/openvpn/openvpn.py
rename to xos/onboard/openvpn/api/tenant/openvpn/openvpn.py
diff --git a/xos/services/openvpn/models.py b/xos/onboard/openvpn/models.py
similarity index 100%
rename from xos/services/openvpn/models.py
rename to xos/onboard/openvpn/models.py
diff --git a/xos/onboard/openvpn/openvpn-onboard.yaml b/xos/onboard/openvpn/openvpn-onboard.yaml
new file mode 100644
index 0000000..980e0b5
--- /dev/null
+++ b/xos/onboard/openvpn/openvpn-onboard.yaml
@@ -0,0 +1,25 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the OpenVPN Service
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+    servicecontroller#openvpn:
+      type: tosca.nodes.ServiceController
+      properties:
+          base_url: file:///opt/xos/onboard/vsg/
+          # The following will concatenate with base_url automatically, if
+          # base_url is non-null.
+          models: models.py
+          admin: admin.py
+          admin_template: templates/connect.vpn.j2
+          synchronizer: synchronizer/manifest
+          synchronizer_run: openvpn-synchronizer.py
+          #tosca_custom_types: exampleservice.yaml
+          rest_tenant: subdirectory:openvpn api/tenant/openvpn/openvpn.py
+          private_key: file:///opt/xos/key_import/openvpn_rsa
+          public_key: file:///opt/xos/key_import/openvpn_rsa.pub
+
diff --git a/xos/services/openvpn/__init__.py b/xos/onboard/openvpn/synchronizer/__init__.py
similarity index 100%
rename from xos/services/openvpn/__init__.py
rename to xos/onboard/openvpn/synchronizer/__init__.py
diff --git a/xos/onboard/openvpn/synchronizer/manifest b/xos/onboard/openvpn/synchronizer/manifest
new file mode 100644
index 0000000..44d6986
--- /dev/null
+++ b/xos/onboard/openvpn/synchronizer/manifest
@@ -0,0 +1,14 @@
+manifest
+openvpn_config
+__init__.py
+steps/sync_tenantprivilege.py
+steps/sync_openvpntenant.yaml
+steps/__init__.py
+steps/roles/openvpn/templates/server.conf.j2
+steps/roles/openvpn/handlers/main.yml
+steps/roles/openvpn/tasks/main.yml
+steps/sync_openvpntenant.py
+stop.sh
+model-deps
+openvpn-synchronizer.py
+run.sh
diff --git a/xos/synchronizers/openvpn/model-deps b/xos/onboard/openvpn/synchronizer/model-deps
similarity index 100%
rename from xos/synchronizers/openvpn/model-deps
rename to xos/onboard/openvpn/synchronizer/model-deps
diff --git a/xos/synchronizers/openvpn/openvpn-synchronizer.py b/xos/onboard/openvpn/synchronizer/openvpn-synchronizer.py
similarity index 100%
rename from xos/synchronizers/openvpn/openvpn-synchronizer.py
rename to xos/onboard/openvpn/synchronizer/openvpn-synchronizer.py
diff --git a/xos/synchronizers/openvpn/openvpn_config b/xos/onboard/openvpn/synchronizer/openvpn_config
similarity index 100%
rename from xos/synchronizers/openvpn/openvpn_config
rename to xos/onboard/openvpn/synchronizer/openvpn_config
diff --git a/xos/synchronizers/openvpn/run.sh b/xos/onboard/openvpn/synchronizer/run.sh
similarity index 100%
rename from xos/synchronizers/openvpn/run.sh
rename to xos/onboard/openvpn/synchronizer/run.sh
diff --git a/xos/synchronizers/openvpn/steps/__init__.py b/xos/onboard/openvpn/synchronizer/steps/__init__.py
similarity index 100%
rename from xos/synchronizers/openvpn/steps/__init__.py
rename to xos/onboard/openvpn/synchronizer/steps/__init__.py
diff --git a/xos/synchronizers/openvpn/steps/roles/openvpn/handlers/main.yml b/xos/onboard/openvpn/synchronizer/steps/roles/openvpn/handlers/main.yml
similarity index 100%
rename from xos/synchronizers/openvpn/steps/roles/openvpn/handlers/main.yml
rename to xos/onboard/openvpn/synchronizer/steps/roles/openvpn/handlers/main.yml
diff --git a/xos/synchronizers/openvpn/steps/roles/openvpn/tasks/main.yml b/xos/onboard/openvpn/synchronizer/steps/roles/openvpn/tasks/main.yml
similarity index 100%
rename from xos/synchronizers/openvpn/steps/roles/openvpn/tasks/main.yml
rename to xos/onboard/openvpn/synchronizer/steps/roles/openvpn/tasks/main.yml
diff --git a/xos/synchronizers/openvpn/steps/roles/openvpn/templates/server.conf.j2 b/xos/onboard/openvpn/synchronizer/steps/roles/openvpn/templates/server.conf.j2
similarity index 100%
rename from xos/synchronizers/openvpn/steps/roles/openvpn/templates/server.conf.j2
rename to xos/onboard/openvpn/synchronizer/steps/roles/openvpn/templates/server.conf.j2
diff --git a/xos/synchronizers/openvpn/steps/sync_openvpntenant.py b/xos/onboard/openvpn/synchronizer/steps/sync_openvpntenant.py
similarity index 100%
rename from xos/synchronizers/openvpn/steps/sync_openvpntenant.py
rename to xos/onboard/openvpn/synchronizer/steps/sync_openvpntenant.py
diff --git a/xos/synchronizers/openvpn/steps/sync_openvpntenant.yaml b/xos/onboard/openvpn/synchronizer/steps/sync_openvpntenant.yaml
similarity index 100%
rename from xos/synchronizers/openvpn/steps/sync_openvpntenant.yaml
rename to xos/onboard/openvpn/synchronizer/steps/sync_openvpntenant.yaml
diff --git a/xos/synchronizers/openvpn/steps/sync_tenantprivilege.py b/xos/onboard/openvpn/synchronizer/steps/sync_tenantprivilege.py
similarity index 100%
rename from xos/synchronizers/openvpn/steps/sync_tenantprivilege.py
rename to xos/onboard/openvpn/synchronizer/steps/sync_tenantprivilege.py
diff --git a/xos/synchronizers/openvpn/stop.sh b/xos/onboard/openvpn/synchronizer/stop.sh
similarity index 100%
rename from xos/synchronizers/openvpn/stop.sh
rename to xos/onboard/openvpn/synchronizer/stop.sh
diff --git a/xos/services/openvpn/templates/connect.vpn.j2 b/xos/onboard/openvpn/templates/connect.vpn.j2
similarity index 100%
rename from xos/services/openvpn/templates/connect.vpn.j2
rename to xos/onboard/openvpn/templates/connect.vpn.j2
diff --git a/xos/synchronizers/openvpn/__init__.py b/xos/synchronizers/openvpn/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/xos/synchronizers/openvpn/__init__.py
+++ /dev/null
diff --git a/xos/tools/xos-manage b/xos/tools/xos-manage
index 2ed85f3..706aeda 100755
--- a/xos/tools/xos-manage
+++ b/xos/tools/xos-manage
@@ -143,14 +143,6 @@
     python ./manage.py makemigrations requestrouter
     python ./manage.py makemigrations syndicate_storage
     python ./manage.py makemigrations mcord
-#    python ./manage.py makemigrations ceilometer
-#    python ./manage.py makemigrations onos
-    python ./manage.py makemigrations openvpn
-#    python ./manage.py makemigrations vtr
-#    python ./manage.py makemigrations vrouter
-#    python ./manage.py makemigrations vtn
-#    python ./manage.py makemigrations fabric
-    #python ./manage.py makemigrations servcomp
 
     if [[ -e /opt/xos/xos/xosbuilder_migration_list ]]; then
         cat /opt/xos/xos/xosbuilder_migration_list | while read line; do
diff --git a/xos/xos/settings.py b/xos/xos/settings.py
index 796aac2..f654b1d 100644
--- a/xos/xos/settings.py
+++ b/xos/xos/settings.py
@@ -183,15 +183,8 @@
     'core',
     'services.hpc',
     'services.mcord',
-#    'services.onos',
-#    'services.ceilometer',
     'services.requestrouter',
     'services.syndicate_storage',
-    'services.openvpn',
-#    'services.vtr',
-#    'services.vrouter',
-#    'services.vtn',
-#    'services.fabric',
     'geoposition',
     'rest_framework_swagger',
 )