IPmanager 6 is an address space management plugin used in DCImanager 6  and VMmanager platforms. Using the "Integration with IPmanager 6" module, you can combine address spaces from multiple instances of platforms.

Work logic


When integrating multiple platforms, one of them is the master. No settings are required on the master, while on other platforms you need to install the integration module and specify the master’s data in its settings.

The database of the master receives information about all networks, pools and blocks of IP addresses created in the other platforms. Platforms that have integration configured use the master’s database for address space operations.

The information transferred to the master database is deleted from the local platform database. If you delete the module, you will need to add the necessary networks, pools and blocks of IP addresses again.

No information is transmitted during integration about the following:

  • allocation of IP addresses to dedicated servers and virtual machines (VMs). IP addresses allocated to servers or VMs will be displayed in the platforms with the "Allocated" status without specifying the name of the server or VM;
  • DNSBL lists.

To avoid conflicts when merging address spaces, we recommend that you configure integration with the master only for "clean" platforms — without created VMs or added servers.

Features of DCImanager 6 integration

After configuring the integration, the platform interfaces display information about the networks and pools available in all locations. Information about networks and pools available only in certain locations will be written to the database of the master, but will not be displayed in the interface.

Preparing for integration


Creating a user for integration

To configure the integration, the data of the first user with the "Administrator" role on the master will be required. If this data is not available, prepare the user for integration:

  1. Create an account on the master with the "Administrator" role.
  2. Connect to the server with the master via SSH.
  3. Open the database console:

    • if the master is VMmanager:

      docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
      CODE
    • if the master is DCImanager 6:

      docker exec -it mysql bash -c "mysql auth -p\$MYSQL_ROOT_PASSWORD"
      CODE
  4. Change the user role: 

    update auth_user set roles='["@admin"]' where email='admin@example.com';
    CODE

    admin@example.com — email of the created account

Deleting using address space

Integration means that platforms with empty address space must connect to the master. If the same networks are created in the master and the platform to be connected, a conflict of address spaces may occur after integration. To avoid conflicts, remove the information about address space elements from the connecting platforms:

  1. Create a backup of the connecting platform.
  2. Connect to the server with the platform via SSH.
  3. Open the database console:

    • if the connecting platform is VMmanager:

      MySQL

      docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
      CODE
    • if the connecting platform is DCImanager 6:

      docker exec -it mysql bash -c "mysql auth -p\$MYSQL_ROOT_PASSWORD"
      CODE
  4. Perform the queries:

    Deleting IP addresses

    DELETE FROM ip ;
    SQL

    Deleting IP address blocks

    DELETE FROM ippool_range ;
    SQL

    Deleting pools

    DELETE FROM ippool ;
    SQL

    Deleting networks

    DELETE FROM ipnet ;
    SQL

Configuring the integration


Do not install or configure the module on the master. This will delete the address space.

  1. On platforms connected to the master:
    1. Install the “Integration with IPmanager 6” module: ModulesIntegration with IPmanager 6Install.

      If the plugin is installed and not configured, address space management in the platform will not be possible.

    2. Press Configure and specify the settings for connecting to the master:

      1.  Platform URL. If you specified a domain name for the server, make sure that this name corresponds to the IP address of the server with the master. The module will not be able to configure a connection if any redirects are applied to the domain name. For example, via DNS CNAME records.

      2. E-mail of the first user with the "Administrator" role.

      3. User Password.

    3. Press Apply.

  2. If one of the platforms being integrated uses the "Integration with DNSmanager 6" module, install the module with the same settings on all other platforms.

Updating the module


Updates for the module are not installed automatically. To update the module, click the icon in the right menu → ModulesIntegration with IPmanager 6Update button. 

Before updating the module, make sure that there are no running operations in the platforms that interact with IP addresses. Such operations may not be performed correctly when updating the module.

Diagnostics


Information about the operation of the module is saved in the docker container logs:

  • dci_impgr_1 — on the server with DCImanager 6;
  • vm_ipmgr_1 — on the server with VMmanager.

To view the logs:

  1. Connect to the server with the platform via SSH.
  2. Run the commands:

    docker logs <container>
    CODE
    docker exec -it <container> less -R /var/log/ipmgr_proxy_service.log
    CODE

    <container> — container name