summaryrefslogtreecommitdiffstats
path: root/source/schema/openstack.yang
diff options
context:
space:
mode:
authorPeter Lee <peter@corenova.com>2016-01-29 15:21:56 -0800
committerPeter Lee <peter@corenova.com>2016-01-29 15:21:56 -0800
commita46af646972b6ff263fb207d28a59e7ce7417b5c (patch)
tree644d9cb2fead71ddf00c2a83219040288e23d471 /source/schema/openstack.yang
parente16a07cdc9016c03aff00cd10076dfd2d4a142da (diff)
added copy of github.com/opnfv/promise source into the source directory
Change-Id: Ib212302a4132aa492f7b701a7ca02f54a7d0a6af
Diffstat (limited to 'source/schema/openstack.yang')
-rw-r--r--source/schema/openstack.yang74
1 files changed, 74 insertions, 0 deletions
diff --git a/source/schema/openstack.yang b/source/schema/openstack.yang
new file mode 100644
index 0000000..6878f7e
--- /dev/null
+++ b/source/schema/openstack.yang
@@ -0,0 +1,74 @@
+module openstack {
+ prefix os;
+
+ import nfv-infrastructure { prefix nfvi; }
+ import access-control-models { prefix acm; }
+ import ietf-yang-types { prefix yang; }
+ import ietf-inet-types { prefix inet; }
+ import complex-types { prefix ct; }
+
+ description
+ "OpenStack controller module";
+
+ revision 2016-01-19 {
+ description "Basic coverage of limited intents needed for Promise";
+ }
+
+ identity openstack { base nfvi:manager; }
+ identity release { base openstack; }
+ identity distro { base openstack; }
+
+ feature os-system-admin {
+ description "OpenStack system administration capability";
+ }
+
+ grouping os-credentials {
+ uses acm:access-credentials {
+ refine strategy {
+ default keystone;
+ }
+ refine endpoint {
+ default "http://localhost:5000/v2.0";
+ }
+ }
+ container tenant {
+ leaf id { type string; }
+ leaf name { type string; }
+ }
+ }
+
+ // OpenStack infrastructure platform (PLACEHOLDER)
+ container platform {
+ uses nfvi:resource-stack;
+
+ leaf release { type identityref { base release; } }
+ leaf distro { type identityref { base distro; } }
+
+ //ct:instance-list services { ct:instance-type OpenStackService; }
+ //ct:instance-list endpoints { ct:instance-type ServiceEndpoint; }
+ }
+
+ // OpenStack system administrator configuration tree
+ container admin {
+ if-feature os-system-admin;
+ container auth {
+ uses os-credentials;
+ leaf token { type yang:uuid; }
+ }
+ }
+
+ rpc authenticate {
+ if-feature os-system-admin;
+ input {
+ uses os-credentials;
+ }
+ output {
+ leaf token { type yang:uuid; }
+ }
+ }
+
+ rpc create-tenant {
+ if-feature os-system-admin;
+
+ }
+}