Feature #33489
open[RFE] IBM Cloud Compute Resource Plugin
Description
This is an RFE to develop an IBM cloud Foreman compute resource plugin. There are a few open libraries already like python3-softlayer and softlayer-ruby which could be good integration vehicles.
We (RH Performance/Scale Engineering) currently have an initiative to abstract hybrid cloud workloads out to IBM cloud through QUADS0 (which is our scheduling/provisioning automation framework for R&D Perf/Scale Labs) and manage them the same way we manage local, bare-metal systems that are seamless to tenants. Ideally, we'd utilize the excellent compute resource functionality that Foreman offers because it does this job very well.
We have IBM cloud accounts and compute time we can share with Foreman development folks, as well as a large amount of internal, bare-metal R&D systems to help further any development of native Foreman compute resource IBM cloud functionality that could be developed.
Recently we started exploring and chipping away on IBM Cloud
integration using the Softlayer1 Python library (python3-softlayer)
with QUADS which powers all of our shared R&D labs and consumes Foreman extensively for all lifecycle management.
Right now we are tracking a multi-focused endeavor around this for
QUADS on Github2, mainly first looking to build a plugin/provider
using the Softlayer libary with QUADS but we'd really love to see what
the possibilities are here with Foreman handling this at the compute
resource level like it does today with AWS, GCE, oVirt and others.
[0] - https://github.com/redhat-performance/quads
- https://quads.dev/
[1] - https://pypi.org/project/SoftLayer/
[2] - https://github.com/redhat-performance/quads/issues/354
- https://review.gerrithub.io/c/redhat-performance/quads/+/522359
Updated by Lukas Zapletal over 3 years ago
Hello,
generally, we are trying to limit amount of compute resources in Foreman and focus more on bare-metal and virtualization because we believe this is our unique feature and there are many ways of integrating with clouds (Terraform, Ansible, CLI/API).
Having said that, Foreman is heavily built on Ruby Fog library which is an abstraction layer that allows us to build compute resources quite quickly. Luckily, there is an existing library: https://github.com/fog/fog-softlayer that could do, however, it seems not very active (no commits for the past of three years). If you could test the library against your cloud resources and ensure it works fine if there are issues, then developing a new compute resource plugin should not be very hard.
I do not want to make promises here, but I think we could find resources to do that. Assuming you would provide us with a small account for development and testing purposes. Cheers!
Updated by Marek Hulán over 3 years ago
Will as suggested in our side conversation, we'd be very happy to help with giving you pointers, reviews etc. Take a look at the https://github.com/jstuart/foreman-softlayer, it could probably be used as a solid base. Most likely it's currently broken due to the fog 2.0 changed the namespaces organization.