Unable to manage domain: Unable to find service node for web service on domain with id

Created:

2016-11-16 13:21:12 UTC

Modified:

2017-08-16 18:34:33 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Unable to manage domain: Unable to find service node for web service on domain with id

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 11.x for Linux
  • Plesk 11.x for Windows
  • Plesk 12.0 for Windows
  • Plesk 12.0 for Linux
  • Plesk 12.5 for Windows

Symptoms

Opening a domain or Hosting Settings for a domain results in the following error:

Internal error: Unable to find service node for web service on domain with id=23
Message Unable to find service node for web service on domain with id=23

Cause

Database inconsistency.

Resolution

Case 1: If there are mismatches in DomainServices.ipCollectionId and IpAddressesCollections.ipCollectionId

  1. Create psa database backup as per: 213904125 How can I backup/restore a Plesk database dump?

  2. Find all missing ipCollectionId records in IpAddressesCollections table:

    mysql> SELECT dom_id,ipCollectionId FROM DomainServices where ipCollectionId not in (select ipCollectionId from IpAddressesCollections) and type='web';
    +--------+----------------+
    | dom_id | ipCollectionId |
    +--------+----------------+
    | 23 | 80 |
    +--------+----------------+
    1 row in set (0.00 sec)
  3. Using domain ID ( dom_id ) value, find what IP address should be assigned to this domain:

    mysql> select ip_address_id,type from ip_pool where id=(select pool_id from clients where id=(select cl_id from domains where id=23));
    +---------------+-----------+
    | ip_address_id | type |
    +---------------+-----------+
    | 5 | shared |
    +---------------+-----------+
    1 row in set (0.00 sec)
  4. Make sure that this IP address exists:

    mysql> select id,ip_address from IP_Addresses where id=5;
    +----+-----------------+
    | id | ip_address |
    +----+-----------------+
    | 5 | 123.123.123.123 |
    +----+-----------------+
    1 row in set (0.00 sec)
  5. Insert missing value in the IpAddressesCollections table:

    mysql> insert into IpAddressesCollections (ipCollectionId, ipAddressId) values ('80','5');

Case 2: If there there is an incorrect or non-existent ip_addr_id parameter set for a domain name

  1. Create the psa database backup as per KB213904125 .

  2. Find what ip_address_id is assigned to a domain name with id=23:

    mysql> SELECT `param`, `val` FROM dom_param WHERE dom_id = 23;
    +---------------------+--------------------------------------+
    | param | val |
    +---------------------+--------------------------------------+
    | ip_addr_id | 2 |
    +---------------------+--------------------------------------+

    mysql> SELECT ip_address_id FROM ip_pool WHERE id=(SELECT pool_id FROM clients WHERE id=(SELECT cl_id FROM domains WHERE id=23));
    +---------------+
    | ip_address_id |
    +---------------+
    | 1 |
    | 2 |
    +---------------+
  3. Check if the IPs with ip_address_id 1 and 2 exist:

    mysql> SELECT id,ip_address FROM IP_Addresses WHERE id=1;
    +----+-----------------+
    | id | ip_address |
    +----+-----------------+
    | 1 | 123.123.123.123 |
    +----+-----------------+
    1 row in set (0.00 sec)

    mysql> SELECT id,ip_address FROM IP_Addresses WHERE id=2;
    Empty set (0.00 sec)
  4. Update the ID for the IP_Addresses table:

    mysql> UPDATE IP_Addresses SET id=2 WHERE ip_address='123.123.123.123';
  5. Check if the domain is accessible in Plesk now. The following error may appear:

    Error: Unable to find service node for ip address with id=1

    Follow the next step.

  6. Check what ID does ip_address_id=2 have in the in ip_pool table:

    mysql> SELECT * FROM ip_pool;
    +----+---------------+-----------+
    | id | ip_address_id | type |
    +----+---------------+-----------+
    | 1 | 1 | exclusive |
    | 1 | 2 | exclusive |
    +----+---------------+-----------+
    2 rows in set (0.00 sec)
  7. ip_address_id=2 should have a unique id=1. Update the ip_pool table:

    mysql> UPDATE ip_pool SET id=2 WHERE ip_address_id=1;
Have more questions? Submit a request
Please sign in to leave a comment.