Symptoms

On Virtuozzo 7, creation and cloning of VE or image fails and you see the following in the /var/log/prl-disp.log file:

[root@watermelon ~]# less /var/log/prl-disp.log
11-28 16:37:22.214 F /disp:2566:550703/ Task '11Task_EditVm' with uuid = {c223858e-5ddd-4346-912e-15536a9d7da0} was started. Flags = 0
11-28 16:37:22.224 F /disp:2566:550703/ Commit vm configuration: vm_uuid='{06ade903-e528-454e-ac20-3f7e63d2882f}'
11-28 16:37:22.367 F /disp:2566:550703/ check config for section 1 return 2 errors:
11-28 16:37:22.367 F /disp:2566:550703/          0x80027033 'PRL_ERR_VMCONF_VM_NAME_IS_TOO_LONG'
11-28 16:37:22.367 F /disp:2566:550703/          0x80027507 'PRL_ERR_VMCONF_DUPLICATE_IP_ADDRESS'
11-28 16:37:22.378 F /disp:2566:550703/ Configuration validation failed
11-28 16:37:22.378 F /disp:2566:550703/ Error occurred while modification VM configuration with code [0x80000106 (PRL_ERR_INCONSISTENCY_VM_CONFIG)]
11-28 16:37:22.378 F /disp:2566:550703/ Error occurred while edit VM with code [0x80000106][PRL_ERR_INCONSISTENCY_VM_CONFIG]
11-28 16:37:22.379 F /disp:2566:550703/ Task '11Task_EditVm' with uuid = {c223858e-5ddd-4346-912e-15536a9d7da0} was finished with result PRL_ERR_INCONSISTENCY_VM_CONFIG (0x80000106) )

Cause

The VE or image name is more than 40 symbols.

Resolution

To fix the issue, do the following:

  1. Select a new name for your VE (or image) which is no longer than 40 characters.
  2. Rename the VE on the node.

    1. Find out the VE UUID:

      # prlctl list -a | grep <customer-id>.<ve-name>
      
    2. Rename the VE:

      # prlctl set fc4f46c6-fe57-4729-9ca8-f9e0866b8533 --name <customer-id>.<ve-new-name>
      

      Important: The customer id prefix should not be changed, only the part that follows the dot character (in this example, ) should be changed.

  3. Rename the VE in the Instance Manager:

    1. On the IM DB node, run the following command:

      # su postgres
      bash-4.2$ psql im
      im=# update ve set name='ve-new-name' where name='very-very-long-name-12345' and customer_id='<customer-id>';
      
    2. On the IM node, run the following command:

      # service PACI-im restart
      
  4. Change the "name" propery in the APS resource:

    1. Log in to the Management Node.
    2. Find out the APS id of the resource (the APS id is shown in the response):

      # curl -D - -k -E /usr/local/share/PACI-aps/paci.pem 'https://127.0.0.1:6308//aps/2/resources?implementing(http://www.parallels.com/infrastructure/virtual-environment/2),eq(name,<ve-name>)'
      
      [
          {
              "aps":
              {
                  "type": "http://www.parallels.com/infrastructure/virtual-environment/2.2",
                  "id": "da1d5e93-2c17-4b91-a1e8-f44b0b7aa92b",
      
    3. Prepare the request like in the example below and change the “name” property:

      # cat rename-ve.json
      {
          "aps" : {
              "id" : "da1d5e93-2c17-4b91-a1e8-f44b0b7aa92b"
          },
          "name" : "ve-new-name"
      }
      # curl -D - -k -E /usr/local/share/PACI-aps/paci.pem https://127.0.0.1:6308/aps/2/application/environments/da1d5e93-2c17-4b91-a1e8-f44b0b7aa92b  -X PUT -d @rename-ve.json
      
    4. Check the response to make sure that the changes are applied:

      {
              "aps":
              {
                      "type": "http://www.parallels.com/infrastructure/virtual-environment/2.2",
                      "id": "da1d5e93-2c17-4b91-a1e8-f44b0b7aa92b",
                      "status": "aps:ready",
                      "revision": 18,
                      "modified": "2017-12-11T13:39:15Z",
                      "subscription": "5531ece8-bb93-4f33-bf1c-8f187a4e6cef",
                      "package":
                      {
                              "id": "11f865fd-bfe9-48cf-9158-8887dd5a6584",
                              "href": "/aps/2/packages/11f865fd-bfe9-48cf-9158-8887dd5a6584"
                      }
              },
              "admin": "root",
              "description": "",
          ….
      "name": "ve-new-name",
      ….
      

Internal content