Skip to content

Add PowerVS provider#592

Merged
bgilbert merged 1 commit intocoreos:mainfrom
Prashanth684:powervs
Jul 20, 2021
Merged

Add PowerVS provider#592
bgilbert merged 1 commit intocoreos:mainfrom
Prashanth684:powervs

Conversation

@Prashanth684
Copy link
Copy Markdown
Contributor

@Prashanth684 Prashanth684 commented Jun 14, 2021

As part of supporting Power Virtual server as a platform (coreos/fedora-coreos-tracker#817), Afterburn will be used to set the hostname attributes and possibly the ssh-keys.

This provider is very similar to the IBMCloud classic provider with the exception of the filesystem for the config drive which is iso9660 similar to Openstack. The contents of the config drive are usually the meta_data.json and the network_data.json. This provider includes support for:

  • hostname
  • ssh keys

@Prashanth684
Copy link
Copy Markdown
Contributor Author

/cc @lucab @bgilbert

Comment thread src/metadata.rs Outdated
Comment thread src/providers/powervs/mod.rs Outdated
Comment thread src/providers/powervs/mod.rs
Comment thread src/providers/powervs/mod.rs Outdated
Copy link
Copy Markdown
Contributor

@bgilbert bgilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. @lucab, do you have any concerns?

@lucab
Copy link
Copy Markdown
Contributor

lucab commented Jun 17, 2021

I have some slight confusion related to this:

This provider includes support for:

  • network interfaces

But at coreos/fedora-coreos-tracker#817 it says:

How can the OS retrieve network configuration? Is DHCP sufficient, or is there some other network-accessible metadata service?
DHCP. But let me also confirm if any additional config is required.

How does networking on this platform actually work?

@Prashanth684
Copy link
Copy Markdown
Contributor Author

I have some slight confusion related to this:

This provider includes support for:

  • network interfaces

But at coreos/fedora-coreos-tracker#817 it says:

How can the OS retrieve network configuration? Is DHCP sufficient, or is there some other network-accessible metadata service?
DHCP. But let me also confirm if any additional config is required.

How does networking on this platform actually work?

So for a little context on this - Power VS as of today has only static networking support. As part of developing support for Openshift [1] , the IBM team is working on a DHCP solution. The idea is that when productizing the platform (especially for IPI deployments), DHCP is a hard requirement and is needed. But in the meantime, the team could also use static networking to test other bits. This might not be used in the final product but PowerVS does support configuring networks through the config drive data.

[1] openshift/enhancements#736

@Prashanth684
Copy link
Copy Markdown
Contributor Author

I have some slight confusion related to this:

This provider includes support for:

  • network interfaces

But at coreos/fedora-coreos-tracker#817 it says:

How can the OS retrieve network configuration? Is DHCP sufficient, or is there some other network-accessible metadata service?
DHCP. But let me also confirm if any additional config is required.

How does networking on this platform actually work?

So for a little context on this - Power VS as of today has only static networking support. As part of developing support for Openshift [1] , the IBM team is working on a DHCP solution. The idea is that when productizing the platform (especially for IPI deployments), DHCP is a hard requirement and is needed. But in the meantime, the team could also use static networking to test other bits. This might not be used in the final product but PowerVS does support configuring networks through the config drive data.

[1] openshift/enhancements#736

@lucab does this provide sufficient clarity ?

@bgilbert
Copy link
Copy Markdown
Contributor

But in the meantime, the team could also use static networking to test other bits. This might not be used in the final product but PowerVS does support configuring networks through the config drive data.

I think it's okay to hook up the network metadata inside Afterburn, but it won't actually help on RHCOS. Afterburn only knows how to configure the network via systemd-networkd, not via NetworkManager, so RHCOS doesn't use this piece of Afterburn functionality.

@Prashanth684
Copy link
Copy Markdown
Contributor Author

But in the meantime, the team could also use static networking to test other bits. This might not be used in the final product but PowerVS does support configuring networks through the config drive data.

I think it's okay to hook up the network metadata inside Afterburn, but it won't actually help on RHCOS. Afterburn only knows how to configure the network via systemd-networkd, not via NetworkManager, so RHCOS doesn't use this piece of Afterburn functionality.

Ok. On further discussions with the IBM team - the plan is to read the data from network_data.json and convert the data to network kargs which will then be read by dracut-cmdline. this will be used while a plan will be developed for DHCP in the long term. does that sound like a reasonable approach ?

@bgilbert
Copy link
Copy Markdown
Contributor

Is the idea still to use static networking during development, but to ship with DHCP support? I'm not sure it makes sense to add kargs support to Afterburn solely for a temporary use case not intended for production deployments. One hacky option is to write out a networkd config, and then have a shell script in the initrd convert it to kargs.

As part of supporting Power Virtual server as a platform (coreos/fedora-coreos-tracker#817), Afterburn will be used to set the hostname attributes and possibly the ssh-keys.

This provider is very similar to the IBMCloud classic provider with the exception of the filesystem for the config drive which is `iso9660` similar to Openstack. The contents of the config drive are usually the meta_data.json and the network_data.json. This provider includes support for:
- hostname
- ssh keys
@Prashanth684
Copy link
Copy Markdown
Contributor Author

Is the idea still to use static networking during development, but to ship with DHCP support? I'm not sure it makes sense to add kargs support to Afterburn solely for a temporary use case not intended for production deployments. One hacky option is to write out a networkd config, and then have a shell script in the initrd convert it to kargs.

Ok. so i've dropped the static networking support as the plan is to go with DHCP. if things change later , we can always look to adding static support at a later time.

@Prashanth684
Copy link
Copy Markdown
Contributor Author

@bgilbert ok to merge?

Copy link
Copy Markdown
Contributor

@bgilbert bgilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Prashanth684
Copy link
Copy Markdown
Contributor Author

LGTM

thanks! can this be merged please?

@bgilbert bgilbert merged commit 72aeab4 into coreos:main Jul 20, 2021
Prashanth684 added a commit to Prashanth684/machine-config-operator that referenced this pull request Oct 21, 2021
Enable Power VS(Virtual Servers) as a platform. PowerVS is an extension of IBMCloud which supports deploying ppc64le VMs.
Details here: openshift/enhancements#736

The hostname for the VMs are set through afterburn which reads the metadata provided through the config drive which is the primary mechanism through which ignition and hostname are provided.
(coreos/afterburn#592)

Cross referencing some other PRs for completeness:
openshift/installer#5270
openshift/installer#5224 (closed, WIP to split into multiple PRs)

ova images for PowerVS are already generated today:
coreos/coreos-assembler#2200
coreos/coreos-assembler#2361
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants