VMmanager Knowledge Base

Known issues

VM fails to start with error "can't add memory device"

Description

When hot modifying VM resources (without rebooting), an additional memory device is added to the VM description. In some cases, this device may prevent the VM from starting.

For more information about modifying VM resources without rebooting, see the article Fine-tuning of virtual machines in VMmanager documentation.

The problem occurs after a hot modification of VM resources:

  • a user shuts the VM down.
  • the VM fails to start with the error "can't add memory device".

To see the full error text:

  1. Go to Virtual Machines and select the VM.
  2. In the Status column, click on the Stopped status.
  3. In the window that opens, click Read more:
  4. Click Failed in the Event column:

    This will display the full error text:

    libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2023-10-28T22:56:25.564740Z qemu-kvm: -numa node,nodeid=0,cpus=0-239,mem=12288: warning: Parameter -numa node,mem is deprecated, use -numa node,memdev instead
    2023-10-28T22:56:25.577453Z qemu-kvm: -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0,addr=1234567: can't add memory device [0x1c0000000:0x180000000], usable range for memory devices [0x340000000:0xf880000000]

Solution

To resolve the issue:

  1. In the platform, go to Virtual Machines.
  2. Select the VM → click ParametersFine-Tuning settings.
  3. Disable the Add resources without restarting the VM option.

  4. Click Change and Restart. Since the VM is stopped, the restart will not occur.
  5. Start the VM.
Note
If you need to hot-add resources in the future, enable the Add resources without restarting the VM option and click Change and Restart.

Platform not working after upgrading to version 2023.09.1

Description

When upgrading to version 2023.09.1 with the command

vm update

or installing platform version 2023.09.1, docker-related errors may occur. For example, an error when recreating containers:

ERROR: for vm_box  Renaming a container with the same name as its current name
ERROR: for vm_box  Renaming a container with the same name as its current name
Encountered errors while bringing up the project.
fail

Characteristics of the problem:

  • the platform interface is partially or completely inaccessible;
  • container operations are partially or not performed;
  • the platform installation ends with an error:

    Configuring Docker ... done
    Checking docker version ... done
    Pulling images ... fail
    exit status 1

    Analyzing the install.log installation log reveals problems with docker or a missing compose module.

    Example of the docker error
    2023/08/16 13:10:24 Running command 'systemctl restart docker'
    Job for docker.service failed because the control process exited with error code.
    Example of the compose error
    Traceback (most recent call last):
     File "/usr/local/bin/docker-compose", line 5, in <module>
     from compose.cli.main import main
    ModuleNotFoundError: No module named 'compose'

The above problem is related to docker and is solved by installing docker-compose version v2.

Solution

To solve the problem:

  1. Connect to the server with the platform via SSH.
  2. Download and install docker-compose with the command

    curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Failed to install the gomon service on a new node

Description

The node connection is not working correctly. After connecting a new node, the following incorrect behavior is possible:

  • false error messages. For example, Error #5344. Insufficient RAM on the node while the RAM index meets the requirements;
  • libvirt and qemu version information is not updated;
  • failed to create VMs on this node;
  • VM migration to this node is unavailable;
  • other problems on the new node.

The reason for this is that the gomon service failed to install when the new node was connected. Gomon is a service that runs on the node and is responsible for statistics and monitoring.

To check the status of the gomon service, run the command on the node:

systemctl status gomon

If the service is not installed, the output is as follows:

Unit gomon.service could not be found.

Solution

To solve the problem:

  1. Connect to the server with the platform via SSH.
  2. Restart the nodewatch container:

    docker stop nodewatch
    docker start nodewatch

    After restarting, wait approximately 10 minutes. During this time, the gomon service will install on the node.

  3. Connect to the node server via SSH.
  4. Check the status of the gomon service:

    systemctl status gomon
  5. Restart the gomon service:

    systemctl restart gomon
    If you check the node without the recommended wait of 10 minutes after restarting nodewatch, the results may not be displayed correctly.

The new node will then be connected without errors.

Error #5349 No connection to node

Description

This error usually occurs when there is no connection to a node. But in version 2023.07.1, the false error message #5349 appears when a user performs any action on a VM that is not connected to a node. For example, false error message #5349 may appear when changing the configuration or starting the VM.

Solution

To resolve the error:

  1. Connect to the server with the platform via SSH.
  2. Restart the monitor service with the command:

    docker exec -it vm_box supervisorctl restart monitor