aboutsummaryrefslogtreecommitdiffstats
path: root/community/cloud-init/README.Alpine
diff options
context:
space:
mode:
Diffstat (limited to 'community/cloud-init/README.Alpine')
-rw-r--r--community/cloud-init/README.Alpine68
1 files changed, 67 insertions, 1 deletions
diff --git a/community/cloud-init/README.Alpine b/community/cloud-init/README.Alpine
index e1c8a524e3..302914c5cf 100644
--- a/community/cloud-init/README.Alpine
+++ b/community/cloud-init/README.Alpine
@@ -85,5 +85,71 @@ The remove-defaults option of the cloud-init cc_ca_certs module does not
currently work correctly. This option will delete certificates installed by
the Alpine ca-certificates package as expected. However the certificates
provided by the ca-certificates-bundle package, which is always automatically
-installed in an Alpine system due to it being a dependancy of a base package,
+installed in an Alpine system due to it being a dependency of a base package,
are not deleted.
+
+
+Using ISO images for cloud-init configuration (i.e. with NoCloud/ConfigDrive)
+-----------------------------------------------------------------------------
+
+With the removal of the util-linux dependency from the Alpine cloud-init
+package the "mount" command provided by Busybox will be used instead.
+
+Cloud-init makes use of the mount command's "-t auto" option to mount a
+filesystem containing cloud-init configuration data (detected by searching
+for a filesystem with the label "cidata"). Busybox's mount command behaves
+differently that of util-linux's when the "-t auto" option is used,
+specifically if the kernel module for the required filesystem is not already
+loaded the util-linux mount command will trigger it to be loaded and so the
+mount will succeed. However Busybox's mount will not normally trigger a kernel
+module load and the mount will fail!
+
+When this problem occurs the following will be displayed on the console
+during boot:
+
+ util.py[WARNING]: Failed to mount /dev/vdb when looking for data
+
+If cloud-init debugging is enabled then the file /var/log/cloud-init.log will
+also contain the following entries:
+
+ subp.py[DEBUG]: Running command ['mount', '-o', 'ro', '-t', 'auto',
+ '/dev/vdb', '/run/cloud-init/tmp/tmpAbCdEf'] with allowed return codes [0]
+ (shell=False, capture=True)
+ util.py[DEBUG]: Failed mount of '/dev/vdb' as 'auto': Unexpected error
+ while running command.
+ Command: ['mount', '-o', 'ro', '-t', 'auto', '/dev/vdb',
+ '/run/cloud-init/tmp/tmpAbCdEf']
+ Exit code: 255
+ Reason: -
+ Stdout:
+ Stderr: mount: mounting /dev/vdb on /run/cloud-init/tmp/tmpAbCdEf failed:
+ invalid argument
+
+There are 2 possible solutions to this issue, either:
+
+(1) Install the util-linux package into the Alpine image used with
+cloud-init.
+
+or:
+
+(2) Create (or modify) the file /etc/filesystem and ensure it has a line
+present with the name of the required kernel module for the relevant filesystem
+i.e. "iso9660". This will ensure that Busybox's mount will trigger the loading
+of this kernel module.
+
+
+CloudSigma and SmartOS data sources
+-----------------------------------
+
+If you are using either the CloudSigma or SmartOS/Joyent Cloud data sources
+then you will need to install the Alpine py3-serial package. This was removed
+as a cloud-init (hard) dependency as it is only used by these two uncommon
+Data Sources.
+
+
+MAAS data source
+----------------
+
+If you are using the MAAS data source then you will need to install the
+Alpine py3-oauthlib package. This was removed as a cloud-init (hard)
+dependency as it is only used by the MAAS Data Source.