Managing Providers

In OneForm, Providers are created using Provider drivers for on-premise hardware or 3rd-party cloud/bare-metal services such as AWS, Scaleway and Equinix. Use the oneform CLI tool to manage your cloud infrastructure instance and configuration.

With this guide, you will understand how the drivers and Providers and Provisions relate by:

  • Enabling and disabling cloud drivers.
  • Managing access controls

Enabling a OneForm Driver

To use a new cloud driver, enable it using the oneform enable command. This validates all the information about the driver and allows users to create Providers and Provisions based on the driver.

oneform enable <driver_name>

After running the command, you will see that all the driver templates are created and stored in OpenNebula’s database.

Additional Drivers

Only the onprem driver is included by default in a fresh OpenNebula installation with OneForm. To install and enable other drivers, such as aws, equinix and scaleway, you need to clone the OneForm Registry repository onto the OpenNebula Front-end with the following commands as the oneadmin user:

git -C /var/lib/one/oneform/drivers clone https://github.com/OpenNebula/oneform-registry.git

Then synchronize oneform:

oneform sync

After completing these commands, additional drivers will be available. Run oneform list to see all available drivers.

If you wish to develop and enable custom drivers, refer to the Provider Development Guide for step-by-step instructions.

Disabling a OneForm Driver

To disable a driver in OpenNebula, use the oneform disable command:

oneform disable <driver_name>

Managing Access Controls

To manage access control for the Provider and Provision associated with the driver, execute the the following commands:

  • Changing permissions

    oneprovider chmod <provider_id> <octet>
    oneprovision chmod <provision_id> <octet>
    
  • Changing owners

    oneprovider chown <provider_id> <user_id> (<group_id>)
    oneprovision chown <provision_id> <user_id> (<group_id>)
    
  • Changing groups

    oneprovider chgrp <provider_id> <group_id>
    oneprovision chgrp <provision_id> <group_id>