summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2012-02-17 14:33:57 -0500
committerScott Moser <smoser@ubuntu.com>2012-02-17 14:33:57 -0500
commit1e0e6c6ced37a9c111b0f1aa26d308a7a0bf0d79 (patch)
treefdb4f96ec3f6706ba265379e9fdbcaad0466265e /doc
parent9c37781563e79e1c816632725a3890ea0955a5f6 (diff)
downloadvyos-cloud-init-1e0e6c6ced37a9c111b0f1aa26d308a7a0bf0d79.tar.gz
vyos-cloud-init-1e0e6c6ced37a9c111b0f1aa26d308a7a0bf0d79.zip
add doc for configdrive
Diffstat (limited to 'doc')
-rw-r--r--doc/configdrive/README73
1 files changed, 73 insertions, 0 deletions
diff --git a/doc/configdrive/README b/doc/configdrive/README
new file mode 100644
index 00000000..1ad7b0d0
--- /dev/null
+++ b/doc/configdrive/README
@@ -0,0 +1,73 @@
+The 'ConfigDrive' DataSource supports the OpenStack configdrive disk.
+See doc/source/api_ext/ext_config_drive.rst in the nova source code for
+more information on config drive.
+
+The following criteria are required to be identified by
+DataSourceConfigDrive as a config drive:
+ * must be formated with vfat filesystem
+ * must be a un-partitioned block device (/dev/vdb, not /dev/vdb1)
+ * must contain one of the following files:
+ * etc/network/interfaces
+ * root/.ssh/authorized_keys
+ * meta.js
+
+By default, cloud-init does not consider this source to be a full-fledged
+datasource. Instead, the default behavior is to assume it is really only
+present to provide networking information. Cloud-init will copy off the
+network information, apply it to the system, and then continue on. The
+"full" datasource would then be found in the EC2 metadata service.
+
+== Content of config-drive ==
+ * etc/network/interfaces
+ This file is laid down by nova in order to pass static networking
+ information to the guest. Cloud-init will copy it off of the config-drive
+ and into /etc/network/interfaces as soon as it can, and then attempt to
+ bring up all network interfaces.
+
+ * root/.ssh/authorized_keys
+ This file is laid down by nova, and contains the keys that were
+ provided to it on instance creation (nova-boot --key ....)
+
+ Cloud-init will copy those keys and put them into the configured user
+ ('ubuntu') .ssh/authorized_keys.
+
+ * meta.js
+ meta.js is populated on the config-drive in response to the user passing
+ "meta flags" (nova boot --meta key=value ...). It is expected to be json
+ formated.
+
+== Configuration ==
+Cloud-init's behavior can be modified by keys found in the meta.js file in
+the following ways:
+ * dsmode:
+ values: local, net, pass
+ default: pass
+
+ This is what indicates if configdrive is a final data source or not.
+ By default it is 'pass', meaning this datasource should not be read.
+ Set it to 'local' or 'net' to stop cloud-init from continuing on to
+ search for other data sources after network config.
+
+ The difference between 'local' and 'net' is that local will not require
+ networking to be up before user-data actions (or boothooks) are run.
+
+ * instance-id:
+ default: iid-dsconfigdrive
+ This is utilized as the metadata's instance-id. It should generally
+ be unique, as it is what is used to determine "is this a new instance".
+
+ * public-keys:
+ default: None
+ if present, these keys will be used as the public keys for the
+ instance. This value overrides the content in authorized_keys.
+ Note: it is likely preferable to provide keys via user-data
+
+ * user-data:
+ default: None
+ This provides cloud-init user-data. See other documentation for what
+ all can be present here.
+
+--
+[1] https://github.com/openstack/nova/blob/master/doc/source/api_ext/ext_config_drive.rst for more if
+
+