Article ID: 2242, created on Apr 22, 2009, last review on Apr 25, 2014

  • Applies to:
  • Plesk for Linux/Unix

Symptômes

Lorsque je clique sur Clients > un client > Pool d'IP, le message d'erreur suivant s'affiche :

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

Cette erreur signifie que le pool d'IP du client contient une référence à une adresse IP qui n'existe pas dans la liste de toutes les adresses IP disponibles dans la base de données Parallels Plesk Panel. En général, cela se produit lorsque les adresses IP sont gérées non via l'interface du panneau sur la page Serveur > Adresses IP mais directement dans la table 'IP_Addresses' de la base de données de Parallels Plesk Panel.

Résolution

Il faut trouver la référence à une IP non existante dans le pool d'IP du client et la supprimer.

Exemple :

1) connectez-vous à mysql en tant qu'Admin de Parallels Plesk Panel
# mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa


2) trouvez le pool d'IP du client (substituer le login du client réel à la place de LOGIN indiqué ci-dessous) :
mysql> select login, pool_id from clients where login = 'LOGIN';
+-------+---------+
| login | pool_id |
+-------+---------+
| LOGIN |       7 |
+-------+---------+


3) Le pool d'IP est '7'. Maintenant, découvrez les ID des adresses IP qui sont dans ce pool d'IP :
mysql> select * from Repository where rep_id = 7;
+--------+--------------+
| rep_id | component_id |
+--------+--------------+
|      7 |            1 |
|      7 |            2 |
|      7 |            3 |
+--------+--------------+


4) Le pool d'IP 7 contient les adresses IP avec les ID 1, 2 et 3. Maintenant, vérifiez la présence de ces adresses Ip dans la table 'IP_Addresses' :
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) Comme vous pouvez le voir, l'adresse IP avec l'ID 3 n'existe pas. C'est pourquoi nous devons supprimer l'enregistrement où le pool d' IP = 7 et l'ID de l'adresse IP = 3 de la table 'psa.Repository' :
mysql> delete from Repository where rep_id = 7 and component_id = 3;

29d1e90fd304f01e6420fbe60f66f838 a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF