From fd4418fad63255020dd00a5a7f586dd933ac3083 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 22 Nov 2010 16:06:19 -0500 Subject: [PATCH] add credential schema rng files --- sfa/trust/credential.rng | 197 ++++++++++++++++++++++ sfa/trust/protogeni-rspec-common.rng | 239 +++++++++++++++++++++++++++ sfa/trust/top.rng | 217 ++++++++++++++++++++++++ 3 files changed, 653 insertions(+) create mode 100644 sfa/trust/credential.rng create mode 100644 sfa/trust/protogeni-rspec-common.rng create mode 100644 sfa/trust/top.rng diff --git a/sfa/trust/credential.rng b/sfa/trust/credential.rng new file mode 100644 index 00000000..7496c696 --- /dev/null +++ b/sfa/trust/credential.rng @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + Representation of a single privileges. + + + + + 1 + + + + + + + + + + A set of privileges. + + + + + + + + Backwards compat my original credential spec. + + + + + 1 + + + + + + 0 + 1 + + + + + + Backwards compat my original credential spec. + + + + + + + + Define a stub for future ticket. + + + Can the ticket be delegated? + + + + The ticket must be "cashed in" by this date + + + + + A desciption of the resources that are being promised + + + + + A list of signatures. + + + + + + + + + + A credential granting privileges or a ticket. + + + The ID for signature referencing. + + + + The type of this credential. Currently a Privilege set or a Ticket. + + privilege + ticket + capability + + + + A serial number. + + + + GID of the owner of this credential. + + + + + URN of the owner. Not everyone can parse DER + + + + + GID of the target of this credential. + + + + + URN of the target. + + + + + UUID of this credential + + + + Expires on + + + + Privileges or a ticket + + + + + + + Optional Extensions + + + + + + Parent that delegated to us + + + + + + + + + + + + + + + + + diff --git a/sfa/trust/protogeni-rspec-common.rng b/sfa/trust/protogeni-rspec-common.rng new file mode 100644 index 00000000..a8ad8f2b --- /dev/null +++ b/sfa/trust/protogeni-rspec-common.rng @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + raw + trellis-vserver + planetlab-vserver + emulab-vnode + bgpmux + + + + + + + + + + + + + + + + + + + + + + + + + + raw + trellis-vserver + planetlab-vserver + emulab-vnode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sfa/trust/top.rng b/sfa/trust/top.rng new file mode 100644 index 00000000..302dbafc --- /dev/null +++ b/sfa/trust/top.rng @@ -0,0 +1,217 @@ + + + + + + Representation of a single node type + + + + Name of the type - will almost certainly not be unique + + + How many virtual nodes of this type this physical node can +handle. + + + 0 + + unlimited + + + + + element unlimited { empty }?, +A flag that indicates that this physical node *always* +has this type - a node is only allowed to have one dynamic +(ie. not flagged as static) type at a time, but any number +of static types at a time +element static { empty }? + true + + + + + + + + + + + Link types are currently just a siple string. They will almost certainly +have to get more complicated, for two reasons: + First, I want to allow virtual links to specify more than one type, so + that we can ask for links that are, say, 'ethernet or loopback' + Second, I want to have a lot more control over links that get mapped to + multi-hop paths +TODO: MAYBE this should be combined with NodeTypeSpec + + + + + + A link has two endpoints. Right now, they are order +independent. But they might become order-dependant later. + + First interface for this link + + + + Second interface for this link + + + + + Link characterstics which affect traffic. +TODO: In the future, the bandwidth, latency, and packet loss will be +moved to features and/or properties + + Bandwidth of the link in kbps + + 0.0 + + + + Latency of the link in ms + + 0.0 + + + + Static packet loss probability of the link as a fraction +(ie. 0.01 == 1%) + + 0.0 + + + + + "Legacy" assign features and desires - will be phased out in favor of +properties + + + Name of this feature or desire +element fd_name { text }, + + + Weight assocated with the feature or desire +element fd_weight { xsd:float }, + + + + A flag indicating whether or not a failure to match the desire with a +a feature is a constraint violation +element violatable { empty }?, + true + + + + + Type information expressed in features and desires + + + + + + + + GlobalSpec = element global { + element operator { "OnceOnly" | "FirstFree" } +} + + + OnceOnly + FirstFree + + + + + LocalSpec = element local { + element operator { "+" } + attribute local_operator { "+" } +} + + + + + + + Interfaces +InterfaceSpec = element interface { InterfaceContents } + + + + + + + + + + + + + + + Name of the node, which must match one of the nodes in this topology + + + + Name of the interface itself + + + + + Properties of the interface + + + + + Properties - new: replacements for features and desires. Not yet implemented +in assign, and not yet fully fleshed out in this schema. + + + Name of this property + + + + Value associated with this property +TODO: Add ranges and other types from rspec + + + + + + + The penalty associated with this property + + 0.0 + + + + + If this flag is present, not having the property is considered a violation + + + + + + TODO: Add more operators - equality, range test, etc +Flags for special types of operators + + + + + + + -- 2.43.0