Merge branch 'master' of github.com:open-cloud/xos
diff --git a/apiary.apib b/apiary.apib
index 43a81c7..f11d612 100644
--- a/apiary.apib
+++ b/apiary.apib
@@ -3,8 +3,70 @@
# XOS
+# Group Users
+
+List of the XOS users
+
+## Users [/api/core/users/]
+
+### 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"
+ }
+ ]
+
+
+
+# Group Example
+
+## 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"
+ }
+ ]
+
+
# Group ONOS Services
+List of the active onos services
+
## ONOS Services Collection [/api/service/onos/]
### List all ONOS Services [GET]
@@ -35,8 +97,6 @@
{
"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
@@ -48,7 +108,7 @@
Resource related to the CORD Subscribers.
-## Subscribers Collection [/api/tenant/cord/subscriber/]
+## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
### List All Subscribers [GET]
@@ -82,13 +142,12 @@
}
]
-## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/]
+
+### View a Subscriber Detail [GET]
+ Parameters
+ subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
-### View a Subscriber Detail [GET]
-
+ Response 200 (application/json)
{
@@ -119,6 +178,9 @@
### 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/]
@@ -278,7 +340,7 @@
Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-## Truckroll Collection [/api/tenant/truckroll/]
+## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
### List all Truckroll [GET]
@@ -302,6 +364,8 @@
### Create a Truckroll [POST]
+A virtual truckroll is complete once is_synced equal true
+
+ Request (application/json)
{
@@ -327,15 +391,12 @@
"backend_status": "0 - Provisioning in progress"
}
-## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/]
-A virtual truckroll is complete once is_synced equal true
+### View a Truckroll Detail [GET]
+ Parameters
+ truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
-### View a Truckroll Detail [GET]
-
+ Response 200 (application/json)
{
@@ -354,6 +415,9 @@
### Delete a Truckroll Detail [DELETE]
++ Parameters
+ + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
+
+ Response 204
@@ -362,7 +426,7 @@
OLT devices aggregate a set of subscriber connections
-## vOLT Collection [/api/tenant/cord/volt/]
+## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
### List all vOLT [GET]
@@ -414,15 +478,11 @@
}
}
-## vOLT Detail [/api/tenant/cord/volt/{volt_id}/]
-
-A virtual volt is complete once is_synced equal true
+### View a vOLT Detail [GET]
+ Parameters
+ volt_id: 1 (number) - ID of the vOLT in the form of an integer
-### View a vOLT Detail [GET]
-
+ Response 200 (application/json)
{
@@ -445,7 +505,7 @@
# Group ONOS Apps
-## app Collection [/api/tenant/onos/app/]
+## ONOS App Collection [/api/tenant/onos/app/]
### List all apps [GET]
diff --git a/xos/tests/api/apiary.apib b/xos/tests/api/apiary.apib
deleted file mode 100644
index f11d612..0000000
--- a/xos/tests/api/apiary.apib
+++ /dev/null
@@ -1,521 +0,0 @@
-FORMAT: 1A
-
-# XOS
-
-
-# Group Users
-
-List of the XOS users
-
-## Users [/api/core/users/]
-
-### 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"
- }
- ]
-
-
-
-# Group Example
-
-## 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"
- }
- ]
-
-
-# Group ONOS Services
-
-List of the active 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,
- "dns_servers": "8.8.8.8",
- "url_filter_kind": null,
- "node_label": null
- }
- ]
-
-
-# Group Subscribers
-
-Resource related to the CORD Subscribers.
-
-## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
-
-### 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"
- }
-
-
-# Group Truckroll
-
-Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-
-## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
-
-### 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
-
-
-
-# Group vOLT
-
-OLT devices aggregate a set of subscriber connections
-
-## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
-
-### 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"
- }
- }
-
-
-
-# Group ONOS Apps
-
-## 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/gulpfile.js b/xos/tests/api/gulpfile.js
index 2e82210..988dd8c 100644
--- a/xos/tests/api/gulpfile.js
+++ b/xos/tests/api/gulpfile.js
@@ -12,6 +12,6 @@
'./source/base.md',
'./source/**/*.md'
])
- .pipe(concat('apiary.apib', {newLine: '\n \n \n'}))
+ .pipe(concat('../../../apiary.apib', {newLine: '\n \n \n'}))
.pipe(gulp.dest('./'));
});