-
Notifications
You must be signed in to change notification settings - Fork 59
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
Platform Request: CloudStack #716
Comments
Offhand I'd say so yes. We should probably discuss this real-time at the IRC meeting tomorrow if you're able to attend. |
Ok, I'll attend. |
The configdrive/metadata split comes from CL times. We used to have the same split on the |
A few questions about this:
|
|
From yesterday meeting:
|
Currently, Ignition tries to use networkd DHCP leases to get the metadata service address in CloudStack provider. As Fedora CoreOS switched to NetworkManager, CloudStack metadata cannot be found anymore. With this commit, Ignition uses several methods in order to find the address of the CloudStack Virtual Router (which serves the metadata service): 1. A DNS request on "data-server"; 2. The DHCP option "dhcp_server_identifier" as returned by NetworkManager (queried using DBus) 3. The current process (networkd DHCP leases) 4. The default gateway (as defined in /proc/net/route) Cf. coreos/fedora-coreos-tracker#716
Apache CloudStack was supported by the old CoreOS Container Linux, so there's already a CloudStack support in Ignition and Afterburn, but broken since Fedora CoreOS switched from systemd-networkd to NetworkManager.
Why is the platform important? Who uses it?
Apache CloudStack is open source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.
CloudStack is a turnkey solution that includes the entire "stack" of features most organizations want with an IaaS cloud: compute orchestration, Network-as-a-Service, user and account management, a full and open native API, resource accounting, and a first-class User Interface (UI). CloudStack currently supports the most popular hypervisors: VMware, KVM, Citrix XenServer, Microsoft Hyper-V...
Apache CloudStack powers thousands of clouds and billions of dollars in transactions across an array of organizations that include Apple, BT, INRIA, Royal Melbourne Institute of Technology (RMIT), SAP, Taiwan Mobile, Verizon, and WebMD, among others. A list of some of Apache CloudStack’s users are available at http://cloudstack.apache.org/users.html
What is the official name of the platform? Is there a short name that's commonly used in client API implementations?
Official name: Apache CloudStack
Common name: cloudstack
How can the OS retrieve instance userdata? What happens if no userdata is provided?
Two userdata methods are available in CloudStack:
Ignition and Afterburn already support both methods.
However, the "metadata" solution is broken currently for both Ignition and Afterburn, as it relies on DHCP leases on
/run/systemd/netif/leases/
to get the address of the virtual router. Since fcos uses NetworkManager instead of systemd-networkd, this has to be adapted (cf Read lease files from dhclient and NetworkManager on Azure and CloudStack afterburn#146)Does the platform provide a way to configure SSH keys for the instance? How can the OS retrieve them? What happens if none are provided?
Yes, SSH keys can optionally be provided. They are available in metadata (both methods - see above); this is already implemented in Afterburn.
How can the OS retrieve network configuration? Is DHCP sufficient, or is there some other network-accessible metadata service?
DHCP
In particular, how can the OS retrieve the system hostname?
DHCP
Does the platform require the OS to have a specific console configuration?
No
Is there a mechanism for the OS to report to the platform that it has successfully booted? Is the mechanism required?
No mechanism
Does the platform have an agent that runs inside the instance? Is it required? What does it do? What language is it implemented in, and where is the source code repository?
No agent
How are VM images uploaded to the platform and published to other users? Is there an API? What disk image format is expected?
Images are uploaded using an API, from a HTTP(S) URL.
Expected disk image format depends on the hypervisor used in the CloudStack zone:
Are there any other platform quirks we should know about?
Compression format
xz
may not be used for templates. Templates may use.gz
,.bz2
or.zip
I've already started working on adding CloudStack support. My main questions are:
guestinfo.ignition.config.data
). Does that mean having another vmware template file?cloudstack-configdrive
andcloudstack-metadata
whereas Ignition has only one platformcloudstack
, how does Afterburn know which platform should be used? What do you think about having a single Afterburn platform "cloudstack" trying to get metadata from both methods (like Ignition does)?The text was updated successfully, but these errors were encountered: