Error message “no such row in the table” shows up when I click on IP Pool

Error message “no such row in the table” shows up when I click on IP Pool under a Client

Symptoms

When I click on Clients > a Client > IP Pool icon, the following error message is shown:

Unable to create IP Address object: Table->select() failed: no such row in the table

0: /usr/local/psa/admin/plib/common_func.php3:156
psaerror(string ‘Unable to create IP Address object: Table->select() failed: no such row in the table’)
1: /usr/local/psa/admin/plib/class.IPPoolList.php:120
ipPoolList->fetchIPPoolList()
2: /usr/local/psa/admin/plib/class.cList.php3:103
cList->fetchList()
3: /usr/local/psa/admin/plib/class.cList.php3:123
cList->init()
4: /usr/local/psa/admin/htdocs/clients/cl_pool.php3:81

Cause :-

The error means that the IP pool the Client contains refers to an IP address that does not exist in the list of all available IP addresses in the Parallels Plesk Panel (PP) database. Usually, this happens when IP addresses are managed not through the PP interface at the Server > IP addresses page, but directly from the “IP_Addresses” table of the PP database.

Resolution
It is necessary to find the referrer to the non-existent IP in the Client’s IP pool and remove it.

Solution :-

Make sure that you have already read the new IP addresses into Plesk by logging into the Plesk control panel >> Settings >> IP addresses >> Reread IP

1) Now Login to mysql as Plesk admin
# mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa

2) Find the IP pool of the Client (substitute the real Client login instead of LOGIN below):
mysql> select login, pool_id from clients where login = ‘LOGIN’;
+——-+———+
| login | pool_id |
+——-+———+
| LOGIN | 7 |
+——-+———+

3) The IP pool is “7.” Now find the IDs of the IP addresses that are in this IP pool:
mysql> select * from Repository where rep_id = 7;
+——–+————–+
| rep_id | component_id |
+——–+————–+
| 7 | 1 |
| 7 | 2 |
| 7 | 3 |
+——–+————–+

4) IP pool 7 contains IP addresses with IDs 1, 2, and 3. Now check whether these IP addresses are in the “IP_Addresses” table:
mysql> select id, ip_address, iface from IP_Addresses where id in (1,2,3);
+—-+—————+——-+
| id | ip_address | iface |
+—-+—————+——-+
| 1 | 192.168.45.50 | rl0 |
| 2 | 192.168.45.51 | rl0 |
+—-+—————+——-+

5) As you can see, the IP address with the ID 3 does not exist. Therefore, we need to remove the record where IP pool = 7 and IP Address ID = 3 from the “psa.Repository” table:
mysql> delete from Repository where rep_id = 7 and component_id = 3;
==============================================>
Reference : http://kb.parallels.com/en/2242

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s