Configure VMware Cloud Director Integration
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:
- Go to your OnApp Control Panel server.
- Open the
/onapp/interface/config/on_app.yml
file. - Find the RabbitMQ parameters:
rabbitmq_login
rabbitmq_password
rabbitmq_vhost
rabbitmq_host
- make sure it is reachable by VMware Cloud Director
- Edit your AMQP settings in VCD with the RabbitMQ details found at step 3:
- Navigate to the Administration tab of your System Organization, expand System Settings, and select Extensibility.
- Click Enable Notifications.
- Add the details from OnApp.
- 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.
- You can use the Shovel plugin to reliably and continually move messages from your own RabbitMQ instance to the OnApp's RabbitMQ instance. For more information refer to Using the Shovel plugin with RabbitMQ for VMware Cloud Director.
- Remember that
rabbitmq_host
must be reachable by VMware Cloud Director.
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:
- Go to your Control Panel's Settings menu, and click the Configuration icon.
Click the System tab to change the following application settings:
RabbitMQHost - 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 email, or else 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.
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.
Import
To import your VMware Cloud Director resources into OnApp:
- Log in to OnApp CP as an administrator.
Set Rabbit MQ credentials for the OnApp CP and your VMware Cloud Director.
Create a compute zone in which the VMware Cloud Director compute resource will reside.
To create a compute zone:
- Go to your Control Panel's Settings menu and click the Compute Zones icon.
- Press "+" or click the Add New Compute Zone button.
- On the screen that follows:
- Label - give your compute zone a name
- Server type - select a type for your zone. For VMware Cloud Director compute zones select the Virtual Private Cloud type.
- Location group - select the location group to which this Compute zone will be assigned
Failover timeout - set the time period for which the iterations will run during the failover if the compute resource does not respond
- Click the Save button.
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:
- Go to your Control Panel Settings menu.
- Click the Compute Resources icon.
- Press + button or click the Add New Compute Resource button underneath the list of compute resources on the screen.
- 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. https://example.com
AMQP Exchange Name - specify your VMware Cloud Director AMQP exchange name (this can be taken in your VMware Cloud Director instance Extensibility > Settings > Exchange )
- 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.
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.
- 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.
- Go to Control Panel > Settings > Compute Resources > Label.
- The page that loads shows the details of your VCD compute resource. Click Tools and select Import Organization from vCloud.
- Move the Import slider to the right next to the organization(s) you wish to import.
- 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.
- 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 use a command-line tool for monitoring a RabbitMQ server:
1. Run the special service:
service onapp-mq-trace status / start / stop / restart / log
Where:
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_host: 127.0.0.1
rabbitmq_port: 5662
log_verbosity_level: 2
Where:
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