Skip to content

feat: Add Ionos Cloud node driver support #2050

@matttrach

Description

@matttrach

This is the tracking issue for #1633

Please add labels indicating the release versions eg. 'release/v13'

Please add comments for user issues which this issue addresses.

Description copied from PR:

Problem

Ionos Cloud is yet another cloud provider, it is lucrative performance and price-wise, therefore deploying RKE2 clusters with their written node driver would be really great.

Solution

  • Added support for ionoscloud_config in rancher2_machine_config_v2
  • Added support for ionoscloud_credential_config in rancher2_cloud_credential
  • Added support for add_cluster_credential in rancher2_node_driver (Ionoscloud's driver is adding its credential support upon installation)
  • Updated credential config, machine config and node driver documentation

Testing

Engineering Testing

Manual Testing

  • Machine config was tested by creating configs and RKE2 clusters with various setups.

Automated Testing

  • Where examples are present - added the same type of tests (cloud credential)

QA Testing Considerations

N/A

Regressions Considerations

N/A

Notes

  • Ionoscloud credential/machine configs accept either username + password or token fields, so technically one is optional if another is present (thus required). I am not sure how to correctly label what is optional and what is required in such case. Please advise
  • Node drivers created via terraform have auto-generated ids. This is a definite issue when drivers activation is attempted during cloud credential and node pool creation. I have tried several approaches, with exclusions and/or node driver fetching by name if by id fails, but it all still blows somewhere downstream when cluster node pools are created. Therefore the only way to make it work is to create node driver by kubectl apply, which forces required id and then it correctly matches the defined const ionoscloudConfigDriver for all required credential/cluster operations. Would be nice to be able to set the id from terraform, but i do get why its not settable, as same nodedriver can be installed multiple times (for whatever reason). However it would still be nice to force the id from terraform when required. Any thoughts on this?

Kind regards

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    internal/trackingThis is an issue tracking release of a PR across multiple verisonsrelease/v14Targets release v14.x correlating to Rancher's v2.14.x

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions