Removing deprecated API documentation
Change-Id: I4cc013630f0fe04ea5fd553c3d46d8ec48225a9c
diff --git a/apiary.apib b/apiary.apib
deleted file mode 100644
index 5bd34fd..0000000
--- a/apiary.apib
+++ /dev/null
@@ -1,1344 +0,0 @@
-FORMAT: 1A
-
-# XOS
-
-
-# Group Utility
-
-List of the XOS Utility API
-
-
-## Login [/api/utility/login/]
-
-### Log a user in the system [POST]
-
-+ Request (application/json)
-
- {
- "username": "padmin@vicci.org",
- "password": "letmein"
- }
-
-+ Response 200 (application/json)
-
- {
- "xoscsrftoken":"xuvsRC1jkXAsnrdRlgJvcXpmtthTAqqf",
- "xossessionid":"7ds5a3wzjlgbjqo4odkd25qsm0j2s6zg",
- "user": "{\"policed\": null, \"site\": 3, \"is_appuser\": false, \"is_staff\": true, \"backend_status\": \"Provisioning in progress\", \"id\": 3, \"is_registering\": false, \"last_login\": \"2016-04-30T22:51:04.788675+00:00\", \"email\": \"padmin@vicci.org\", \"no_sync\": false, \"username\": \"padmin@vicci.org\", \"dashboards\": [11], \"login_page\": null, \"firstname\": \"XOS\", \"user_url\": null, \"deleted\": false, \"lastname\": \"admin\", \"is_active\": true, \"lazy_blocked\": false, \"phone\": null, \"is_admin\": true, \"enacted\": null, \"public_key\": null, \"is_readonly\": false, \"no_policy\": false, \"write_protect\": false}"
- }
-
-## Logout [/api/utility/logout/]
-
-### Log a user out of the system [POST]
-
-+ Request (application/json)
-
- {
- "xossessionid": "sessionId"
- }
-
-+ Response 200 (application/json)
-
-## Port Forwarding [/api/utility/portforwarding/]
-
-Contains the set of port forwarding mappings for each compute node.
-Used on OpenCloud to setup port forwarding for nat-net.
-
-### List port forwarding objects [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 79,
- "ip": "172.16.0.36",
- "ports": "tcp 2222, tcp 25566",
- "hostname": "node1.opencloud.us"
- },
- {
- "id": 131,
- "ip": "172.16.0.16",
- "ports": "udp 53, tcp 8017",
- "hostname": "node2.opencloud.us"
- }
- ]
-
-## Slices Plus [/api/utility/slicesplus/]
-
-A list of slices with addictional information, it is used in the Tenant custom dashboard.
-
-### List Slices objects [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite_management",
- "id": 2,
- "created": "2016-06-29T18:43:50.730912Z",
- "updated": "2016-06-29T18:43:50.730789Z",
- "enacted": null,
- "name": "mysite_management",
- "enabled": true,
- "omf_friendly": false,
- "description": "",
- "slice_url": "",
- "site": 2,
- "max_instances": 10,
- "service": null,
- "network": "noauto",
- "mount_data_sets": "GenBank",
- "default_image": null,
- "default_flavor": null,
- "serviceClass": null,
- "creator": 2,
- "networks": [],
- "network_ports": "",
- "backendIcon": "/static/admin/img/icon_clock.gif",
- "backendHtml": "<span title=\"Pending sync, last_status = 0 - Provisioning in progress\"><img src=\"/static/admin/img/icon_clock.gif\"></span>",
- "current_user_roles": [],
- "instance_distribution": {},
- "instance_distribution_ready": {},
- "instance_total": 0,
- "instance_total_ready": 0,
- "instance_status": {},
- "users": [],
- "user_names": [],
- "current_user_can_see": true
- }
- ]
-
-## Synchronizer [/api/utility/synchronizer/]
-
-Lists the Diag objects for synchronizers. From here you can get the synchronizer status.
-
-### List Diag objects [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 3,
- "name": "onboarding",
- "backend_status": "1 - Bottom Of Loop",
- "backend_register": "{\"last_duration\": 0.18996095657348633, \"last_run\": 1467923907.908469}"
- }
- ]
-
-## Onboarding [/api/utility/onboarding/{service}/ready]
-
-Used to get the status of onboarding, to determine if services have been to successfully onboarded and if the XOS UI container has been built.
-
-### Get service status [GET]
-
-+ Parameters
- + service: services/vsg (string) - Name of the service to wait for
-
-
-+ Response 200 (text/plain)
-
- true
-
-## Tosca [/api/utility/tosca/run/]
-
-### Load a Tosca recipe [POST]
-
-+ Request (application/json)
-
- {
- "recipe": "tosca_definitions_version: tosca_simple_yaml_1_0\n\ndescription: Onboard the exampleservice\n\nimports:\n - custom_types/xos.yaml\n\ntopology_template:\n node_templates:\n test_site:\n type: tosca.nodes.Site\n properties:\n display_name: Test Site\n site_url: https://www.onlab.us/"
- }
-
-+ Response 200 (application/json)
-
- {
- "log_msgs":[
- "ordered_names: ['test_site']",
- "Created Site 'Test Site'"
- ]
- }
-
-## Ssh Keys [/api/utility/sshkeys/]
-
-Returns the set of ssh keys for instances. Used on OpenCloud to configure ssh-proxy to instances.
-
-### List ssh keys by instance [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": "instance-00000001",
- "public_keys": [
- "ssh-rsa xxyyzz\r\n"
- ],
- "node_name": "node1.opencloud.us"
- },
- {
- "id": "instance-00000001",
- "public_keys": [
- "ssh-rsa xxyyzz\r\n"
- ],
- "node_name": "node2.opencloud.us"
- }
- ]
-
-
-# Group Tenant
-
-
-## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-Resource related to the CORD Subscribers.
-
-### 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"
- }
- }
- ]
-
-
-### View a Subscriber Detail [GET]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-+ 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]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-+ 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"
- }
-
-
-## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-### 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]
-
-A virtual truckroll is complete once is_synced equal true
-
-+ 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"
- }
-
-
-### View a Truckroll Detail [GET]
-
-+ Parameters
- + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-+ 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]
-
-+ Parameters
- + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-+ Response 204
-
-
-
-## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
-
-OLT devices aggregate a set of subscriber connections
-
-### 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"
- }
- }
-
-### View a vOLT Detail [GET]
-
-+ Parameters
- + volt_id: 1 (number) - ID of the vOLT in the form of an integer
-
-+ 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"
- }
- }
-
-
-
-## ONOS 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"
- }
- ]
-
-
-# Group Service
-
-
-## Example Services Collection [/api/service/exampleservice/]
-
-### List all Example Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyExample",
- "id": 1,
- "service_message": "This is the test message"
- }
- ]
-
-
-
-## ONOS Services Collection [/api/service/onos/]
-
-List of the active onos services
-
-### 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": ""
- }
- ]
-
-
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_vsg",
- "id": 2,
- "dns_servers": "8.8.8.8",
- "url_filter_kind": null,
- "node_label": null
- }
- ]
-
-
-# Group Core
-
-List of the XOS Core API
-
-
-## Deployments [/api/core/deployments/{id}/]
-
-List of the XOS deployments
-
-### List all deployments [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-29T16:19:03.549901Z",
- "updated": "2016-04-29T16:19:05.624151Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [
- "1"
- ],
- "sites": [
- "1"
- ],
- "flavors": [
- "1",
- "2",
- "3"
- ],
- "dashboardviews": [
- "1"
- ]
- }
- ]
-
-### Create a deployment [POST]
-
-+ Request (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-29T16:19:03.549901Z",
- "updated": "2016-04-29T16:19:05.624151Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [
- "1"
- ],
- "sites": [
- "1"
- ],
- "flavors": [
- "1",
- "2",
- "3"
- ],
- "dashboardviews": [
- "1"
- ]
- }
-
-### View a Deployment Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-27T21:46:57.354544Z",
- "updated": "2016-04-27T21:47:05.221720Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [],
- "sites": [
- "1"
- ],
- "flavors": [
- "3",
- "2",
- "1"
- ],
- "dashboardviews": [
- "3"
- ]
- }
-
-### Delete a Deployment [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 204
-
-
-## Flavors [/api/core/flavors/{id}/]
-
-List of the XOS flavors
-
-### List all flavors [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
- ]
-
-### Create a Flavor [POST]
-
-+ Request (application/json)
-
- {
- "humanReadableName": "mq.test",
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
-
-### View a Flavors Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
-
-### Delete a Flavors Detail [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 204
-
-
-## Instances Collection [/api/core/instances/{?no_hyperlinks}]
-
- + no_hyperlinks (number, optional) - Wheter to return relation with links or ids
- + Default: `0`
-
-### List all Instances [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "mysite_vcpe",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
- ]
-
-### Create an Instance [POST]
-
-+ Parameters
- + no_hyperlinks: 1
-
-+ Request (application/json)
-
- {
- "name": "test-instance",
- "image": 1,
- "slice": 1,
- "deployment": 1,
- "node": 1
- }
-
-+ Response 200 (application/json)
-
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "test-instance",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
-
-## Instances Detail [/api/core/instances/{id}/]
-
-### Get instance details [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "mysite_vcpe",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
-
-### Delete instance [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 204
-
-
-## Nodes [/api/core/nodes/{id}/]
-
-### List all nodes [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "node2.opencloud.us",
- "id": 1,
- "created": "2016-04-29T16:19:05.661567Z",
- "updated": "2016-04-29T16:19:05.661454Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "node2.opencloud.us",
- "site_deployment": "1",
- "site": "1",
- "nodelabels": []
- }
- ]
-
-
-
-## Services [/api/core/services/{id}/]
-
-### List all Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
- ]
-
-### Create a Service [POST]
-
-+ Request (application/json)
-
- {
- "name": "MyService",
- "kind": "vROUTER"
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
-
-### View a Service Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
-
-### Delete a Service [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 204
-
-
-
-## Sites [/api/core/sites/]
-
-### List all sites [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite",
- "id": 1,
- "created": "2016-08-18T21:21:03.429133Z",
- "updated": "2016-08-18T21:21:06.676008Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "name": "mysite",
- "site_url": "http://opencloud.us/",
- "enabled": true,
- "hosts_nodes": true,
- "hosts_users": true,
- "longitude": null,
- "latitude": null,
- "login_base": "mysite",
- "is_public": true,
- "abbreviated_name": "",
- "deployments": [
- "1"
- ]
- }
- ]
-
-## Sites [/api/core/sites/{id}/]
-
-### View a Site Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Site in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "mysite",
- "id": 1,
- "created": "2016-08-18T21:21:03.429133Z",
- "updated": "2016-08-18T21:21:06.676008Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "name": "mysite",
- "site_url": "http://opencloud.us/",
- "enabled": true,
- "hosts_nodes": true,
- "hosts_users": true,
- "longitude": null,
- "latitude": null,
- "login_base": "mysite",
- "is_public": true,
- "abbreviated_name": "",
- "deployments": [
- "1"
- ]
- }
-
-
-
-## Slices [/api/core/slices/{id}/]
-
-List of the XOS slices
-
-### List all slices [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite_slice",
- "id": 1,
- "created": "2016-04-29T16:23:22.505072Z",
- "updated": "2016-04-29T16:23:22.504691Z",
- "enacted": null,
- "policed": "2016-04-29T16:23:22.781298Z",
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "name": "mysite_slice",
- "enabled": true,
- "omf_friendly": false,
- "description": "",
- "slice_url": "",
- "site": "http://apt118.apt.emulab.net/api/core/sites/1/",
- "max_instances": 10,
- "service": null,
- "network": null,
- "exposed_ports": null,
- "serviceClass": "http://apt118.apt.emulab.net/api/core/serviceclasses/1/",
- "creator": "http://apt118.apt.emulab.net/api/core/users/1/",
- "default_flavor": null,
- "default_image": null,
- "mount_data_sets": "GenBank",
- "default_isolation": "vm",
- "networks": [
- "http://apt118.apt.emulab.net/api/core/networks/1/"
- ]
- }
- ]
-
-
-
-## Users [/api/core/users/{id}/]
-
-### List all Users [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 2,
- "password": "pbkdf2_sha256$12000$9gn8DmZuIoz2$YPQkx3AOOV7jZNYr2ddrgUCkiuaPpvb8+aJR7RwLZNA=",
- "last_login": "2016-04-12T18:50:45.880823Z",
- "email": "johndoe@myhouse.com",
- "username": "johndoe@myhouse.com",
- "firstname": "john",
- "lastname": "doe",
- "phone": null,
- "user_url": null,
- "site": "http://xos.dev:9999/api/core/sites/1/",
- "public_key": null,
- "is_active": true,
- "is_admin": false,
- "is_staff": true,
- "is_readonly": false,
- "is_registering": false,
- "is_appuser": false,
- "login_page": null,
- "created": "2016-04-12T18:50:45.912602Z",
- "updated": "2016-04-12T18:50:45.912671Z",
- "enacted": null,
- "policed": null,
- "backend_status": "Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "timezone": "America/New_York"
- }
- ]
-
\ No newline at end of file
diff --git a/xos/tests/api/.gitignore b/xos/tests/api/.gitignore
deleted file mode 100644
index 99e7d87..0000000
--- a/xos/tests/api/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-apiary.apib
\ No newline at end of file
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/dredd.yml b/xos/tests/api/dredd.yml
deleted file mode 100644
index 9e32eba..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:9999/'
diff --git a/xos/tests/api/gulpfile.js b/xos/tests/api/gulpfile.js
deleted file mode 100644
index c9be91c..0000000
--- a/xos/tests/api/gulpfile.js
+++ /dev/null
@@ -1,24 +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/utility/group.md',
- './source/utility/**/*.md',
- './source/tenant/group.md',
- './source/tenant/**/*.md',
- './source/service/group.md',
- './source/service/**/*.md',
- './source/core/group.md',
- './source/core/**/*.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/before_test.py b/xos/tests/api/helpers/before_test.py
deleted file mode 100644
index b81e239..0000000
--- a/xos/tests/api/helpers/before_test.py
+++ /dev/null
@@ -1,296 +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.volt.models import *
-from services.vsg.models import *
-from services.vtr.models import *
-import urllib2
-import json
-from django.utils import timezone
-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)
-
- for s in AddressPool.objects.all():
- s.delete(purge=True)
-
- for s in Flavor.objects.all():
- s.delete(purge=True)
-
- for s in Image.objects.all():
- s.delete(purge=True)
-
- # print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
- cleanDB()
- createFlavors()
-
- # 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.created = timezone.now()
- subscriber.save()
-
- # vRouter service
- vrouter_service = VRouterService()
- vrouter_service.name = 'service_vrouter'
- vrouter_service.save()
-
- # address pools
- ap_vsg = AddressPool()
- ap_vsg.service = vrouter_service
- ap_vsg.name = 'addresses_vsg'
- ap_vsg.addresses = '10.168.0.0'
- ap_vsg.gateway_ip = '10.168.0.1'
- ap_vsg.gateway_mac = '02:42:0a:a8:00:01'
- ap_vsg.save()
-
- # print 'vRouter created'
-
- # Site
- site = Site.objects.get(name='mysite')
-
- # vSG service
- vsg_service = VSGService()
- vsg_service.name = 'service_vsg'
-
- # vSG slice
- vsg_slice = Slice(id=2)
- 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()
-
- # cvpe image
- createImage('ubuntu-vcpe4')
-
- # vcpe slice
- vcpe_slice = Slice(id=3)
- 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(id=1)
- 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.created = timezone.now()
- tn.save()
-
-
-def createFlavors():
- small = Flavor(id=1)
- small.name = "m1.small"
- small.created = timezone.now()
- small.save()
-
- medium = Flavor(id=2)
- medium.name = "m1.medium"
- medium.created = timezone.now()
- medium.save()
-
- large = Flavor(id=3)
- large.name = "m1.large"
- large.created = timezone.now()
- large.save()
-
-
-def createSlice():
- site = Site.objects.get(name='mysite')
- user = User.objects.get(email="padmin@vicci.org")
-
- sl = Slice(id=1)
- sl.created = timezone.now()
- sl.name = site.login_base + "_testSlice"
- sl.site = site
- sl.caller = user
- sl.save()
- return sl
-
-
-def createDeployment():
- deployment = Deployment(id=1)
- deployment.created = timezone.now()
- deployment.name = 'MyTestDeployment'
- deployment.save()
- return deployment
-
-
-def createImage(name):
- img = Image(id=1)
- img.name = name
- img.created = timezone.now()
- img.disk_format = 'QCOW2'
- img.kind = 'vm'
- img.save()
- return img
-
-
-def createNode(deployment):
- site = Site.objects.get(name='mysite')
-
- site_deployment = SiteDeployment(id=1)
- site_deployment.site = site
- site_deployment.created = timezone.now()
- site_deployment.deployment = deployment
- site_deployment.save()
-
- node = Node(id=1)
- node.name = 'test-node'
- node.created = timezone.now()
- node.site = site
- node.site_deployment = site_deployment
- node.save()
- return node
-
-
-def setupInstance():
- deployment = createDeployment()
- sl = createSlice()
- node = createNode(deployment)
- img = createImage('test-image')
- # print {'image': img.id, 'deployment': deployment.id, 'slice': sl.id}
- return {'image': img, 'deployment': deployment, 'slice': sl}
-
-
-def createInstance():
- requirements = setupInstance()
- user = User.objects.get(email="padmin@vicci.org")
-
- instance = Instance(id=1)
- instance.name = 'test-instance'
- instance.created = timezone.now()
- instance.node = Node.objects.all()[0]
- instance.image = requirements['image']
- instance.slice = requirements['slice']
- instance.deployment = requirements['deployment']
- instance.caller = user
- instance.save()
-
-
-def createService():
- service = Service(id=1)
- service.name = 'test-service'
- service.save()
-
-# setupInstance()
-# depl = createDeployment()
-# createTestSubscriber()
-# createInstance()
-# createSlice()
-# createNode(depl)
-# createImage('test-image')
-# createFlavors()
-# createTruckroll()
-# setUpTruckroll()
-createService()
diff --git a/xos/tests/api/helpers/flavors.py b/xos/tests/api/helpers/flavors.py
deleted file mode 100644
index dca4d77..0000000
--- a/xos/tests/api/helpers/flavors.py
+++ /dev/null
@@ -1,22 +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 *
-import urllib2
-import json
-django.setup()
-
-def createFlavor():
- fl = Flavor(id=1)
- fl.name = 'm1.large'
- fl.save()
- print(fl, fl.id)
-
-createFlavor()
\ No newline at end of file
diff --git a/xos/tests/api/helpers/sites.py b/xos/tests/api/helpers/sites.py
deleted file mode 100644
index 7d20745..0000000
--- a/xos/tests/api/helpers/sites.py
+++ /dev/null
@@ -1,23 +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 *
-import urllib2
-import json
-django.setup()
-
-
-def createSite():
- site = Site(id=1)
- site.name = 'mysite'
- site.save()
- print(site, site.id)
-
-createSite()
\ No newline at end of file
diff --git a/xos/tests/api/helpers/subscriber.py b/xos/tests/api/helpers/subscriber.py
deleted file mode 100644
index caac1fe..0000000
--- a/xos/tests/api/helpers/subscriber.py
+++ /dev/null
@@ -1,399 +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.volt.models import *
-from services.vsg.models import *
-from services.vtr.models import *
-import urllib2
-import json
-from django.utils import timezone
-django.setup()
-
-
-def doLogin(username, password):
- url = "http://127.0.0.1:9999/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)
-
- for s in AddressPool.objects.all():
- s.delete(purge=True)
-
- for s in Flavor.objects.all():
- s.delete(purge=True)
-
- for s in Image.objects.all():
- s.delete(purge=True)
-
- # print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
- cleanDB()
- createFlavors()
-
- # 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.created = timezone.now()
- subscriber.save()
-
- # vRouter service
- vrouter_service = VRouterService()
- vrouter_service.name = 'service_vrouter'
- vrouter_service.save()
-
- # address pools
- ap_vsg = AddressPool()
- ap_vsg.service = vrouter_service
- ap_vsg.name = 'addresses_vsg'
- ap_vsg.addresses = '10.168.0.0'
- ap_vsg.gateway_ip = '10.168.0.1'
- ap_vsg.gateway_mac = '02:42:0a:a8:00:01'
- ap_vsg.save()
-
- # print 'vRouter created'
-
- # cvpe image
- vsg_img = createImage('ubuntu-vcpe4')
-
- # Site
- site = Site.objects.get(name='mysite')
-
- # vSG service
- vsg_service = VSGService()
- vsg_service.name = 'service_vsg'
-
- # vSG slice
- vsg_slice = Slice(id=2)
- vsg_slice.name = site.login_base + "_testVsg"
- vsg_slice.service = vsg_service.id
- vsg_slice.site = site
- vsg_slice.caller = user
- vsg_slice.default_image = vsg_img
- vsg_slice.save()
-
- vsg_service.save()
-
- # volt service
- volt_service = VOLTService()
- volt_service.name = 'service_volt'
- volt_service.save()
-
- # vcpe slice
- vcpe_slice = Slice(id=3)
- 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.default_image = vsg_img
- vcpe_slice.save()
-
- # print 'vcpe_slice created'
-
- # create a lan network
- lan_net = Network(id=1)
- 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'
-
- # 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.created = timezone.now()
- tn.save()
-
-
-def createFlavors():
- small = Flavor(id=1)
- small.name = "m1.small"
- small.created = timezone.now()
- small.save()
-
- medium = Flavor(id=2)
- medium.name = "m1.medium"
- medium.created = timezone.now()
- medium.save()
-
- large = Flavor(id=3)
- large.name = "m1.large"
- large.created = timezone.now()
- large.save()
-
-
-def createSlice():
- site = Site.objects.get(name='mysite')
- user = User.objects.get(email="padmin@vicci.org")
-
- sl = Slice(id=1)
- sl.created = timezone.now()
- sl.name = site.login_base + "_testSlice"
- sl.site = site
- sl.caller = user
- sl.save()
- return sl
-
-
-def createDeployment():
- deployment = Deployment(id=1)
- deployment.created = timezone.now()
- deployment.name = 'MyTestDeployment'
- deployment.save()
- return deployment
-
-
-def createImage(name):
- img = Image(id=1)
- img.name = name
- img.created = timezone.now()
- img.disk_format = 'QCOW2'
- img.kind = 'vm'
- img.save()
- return img
-
-
-def createNode(deployment):
- site = Site.objects.get(name='mysite')
-
- site_deployment = SiteDeployment(id=1)
- site_deployment.site = site
- site_deployment.created = timezone.now()
- site_deployment.deployment = deployment
- site_deployment.save()
-
- node = Node(id=1)
- node.name = 'test-node'
- node.created = timezone.now()
- node.site = site
- node.site_deployment = site_deployment
- node.save()
- return node
-
-
-def setupInstance():
- deployment = createDeployment()
- sl = createSlice()
- node = createNode(deployment)
- img = createImage('test-image')
- # print {'image': img.id, 'deployment': deployment.id, 'slice': sl.id}
- return {'image': img, 'deployment': deployment, 'slice': sl}
-
-
-def createInstance():
- requirements = setupInstance()
- user = User.objects.get(email="padmin@vicci.org")
-
- instance = Instance(id=1)
- instance.name = 'test-instance'
- instance.created = timezone.now()
- instance.node = Node.objects.all()[0]
- instance.image = requirements['image']
- instance.slice = requirements['slice']
- instance.deployment = requirements['deployment']
- instance.caller = user
- instance.save()
-
-
-def createService():
- service = Service(id=1)
- service.name = 'test-service'
- service.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 --------------------------------"
- print transaction['name']
- 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()
- setupInstance()
- sys.stdout.flush()
-
-
-# @hooks.after_each
-# def my_after_each(transaction):
-# print "-------------------------------- Test end --------------------------------"
-
-
-@hooks.before("Core > Services > View a Service Detail")
-def get_service(transaction):
- createService()
-
-
-@hooks.before("Core > Services > Delete a Service")
-def delete_service(transaction):
- createService()
-
-
-@hooks.before("Tenant > Truckroll Collection > Create a Truckroll")
-def test1(transaction):
- setUpTruckroll()
-
-
-@hooks.before("Tenant > Truckroll Collection > View a Truckroll Detail")
-def test2(transaction):
- deleteTruckrolls()
- createTruckroll()
-
-
-@hooks.before("Tenant > Truckroll Collection > Delete a Truckroll Detail")
-def test3(transaction):
- deleteTruckrolls()
- createTruckroll()
-
-
-@hooks.before("Tenant > vOLT Collection > Create a vOLT")
-def test4(transaction):
- # transaction['skip'] = True
- VOLTTenant.objects.get(kind='vOLT').delete()
-
-
-@hooks.before("Core > Flavors > View a Flavors Detail")
-def test5(transaction):
- createFlavors()
-
-
-@hooks.before("Core > Deployments > View a Deployment Detail")
-def get_deployments(transaction):
- createDeployment()
-
-
-@hooks.before("Core > Deployments > Delete a Deployment")
-def delete_deployments(transaction):
- createDeployment()
-
-
-@hooks.before("Core > Instances Collection > Create an Instance")
-def create_instance(transaction):
- setupInstance()
- transaction['skip'] = True
-
-
-@hooks.before("Core > Instances Detail > Get instance details")
-def get_instance(transaction):
- createInstance()
-
-
-@hooks.before("Core > Instances Detail > Delete instance")
-def delete_instance(transaction):
- createInstance()
-
-
-@hooks.before("Service > Example Services Collection > List all Example Services")
-def exampleTest(transaction):
- transaction['skip'] = True
-
-
-@hooks.before("Service > Login > Log a user in the system")
-def before_logout_hook(transaction):
- transaction['skip'] = True
- # auth = doLogin('padmin@vicci.org', 'letmein')
- # transaction['request']['body'] = {}
- # transaction['request']['body']['xossessionid'] = auth['sessionid']
-
-
-@hooks.before("Utility > Logout > Log a user out of the system")
-def skip_logout(transaction):
- transaction['skip'] = True
-
-
-@hooks.before("Utility > Onboarding > Get service status")
-def skip_onboarding(transaction):
- transaction['skip'] = True
-
-
-@hooks.after("Utility > Tosca > Load a Tosca recipe")
-def check_tosca(transaction):
- try:
- site = Site.objects.get(name='Test Site')
- except Exception, e:
- transaction['fail'] = "Test Site has not been created"
-
-
-deleteTruckrolls()
-createTruckroll()
diff --git a/xos/tests/api/hooks.py b/xos/tests/api/hooks.py
deleted file mode 100644
index 53a18d4..0000000
--- a/xos/tests/api/hooks.py
+++ /dev/null
@@ -1,411 +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.volt.models import *
-from services.vsg.models import *
-from services.vtr.models import *
-import urllib2
-import json
-from django.utils import timezone
-django.setup()
-
-
-def doLogin(username, password):
- url = "http://127.0.0.1:9999/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)
-
- for s in AddressPool.objects.all():
- s.delete(purge=True)
-
- for s in Flavor.objects.all():
- s.delete(purge=True)
-
- for s in Image.objects.all():
- s.delete(purge=True)
-
- # for s in Site.objects.all():
- # s.delete(purge=True)
-
- # print 'DB Cleaned'
-
-
-def createTestSubscriber():
-
- cleanDB()
- createFlavors()
-
- # 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.created = timezone.now()
- subscriber.save()
-
- # vRouter service
- vrouter_service = VRouterService()
- vrouter_service.name = 'service_vrouter'
- vrouter_service.save()
-
- # address pools
- ap_vsg = AddressPool()
- ap_vsg.service = vrouter_service
- ap_vsg.name = 'addresses_vsg'
- ap_vsg.addresses = '10.168.0.0'
- ap_vsg.gateway_ip = '10.168.0.1'
- ap_vsg.gateway_mac = '02:42:0a:a8:00:01'
- ap_vsg.save()
-
- # print 'vRouter created'
-
- # cvpe image
- vsg_img = createImage('ubuntu-vcpe4')
-
- # Site
- site = Site.objects.get(name='mysite')
-
- # vSG service
- vsg_service = VSGService()
- vsg_service.name = 'service_vsg'
-
- # vSG slice
- vsg_slice = Slice(id=2)
- vsg_slice.name = site.login_base + "_testVsg"
- vsg_slice.service = vsg_service.id
- vsg_slice.site = site
- vsg_slice.caller = user
- vsg_slice.default_image = vsg_img
- vsg_slice.save()
-
- vsg_service.save()
-
- # volt service
- volt_service = VOLTService()
- volt_service.name = 'service_volt'
- volt_service.save()
-
- # vcpe slice
- vcpe_slice = Slice(id=3)
- 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.default_image = vsg_img
- vcpe_slice.save()
-
- # print 'vcpe_slice created'
-
- # create a lan network
- lan_net = Network(id=1)
- 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'
-
- # 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.get_tenant_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.created = timezone.now()
- tn.save()
-
-
-def createFlavors():
- small = Flavor(id=1)
- small.name = "m1.small"
- small.created = timezone.now()
- small.save()
-
- medium = Flavor(id=2)
- medium.name = "m1.medium"
- medium.created = timezone.now()
- medium.save()
-
- large = Flavor(id=3)
- large.name = "m1.large"
- large.created = timezone.now()
- large.save()
-
-
-def createSlice():
- site = Site.objects.get(name='mysite')
- user = User.objects.get(email="padmin@vicci.org")
-
- sl = Slice(id=1)
- sl.created = timezone.now()
- sl.name = site.login_base + "_testSlice"
- sl.site = site
- sl.caller = user
- sl.save()
- return sl
-
-
-def createDeployment():
- deployment = Deployment(id=1)
- deployment.created = timezone.now()
- deployment.name = 'MyTestDeployment'
- deployment.save()
- return deployment
-
-
-def createImage(name):
- img = Image(id=1)
- img.name = name
- img.created = timezone.now()
- img.disk_format = 'QCOW2'
- img.kind = 'vm'
- img.save()
- return img
-
-
-def createNode(deployment):
- site = Site.objects.get(name='mysite')
-
- site_deployment = SiteDeployment(id=1)
- site_deployment.site = site
- site_deployment.created = timezone.now()
- site_deployment.deployment = deployment
- site_deployment.save()
-
- node = Node(id=1)
- node.name = 'test-node'
- node.created = timezone.now()
- node.site = site
- node.site_deployment = site_deployment
- node.save()
- return node
-
-
-def setupInstance():
- deployment = createDeployment()
- sl = createSlice()
- node = createNode(deployment)
- img = createImage('test-image')
- # print {'image': img.id, 'deployment': deployment.id, 'slice': sl.id}
- return {'image': img, 'deployment': deployment, 'slice': sl}
-
-
-def createInstance():
- requirements = setupInstance()
- user = User.objects.get(email="padmin@vicci.org")
-
- instance = Instance(id=1)
- instance.name = 'test-instance'
- instance.created = timezone.now()
- instance.node = Node.objects.all()[0]
- instance.image = requirements['image']
- instance.slice = requirements['slice']
- instance.deployment = requirements['deployment']
- instance.caller = user
- instance.save()
-
-
-def createService():
- service = Service(id=1)
- service.name = 'test-service'
- service.save()
-
-
-def createSite():
- site = Site(id=1)
- site.name = 'mysite'
- site.created = timezone.now()
- site.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 --------------------------------"
- # print transaction['name']
- 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()
- setupInstance()
- sys.stdout.flush()
-
-
-# @hooks.after_each
-# def my_after_each(transaction):
-# print "-------------------------------- Test end --------------------------------"
-
-
-@hooks.before("Core > Services > View a Service Detail")
-def get_service(transaction):
- createService()
-
-
-@hooks.before("Core > Services > Delete a Service")
-def delete_service(transaction):
- createService()
-
-
-@hooks.before("Core > Sites > View a Site Detail")
-def get_site(transaction):
- createSite()
-
-
-@hooks.before("Tenant > Truckroll Collection > Create a Truckroll")
-def test1(transaction):
- setUpTruckroll()
-
-
-@hooks.before("Tenant > Truckroll Collection > View a Truckroll Detail")
-def test2(transaction):
- deleteTruckrolls()
- createTruckroll()
-
-
-@hooks.before("Tenant > Truckroll Collection > Delete a Truckroll Detail")
-def test3(transaction):
- deleteTruckrolls()
- createTruckroll()
-
-
-@hooks.before("Tenant > vOLT Collection > Create a vOLT")
-def test4(transaction):
- # transaction['skip'] = True
- VOLTTenant.objects.get(kind='vOLT').delete()
-
-
-@hooks.before("Core > Flavors > View a Flavors Detail")
-def test5(transaction):
- createFlavors()
-
-
-@hooks.before("Core > Deployments > View a Deployment Detail")
-def get_deployments(transaction):
- createDeployment()
-
-
-@hooks.before("Core > Deployments > Delete a Deployment")
-def delete_deployments(transaction):
- createDeployment()
-
-
-@hooks.before("Core > Instances Collection > Create an Instance")
-def create_instance(transaction):
- setupInstance()
- transaction['skip'] = True
-
-
-@hooks.before("Core > Instances Detail > Get instance details")
-def get_instance(transaction):
- createInstance()
-
-
-@hooks.before("Core > Instances Detail > Delete instance")
-def delete_instance(transaction):
- createInstance()
-
-
-@hooks.before("Service > Example Services Collection > List all Example Services")
-def exampleTest(transaction):
- transaction['skip'] = True
-
-
-@hooks.before("Service > Login > Log a user in the system")
-def before_logout_hook(transaction):
- transaction['skip'] = True
- # auth = doLogin('padmin@vicci.org', 'letmein')
- # transaction['request']['body'] = {}
- # transaction['request']['body']['xossessionid'] = auth['sessionid']
-
-
-@hooks.before("Utility > Logout > Log a user out of the system")
-def skip_logout(transaction):
- transaction['skip'] = True
-
-
-@hooks.before("Utility > Onboarding > Get service status")
-def skip_onboarding(transaction):
- transaction['skip'] = True
-
-
-@hooks.after("Utility > Tosca > Load a Tosca recipe")
-def check_tosca(transaction):
- try:
- site = Site.objects.get(name='Test Site')
- except Exception, e:
- transaction['fail'] = "Test Site has not been created"
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/core/deployment.md b/xos/tests/api/source/core/deployment.md
deleted file mode 100644
index d6e9931..0000000
--- a/xos/tests/api/source/core/deployment.md
+++ /dev/null
@@ -1,124 +0,0 @@
-## Deployments [/api/core/deployments/{id}/]
-
-List of the XOS deployments
-
-### List all deployments [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-29T16:19:03.549901Z",
- "updated": "2016-04-29T16:19:05.624151Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [
- "1"
- ],
- "sites": [
- "1"
- ],
- "flavors": [
- "1",
- "2",
- "3"
- ],
- "dashboardviews": [
- "1"
- ]
- }
- ]
-
-### Create a deployment [POST]
-
-+ Request (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-29T16:19:03.549901Z",
- "updated": "2016-04-29T16:19:05.624151Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [
- "1"
- ],
- "sites": [
- "1"
- ],
- "flavors": [
- "1",
- "2",
- "3"
- ],
- "dashboardviews": [
- "1"
- ]
- }
-
-### View a Deployment Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-27T21:46:57.354544Z",
- "updated": "2016-04-27T21:47:05.221720Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [],
- "sites": [
- "1"
- ],
- "flavors": [
- "3",
- "2",
- "1"
- ],
- "dashboardviews": [
- "3"
- ]
- }
-
-### Delete a Deployment [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 204
\ No newline at end of file
diff --git a/xos/tests/api/source/core/flavors.md b/xos/tests/api/source/core/flavors.md
deleted file mode 100644
index 78ca189..0000000
--- a/xos/tests/api/source/core/flavors.md
+++ /dev/null
@@ -1,102 +0,0 @@
-## Flavors [/api/core/flavors/{id}/]
-
-List of the XOS flavors
-
-### List all flavors [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
- ]
-
-### Create a Flavor [POST]
-
-+ Request (application/json)
-
- {
- "humanReadableName": "mq.test",
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
-
-### View a Flavors Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
-
-### Delete a Flavors Detail [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 204
\ No newline at end of file
diff --git a/xos/tests/api/source/core/group.md b/xos/tests/api/source/core/group.md
deleted file mode 100644
index 7298012..0000000
--- a/xos/tests/api/source/core/group.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Group Core
-
-List of the XOS Core API
\ No newline at end of file
diff --git a/xos/tests/api/source/core/instances.md b/xos/tests/api/source/core/instances.md
deleted file mode 100644
index b3f4ce9..0000000
--- a/xos/tests/api/source/core/instances.md
+++ /dev/null
@@ -1,145 +0,0 @@
-## Instances Collection [/api/core/instances/{?no_hyperlinks}]
-
- + no_hyperlinks (number, optional) - Wheter to return relation with links or ids
- + Default: `0`
-
-### List all Instances [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "mysite_vcpe",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
- ]
-
-### Create an Instance [POST]
-
-+ Parameters
- + no_hyperlinks: 1
-
-+ Request (application/json)
-
- {
- "name": "test-instance",
- "image": 1,
- "slice": 1,
- "deployment": 1,
- "node": 1
- }
-
-+ Response 200 (application/json)
-
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "test-instance",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
-
-## Instances Detail [/api/core/instances/{id}/]
-
-### Get instance details [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "mysite_vcpe",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
-
-### Delete instance [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 204
\ No newline at end of file
diff --git a/xos/tests/api/source/core/nodes.md b/xos/tests/api/source/core/nodes.md
deleted file mode 100644
index bad3a3a..0000000
--- a/xos/tests/api/source/core/nodes.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## Nodes [/api/core/nodes/{id}/]
-
-### List all nodes [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "node2.opencloud.us",
- "id": 1,
- "created": "2016-04-29T16:19:05.661567Z",
- "updated": "2016-04-29T16:19:05.661454Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "node2.opencloud.us",
- "site_deployment": "1",
- "site": "1",
- "nodelabels": []
- }
- ]
diff --git a/xos/tests/api/source/core/services.md b/xos/tests/api/source/core/services.md
deleted file mode 100644
index fb2d4a2..0000000
--- a/xos/tests/api/source/core/services.md
+++ /dev/null
@@ -1,116 +0,0 @@
-## Services [/api/core/services/{id}/]
-
-### List all Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
- ]
-
-### Create a Service [POST]
-
-+ Request (application/json)
-
- {
- "name": "MyService",
- "kind": "vROUTER"
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
-
-### View a Service Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
-
-### Delete a Service [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 204
diff --git a/xos/tests/api/source/core/sites.md b/xos/tests/api/source/core/sites.md
deleted file mode 100644
index afd4f12..0000000
--- a/xos/tests/api/source/core/sites.md
+++ /dev/null
@@ -1,74 +0,0 @@
-## Sites [/api/core/sites/]
-
-### List all sites [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite",
- "id": 1,
- "created": "2016-08-18T21:21:03.429133Z",
- "updated": "2016-08-18T21:21:06.676008Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "name": "mysite",
- "site_url": "http://opencloud.us/",
- "enabled": true,
- "hosts_nodes": true,
- "hosts_users": true,
- "longitude": null,
- "latitude": null,
- "login_base": "mysite",
- "is_public": true,
- "abbreviated_name": "",
- "deployments": [
- "1"
- ]
- }
- ]
-
-## Sites [/api/core/sites/{id}/]
-
-### View a Site Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Site in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "mysite",
- "id": 1,
- "created": "2016-08-18T21:21:03.429133Z",
- "updated": "2016-08-18T21:21:06.676008Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "name": "mysite",
- "site_url": "http://opencloud.us/",
- "enabled": true,
- "hosts_nodes": true,
- "hosts_users": true,
- "longitude": null,
- "latitude": null,
- "login_base": "mysite",
- "is_public": true,
- "abbreviated_name": "",
- "deployments": [
- "1"
- ]
- }
diff --git a/xos/tests/api/source/core/slices.md b/xos/tests/api/source/core/slices.md
deleted file mode 100644
index 050aade..0000000
--- a/xos/tests/api/source/core/slices.md
+++ /dev/null
@@ -1,44 +0,0 @@
-## Slices [/api/core/slices/{id}/]
-
-List of the XOS slices
-
-### List all slices [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite_slice",
- "id": 1,
- "created": "2016-04-29T16:23:22.505072Z",
- "updated": "2016-04-29T16:23:22.504691Z",
- "enacted": null,
- "policed": "2016-04-29T16:23:22.781298Z",
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "name": "mysite_slice",
- "enabled": true,
- "omf_friendly": false,
- "description": "",
- "slice_url": "",
- "site": "http://apt118.apt.emulab.net/api/core/sites/1/",
- "max_instances": 10,
- "service": null,
- "network": null,
- "exposed_ports": null,
- "serviceClass": "http://apt118.apt.emulab.net/api/core/serviceclasses/1/",
- "creator": "http://apt118.apt.emulab.net/api/core/users/1/",
- "default_flavor": null,
- "default_image": null,
- "mount_data_sets": "GenBank",
- "default_isolation": "vm",
- "networks": [
- "http://apt118.apt.emulab.net/api/core/networks/1/"
- ]
- }
- ]
-
\ No newline at end of file
diff --git a/xos/tests/api/source/core/users.md b/xos/tests/api/source/core/users.md
deleted file mode 100644
index 5a6518a..0000000
--- a/xos/tests/api/source/core/users.md
+++ /dev/null
@@ -1,37 +0,0 @@
-## Users [/api/core/users/{id}/]
-
-### List all Users [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 2,
- "password": "pbkdf2_sha256$12000$9gn8DmZuIoz2$YPQkx3AOOV7jZNYr2ddrgUCkiuaPpvb8+aJR7RwLZNA=",
- "last_login": "2016-04-12T18:50:45.880823Z",
- "email": "johndoe@myhouse.com",
- "username": "johndoe@myhouse.com",
- "firstname": "john",
- "lastname": "doe",
- "phone": null,
- "user_url": null,
- "site": "http://xos.dev:9999/api/core/sites/1/",
- "public_key": null,
- "is_active": true,
- "is_admin": false,
- "is_staff": true,
- "is_readonly": false,
- "is_registering": false,
- "is_appuser": false,
- "login_page": null,
- "created": "2016-04-12T18:50:45.912602Z",
- "updated": "2016-04-12T18:50:45.912671Z",
- "enacted": null,
- "policed": null,
- "backend_status": "Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "timezone": "America/New_York"
- }
- ]
-
\ No newline at end of file
diff --git a/xos/tests/api/source/service/exampleservice.md b/xos/tests/api/source/service/exampleservice.md
deleted file mode 100644
index df79fc7..0000000
--- a/xos/tests/api/source/service/exampleservice.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## Example Services Collection [/api/service/exampleservice/]
-
-### List all Example Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyExample",
- "id": 1,
- "service_message": "This is the test message"
- }
- ]
diff --git a/xos/tests/api/source/service/group.md b/xos/tests/api/source/service/group.md
deleted file mode 100644
index daf5737..0000000
--- a/xos/tests/api/source/service/group.md
+++ /dev/null
@@ -1 +0,0 @@
-# Group Service
\ 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 33e39d3..0000000
--- a/xos/tests/api/source/service/onos.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## ONOS Services Collection [/api/service/onos/]
-
-List of the active onos services
-
-### 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 1cec60e..0000000
--- a/xos/tests/api/source/service/vsg.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_vsg",
- "id": 2,
- "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 b9397a5..0000000
--- a/xos/tests/api/source/tenant/cord/subscribers.md
+++ /dev/null
@@ -1,228 +0,0 @@
-## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-Resource related to the CORD Subscribers.
-
-### 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"
- }
- }
- ]
-
-
-### View a Subscriber Detail [GET]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-+ 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]
-
-+ Parameters
- + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-
-+ 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 2792863..0000000
--- a/xos/tests/api/source/tenant/cord/truckroll.md
+++ /dev/null
@@ -1,81 +0,0 @@
-## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-### 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]
-
-A virtual truckroll is complete once is_synced equal true
-
-+ 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"
- }
-
-
-### View a Truckroll Detail [GET]
-
-+ Parameters
- + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-+ 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]
-
-+ Parameters
- + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-
-+ 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 3f644ad..0000000
--- a/xos/tests/api/source/tenant/cord/volt.md
+++ /dev/null
@@ -1,76 +0,0 @@
-## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
-
-OLT devices aggregate a set of subscriber connections
-
-### 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"
- }
- }
-
-### View a vOLT Detail [GET]
-
-+ Parameters
- + volt_id: 1 (number) - ID of the vOLT in the form of an integer
-
-+ 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/group.md b/xos/tests/api/source/tenant/group.md
deleted file mode 100644
index 52dde1c..0000000
--- a/xos/tests/api/source/tenant/group.md
+++ /dev/null
@@ -1 +0,0 @@
-# Group Tenant
\ No newline at end of file
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 c77365a..0000000
--- a/xos/tests/api/source/tenant/onos/app.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## ONOS 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/source/utility/group.md b/xos/tests/api/source/utility/group.md
deleted file mode 100644
index cac339c..0000000
--- a/xos/tests/api/source/utility/group.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Group Utility
-
-List of the XOS Utility API
\ No newline at end of file
diff --git a/xos/tests/api/source/utility/utility.md b/xos/tests/api/source/utility/utility.md
deleted file mode 100644
index 2dce77b..0000000
--- a/xos/tests/api/source/utility/utility.md
+++ /dev/null
@@ -1,174 +0,0 @@
-## Login [/api/utility/login/]
-
-### Log a user in the system [POST]
-
-+ Request (application/json)
-
- {
- "username": "padmin@vicci.org",
- "password": "letmein"
- }
-
-+ Response 200 (application/json)
-
- {
- "xoscsrftoken":"xuvsRC1jkXAsnrdRlgJvcXpmtthTAqqf",
- "xossessionid":"7ds5a3wzjlgbjqo4odkd25qsm0j2s6zg",
- "user": "{\"policed\": null, \"site\": 3, \"is_appuser\": false, \"is_staff\": true, \"backend_status\": \"Provisioning in progress\", \"id\": 3, \"is_registering\": false, \"last_login\": \"2016-04-30T22:51:04.788675+00:00\", \"email\": \"padmin@vicci.org\", \"no_sync\": false, \"username\": \"padmin@vicci.org\", \"dashboards\": [11], \"login_page\": null, \"firstname\": \"XOS\", \"user_url\": null, \"deleted\": false, \"lastname\": \"admin\", \"is_active\": true, \"lazy_blocked\": false, \"phone\": null, \"is_admin\": true, \"enacted\": null, \"public_key\": null, \"is_readonly\": false, \"no_policy\": false, \"write_protect\": false}"
- }
-
-## Logout [/api/utility/logout/]
-
-### Log a user out of the system [POST]
-
-+ Request (application/json)
-
- {
- "xossessionid": "sessionId"
- }
-
-+ Response 200 (application/json)
-
-## Port Forwarding [/api/utility/portforwarding/]
-
-Contains the set of port forwarding mappings for each compute node.
-Used on OpenCloud to setup port forwarding for nat-net.
-
-### List port forwarding objects [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 79,
- "ip": "172.16.0.36",
- "ports": "tcp 2222, tcp 25566",
- "hostname": "node1.opencloud.us"
- },
- {
- "id": 131,
- "ip": "172.16.0.16",
- "ports": "udp 53, tcp 8017",
- "hostname": "node2.opencloud.us"
- }
- ]
-
-## Slices Plus [/api/utility/slicesplus/]
-
-A list of slices with addictional information, it is used in the Tenant custom dashboard.
-
-### List Slices objects [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite_management",
- "id": 2,
- "created": "2016-06-29T18:43:50.730912Z",
- "updated": "2016-06-29T18:43:50.730789Z",
- "enacted": null,
- "name": "mysite_management",
- "enabled": true,
- "omf_friendly": false,
- "description": "",
- "slice_url": "",
- "site": 2,
- "max_instances": 10,
- "service": null,
- "network": "noauto",
- "mount_data_sets": "GenBank",
- "default_image": null,
- "default_flavor": null,
- "serviceClass": null,
- "creator": 2,
- "networks": [],
- "network_ports": "",
- "backendIcon": "/static/admin/img/icon_clock.gif",
- "backendHtml": "<span title=\"Pending sync, last_status = 0 - Provisioning in progress\"><img src=\"/static/admin/img/icon_clock.gif\"></span>",
- "current_user_roles": [],
- "instance_distribution": {},
- "instance_distribution_ready": {},
- "instance_total": 0,
- "instance_total_ready": 0,
- "instance_status": {},
- "users": [],
- "user_names": [],
- "current_user_can_see": true
- }
- ]
-
-## Synchronizer [/api/utility/synchronizer/]
-
-Lists the Diag objects for synchronizers. From here you can get the synchronizer status.
-
-### List Diag objects [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 3,
- "name": "onboarding",
- "backend_status": "1 - Bottom Of Loop",
- "backend_register": "{\"last_duration\": 0.18996095657348633, \"last_run\": 1467923907.908469}"
- }
- ]
-
-## Onboarding [/api/utility/onboarding/{service}/ready]
-
-Used to get the status of onboarding, to determine if services have been to successfully onboarded and if the XOS UI container has been built.
-
-### Get service status [GET]
-
-+ Parameters
- + service: services/vsg (string) - Name of the service to wait for
-
-
-+ Response 200 (text/plain)
-
- true
-
-## Tosca [/api/utility/tosca/run/]
-
-### Load a Tosca recipe [POST]
-
-+ Request (application/json)
-
- {
- "recipe": "tosca_definitions_version: tosca_simple_yaml_1_0\n\ndescription: Onboard the exampleservice\n\nimports:\n - custom_types/xos.yaml\n\ntopology_template:\n node_templates:\n test_site:\n type: tosca.nodes.Site\n properties:\n display_name: Test Site\n site_url: https://www.onlab.us/"
- }
-
-+ Response 200 (application/json)
-
- {
- "log_msgs":[
- "ordered_names: ['test_site']",
- "Created Site 'Test Site'"
- ]
- }
-
-## Ssh Keys [/api/utility/sshkeys/]
-
-Returns the set of ssh keys for instances. Used on OpenCloud to configure ssh-proxy to instances.
-
-### List ssh keys by instance [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": "instance-00000001",
- "public_keys": [
- "ssh-rsa xxyyzz\r\n"
- ],
- "node_name": "node1.opencloud.us"
- },
- {
- "id": "instance-00000001",
- "public_keys": [
- "ssh-rsa xxyyzz\r\n"
- ],
- "node_name": "node2.opencloud.us"
- }
- ]
\ No newline at end of file