Removed api submodule
diff --git a/xos/tests/api/.gitignore b/xos/tests/api/.gitignore
deleted file mode 100644
index 3c3629e..0000000
--- a/xos/tests/api/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/xos/tests/api/README.md b/xos/tests/api/README.md
deleted file mode 100644
index 67db53d..0000000
--- a/xos/tests/api/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# xos-api-docs
-
-These folder contain the XOS API definition and specs. To run tests visit `configurations/test-standalone` folder.
-
-To document new API:
-- run `npm install`
-- run `npm start`
-- add the appropriate endpont under `source` folder.
-
-_API are documented using (Api BluePrint)[https://apiblueprint.org/] syntax and the documentation is published on (Apiary)[http://docs.xos.apiary.io/#]_
-
diff --git a/xos/tests/api/apiary.apib b/xos/tests/api/apiary.apib
deleted file mode 100644
index 43a81c7..0000000
--- a/xos/tests/api/apiary.apib
+++ /dev/null
@@ -1,461 +0,0 @@
-FORMAT: 1A
-
-# XOS
-
-
-# Group ONOS Services
-
-## ONOS Services Collection [/api/service/onos/]
-
-### List all ONOS Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_ONOS_vBNG",
- "id": 5,
- "rest_hostname": "",
- "rest_port": "8181",
- "no_container": false,
- "node_key": ""
- }
- ]
-
-
-# Group vSG
-
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_vsg",
- "id": 2,
- "wan_container_gateway_ip": "",
- "wan_container_gateway_mac": "",
- "dns_servers": "8.8.8.8",
- "url_filter_kind": null,
- "node_label": null
- }
- ]
-
-
-# Group Subscribers
-
-Resource related to the CORD Subscribers.
-
-## Subscribers Collection [/api/tenant/cord/subscriber/]
-
-### List All Subscribers [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "cordSubscriber-1",
- "id": 1,
- "features": {
- "cdn": false,
- "uplink_speed": 1000000000,
- "downlink_speed": 1000000000,
- "uverse": false,
- "status": "enabled"
- },
- "identity": {
- "account_num": "123",
- "name": "My House"
- },
- "related": {
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "compute_node_name": "node2.opencloud.us",
- "c_tag": "432",
- "instance_id": 1,
- "wan_container_ip": null,
- "volt_id": 3,
- "s_tag": "222"
- }
- }
- ]
-
-## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "cordSubscriber-1",
- "id": 1,
- "features": {
- "cdn": false,
- "uplink_speed": 1000000000,
- "downlink_speed": 1000000000,
- "uverse": false,
- "status": "enabled"
- },
- "identity": {
- "account_num": "123",
- "name": "My House"
- },
- "related": {
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "compute_node_name": "node2.opencloud.us",
- "c_tag": "432",
- "instance_id": 1,
- "wan_container_ip": null,
- "volt_id": 3,
- "s_tag": "222"
- }
- }
-
-### Delete a Subscriber [DELETE]
-
-+ Response 204
-
-### Subscriber features [/api/tenant/cord/subscriber/{subscriber_id}/features/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Features Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "cdn": false,
- "uplink_speed": 1000000000,
- "downlink_speed": 1000000000,
- "uverse": true,
- "status": "enabled"
- }
-
-#### Subscriber features uplink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/uplink_speed/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uplink_speed [GET]
-
-+ Response 200 (application/json)
-
- {
- "uplink_speed": 1000000000
- }
-
-#### Update Subscriber uplink_speed [PUT]
-
-+ Request 200 (application/json)
-
- {
- "uplink_speed": 1000000000
- }
-
-+ Response 200 (application/json)
-
- {
- "uplink_speed": 1000000000
- }
-
-#### Subscriber features downlink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/downlink_speed/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber downlink_speed [GET]
-
-+ Response 200 (application/json)
-
- {
- "downlink_speed": 1000000000
- }
-
-#### Update Subscriber downlink_speed [PUT]
-
-+ Request 200 (application/json)
-
- {
- "downlink_speed": 1000000000
- }
-
-+ Response 200 (application/json)
-
- {
- "downlink_speed": 1000000000
- }
-
-#### Subscriber features cdn [/api/tenant/cord/subscriber/{subscriber_id}/features/cdn/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber cdn [GET]
-
-+ Response 200 (application/json)
-
- {
- "cdn": false
- }
-
-#### Update Subscriber cdn [PUT]
-
-+ Request 200 (application/json)
-
- {
- "cdn": false
- }
-
-+ Response 200 (application/json)
-
- {
- "cdn": false
- }
-
-#### Subscriber features uverse [/api/tenant/cord/subscriber/{subscriber_id}/features/uverse/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uverse [GET]
-
-+ Response 200 (application/json)
-
- {
- "uverse": false
- }
-
-#### Update Subscriber uverse [PUT]
-
-+ Request 200 (application/json)
-
- {
- "uverse": false
- }
-
-+ Response 200 (application/json)
-
- {
- "uverse": false
- }
-
-#### Subscriber features status [/api/tenant/cord/subscriber/{subscriber_id}/features/status/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber status [GET]
-
-+ Response 200 (application/json)
-
- {
- "status": "enabled"
- }
-
-#### Update Subscriber status [PUT]
-
-+ Request 200 (application/json)
-
- {
- "status": "enabled"
- }
-
-+ Response 200 (application/json)
-
- {
- "status": "enabled"
- }
-
-
-# Group Truckroll
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-## Truckroll Collection [/api/tenant/truckroll/]
-
-### List all Truckroll [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "vTR-tenant-9",
- "id": 9,
- "provider_service": 6,
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8",
- "result": "",
- "result_code": "",
- "is_synced": false,
- "backend_status": "2 - Exception('Unreachable results in ansible recipe',)"
- }
- ]
-
-### Create a Truckroll [POST]
-
-+ Request (application/json)
-
- {
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8"
- }
-
-+ Response 201 (application/json)
-
- {
- "humanReadableName": "vTR-tenant-1",
- "id": 1,
- "provider_service": 6,
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8",
- "result": null,
- "result_code": null,
- "is_synced": false,
- "backend_status": "0 - Provisioning in progress"
- }
-
-## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/]
-
-A virtual truckroll is complete once is_synced equal true
-
-+ Parameters
- + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-### View a Truckroll Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "vTR-tenant-10",
- "id": 10,
- "provider_service": 6,
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8",
- "result": null,
- "result_code": null,
- "is_synced": false,
- "backend_status": "0 - Provisioning in progress"
- }
-
-### Delete a Truckroll Detail [DELETE]
-
-+ Response 204
-
-
-
-# Group vOLT
-
-OLT devices aggregate a set of subscriber connections
-
-## vOLT Collection [/api/tenant/cord/volt/]
-
-### List all vOLT [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "vOLT-tenant-1",
- "id": 1,
- "service_specific_id": "123",
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1,
- "related": {
- "instance_id": 1,
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "wan_container_ip": null,
- "compute_node_name": "node2.opencloud.us"
- }
- }
- ]
-
-### Create a vOLT [POST]
-
-+ Request (application/json)
-
- {
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1
- }
-
-+ Response 201 (application/json)
-
- {
- "humanReadableName": "vOLT-tenant-1",
- "id": 1,
- "service_specific_id": "123",
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1,
- "related": {
- "instance_id": 1,
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "wan_container_ip": null,
- "compute_node_name": "node2.opencloud.us"
- }
- }
-
-## vOLT Detail [/api/tenant/cord/volt/{volt_id}/]
-
-A virtual volt is complete once is_synced equal true
-
-+ Parameters
- + volt_id: 1 (number) - ID of the vOLT in the form of an integer
-
-### View a vOLT Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "vOLT-tenant-1",
- "id": 1,
- "service_specific_id": "123",
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1,
- "related": {
- "instance_id": 1,
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "wan_container_ip": null,
- "compute_node_name": "node2.opencloud.us"
- }
- }
-
-
-
-# Group ONOS Apps
-
-## app Collection [/api/tenant/onos/app/]
-
-### List all apps [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "onos-tenant-7",
- "id": 7,
- "name": "vBNG_ONOS_app",
- "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
- }
- ]
\ No newline at end of file
diff --git a/xos/tests/api/dredd.yml b/xos/tests/api/dredd.yml
deleted file mode 100644
index a214c7c..0000000
--- a/xos/tests/api/dredd.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-reporter: apiary
-custom:
- apiaryApiKey: f941658c6714ebf58eeda5e0786e937f
- apiaryApiName: xos
-dry-run: null
-hookfiles: "./hooks.py"
-language: python
-sandbox: false
-server: null
-server-wait: 3
-init: false
-names: false
-only: []
-output: []
-header: []
-sorted: false
-user: null
-inline-errors: false
-details: false
-method: []
-color: true
-level: info
-timestamp: false
-silent: false
-path: []
-hooks-worker-timeout: 5000
-hooks-worker-connect-timeout: 1500
-hooks-worker-connect-retry: 500
-hooks-worker-after-connect-wait: 100
-hooks-worker-term-timeout: 5000
-hooks-worker-term-retry: 500
-hooks-worker-handler-host: localhost
-hooks-worker-handler-port: 61321
-blueprint: apiary.apib
-endpoint: 'http://127.0.0.1:8000/'
diff --git a/xos/tests/api/gulpfile.js b/xos/tests/api/gulpfile.js
deleted file mode 100644
index 2e82210..0000000
--- a/xos/tests/api/gulpfile.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var gulp = require('gulp');
-var concat = require('gulp-concat');
-
-
-
-gulp.task('default', function() {
- gulp.watch('./source/**/*.md', ['concat']);
-});
-
-gulp.task('concat', function() {
- return gulp.src([
- './source/base.md',
- './source/**/*.md'
- ])
- .pipe(concat('apiary.apib', {newLine: '\n \n \n'}))
- .pipe(gulp.dest('./'));
-});
diff --git a/xos/tests/api/helpers/__init__.py b/xos/tests/api/helpers/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/xos/tests/api/helpers/__init__.py
+++ /dev/null
diff --git a/xos/tests/api/helpers/subscriber.py b/xos/tests/api/helpers/subscriber.py
deleted file mode 100644
index 0ff02c2..0000000
--- a/xos/tests/api/helpers/subscriber.py
+++ /dev/null
@@ -1,167 +0,0 @@
-import dredd_hooks as hooks
-import sys
-
-# HELPERS
-# NOTE move in separated module
-import os
-import sys
-sys.path.append("/opt/xos")
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-import django
-from core.models import *
-from services.cord.models import *
-from services.vtr.models import *
-from django.contrib.auth import authenticate, login
-from django.core.exceptions import PermissionDenied
-from django.contrib.sessions.models import Session
-import urllib2
-import json
-django.setup()
-
-token = ''
-
-
-def doLogin(username, password):
-
- url = "http://127.0.0.1:8000/xoslib/login?username=%s&password=%s" % (username, password)
-
- print url
-
- res = urllib2.urlopen(url).read()
-
- token = json.loads(res)['xoscsrftoken']
-
-
-def cleanDB():
- # deleting all subscribers
- for s in CordSubscriberRoot.objects.all():
- s.delete(purge=True)
-
- # deleting all slices
- for s in Slice.objects.all():
- s.delete(purge=True)
-
- # deleting all Services
- for s in Service.objects.all():
- s.delete(purge=True)
-
- # deleting all Tenants
- for s in Tenant.objects.all():
- s.delete(purge=True)
-
- # deleting all Networks
- for s in Network.objects.all():
- s.delete(purge=True)
-
- # deleting all NetworkTemplates
- for s in NetworkTemplate.objects.all():
- s.delete(purge=True)
-
- for s in NetworkSlice.objects.all():
- s.delete(purge=True)
-
- print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
- cleanDB()
-
- # load user
- user = User.objects.get(email="padmin@vicci.org")
-
- # network template
- private_template = NetworkTemplate()
- private_template.name = 'Private Network'
- private_template.save()
-
- # creating the test subscriber
- subscriber = CordSubscriberRoot(name='Test Subscriber 1', id=1)
- subscriber.save()
-
- # Site
- site = Site.objects.get(name='MySite')
-
- # vSG service
- vsg_service = VSGService()
- vsg_service.name = 'service_vsg'
-
- # vSG slice
- vsg_slice = Slice()
- vsg_slice.name = site.login_base + "_testVsg"
- vsg_slice.service = vsg_service.id
- vsg_slice.site = site
- vsg_slice.caller = user
-
- vsg_slice.save()
-
- vsg_service.save()
-
- # volt service
- volt_service = VOLTService()
- volt_service.name = 'service_volt'
- volt_service.save()
-
- # vcpe slice
- vcpe_slice = Slice()
- vcpe_slice.name = site.login_base + "_testVcpe"
- vcpe_slice.service = Service.objects.get(kind='vCPE')
- vcpe_slice.site = site
- vcpe_slice.caller = user
- vcpe_slice.save()
-
- print 'vcpe_slice created'
-
- # create a lan network
- lan_net = Network()
- lan_net.name = 'lan_network'
- lan_net.owner = vcpe_slice
- lan_net.template = private_template
- lan_net.save()
-
- print 'lan_network created'
-
- # add relation between vcpe slice and lan network
- vcpe_network = NetworkSlice()
- vcpe_network.network = lan_net
- vcpe_network.slice = vcpe_slice
- vcpe_network.save()
-
- print 'vcpe network relation added'
-
- # vbng service
- vbng_service = VBNGService()
- vbng_service.name = 'service_vbng'
- vbng_service.save()
-
- print 'vbng_service creater'
-
- # volt tenant
- vt = VOLTTenant(subscriber=subscriber.id, id=1)
- vt.s_tag = "222"
- vt.c_tag = "432"
- vt.provider_service_id = volt_service.id
- vt.caller = user
- vt.save()
-
- print "Subscriber Created"
-
-
-def deleteTruckrolls():
- for s in VTRTenant.objects.all():
- s.delete(purge=True)
-
-
-def setUpTruckroll():
- service_vtr = VTRService()
- service_vtr.name = 'service_vtr'
- service_vtr.save()
-
-
-def createTruckroll():
- setUpTruckroll()
- tn = VTRTenant(id=1)
- tn.save()
-
-
-createTestSubscriber()
diff --git a/xos/tests/api/hooks.py b/xos/tests/api/hooks.py
deleted file mode 100644
index 6779014..0000000
--- a/xos/tests/api/hooks.py
+++ /dev/null
@@ -1,194 +0,0 @@
-import dredd_hooks as hooks
-import sys
-
-# HELPERS
-# NOTE move in separated module
-import os
-import sys
-sys.path.append("/opt/xos")
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-import django
-from core.models import *
-from services.cord.models import *
-from services.vtr.models import *
-import urllib2
-import json
-django.setup()
-
-
-def doLogin(username, password):
- url = "http://127.0.0.1:8000/xoslib/login?username=%s&password=%s" % (username, password)
- res = urllib2.urlopen(url).read()
- parsed = json.loads(res)
- return {'token': parsed['xoscsrftoken'], 'sessionid': parsed['xossessionid']}
-
-
-def cleanDB():
- # deleting all subscribers
- for s in CordSubscriberRoot.objects.all():
- s.delete(purge=True)
-
- # deleting all slices
- for s in Slice.objects.all():
- s.delete(purge=True)
-
- # deleting all Services
- for s in Service.objects.all():
- s.delete(purge=True)
-
- # deleting all Tenants
- for s in Tenant.objects.all():
- s.delete(purge=True)
-
- # deleting all Networks
- for s in Network.objects.all():
- s.delete(purge=True)
-
- # deleting all NetworkTemplates
- for s in NetworkTemplate.objects.all():
- s.delete(purge=True)
-
- for s in NetworkSlice.objects.all():
- s.delete(purge=True)
-
- # print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
- cleanDB()
-
- # load user
- user = User.objects.get(email="padmin@vicci.org")
-
- # network template
- private_template = NetworkTemplate()
- private_template.name = 'Private Network'
- private_template.save()
-
- # creating the test subscriber
- subscriber = CordSubscriberRoot(name='Test Subscriber 1', id=1)
- subscriber.save()
-
- # Site
- site = Site.objects.get(name='MySite')
-
- # vSG service
- vsg_service = VSGService()
- vsg_service.name = 'service_vsg'
-
- # vSG slice
- vsg_slice = Slice()
- vsg_slice.name = site.login_base + "_testVsg"
- vsg_slice.service = vsg_service.id
- vsg_slice.site = site
- vsg_slice.caller = user
-
- vsg_slice.save()
-
- vsg_service.save()
-
- # volt service
- volt_service = VOLTService()
- volt_service.name = 'service_volt'
- volt_service.save()
-
- # vcpe slice
- vcpe_slice = Slice()
- vcpe_slice.name = site.login_base + "_testVcpe"
- vcpe_slice.service = Service.objects.get(kind='vCPE')
- vcpe_slice.site = site
- vcpe_slice.caller = user
- vcpe_slice.save()
-
- # print 'vcpe_slice created'
-
- # create a lan network
- lan_net = Network()
- lan_net.name = 'lan_network'
- lan_net.owner = vcpe_slice
- lan_net.template = private_template
- lan_net.save()
-
- # print 'lan_network created'
-
- # add relation between vcpe slice and lan network
- vcpe_network = NetworkSlice()
- vcpe_network.network = lan_net
- vcpe_network.slice = vcpe_slice
- vcpe_network.save()
-
- # print 'vcpe network relation added'
-
- # vbng service
- vbng_service = VBNGService()
- vbng_service.name = 'service_vbng'
- vbng_service.save()
-
- # print 'vbng_service creater'
-
- # volt tenant
- vt = VOLTTenant(subscriber=subscriber.id, id=1)
- vt.s_tag = "222"
- vt.c_tag = "432"
- vt.provider_service_id = volt_service.id
- vt.caller = user
- vt.save()
-
- # print "Subscriber Created"
-
-
-def deleteTruckrolls():
- for s in VTRTenant.objects.all():
- s.delete(purge=True)
-
-
-def setUpTruckroll():
- service_vtr = VTRService()
- service_vtr.name = 'service_vtr'
- service_vtr.save()
-
-
-def createTruckroll():
- setUpTruckroll()
- tn = VTRTenant(id=1)
- tn.save()
-
-
-@hooks.before_all
-def my_before_all_hook(transactions):
- # print "-------------------------------- Before All Hook --------------------------------"
- cleanDB()
-
-
-@hooks.before_each
-def my_before_each_hook(transaction):
- # print "-------------------------------- Before Each Hook --------------------------------"
- auth = doLogin('padmin@vicci.org', 'letmein')
- transaction['request']['headers']['X-CSRFToken'] = auth['token']
- transaction['request']['headers']['Cookie'] = "xossessionid=%s; xoscsrftoken=%s" % (auth['sessionid'], auth['token'])
- createTestSubscriber()
- sys.stdout.flush()
-
-
-@hooks.before("Truckroll > Truckroll Collection > Create a Truckroll")
-def test1(transaction):
- setUpTruckroll()
-
-
-@hooks.before("Truckroll > Truckroll Detail > View a Truckroll Detail")
-def test2(transaction):
- deleteTruckrolls()
- createTruckroll()
-
-
-@hooks.before("Truckroll > Truckroll Detail > Delete a Truckroll Detail")
-def test3(transaction):
- deleteTruckrolls()
- createTruckroll()
-
-
-@hooks.before("vOLT > vOLT Collection > Create a vOLT")
-def test4(transaction):
- # transaction['skip'] = True
- VOLTTenant.objects.get(kind='vOLT').delete()
diff --git a/xos/tests/api/package.json b/xos/tests/api/package.json
deleted file mode 100644
index 9a2ba84..0000000
--- a/xos/tests/api/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "xos-api-docs",
- "version": "1.0.0",
- "description": "Api documentation for XOS",
- "main": "index.js",
- "scripts": {
- "start": "gulp",
- "test": "dredd",
- "dry": "dredd --dry-run"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/teone/xos-api-docs.git"
- },
- "author": "Matteo Scandolo",
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/teone/xos-api-docs/issues"
- },
- "homepage": "https://github.com/teone/xos-api-docs#readme",
- "dependencies": {
- "dredd": "^1.0.8"
- },
- "devDependencies": {
- "gulp": "^3.9.1",
- "gulp-concat": "^2.6.0"
- }
-}
diff --git a/xos/tests/api/source/base.md b/xos/tests/api/source/base.md
deleted file mode 100644
index 564798b..0000000
--- a/xos/tests/api/source/base.md
+++ /dev/null
@@ -1,3 +0,0 @@
-FORMAT: 1A
-
-# XOS
\ No newline at end of file
diff --git a/xos/tests/api/source/service/onos.md b/xos/tests/api/source/service/onos.md
deleted file mode 100644
index 3b5e623..0000000
--- a/xos/tests/api/source/service/onos.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Group ONOS Services
-
-## ONOS Services Collection [/api/service/onos/]
-
-### List all ONOS Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_ONOS_vBNG",
- "id": 5,
- "rest_hostname": "",
- "rest_port": "8181",
- "no_container": false,
- "node_key": ""
- }
- ]
\ No newline at end of file
diff --git a/xos/tests/api/source/service/vsg.md b/xos/tests/api/source/service/vsg.md
deleted file mode 100644
index 9247450..0000000
--- a/xos/tests/api/source/service/vsg.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Group vSG
-
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_vsg",
- "id": 2,
- "wan_container_gateway_ip": "",
- "wan_container_gateway_mac": "",
- "dns_servers": "8.8.8.8",
- "url_filter_kind": null,
- "node_label": null
- }
- ]
\ No newline at end of file
diff --git a/xos/tests/api/source/tenant/cord/subscribers.md b/xos/tests/api/source/tenant/cord/subscribers.md
deleted file mode 100644
index bd38d04..0000000
--- a/xos/tests/api/source/tenant/cord/subscribers.md
+++ /dev/null
@@ -1,228 +0,0 @@
-# Group Subscribers
-
-Resource related to the CORD Subscribers.
-
-## Subscribers Collection [/api/tenant/cord/subscriber/]
-
-### List All Subscribers [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "cordSubscriber-1",
- "id": 1,
- "features": {
- "cdn": false,
- "uplink_speed": 1000000000,
- "downlink_speed": 1000000000,
- "uverse": false,
- "status": "enabled"
- },
- "identity": {
- "account_num": "123",
- "name": "My House"
- },
- "related": {
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "compute_node_name": "node2.opencloud.us",
- "c_tag": "432",
- "instance_id": 1,
- "wan_container_ip": null,
- "volt_id": 3,
- "s_tag": "222"
- }
- }
- ]
-
-## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "cordSubscriber-1",
- "id": 1,
- "features": {
- "cdn": false,
- "uplink_speed": 1000000000,
- "downlink_speed": 1000000000,
- "uverse": false,
- "status": "enabled"
- },
- "identity": {
- "account_num": "123",
- "name": "My House"
- },
- "related": {
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "compute_node_name": "node2.opencloud.us",
- "c_tag": "432",
- "instance_id": 1,
- "wan_container_ip": null,
- "volt_id": 3,
- "s_tag": "222"
- }
- }
-
-### Delete a Subscriber [DELETE]
-
-+ Response 204
-
-### Subscriber features [/api/tenant/cord/subscriber/{subscriber_id}/features/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-### View a Subscriber Features Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "cdn": false,
- "uplink_speed": 1000000000,
- "downlink_speed": 1000000000,
- "uverse": true,
- "status": "enabled"
- }
-
-#### Subscriber features uplink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/uplink_speed/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uplink_speed [GET]
-
-+ Response 200 (application/json)
-
- {
- "uplink_speed": 1000000000
- }
-
-#### Update Subscriber uplink_speed [PUT]
-
-+ Request 200 (application/json)
-
- {
- "uplink_speed": 1000000000
- }
-
-+ Response 200 (application/json)
-
- {
- "uplink_speed": 1000000000
- }
-
-#### Subscriber features downlink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/downlink_speed/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber downlink_speed [GET]
-
-+ Response 200 (application/json)
-
- {
- "downlink_speed": 1000000000
- }
-
-#### Update Subscriber downlink_speed [PUT]
-
-+ Request 200 (application/json)
-
- {
- "downlink_speed": 1000000000
- }
-
-+ Response 200 (application/json)
-
- {
- "downlink_speed": 1000000000
- }
-
-#### Subscriber features cdn [/api/tenant/cord/subscriber/{subscriber_id}/features/cdn/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber cdn [GET]
-
-+ Response 200 (application/json)
-
- {
- "cdn": false
- }
-
-#### Update Subscriber cdn [PUT]
-
-+ Request 200 (application/json)
-
- {
- "cdn": false
- }
-
-+ Response 200 (application/json)
-
- {
- "cdn": false
- }
-
-#### Subscriber features uverse [/api/tenant/cord/subscriber/{subscriber_id}/features/uverse/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber uverse [GET]
-
-+ Response 200 (application/json)
-
- {
- "uverse": false
- }
-
-#### Update Subscriber uverse [PUT]
-
-+ Request 200 (application/json)
-
- {
- "uverse": false
- }
-
-+ Response 200 (application/json)
-
- {
- "uverse": false
- }
-
-#### Subscriber features status [/api/tenant/cord/subscriber/{subscriber_id}/features/status/]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-#### Read Subscriber status [GET]
-
-+ Response 200 (application/json)
-
- {
- "status": "enabled"
- }
-
-#### Update Subscriber status [PUT]
-
-+ Request 200 (application/json)
-
- {
- "status": "enabled"
- }
-
-+ Response 200 (application/json)
-
- {
- "status": "enabled"
- }
\ No newline at end of file
diff --git a/xos/tests/api/source/tenant/cord/truckroll.md b/xos/tests/api/source/tenant/cord/truckroll.md
deleted file mode 100644
index 33b67db..0000000
--- a/xos/tests/api/source/tenant/cord/truckroll.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Group Truckroll
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-## Truckroll Collection [/api/tenant/truckroll/]
-
-### List all Truckroll [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "vTR-tenant-9",
- "id": 9,
- "provider_service": 6,
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8",
- "result": "",
- "result_code": "",
- "is_synced": false,
- "backend_status": "2 - Exception('Unreachable results in ansible recipe',)"
- }
- ]
-
-### Create a Truckroll [POST]
-
-+ Request (application/json)
-
- {
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8"
- }
-
-+ Response 201 (application/json)
-
- {
- "humanReadableName": "vTR-tenant-1",
- "id": 1,
- "provider_service": 6,
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8",
- "result": null,
- "result_code": null,
- "is_synced": false,
- "backend_status": "0 - Provisioning in progress"
- }
-
-## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/]
-
-A virtual truckroll is complete once is_synced equal true
-
-+ Parameters
- + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-### View a Truckroll Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "vTR-tenant-10",
- "id": 10,
- "provider_service": 6,
- "target_id": 2,
- "scope": "container",
- "test": "ping",
- "argument": "8.8.8.8",
- "result": null,
- "result_code": null,
- "is_synced": false,
- "backend_status": "0 - Provisioning in progress"
- }
-
-### Delete a Truckroll Detail [DELETE]
-
-+ Response 204
diff --git a/xos/tests/api/source/tenant/cord/volt.md b/xos/tests/api/source/tenant/cord/volt.md
deleted file mode 100644
index 09140fd..0000000
--- a/xos/tests/api/source/tenant/cord/volt.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Group vOLT
-
-OLT devices aggregate a set of subscriber connections
-
-## vOLT Collection [/api/tenant/cord/volt/]
-
-### List all vOLT [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "vOLT-tenant-1",
- "id": 1,
- "service_specific_id": "123",
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1,
- "related": {
- "instance_id": 1,
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "wan_container_ip": null,
- "compute_node_name": "node2.opencloud.us"
- }
- }
- ]
-
-### Create a vOLT [POST]
-
-+ Request (application/json)
-
- {
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1
- }
-
-+ Response 201 (application/json)
-
- {
- "humanReadableName": "vOLT-tenant-1",
- "id": 1,
- "service_specific_id": "123",
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1,
- "related": {
- "instance_id": 1,
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "wan_container_ip": null,
- "compute_node_name": "node2.opencloud.us"
- }
- }
-
-## vOLT Detail [/api/tenant/cord/volt/{volt_id}/]
-
-A virtual volt is complete once is_synced equal true
-
-+ Parameters
- + volt_id: 1 (number) - ID of the vOLT in the form of an integer
-
-### View a vOLT Detail [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "vOLT-tenant-1",
- "id": 1,
- "service_specific_id": "123",
- "s_tag": "222",
- "c_tag": "432",
- "subscriber": 1,
- "related": {
- "instance_id": 1,
- "instance_name": "mysite_vcpe",
- "vsg_id": 4,
- "wan_container_ip": null,
- "compute_node_name": "node2.opencloud.us"
- }
- }
diff --git a/xos/tests/api/source/tenant/onos/app.md b/xos/tests/api/source/tenant/onos/app.md
deleted file mode 100644
index a43aae9..0000000
--- a/xos/tests/api/source/tenant/onos/app.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Group ONOS Apps
-
-## app Collection [/api/tenant/onos/app/]
-
-### List all apps [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "onos-tenant-7",
- "id": 7,
- "name": "vBNG_ONOS_app",
- "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
- }
- ]
\ No newline at end of file