Merge branch 'master' of github.com:open-cloud/xos
diff --git a/xos/tosca/custom_types/xos.m4 b/xos/tosca/custom_types/xos.m4
index 1a5bee1..b929eda 100644
--- a/xos/tosca/custom_types/xos.m4
+++ b/xos/tosca/custom_types/xos.m4
@@ -8,11 +8,11 @@
no-delete:
type: boolean
default: false
- description: do not allow Tosca to delete this object
+ description: Do not allow Tosca to delete this object
no-create:
type: boolean
default: false
- description: do not allow Tosca to create this object)
+ description: Do not allow Tosca to create this object)
# Service
define(xos_base_service_caps,
scalable:
@@ -23,24 +23,30 @@
kind:
type: string
default: generic
+ description: Type of service.
view_url:
type: string
required: false
+ description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
+ description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
+ description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
versionNumber:
type: string
- required: false)
+ required: false
+ description: Version number of Service.)
# Subscriber
define(xos_base_subscriber_caps,
subscriber:
@@ -67,12 +73,17 @@
node_types:
tosca.nodes.Service:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Service object. Services may be listed in the Service
+ directory and may be linked together via Tenancy Relationships.
capabilities:
xos_base_service_caps
properties:
xos_base_service_props
tosca.nodes.VCPEService:
+ description: >
+ CORD: The vCPE Service.
derived_from: tosca.nodes.Root
capabilities:
xos_base_service_caps
@@ -81,9 +92,12 @@
backend_network_label:
type: string
required: false
+ description: Label that matches network used to connect HPC and BBS services.
tosca.nodes.VBNGService:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vBNG Service.
capabilities:
xos_base_service_caps
properties:
@@ -91,9 +105,12 @@
vbng_url:
type: string
required: false
+ description: URL of REST API endpoint for vBNG Service.
tosca.nodes.CDNService:
derived_from: tosca.nodes.Root
+ description: >
+ Content Delivery Network Service. Includes Request Routing and Hypercache.
capabilities:
xos_base_service_caps
properties:
@@ -101,6 +118,7 @@
tosca.nodes.Subscriber:
derived_from: tosca.nodes.Root
+ description: XOS subscriber base class.
capabilities:
xos_base_subscriber_caps
properties:
@@ -108,6 +126,10 @@
tosca.nodes.CORDSubscriber:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: Subscriber. The Subscriber object contains all of the settings
+ for a CORD household. For example, it contains parental control
+ filter settings.
capabilities:
xos_base_subscriber_caps
properties:
@@ -115,37 +137,54 @@
firewall_enable:
type: boolean
default: false
+ description: If True, then firewalling is enabled.
url_filter_enable:
type: boolean
default: false
+ description: If True, then parental controls are enabled.
url_filter_level:
type: string
default: PG
+ description: The default URL filter level for the household.
cdn_enable:
type: boolean
default: true
+ description: If True, then the CDN is enabled.
tosca.nodes.CORDUser:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: User. The CORD user represents an individual device beloning
+ to the CORD Subscriber. Each device may have its own parental
+ controls.
properties:
level:
type: string
default: PG_13
+ description: Parental control level for this device.
mac:
type: string
required: true
+ description: MAC address for this device.
tosca.nodes.VOLTTenant:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: A Tenant of the vOLT Service. Each Tenant is tied to a
+ specific vlan_id.
properties:
xos_base_tenant_props
vlan_id:
type: string
required: false
+ description: vlan_id for connection to subscriber household.
tosca.nodes.User:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS User record. Users are able to login and use the XOS GUI.
+
capabilities:
user:
type: tosca.capabilities.xos.User
@@ -157,31 +196,43 @@
firstname:
type: string
required: true
+ description: First name of User.
lastname:
type: string
required: true
+ description: Last name of User.
phone:
type: string
required: false
+ description: Phone number of User.
user_url:
type: string
required: false
+ description: URL to User web page.
public_key:
type: string
required: false
+ description: Public key that will be installed in Instances.
is_active:
type: boolean
default: true
+ description: If True, the user may log in.
is_admin:
type: boolean
default: false
+ description: If True, the user has root admin privileges.
login_page:
type: string
required: false
+ description: Indicates what page the user should go to on login.
tosca.nodes.NetworkTemplate:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS network template. Network templates contain settings associated
+ with a particular class of network.
+
capabilities:
network_template:
type: tosca.capabilities.xos.NetworkTemplate
@@ -190,21 +241,27 @@
visibility:
type: string
default: private
+ description: Indicates whether network is publicly routable.
translation:
type: string
default: none
+ description: Indicates whether network uses address translation.
shared_network_name:
type: string
required: false
+ description: Attaches this template to a specific OpenStack network.
shared_network_id:
type: string
required: false
+ description: Attaches this template to a specific OpenStack network.
topology_kind:
type: string
default: BigSwitch
+ descrption: Describes the topology of the network.
controller_kind:
type: string
required: false
+ description: Indicates the type of controller that the network is connected to.
tosca.nodes.network.Network.XOS:
# Due to bug? in implementation, we have to copy everything from
@@ -280,41 +337,27 @@
ports:
type: string
required: false
+ description: >
+ A comma-separated list of protocols and ports. For example,
+ "tcp/123, tcp/456-459, udp/111"
labels:
type: string
required: false
+ description: A comma-separated list of labels for this network.
permit_all_slices:
type: boolean
# In the data model, this is defaulted to false. However, to
# preserve Tosca semantics, we default it to true instead.
default: true
+ description: If True, then any slice may be attached to this network.
capabilities:
link:
type: tosca.capabilities.network.Linkable
-# tosca.nodes.XOSNetwork:
-# derived_from: tosca.nodes.Root
-#
-# capabilities:
-# network:
-# type: tosca.capabilities.xos.Network
-#
-# properties:
-# ports:
-# type: string
-# required: false
-# labels:
-# type: string
-# required: false
-# permit_all_slices:
-# type: boolean
-# default: false
-# permitted_slices:
-# type: string
-# required: false
-
tosca.nodes.Deployment:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Deployment.
capabilities:
deployment:
type: tosca.capabilities.xos.Deployment
@@ -323,12 +366,16 @@
accessControl:
type: string
default: allow all
+ description: ACL that describes who may use this deployment.
flavors:
type: string
required: false
+ description: Comma-separated list of flavors that this deployment supports.
tosca.nodes.Image:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Operating System Image.
capabilities:
image:
type: tosca.capabilities.xos.Image
@@ -336,15 +383,21 @@
disk_format:
type: string
required: false
+ description: Glance disk format.
container_format:
type: string
required: false
+ description: Glance container format.
path:
type: string
required: false
+ description: Path to Image file inside XOS docker container.
tosca.nodes.Controller:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS controller. Controllers serve as the interface between
+ XOS and services such as OpenStack.
capabilities:
controller:
type: tosca.capabilities.xos.Controller
@@ -352,27 +405,36 @@
backend_type:
type: string
required: false
+ description: Type of backend.
version:
type: string
required: false
+ description: Version of backend.
auth_url:
type: string
required: false
+ description: Keystone auth_url.
admin_user:
type: string
required: false
+ description: Keystone username.
admin_password:
type: string
required: false
+ description: Keystone password.
admin_tenant:
type: string
required: false
+ description: Tenant associated with admin account.
domain:
type: string
required: false
+ description: OpenStack domain (or "Default")
tosca.nodes.Site:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Site. Sites are containers for Users and/or Nodes.
capabilities:
site:
type: tosca.capabilities.xos.Site
@@ -380,19 +442,22 @@
display_name:
type: string
required: false
- description: name of the site
+ description: Name of the site.
site_url:
type: string
required: false
+ description: URL of site web page.
enabled:
type: boolean
default: true
hosts_nodes:
type: boolean
default: true
+ description: If True, then this site hosts nodes where Instances may be instantiated.
hosts_users:
type: boolean
default: true
+ description: If True, then this site hosts users who may use XOS.
is_public:
type: boolean
default: true
@@ -400,6 +465,9 @@
tosca.nodes.Slice:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Slice. A slice is a collection of instances that share
+ common attributes.
capability:
slice:
type: tosca.capabilities.xos.Slice
@@ -410,15 +478,21 @@
description:
type: string
required: false
+ description: Description of this slice.
slice_url:
type: string
required: false
+ description: URL to web page that describes slice.
max_instances:
type: integer
default: 10
+ description: Quota of instances that this slice may create.
tosca.nodes.Node:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Node. Nodes are physical machines that host virtual machines
+ and/or containers.
capability:
node:
type: tosca.capabilities.xos.Node
diff --git a/xos/tosca/custom_types/xos.yaml b/xos/tosca/custom_types/xos.yaml
index 96c03fa..2c674eb 100644
--- a/xos/tosca/custom_types/xos.yaml
+++ b/xos/tosca/custom_types/xos.yaml
@@ -20,6 +20,9 @@
node_types:
tosca.nodes.Service:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Service object. Services may be listed in the Service
+ directory and may be linked together via Tenancy Relationships.
capabilities:
scalable:
type: tosca.capabilities.Scalable
@@ -29,26 +32,34 @@
kind:
type: string
default: generic
+ description: Type of service.
view_url:
type: string
required: false
+ description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
+ description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
+ description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
versionNumber:
type: string
required: false
+ description: Version number of Service.
tosca.nodes.VCPEService:
+ description: >
+ CORD: The vCPE Service.
derived_from: tosca.nodes.Root
capabilities:
scalable:
@@ -59,30 +70,39 @@
kind:
type: string
default: generic
+ description: Type of service.
view_url:
type: string
required: false
+ description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
+ description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
+ description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
versionNumber:
type: string
required: false
+ description: Version number of Service.
backend_network_label:
type: string
required: false
+ description: Label that matches network used to connect HPC and BBS services.
tosca.nodes.VBNGService:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vBNG Service.
capabilities:
scalable:
type: tosca.capabilities.Scalable
@@ -92,30 +112,39 @@
kind:
type: string
default: generic
+ description: Type of service.
view_url:
type: string
required: false
+ description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
+ description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
+ description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
versionNumber:
type: string
required: false
+ description: Version number of Service.
vbng_url:
type: string
required: false
+ description: URL of REST API endpoint for vBNG Service.
tosca.nodes.CDNService:
derived_from: tosca.nodes.Root
+ description: >
+ Content Delivery Network Service. Includes Request Routing and Hypercache.
capabilities:
scalable:
type: tosca.capabilities.Scalable
@@ -125,27 +154,34 @@
kind:
type: string
default: generic
+ description: Type of service.
view_url:
type: string
required: false
+ description: URL to follow when icon is clicked in the Service Directory.
icon_url:
type: string
required: false
+ description: ICON to display in the Service Directory.
enabled:
type: boolean
default: true
published:
type: boolean
default: true
+ description: If True then display this Service in the Service Directory.
public_key:
type: string
required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
versionNumber:
type: string
required: false
+ description: Version number of Service.
tosca.nodes.Subscriber:
derived_from: tosca.nodes.Root
+ description: XOS subscriber base class.
capabilities:
subscriber:
type: tosca.capabilities.xos.Subscriber
@@ -159,6 +195,10 @@
tosca.nodes.CORDSubscriber:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: Subscriber. The Subscriber object contains all of the settings
+ for a CORD household. For example, it contains parental control
+ filter settings.
capabilities:
subscriber:
type: tosca.capabilities.xos.Subscriber
@@ -172,28 +212,41 @@
firewall_enable:
type: boolean
default: false
+ description: If True, then firewalling is enabled.
url_filter_enable:
type: boolean
default: false
+ description: If True, then parental controls are enabled.
url_filter_level:
type: string
default: PG
+ description: The default URL filter level for the household.
cdn_enable:
type: boolean
default: true
+ description: If True, then the CDN is enabled.
tosca.nodes.CORDUser:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: User. The CORD user represents an individual device beloning
+ to the CORD Subscriber. Each device may have its own parental
+ controls.
properties:
level:
type: string
default: PG_13
+ description: Parental control level for this device.
mac:
type: string
required: true
+ description: MAC address for this device.
tosca.nodes.VOLTTenant:
derived_from: tosca.nodes.Root
+ description: >
+ CORD: A Tenant of the vOLT Service. Each Tenant is tied to a
+ specific vlan_id.
properties:
kind:
type: string
@@ -204,10 +257,14 @@
vlan_id:
type: string
required: false
+ description: vlan_id for connection to subscriber household.
tosca.nodes.User:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS User record. Users are able to login and use the XOS GUI.
+
capabilities:
user:
type: tosca.capabilities.xos.User
@@ -219,31 +276,43 @@
firstname:
type: string
required: true
+ description: First name of User.
lastname:
type: string
required: true
+ description: Last name of User.
phone:
type: string
required: false
+ description: Phone number of User.
user_url:
type: string
required: false
+ description: URL to User web page.
public_key:
type: string
required: false
+ description: Public key that will be installed in Instances.
is_active:
type: boolean
default: true
+ description: If True, the user may log in.
is_admin:
type: boolean
default: false
+ description: If True, the user has root admin privileges.
login_page:
type: string
required: false
+ description: Indicates what page the user should go to on login.
tosca.nodes.NetworkTemplate:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS network template. Network templates contain settings associated
+ with a particular class of network.
+
capabilities:
network_template:
type: tosca.capabilities.xos.NetworkTemplate
@@ -252,21 +321,27 @@
visibility:
type: string
default: private
+ description: Indicates whether network is publicly routable.
translation:
type: string
default: none
+ description: Indicates whether network uses address translation.
shared_network_name:
type: string
required: false
+ description: Attaches this template to a specific OpenStack network.
shared_network_id:
type: string
required: false
+ description: Attaches this template to a specific OpenStack network.
topology_kind:
type: string
default: BigSwitch
+ descrption: Describes the topology of the network.
controller_kind:
type: string
required: false
+ description: Indicates the type of controller that the network is connected to.
tosca.nodes.network.Network.XOS:
# Due to bug? in implementation, we have to copy everything from
@@ -342,41 +417,27 @@
ports:
type: string
required: false
+ description: >
+ A comma-separated list of protocols and ports. For example,
+ "tcp/123, tcp/456-459, udp/111"
labels:
type: string
required: false
+ description: A comma-separated list of labels for this network.
permit_all_slices:
type: boolean
# In the data model, this is defaulted to false. However, to
# preserve Tosca semantics, we default it to true instead.
default: true
+ description: If True, then any slice may be attached to this network.
capabilities:
link:
type: tosca.capabilities.network.Linkable
-# tosca.nodes.XOSNetwork:
-# derived_from: tosca.nodes.Root
-#
-# capabilities:
-# network:
-# type: tosca.capabilities.xos.Network
-#
-# properties:
-# ports:
-# type: string
-# required: false
-# labels:
-# type: string
-# required: false
-# permit_all_slices:
-# type: boolean
-# default: false
-# permitted_slices:
-# type: string
-# required: false
-
tosca.nodes.Deployment:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Deployment.
capabilities:
deployment:
type: tosca.capabilities.xos.Deployment
@@ -384,20 +445,24 @@
no-delete:
type: boolean
default: false
- description: do not allow Tosca to delete this object
+ description: Do not allow Tosca to delete this object
no-create:
type: boolean
default: false
- description: do not allow Tosca to create this object
+ description: Do not allow Tosca to create this object
accessControl:
type: string
default: allow all
+ description: ACL that describes who may use this deployment.
flavors:
type: string
required: false
+ description: Comma-separated list of flavors that this deployment supports.
tosca.nodes.Image:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Operating System Image.
capabilities:
image:
type: tosca.capabilities.xos.Image
@@ -405,15 +470,21 @@
disk_format:
type: string
required: false
+ description: Glance disk format.
container_format:
type: string
required: false
+ description: Glance container format.
path:
type: string
required: false
+ description: Path to Image file inside XOS docker container.
tosca.nodes.Controller:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS controller. Controllers serve as the interface between
+ XOS and services such as OpenStack.
capabilities:
controller:
type: tosca.capabilities.xos.Controller
@@ -421,27 +492,36 @@
backend_type:
type: string
required: false
+ description: Type of backend.
version:
type: string
required: false
+ description: Version of backend.
auth_url:
type: string
required: false
+ description: Keystone auth_url.
admin_user:
type: string
required: false
+ description: Keystone username.
admin_password:
type: string
required: false
+ description: Keystone password.
admin_tenant:
type: string
required: false
+ description: Tenant associated with admin account.
domain:
type: string
required: false
+ description: OpenStack domain (or "Default")
tosca.nodes.Site:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Site. Sites are containers for Users and/or Nodes.
capabilities:
site:
type: tosca.capabilities.xos.Site
@@ -449,19 +529,22 @@
display_name:
type: string
required: false
- description: name of the site
+ description: Name of the site.
site_url:
type: string
required: false
+ description: URL of site web page.
enabled:
type: boolean
default: true
hosts_nodes:
type: boolean
default: true
+ description: If True, then this site hosts nodes where Instances may be instantiated.
hosts_users:
type: boolean
default: true
+ description: If True, then this site hosts users who may use XOS.
is_public:
type: boolean
default: true
@@ -469,6 +552,9 @@
tosca.nodes.Slice:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Slice. A slice is a collection of instances that share
+ common attributes.
capability:
slice:
type: tosca.capabilities.xos.Slice
@@ -479,15 +565,21 @@
description:
type: string
required: false
+ description: Description of this slice.
slice_url:
type: string
required: false
+ description: URL to web page that describes slice.
max_instances:
type: integer
default: 10
+ description: Quota of instances that this slice may create.
tosca.nodes.Node:
derived_from: tosca.nodes.Root
+ description: >
+ An XOS Node. Nodes are physical machines that host virtual machines
+ and/or containers.
capability:
node:
type: tosca.capabilities.xos.Node