My virtual machine says that its IP address is already in use.
OnApp 5.0, 5.1, 5.2, 5.3
You can track down which VM is using that IP address if you can find the MAC address of its NIC. This can be done by using
arping on the control panel server. For example:
arping -c 1 18.104.22.168
Then, you can login to the mysql database. Use this query, replacing the MAC address with the one you found:
select * from virtual_machines where id in (select virtual_machine_id from network_interfaces where mac_address='00:16:3E:E3:B3:50');
This should return the virtual machine with that NIC. If that query does not return helpful information for you, it is possible that the IP address was added manually, outside of OnApp.
The table name changed in 5.4+, you need to use networking_network_interfaces instead in those environments.
You can replace the
; at the end MySQL queries with
\G to make larger tables more readable in console output.
The following query returns the IPs currently assigned to more than one virtual machine:
select id,inet_ntoa(address) as "Duplicated IPs",updated_at,user_id,hypervisor_id from ip_addresses where id in (select ip_address_id from ip_address_usages where virtual_machine_id is not null and unassigned_at is null group by ip_address_id having count(*) > 1);