Lorsque vous utilisez la commande ci-dessous, nous obtenons une réponse en retour avec une charge utile 145MB JSON:Softlayer appel API (à VirtualGuests) retourne énorme réponse dupliquée
curl -uuser:api-key https://api.softlayer.com/rest/v3/SoftLayer_Account/VirtualGuests?objectMask=powerState%3BoperatingSystem.passwords%3Bdatacenter%3BbillingItem%3BblockDevices.diskImage%3BtagReferences
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
12 145M 12 18.0M 0 0 321k 0 0:07:44 0:00:57 0:06:47 401k
En regardant nos journaux il y a de quelques semaines, le même appel nous a donné une réponse d'environ ~ 300KB. Nous pensons donc qu'il s'agit d'un bogue récent dans l'implémentation de l'API Softlayer. En regardant la réponse json, il y a énormément de répétitions. Les détails de chaque machine virtuelle sont répétés 394 fois.
Nous avons expérimenté différents appels d'API, et avons identifié une solution de contournement: utiliser tagReferences.tag.name
au lieu de tagReferences
:
curl -uuser:api-key https://api.softlayer.com/rest/v3/SoftLayer_Account/VirtualGuests?objectMask=powerState%3BoperatingSystem.passwords%3Bdatacenter%3BbillingItem%3BblockDevices.diskImage%3BtagReferences.tag.name
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 277k 100 277k 0 0 77421 0 0:00:03 0:00:03 --:--:-- 77426
Nous avons frappé ce problème dans Apache Brooklyn, en utilisant jclouds (voir le Brooklyn issue, et la solution de contournement ajoutée à jclouds dans https://github.com/jclouds/jclouds/pull/1020). Ceux qui utilisent les versions de jclouds GA existantes continueront à être affectés par cela. Est-ce que SoftLayer peut confirmer si c'est un bug de leur côté, si et quand il sera corrigé, et s'il y a une meilleure solution de contournement?
J'ai d'abord soumis un ticket au support de Softlayer - ils m'ont dit "En ce qui concerne vos questions de l'API, vous devriez le diriger vers le lien suivant car ils pourraient mieux vous aider dans ce cas." –
Répéter chaque VM 394 fois semble très excessif et surprenant - je ne pense pas que ce soit juste avec des données d'attributs relationnels. Il y a quelques semaines, nous obtenions ~ 300KB; maintenant nous obtenons 154 Mo dans la réponse (sans un nombre significativement différent de machines virtuelles). Je vais donc le soulever à nouveau avec le support de Softlayer. –