Compatibility Guide 3.2

This guide is aimed at OpenNebula 3.0 users and administrators who want to upgrade to the latest 3.2 version. The following sections summarize the new features and usage changes that should be taken into account, or prone to cause confusion.

Visit the Features list and the Release Notes for a comprehensive list of what's new in OpenNebula 3.2.

inlinetoc

OpenNebula Administrators and Users

Configuration and Administration

  • The command onedb in previous versions read the connection parameters from oned.conf. Now these parameters have to be supplied with the command line options. E.g. “onedb version -v –sqlite /var/lib/one/one.db”.
  • The scheduler now has a configuration file, /etc/one/sched.conf. Use the new sched.conf interface to globally define policies for the VMs. Oneadmin group can use custom policies (RANKs) on a VM-basis.
  • The networking hooks have been redesigned as Host drivers. This new set of drivers allows Virtual Network isolation. Administrators can manage which Virtual Networks must be isolated with the new VLAN attribute. Read more in the Networking Subsystem documentation.
  • The ACL rules now have a smaller set of operations: USE, MANAGE, ADMIN and CREATE.
  • VMware drivers fully integrated
    • /etc/one/vmwarerc is in yaml format
    • No need to setup sudo permission for oneadmin
    • Support for vMotion and CONTEXT

User Management

  • Users have a new attribute, AUTH_DRIVER. It can be changed with the new oneuser chauth command.
  • The character ':' is now allowed in passwords
  • oned.conf has a new attribute, SESSION_EXPIRATION_TIME: Time in seconds to keep an authenticated token as valid. It is used to avoid calling the authentication drivers for each call.
  • There is a new administrative OpenNebula user, named 'serveradmin'. It is created by the core at bootstrap, or by the onedb upgrade command. This user is used by the Sunstone, OCCI and EC2 servers to interact with OpenNebula. You will also find three new configuration files in /var/lib/one/.one/. For more information, read the External Auth. and Cloud Services Authentication documentation.
  • Users now have a TEMPLATE to hold any arbitrary data. This User metadata can be used in the CONTEXT section of VMs, see the User management documentation for more information.
  • Users with 'public' driver, with just access to the cloud APIs. See here for more details

Resource Management

  • There are new permissions associated to each resources of type VM, NET, IMAGE or TEMPLATE. These permissions allow the same rights as the ACL rules: USE, MANAGE, ADMIN for the owner, group, and others. These permissions can be updated with the new chmod command.
  • Sharing with others is enabled by default. You can restrict your users to be able to set only permissions for the owner and group using the new oned.conf attribute, ENABLE_OTHER_PERMISSIONS.
  • There are restricted attributes for Virtual Machines, available only for users in the 'oneadmin' group:
    • CONTEXT/FILES
    • DISK/SOURCE
    • NIC/MAC
    • NIC/VLAN_ID
    • RANK
  • There are restricted attributes for Images, available only for users in the 'oneadmin' group:
    • SOURCE
  • There is a new reboot action for Virtual Machines.
  • You can now set a list of restricted and safe directories to use as the SOURCE path of new Images. Read more in the Image Repository configuration.
  • The name of resources has been limited to a maximum of 128 characters.
  • Users can reference Images and Networks by name in VM templates. This is the syntax to use:
# use image with ID 23
DISK = [ IMAGE_ID     = 23 ]
 
# use the Image named ubuntu, owned by the user named oneadmin.
DISK = [ IMAGE        = "Ubuntu",
         IMAGE_UNAME  = "oneadmin" ]
 
# use the ubuntu Image owned by user with ID 7.
DISK = [ IMAGE        = "Ubuntu",
         IMAGE_UID    = 7 ]
 
# use the ubuntu Image owned by the user instantiating the VM.
DISK = [ IMAGE        = "Ubuntu" ]
  • Leases of Virtual Networks can be put “on hold”, temporarily setting them as “used” by no particular VM. Read more about the onevnet hold/release commands here.
  • The RANGED type Virtual Networks can be defined in a more flexible way. The definition files for OpenNebula 3.0 are compatible. For example, CIDR notation is supported:
NETWORK_ADDRESS = 192.168.30.0/28
  • The PUBLIC flag is no longer used. Instead, objects have owner,group and other permissions, which can be updated with the chmod command. A small example:

<xterm> $ onetemplate show 8 TEMPLATE 8 INFORMATION […]

PERMISSIONS OWNER : um- GROUP : — OTHER : —

$ onetemplate chmod 8 640

$ onetemplate show 8 TEMPLATE 8 INFORMATION […]

PERMISSIONS OWNER : um- GROUP : u– OTHER : — </xterm>

Command Line Interface

Public Clouds

Developers and Integrators