The VMware Cloud Director integration is included by default into the OnApp installer. Perform the following steps to install the Cloud Director:

As initial import of VMware Cloud Director into OnApp might take a considerable amount of time, you may consider increasing the Idle session timeout parameter in the VMware Cloud Director at Administration > General, to avoid the possible import failure.

You may also check the Versions Compatibility to see which OnApp and vCloud versions are compatible. 

RabbitMQ And OnApp Control Panel Connection

OnApp VCD integration requires the use of RabbitMQ to keep VCD and OnApp synchronized. If you plan using the RabbitMQ server installed by OnApp by default, there is no need for additional configuration in OnApp Control Panel. Though, it is required that you edit the AMQP settings in VCD.

To specify RabbitMQ settings in VCD:

  1. Go to your OnApp Control Panel server.
  2. Open the /onapp/interface/config/on_app.yml file.
  3. Find the RabbitMQ parameters:
    • rabbitmq_login
    • rabbitmq_password
    • rabbitmq_vhost
    • rabbitmq_host - make sure it is reachable by VMware Cloud Director
  4. Edit your AMQP settings in VCD with the RabbitMQ details found at step 3:
    1. Navigate to the Administration tab of your System Organization, expand System Settings, and select Extensibility.
    2. Click Enable Notifications.
    3. Add the details from OnApp.
    4. Specify your VMware Cloud Director AMQP Exchange name that you should later use in the corresponding AMQP Exchange Name box while creating compute resources in OnApp.

If you are running your own RabbitMQ server, it is required that you add the RabbitMQ details through the OnApp Control Panel.

To specify RabbitMQ settings in OnApp Control Panel:

If you want to use a separate RabbitMQ instance for VMware Cloud Director, specify the following VMware Cloud Director RabbitMQ parameters in the /onapp/configuration/rabbit_mq/vcloud/credentials.yml file:

  • :host: - RabbitMQ server IP address
  • :port: - RabbitMQ port
  • :vhost: - the name of the "virtual host" (or vhost) that specifies the namespace for entities (exchanges and queues) referred to by the protocol. Note that this is not virtual hosting in the HTTP sense.
  • :user: - RabbitMQ login
  • :password: - RabbitMQ password

If you want to use the same Rabbit MQ instance both for VMware Cloud Director and OnApp engine:

  1. Go to your Control Panel's Settings menu, and click the Configuration icon.
  2. Click the System tab to change the following application settings:

    • Host - RabbitMQ server IP address

    • Virtual Host - the name of the "virtual host" (or vhost) that specifies the namespace for entities (exchanges and queues) referred to by the protocol. Note that this is not virtual hosting in the HTTP sense.

    • Login - RabbitMQ login
    • Password - RabbitMQ password

You have to restart OnApp daemon after changing RabbitMQ credentials.

Import of VMware Cloud Director Resources into OnApp

Before you start

  • Your VCD should be v10.1 or later.

  • VCD public addresses should be configured properly.

  • All VCD users should have a valid and unique email and First and Last name assigned inside of vCloud Director. Otherwise, they won’t be imported.

  • Currently fast-provisioned virtual datacenters are not supported for vApp provisioning.

  • VCD users should be assigned one of the default or custom VMware Cloud Director roles.

  • vApps that have “system” owner will be imported under "System Owner" in OnApp.
  • Any system user will not be imported. OnApp will only import organization users.
  • VSs currently cannot be connected to network during provisioning.

  • VS passwords are not imported into OnApp.

  • VMware Cloud Director system admins are not imported into OnApp and all management tasks are performed via the VMware Cloud Director web interface.

  • VMware Cloud Director compute resource passwords are encrypted by default.


To import your VMware Cloud Director resources into OnApp:

  1. Log in to OnApp CP as an administrator.
  2. Set Rabbit MQ credentials for the OnApp CP and your VMware Cloud Director.

  3. Create a compute zone in which the VMware Cloud Director compute resource will reside.

    To create a compute zone:

    1. Go to your Control Panel's Settings menu and click the Compute Zones icon.
    2. Press "+" or click the Add New Compute Zone button.
    3. On the screen that follows:
      1. Label - give your compute zone a name
      2. Server type - select a type for your zone. For VMware Cloud Director compute zones select the Virtual Private Cloud type.
      3. Location group - select the location group to which this Compute zone will be assigned
      4. Failover timeout - set the time period for which the iterations will run during the failover if the compute resource does not respond

    4.  Click the Save button.

  4. Create a compute resource of a vcloud type and specify VMware Cloud Director global system admin credentials and API URL of your VMware Cloud Director. 

    When importing VCD resources you can choose whether you wish your users to be associated with one or several VMware Cloud Director instances. If you wish your users to have access to multiple VMware Cloud Director instances, you can set up several organizations from different VCD instances to be associated in OnApp with a single user group and have access to resources across multiple VCD instances.

    • single vCloud Director mode - all resources are imported from the VCD instance. Each organization is imported as a separate user group which can be associated with one VCD instance.
    • multiple vCloud Director mode - only system level entities are imported (provider VDCs, external networks, etc.). Organizations are imported but are empty, i.e. do not contain resources and users. After the initial import you can select which organization you wish to import and associate with a certain user group. Users imported in this mode can be configured to have access to multiple VCD instances.

    To create a compute resource:

    1. Go to your Control Panel Settings menu.
    2. Click the Compute Resources icon.
    3. Press + button or click the Add New Compute Resource button underneath the list of compute resources on the screen.
    4. On the screen that appears:
      • Label - enter a compute resource name.
      • Compute resource type - choose a compute resource type. Select vcloud.
      • Compute zone - select the compute zone you added on Step 3.
      • Operation mode - select whether you wish to import the zone in the single or multiple VMware Cloud Director mode. If you select the multiple VMware Cloud Director, you need to later import the resources of an organization and its users.
      • Login - specify the VMware Cloud Director system admin login
      • Password - specify the VMware Cloud Director system admin password

      • API URL - set the VMware Cloud Director API URL - e.g.

      • AMQP Exchange Name - specify your VMware Cloud Director AMQP exchange name (this can be taken in your VMware Cloud Director instance Extensibility > Settings > Exchange )

    5. Click the Save button. The compute resource will be added to the system and the import will start automatically.

    You can later switch from single VMware Cloud Director mode to the multiple VMware Cloud Director mode if required. In this case, the new organizations will no longer be syncronized from VCD to OnApp. It will be required to import each new organization.

    You cannot switch from multiple to single VMware Cloud Director mode.

  5. The import will start automatically. After the transaction is successfully completed, all your VMware Cloud Director resources will be shown in OnApp. You can view log output of transaction Import vCloud to Control Panel for more import details.

  6. Import the users and resources of the required organization. This step is only applicable if you have selected the multiple VMware Cloud Director mode for your compute resource in step 4.
    1. Go to Control Panel > Settings > Compute Resources > Label.
    2. The page that loads shows the details of your VCD compute resource. Click Tools and select Import Organization from vCloud.
    3. Move the Import slider to the right next to the organization(s) you wish to import.
    4. Select a user group to which you wish to assign the organization in the Assign to User Group field. If you do not select a user group but enable the Import slider, a new user group will be created for this organization. If you select a user group that is already associated with one or several organizations, the users from the new organization will be created in the already present organizations and the users from the already present organizations will be created in the new user group.
    5. Click Submit to import the organizations.

After adding/deleting vCloud compute resource you need to restart OnApp service on the Control Panel for the correct statistics gathering and resources synchronization. 

To view the status of a current import or resync task:

SSH into your OnApp Control Panel server and run the following command: 

# tail -f /onapp/interface/log/production_vcloud.log

Please note if the import has never run before, then the production_vcloud.log file will not exist. Please re-run the command once the import has been started.

When importing a new vCloud instance you may run into some issues. 

Error: 404 Resource Not Found

Initialize Fatal: ('404 Resource Not Found')


Please ensure that the API URL you enter matches the "vCloud Director secure public REST API base URL" within VMware Cloud Director.


This error occurs if the URL entered is not correct.  

Error: 401 Unauthorized
Initialize Fatal: ('401 Unauthorized')


Please check the username and password that you have entered are correct.


This error occurs if there is an authentication issue when logging in to your vCloud instance.  

Error: 302 Found

Initialize Fatal: ('302 Found')


Please confirm you are using https:// and try the import again.


This error often occurs if you are trying to use http:// rather than https:// on your VCD API URL. 

If you notice any other issues while running the import, please create a support ticket.

To use a command-line tool for monitoring a RabbitMQ server:

1. Run the special service:

service onapp-mq-trace status / start / stop / restart / log


status - show the running service status
start / stop - start or stop
restart - stop (if stopped) and start again 
log - show log of tracer in tail -f mode(the service must be running)

2. /onapp/utilities/mq-tracer/trace.logfile will be truncated every time during the service start. Before starting to use this service, set up connection credentials for the RabbitMQ server at /onapp/utilities/mq-tracer/config.yml (copy from/onapp/interface/config/on_app.yml):

rabbitmq_login: guest 
rabbitmq_password: guest 
rabbitmq_vhost: "/" 
rabbitmq_port: 5662 
log_verbosity_level: 2


log_verbosity_level - can be 1 (minimal), 2 (most informative), or 3 (debug)
1 - message body
2 - body + properties
3 - body + properties + delivery_info

You can find log files at /onapp/utilities/mq-tracer/ :
trace.log - the trace log (the same information that the service onapp-mq-trace log gives)
util.log - error logs of the tool itself

The following step is no longer needed if you have the 4.2.0-127 (or higher) OnApp update installed.

3. If the RabbitMQ server runs on a separate host, enable the debug mode on it manually using the following command in that host:

rabbitmqctl trace_on