Integration with VMmanager 6 version 2024.03.1 and higher is supported from BILLmanager version 6.92.0.

Integration 


Integration is configured in the process of creating a service processing module in BILLmanager.

To create a service processing module, enter IntegrationProcessing modules → click Add. The processing module adding wizard consists of the following steps:

  1. Product type: select "VPS".
  2. Processing module: select "VMmanager 6".
  3. Configuring integration. Specify the data for integration:
    1. URL — enter the domain or public IP address of VMmanager 6.
    2. Username — enter the name of the VMmanager 6 administrator. Use the account of the first user created after installing VMmanager 6.
    3. Password.
  4. Parameters of the service processing module. Configure internal (within BILLmanager) parameters of the service processing module:
    1. Data center — select the data center in BILLmanager to which the processing module will be connected.

      The Data Center must not have an External Data Center id.

    2. Name — specify the name of the processing module to be displayed in the BILLmanager interface.
    3. Department — select the department to which tasks from the processing module will be assigned.
    4. Sort — specify the processing module’s priority. If more than one processing module is connected to a tariff plan, the processing module with the lowest priority is selected first when creating the service.
    5. Cluster — VMmanager cluster in which virtual machines (VM) will be created;
    6. Use recipes — enable this option if you need to install additional software or run a script on the VM. Read more in Installing additional software (recipes). VMmanager 6;
    7. Additional network interface — enable this option if the VM needs to use a second network interface. The VMmanager cluster must have the main and additional network interfaces configured for that purpose.

      Note

      The service handler is bound to one of the VMmanager clusters. If you plan to sell servers with different types of virtualization, connect two handlers — one for the KVM cluster, the other for the cluster with LXD virtualization.

Processing module parameters


To manage the processing module parameters, enter IntegrationProcessing modules → select the processing module → click Parameters.

Processing module parameters:

  • Session storage period — sets the maximum lifetime of the session in seconds. Used to reduce the load on the authorization service;
  • Start operations in a queue — limits the number of simultaneous jobs. Works together with the "Number of queues" and "Queue key" options;
  • Queue key — a unique text key. Tasks of different processing modules with different queue keys run in parallel, tasks with the same keys run one after another. Works together with the "Start operations in a queue" and "Number of queues" options.
    The key entry supports macros:
    • __TYPE__ — operation type;
    • __PMID__ — processing module ID;
    • __IID__ — service ID.
  • Number of queues — sets the maximum number of simultaneous operations specified through the "Queue key" parameter. Works together with the "Start operations in a queue" and "Queue key" options.

How queued operations work

You can reduce the load on the platform by enabling and configuring queued operations.

A queue key is generated for each operation (using the pattern {key_name}-{ queue_number}). Tasks of different processing modules with different queue keys run in parallel, tasks with the same keys run one after another.

Environment: There are three VMmgr6 processing modules with IDs 155, 156, 157.

Scenario 1. Queues are not enabled.

All incoming tasks from the processing module (opening, closing, stopping, rebooting, etc.) will be executed simultaneously.

Scenario 2. The queue is enabled, the number of queues is five.

The set of keys will be: 1, 2, 3, 4, 5.

Incoming tasks (opening, closing, stopping, rebooting, etc.) will be distributed in four queues (1, 2, 3, 4, 5). A maximum of five operations can be performed simultaneously.

Scenario 3. The queue is enabled, and a macro is set as the queue key: __PMID__, the number of queues is not specified.

The set of keys will be: 155, 156, 157.

Incoming tasks (opening, closing, stopping, rebooting, etc.) will be distributed evenly over three queues, each of which is associated with its own processing module. A maximum of three operations will be performed simultaneously.

Scenario 4. The queue is enabled, and a macro is set as the queue key: __PMID__, the number of queues is two.

The set of keys will be: 155_1, 155_2, 156_1, 156_2, 157_1, 157_2.

Incoming tasks (opening, closing, stopping, rebooting, etc.) will be distributed over three processing modules, and each processing module will have two queues. A maximum of six operations will be performed simultaneously.

Scenario 5. The queue for processing modules 155, 156 is enabled, queueVM is used as the queue key, the number of queues is two.

The set of keys will be: queueVM_1, queueVM_2.

Incoming tasks (opening, closing, stopping, rebooting, etc.) to processing modules 155, 156 will be assigned to two queues. For the processing module 157, the queue is not set, which means that the number of simultaneous operations for it is unlimited. For processing modules 155, 156 a maximum of two operations will be executed simultaneously, and the queues are common. If one processing module in the general queue occupies all slots with its operations, the second processing module will wait its turn.