summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/sources/opennebula/README66
1 files changed, 66 insertions, 0 deletions
diff --git a/doc/sources/opennebula/README b/doc/sources/opennebula/README
new file mode 100644
index 00000000..772a5b99
--- /dev/null
+++ b/doc/sources/opennebula/README
@@ -0,0 +1,66 @@
+The 'OpenNebula' DataSource supports the OpenNebula contextualization disk.
+
+The following criteria are required to be identified by
+DataSourceOpenNebula as contextualization disk:
+ * must be formatted with iso9660 filesystem or labeled as CDROM
+ * must be un-partitioned block device (/dev/vdb, not /dev/vdb1)
+ * must contain
+ * context.sh
+
+== Content of config-drive ==
+ * context.sh
+ This is the only mandatory file on context disk, the rest content depends
+ on contextualization parameter FILES and thus is optional. It's
+ a shell script defining all context parameters. This script is
+ processed by bash (/bin/bash) to simulate behaviour of common
+ OpenNebula context scripts. Processed variables are handed over
+ back to cloud-init for further processing.
+
+== Configuration ==
+Cloud-init's behaviour can be modified by context variables found
+in the context.sh file in the folowing ways (variable names are
+case-insensitive):
+ * dsmode:
+ values: local, net, disabled
+ default: None
+
+ Tells if this datasource will be processed in local (pre-networking) or
+ net (post-networking) stage or even completely disabled.
+
+ * ssh_key:
+ default: None
+ If present, these key(s) will be used as the public key(s) for
+ the instance. More keys can be specified in this single context
+ variable, but each key must be on it's own line. I.e. keys must
+ be separated by newlines.
+
+ * hostname:
+ default: None
+ Custom hostname for the instance.
+
+ * public_ip:
+ default: None
+ If hostname not specified, public_ip is used to DNS resolve hostname.
+
+ * 'user_data' or 'userdata':
+ default: None
+ This provides cloud-init user-data. See other documentation for what
+ all can be present here.
+
+== Example OpenNebula's Virtual Machine template ==
+
+CONTEXT=[
+ PUBLIC_IP="$NIC[IP]",
+ SSH_KEY="$USER[SSH_KEY]
+$USER[SSH_KEY1]
+$USER[SSH_KEY2] ",
+ USER_DATA="#cloud-config
+# see https://help.ubuntu.com/community/CloudInit
+
+packages: []
+
+mounts:
+- [vdc,none,swap,sw,0,0]
+runcmd:
+- echo 'Instance has been configured by cloud-init.' | wall
+" ]