-
Notifications
You must be signed in to change notification settings - Fork 165
Description
We (The K8s on Windows team at SUSE Rancher) are unable to use cloudbase-init with the NoCloud metadata service due to cloudbase-init not handling underscores in the user-data.iso that is generated by go-diskfs.
When user-data.iso files are created by rancher/machine using go-diskfs, a linux host will have meta-data and user-data files in the ISO once it is mounted on a vSphere host. cloudinit handles the uppercase names using underscores: https://github.com/canonical/cloud-init/blob/main/cloudinit/cmd/query.py#L139-L205
When user-data.iso files are created by rancher/machine using go-diskfs, a Windows host will have META_DATA and USER_DATA files in the ISO once it is mounted on a vSphere host. This causes cloudbase-init to fail as it is looking for meta-data or META-DATA.
The ISO standard does not allow for - to be used in the name (see below).
10.1.1 ISO 9660 Level 1 Specification
A file name consists of a base name and an extension, separated by a full stop character (".").
Under ISO 9660 Level 1, the length of the base name may not exceed eight characters and the
extension may not exceed three characters. In addition, a version number consisting of a
semicolon and an integer must follow the file identifier. The base name and extension may only
contain characters from the following set: the upper case alphanumeric characters (A- Z, 0-9)
and the underscore ("_"). Collectively, these requirements are often referred to as the "8.3" ("8
dot 3") file naming convention. These limitations exist primarily to accommodate older
computer systems that cannot handle longer file names.
Preferred format: BASENAME (1..8 characters) "." EXTENSION (3 characters)
Allowable format: BASENAME (1..8 characters) "." EXTENSION (1..3 characters)
Actual format
on archive medium: BASENAME (1..8 characters) "." EXTENSION (1..3 characters) ";1