-
Notifications
You must be signed in to change notification settings - Fork 60
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
Support for Vultr platform #355
Comments
I've only had a bit of personal time, but was able to get coreos-assembler (quite different from CoreOS SDK) and build a vanilla image. Seems like I'd need the scripting to build a raw image similar to qemuvariant but specify the platform id to Ignition and bump Ignition somewhere, and then I could upload and test it out. |
The live ISO should boot to a shell prompt on console, similar to the installer ISO failure case. I'm not sure I understand the problem you're having there; could you elaborate? Adding the platform SGTM. We should certainly add Afterburn support in that case; it's not essential for boot but it's functionality we should provide consistently on all platforms. |
You're right, the current live ISO does automatic login. I must be recalling some prior build, I can't reproduce being stuck at a login prompt. One complication with the live ISO approach is the RAM requirement. With the installer ISO, you can boot the $5 instance (1GB, 25GB disk), disk install with a tweaked ignition config to point to Vultr user-data, and snapshot for a 25GB snapshot (not great, but meh). The live ISO needs at least the larger instance (2GB, 50GB disk) and the snapshot ends up being 50GB. Arguably, Vultr could do disk snapshots differently or I could manipulate those raw images, but I know this is getting out of hand and isn't an ideal usage pattern. That led to wanting to add Vultr awareness to Ignition and build the desired image directly. |
I agree having directly usable cloud images is a better path forward. It sounds like the platform provides network configuration via DHCP, right? In that case, Afterburn is not in the hot path. I've opened a ticket there to add support for SSH keys and attributes, which can be done at any later point. I've updated the top-comment with more ticket references. So far though I haven't found any docs regarding the disk image format. That is, do they maybe support some compressed format, or perhaps VM specific ones (qcow/vmdk/etc)? |
I don't find a docs page, but from the Vultr "snapshot" dashboard (separate from their ISO upload dashboard) where an end-user provides a URL for Vultr to go fetch a raw image:
|
This was discussed in the community meeting today. There was no major opposition since it seems rather straightforward to support. So 👍 from me! |
* Build a raw image with the Ignition provider set to vultr to correspond with coreos/ignition#918 * coreos/fedora-coreos-tracker#355
I was able to build a Vultr image (with recent ignition and ignition-dracut) and use it for instances on Vultr via custom snapshots. 🙌 Custom override testing seems quite nice once the pattern is known (mentioned below):
So after the next Ignition release / bohdi update, I believe |
Hey all 👋 We are definitely interested! I'll create an internal ticket to add in support for Fedora CoreOS snapshots and I'll update this ticket with the progress of that. If there is anything else we can help with please us know. |
I just spoke to the image team they are shooting for a mi march release for a ton of new snapshots which include Fedora CoreOS. They let me know if you would like an early preview build of the snapshot we can add this to your Vultr accounts. This way you can do some sanity testing against the images we are going to be releasing. Let me know if you guys are interested! |
I'm actively using my test build and am happy to try the Vultr previews (filed #DSB-47CQQ). |
Hey @dghubble The preview snapshot should be ready today and it will get added to your account as a deploy-able snapshot. |
It may be useful to have releases for
|
Agreed. I think there are some other patches in ignition (coming soon) that we'll want so we should be cutting a release soon. |
With the new
I also tested one preview image from Vultr folks and they're working on getting their build process established I believe. |
I was able to get Fedora CoreOS running on Vultr using coreos-installer. Seems to be working well so far. |
I added some more checkboxes to the original issue description for a few items more items that are needed before it's fully plumbed through. |
* Vultr images can't be uploaded yet, but it would be nice to build them in an automated fashion * coreos/fedora-coreos-tracker#355
I can try to look into those missing plumbing items next week. Separately, I've done some testing with some snapshots with Vultr folks and that's looking promising. I'll let them chime in if they like or about remaining questions/hurdles. |
Missing plumbing based on @jlebon's links to prior examples, thanks: |
* FCOS Jenkins pipeline builds Vultr disk images, but they need to be mentioned in stream metadata too * coreos/fedora-coreos-tracker#355
I'm not sure how machines get their hostname. By default it seems machines have a hostname of |
Checking an instance, the hostname seems to be set early on in NetworkManager, I don't find a lease file like in #538 so I'm not sure.
Vultr accepts instance hostnames at creation via the UI or API and I do see those names set. The hostname is also available via the metadata service at |
Thanks. My guess here is that this sounds like DHCP is not offering the hostname and NM is setting it based on reverse DNS. |
You don't see any files at |
No lease files or domain in
There are PTR records, but they resolve to names that don't seem useful to me (given the address is known).
Seems like systemd may be setting this early on accroding to dmesg.
|
hey @ddymko - any chance we could get some accounts on vultr for Fedora so we can run some tests on some features we're adding? find me in #fedora-coreos on freenode if you want to chat higher bandwidth. |
@dustymabe sure thing! Create an account on vultr.com and create a support ticket. I'll get it squared away for you. |
Thanks @ddymko - created an account. Will wait for more info from the partner team. |
* Add Provisioning Fedora CoreOS on Vultr docs that shows uploading a snapshot image and creating an instance using the `vultr-cli` * Ignition config must include SSH authorized key setup Related: coreos/fedora-coreos-tracker#355
The new native Fedora CoreOS server type is working well for me. Makes it much easier to get started with FCOS on Vultr. The only issue I'm facing is in regards to private networking. If I set the I was hoping Fedora CoreOS would be able to pick up the private networking automatically (e.g. via DHCP). Instead, if I don't configure
|
Ignition is a first-boot initramfs disk manipulation tool, for writing units, network configs, etc that are acted upon later, in userspace. I think your question is about the particular network config, static assignment vs DHCP assignment. For static assignment you'd need to reserve an IP with Vultr beforehand, for DHCP (default) that works for the public interface, but I recall Vultr was still fleshing out the details for private network. Btw, the Vultr "native Fedora CoreOS" images you mention are built by Vultr. Maybe not quite be the same as the (new) build artifacts. I'm not sure what Vultr's final plan was (e.g. fetch FCOS published images or custom build). |
Self-note:
|
Hey @ddymko, we are assembling the final bits of this and we realized we have a small impedance mismatch on how the Would it be possible to augment the snapshot-by-URL API to optionally get these additional parameters from the client?
|
@summatix, based on your note, I updated the documentation for Vultr ignition files to make clear there isn't a chicken-and-egg problem. I added the following:
|
@lucab unfortunately this isn't something that we could add to |
coreos/afterburn#451 added support for Vultr SSH keys, hostname, and metadata attributes to Afterburn upstream (not yet part of a tagged release). |
Afterburn 4.5.0 was released and hit the |
I was going to check it out, to replace some manual hostname detection. Am I reading the package list right? https://getfedora.org/en/coreos?stream=testing says 32.20200809.2.1 is the latest at this time and has afterburn-4.4.2, same for next. |
@dghubble - correct. We've got a round of releases in progress now and those should have afterburn 4.5.0. Sorry I realize my earlier statement was incorrect. Afterburn 4.5.0 will be in the |
Looks goood to me on f32.20200824.2.0 testing. I think that completes all the items for Fedora CoreOS on vultr, awesome! |
Opened per ignition#918
Vultr is a cloud (and bare-metal) hosting provider that may be reasonable for Fedora CoreOS to assemble images for. Vultr allows uploading ISOs by URL and iPXE so its been flexible to develop and hack with. They accept raw images similar to GCP. Vultr serves user-data for cloud-init, but its free-form and I've used it to serve Ignition just fine. Vultr provides CoreOS images themselves (cloud-init only), though it was not a CoreOS publish target. The platform's willingness for folks to use any raw image they can boot, to me, means its pretty unlikely there are required agents or any of that sort of thing.
I'd like to be able to build a raw image for Vultr that knows about their user-data (i.e. platform-id
vultr
). Such a raw image could be uploaded and used directly be end users. Possible steps:vultr
(platforms: allocate ID for vultr fedora-coreos-docs#37)Hacks today:
but you can't ssh in to add an ignition shim:(Background
I've been running Fedora CoreOS on Vultr for a few months as part of some personal experimental infrastructure. I used the installer ISO approach to prepare a snapshot (rather big, but works) after disk install and it operates alright, at least for Kubernetes node use cases.
Why
Though Vultr is not a major cloud, its quite flexible and developer-friendly. I'd consider Vultr (and DigitalOcean) in a separate category since support there is geared toward developer affection and interesting experiments, which spawns blog posts, tutorials, and just general good vibes. I think its an under-estimated value, and Fedora CoreOS could gain if partial or full support was developed.
Note: I don't have any affiliation with Vultr, just using it personally
The text was updated successfully, but these errors were encountered: