-
-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose flatcar-install OEM parameter #1302
Conversation
@dghubble the last part of above description complicates the merge of this PR. I would propose adding an option to the matchbox/get-flatcar script that downloads all provided |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Setting the flatcar-linux OEM flag is ok. I don't use VMWare or the others so I won't validate them, but this change can just be oriented around allowing the parameter to be set. Its up to Flatcar Linux what that does, since I don't want OEM specific features creeping into the distro itself.
Can you also dig up more info from the Flatcar Linux folks about the OEMs they support / will support?
variable "oem_type" { | ||
type = string | ||
default = "" | ||
description = "An OEM type to install with flatcar-install." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you include the list of valid Flatcar OEMs in the description, like (e.g. a, b, c)
and link to Flatcar Linux docs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wrote some more documentation here. PTAL and let me know if its okay.
I don't think the Matchbox script needs an update. Folks wanting OEM specific stuff can download it. |
We use a systemd unit like this: - name: "download-flatcar.service"
enabled: true
contents: |
[Unit]
Description=Download Flatcar image
Wants=systemd-resolved.service
After=clone-matchbox.service
Before=matchbox.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/bash -c '/usr/bin/test -d /opt/matchbox.opt/matchbox/assets || /opt/matchbox/scripts/get-flatcar ${flatcar_channel} ${flatcar_version} /opt/matchbox.opt/matchbox/assets'
# WORKAROUND: Needed to support installing VMWare tools
ExecStartPost=/usr/bin/curl \
--output-dir /opt/matchbox.opt/matchbox/assets/flatcar/${flatcar_version} \
-O https://${flatcar_channel}.release.flatcar-linux.net/amd64-usr/${flatcar_version}/flatcar_production_vmware_raw_image.bin.bz2
ExecStartPost=/usr/bin/curl \
--output-dir /opt/matchbox.opt/matchbox/assets/flatcar/${flatcar_version} \
-O https://${flatcar_channel}.release.flatcar-linux.net/amd64-usr/${flatcar_version}/flatcar_production_vmware_raw_image.bin.bz2.sig
[Install]
WantedBy=matchbox.service
|
By exposing this parameter it is possible to install OEM specific software during the `flatcar-install` invocation.
By exposing this parameter it is possible to install OEM specific software during the
flatcar-install
invocation.Testing
I installed a Kubernetes cluster on vSphere VMs and used the newly exposed flag to install the vmware OEM files. Now vSphere no longer complains that the vSphere tools are not installed and it is possible to see the assigned hostname and IPs in the vSphere UI. This also enables the vSphere Terraform provider to wait for IP assignment.
When using
cached_install = true
Matchbox also needs to serve these files otherwise theinstaller.service
fails: