Hosted-cloud-scaleway - IPAM details

Hello,

i’ve been working on scaleway integration and today i tried your IPAM module for scaleway,

and for me it’s quite unclear how to use it to obtain IP using scw IPAM ,

no the less it seems to be outdated,

`mardi 16 septembre 2025 17:52:00 +0200 (0:00:00.022) 0:00:27.048 *******
failed: [fe] (item=[‘vlan’, 0]) => changed=true
ansible_loop_var: item
cmd: |-
set +o errexit -o pipefail
TEMPLATE=“$(mktemp)”
tee “$TEMPLATE”
cat “$TEMPLATE” | onevnet addar ‘vlan’ “$TEMPLATE”; RC=“$?”
rm -f “$TEMPLATE”
exit “$RC”
delta: ‘0:00:00.631508’
end: ‘2025-09-16 15:52:01.197756’
item:

  • vlan
  • 0
    msg: non-zero return code
    rc: 255
    start: ‘2025-09-16 15:52:00.566248’
    stderr: ‘[one.vn.add_ar] internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb:86:in require'': cannot load such file -- oneprovision (LoadError)from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:86:in require’‘from /usr/share/one/gems-dist/gems/polyglot-0.3.5/lib/polyglot.rb:65:in require''from /var/lib/one/remotes/ipam/scaleway/register_address_range:92:in ’‘’
    stderr_lines:
    stdout: AR=[GATEWAY=“10.16.0.1”,IPAM_MAD=“scaleway”,PROVISION_ID=“1874”,SIZE=“200”,TYPE=“IP4”]
    stdout_lines: `

i guess i missing some arguments like secrets for scw cli (could that be workaarounded with a scw profile on oneadmin home ?) ,

regards.

Hello @Florent_Delrieu , thanks for posting in the forum!

The error message you are getting suggests there is an issue with OneProvision. Have you installed OneProvision? Can you share what version of OpenNebula you are currently using?

I think it would also be helpful if you could briefly describe what process you are following to obtain the IP.

Best regards

Hello @amosteiro ,
I’m working on GitHub - OpenNebula/hosted-cloud-scaleway ,

Yes i’m using oneprovision,

and i’m currently failing to pass onevalidation as it requieres to setup NIC on vms,

at this point i wanted to details on one/src/ipamm_mad/remotes/scaleway/register_address_range at master · OpenNebula/one · GitHub

and how to use it, i expect when assigning a NIC to a vnet in opennebula to call this driver and get a new NIC in the vnet,

version is 7.0.0

regards.

Hello,

Thanks for reaching out and for digging into the source code!

You’ve correctly identified that the IPAM driver for Scaleway in the 7.0.0 source is not yet ready for production use.

The Current Situation

The issue is that the driver has a dependency on oneprovision, a component that was removed in version 7.0.0. As you discovered, this driver is not yet documented or officially included in the 7.0.0 release, as it’s still considered a work in progress.

For that reason, we strongly recommend not using the current IPAM driver for your Scaleway integration at this time.

The Path Forward

We are planning to release an updated and officially supported version of the Scaleway IPAM driver, which will align with the introduction of our new tool to replace oneprovision.

Since you are already familiar with the code and your specific Terraform setup, we encourage you to use it for your integration. Push it to the GitHub - OpenNebula/hosted-cloud-scaleway repo and modify it to meet your use-case.

Thanks again for bringing this to our attention! Let us know if you have any other questions.

Re,

For the project our milestone is to validate one validation,

is one validation 7.0.0-compliant ?

Also i might need help for the design if i have to place/develop some kind of just in time NIC attaching script,

regards.

Hi @Florent_Delrieu ,

Yes, we are testing the one-deploy-validation scripts with 7.0.0. This issue you have raised is not a problem due to this.

The feature that we would like to test with the one-deploy-validation is that the VMs are able to get public IPs assigned. This is important otherwise applications deployed in the OpenNebula VMs cant be exposed publicly. It seems in your case in Scaleway this requires integration with the platform to book the IP range. This task is addressed by the IPAM drivers.

Similar to how we approach this in the IONOS example, as a starting point, instead of dynamically allocating the IP range on-demand, maybe we could manually allocate the public IP range. Do you think that is an option in Scaleway? After we have the IP range booked, is there anything to be done to route the traffic to the VM that gets an IP from the pre-booked range? If yes, this is addressed by the VNET driver’s “pre” and “clean” driver actions: Networking Driver |
In the IONOS example we have implemented these same drivers to set up the routing in the cloud platform for those IPs: hosted-cloud-ionos/roles/one-driver/templates/vnm/bridge at master · OpenNebula/hosted-cloud-ionos · GitHub