Support Utilities (EE)

Important

This feature is available only in OpenNebula Enterprise Edition.

OpenNebula provides customers with means to generate diagnostic bundles with all details necessary to handle the support cases. It covers:

  • Gathering the configuration state of operating system and services on the Front-end and nodes.
  • Inspecting OpenNebula configuration, the state and metadata of VMs, Hosts, Virtual Networks, etc.
  • Dumping OpenNebula database.
  • Scanning vCenter user permissions.

There are two specialized tools contained in the OpenNebula server package:

Generate Support Bundle

If there are no special requirements, the support diagnostic bundle can be generated just by running onesupport on the Front-end without any extra parameters. The command must be running under privileged user (directly by root or via sudo). For example:

sudo onesupport

The command generates a diagnostic bundle archive and puts it into /tmp/. The precise file location is shown at the end of the terminal output, e.g.:

Diagnostic archive: /tmp/onesupport.HNpsTCQSb.tar.xz

Please attach this file to the support ticket.

Important

For most support issues it’s enough to provide just a limited support bundle with Front-end only specific information and without database dumps. The limited bundle can be generated by running:

sudo onesupport frontend nodb

The tool prints all actions, based on which you can decide if you want to provide such a bundle to the support team. Here’s an example of a full output:

$ sudo onesupport
    ___  _ __   ___
   / _ \| '_ \ / _ \
  | (_) | | | |  __/     OpenNebula Support Tool
   \___/|_| |_|\___|

 ------------------------------------------------------
 Group: all
 - with conf: true
 - with logs: true
 - with DB:   true

Get OS distribution
Get current user
Get user "oneadmin"
Get installed packages
Get kernel version
Get security settings
Get memory/swap
Get Ruby version and Gems
Get CPU information
Get system services
Get process list
Get kernel runtime parameters (sysctl)
Get mounts
Detect web server
Get OpenNebula version
Get OpenNebula running processes
Detect changes in OpenNebula packages
Get OpenNebula database information
Get OpenNebula hosts
Get OpenNebula logs
Get system logs
Dump OpenNebula database
Get OpenNebula configuration
Get OpenNebula remotes
Dump OpenNebula objects
  - hosts
  - vnets
  - datastores
  - clusters
  - images
  - templates
  - ACLs
  - VDCs
  - OneFlow templates
Dump OpenNebula instance objects
  - VMs
  - OneFlow instances
Get web server configuration
Inspecting the OpenNebula hosts
  - KVM host localhost (oneadmin with oneadmin's key)
[localhost] Get OS distribution
[localhost] Get current user
[localhost] Get user "oneadmin"
[localhost] Get installed packages
[localhost] Get kernel version
[localhost] Get security settings
[localhost] Get memory/swap
[localhost] Get Ruby version and Gems
[localhost] Get CPU information
[localhost] Get system services
[localhost] Get process list
[localhost] Get kernel runtime parameters (sysctl)
[localhost] Get mounts
[localhost] Get IP/bridge runtime config.
[localhost] Get firewall config
[localhost] Get Open vSwitch runtime config.
[localhost] Detect libvirt
[localhost] Get libvirt domains list
[localhost] Get libvirt domains XML and screenshots
[localhost] Get libvirt configuration
[localhost] Get system logs

Diagnostic archive: /tmp/onesupport.HNpsTCQSb.tar.xz

Advanced Usage

The purpose of the onesupport tool is to gather as much information as possible about the environment so that OpenNebula’s customer care can give more accurate and faster responses. The usage is very simple and there are only a few configuration options. There are brief descriptions of all of them available via argument --help.

sudo onesupport --help
onesupport [host types] [dump types]

Host types:
  all           ... start on frontend and inspect all hosts (default)
  frontend      ... gather only frontend specific data
  host          ... gather only KVM host specific data

Dump types:
  nodb, db      ... (don't) dump database (ONE)
  noconf, conf  ... (don't) dump configuration (ONE, libvirt, Apache/NGINX)
  nologs, logs  ... (don't) dump logs (ONE and system logs)

There are two types of arguments to specify:

  • host type
  • dump type

Host Types

What data is gathered depends mainly on the type of host we are running the tool on. Each host type gets the same common data (operating system, hardware, memory, installed software packages, system services, mounts, logs etc.) and differs only in data specific to the type.

Available options are:

Option Main Subject
frontend OpenNebula Front-end services configuration and state, database dump, various entities (e.g., VMs).
host Hypervisor services (libvirt, KVM) and network configuration.
all Combination of frontend mode and host mode. It starts with Front-end specific data and connects to each virtualization host to get Host-specific data. This mode is the default.
Examples

Simple run gathers all information (runs are equivalent):

sudo onesupport
sudo onesupport all

Get only Front-end specific data (must run on Front-end):

sudo onesupport frontend

Get only host-specific data (must run on hypervizor Node):

sudo onesupport host

Dump Types

The level of detail contained in the gathered data can be adjusted by dump type parameters. The following types are supported:

Option Description
db, nodb Enable/disable database dumps.
conf, noconf Enable/disable bundling of configuration files.
logs, nologs Enable/disable bundling of logs.

All dump types are enabled by default (db conf logs), but can be selectively disabled with negative options nodb, noconf and/or nologs.

Important

If positive dump types (db, conf, logs) are used on the command line, only the specified types are gathered and no other ones.

If negative dump types (nodb, noconf, nologs) are used, these types are excluded from the support bundle. All the remaining types are included.

Examples

A simple run gathers all information (these runs are equivalent):

sudo onesupport
sudo onesupport db conf logs

Get support bundle without any database dumps and logs:

sudo onesupport nodb nologs

Get support bundle with database dump, but no logs and configurations:

sudo onesupport db

Dump types and host types parameters can be combined

sudo onesupport frontend nodb

Scan vCenter Permissions

When you are using OpenNebula cloud to manage vCenter infrastructure, it might also be necessary to know details about the permissions configuration inside vCenter. This is automatically retrieved during the support bundle preparation but can be scanned separately at any time (e.g., in case the automatic run fails).

The dedicated tool onesupport_vcenter_privs is used to gather permissions configuration.

Important

The tool connects directly to your vCenter instance and must be provided with connection parameters.

Syntax:

onesupport_vcenter_privs
Usage: onesupport_vcenter_privs [arguments]

Mandatory arguments:
  --host=name       .... vCenter hostname
  --user=name       .... vCenter login user name
  --password=text   .... vCenter password
  --check-user=name .... vCenter user for OpenNebula to check

Example run:

onesupport_vcenter_privs --host=vcenter.localdomain \
    --user=administrator@vsphere.local --password=TopSecretPassword \
    --check-user=oneadmin@vsphere.local

The result is printed on the terminal (standard output). It can be redirected to the file or just copied and pasted in the support ticket.