4.15.07.00 : notes de version d'Apigee Edge pour le cloud privé

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.

Le mardi 8 septembre 2015, nous avons lancé une version majeure d'Apigee Edge pour Private Cloud.

Depuis la précédente version trimestrielle d'Edge pour Private Cloud (4.15.04.00), les versions suivantes ont été publiées et sont incluses dans cette version trimestrielle :

Quelles versions d'Edge pouvez-vous mettre à niveau vers la version 4.15.07.00 ?

Selon votre version actuelle d'Edge, vous pouvez :

  • Mise à niveau directe vers la version 4.15.07.00
  • Effectuez une mise à niveau incrémentielle, ce qui signifie que vous devez passer de votre version actuelle à une autre version d'Edge, puis à la version 4.15.07.00.

Pour en savoir plus, consultez Quelles versions d'Edge for Private Cloud pouvez-vous mettre à niveau vers la version 4.15.07.00.

Avant de passer de la version 4.15.01.x ou d'une version antérieure à une version plus récente

Avant de procéder à la mise à niveau, assurez-vous d'avoir mis à niveau Cassandra SSTable sur chaque nœud Cassandra :
  1. Vérifiez la version de Cassandra SSTable :
    1. Accédez au répertoire /<install-root>/apigee4/data/cassandra/data.
    2. Exécutez une commande de recherche,
      > find . -name *-ic-*
      Les résultats doivent renvoyer un ensemble de fichiers .db si vous exécutez Cassandra 1.2 SSTable.
    3. Exécutez la commande find suivante :
      > find . -name *-hf-*
      Les résultats doivent être vides, ce qui signifie qu'aucun fichier .db n'est au format hf. Si vous ne voyez aucun fichier au format hf, vous avez terminé et pouvez passer à la version 4.15.07.00.

      Le format hf est destiné aux SSTables Cassandra 1.0. Si vous avez des fichiers *.db au format hf, vous devez mettre à niveau SSTable comme décrit dans le reste de cette procédure.
  2. Si vous trouvez des fichiers *.db au format hf, mettez à niveau SSTable en exécutant la commande suivante sur chaque nœud Cassandra jusqu'à ce que vous ayez mis à niveau tous les nœuds Cassandra :
    > /<install-root>/apigee4/share/apache-cassandra/bin/nodetool -h localhost upgradesstables -a
  3. Répétez l'étape 1 pour vérifier que tous les fichiers *.db sont au format ic pour la version 1.2 de Cassandra.
  4. Répétez les étapes 1 à 3 sur chaque nœud Cassandra de votre installation Edge.
  5. Passez à Edge 4.15.07.00.
  6. Après la mise à niveau vers la version 4.15.07.00, vérifiez les fichiers *.db pour vous assurer qu'ils ont tous été mis à niveau vers le style sstable C* 2.0 :
    > cd /<install-root>/apigee4/data/cassandra/data
    > find . -name *-jb-*

    Cette commande doit renvoyer un ensemble de fichiers .db si vous exécutez Cassandra 2.0.

Nouvelles fonctionnalités et améliorations

Voici les nouvelles fonctionnalités et améliorations de cette version.

Installation et mise à niveau

Mise à niveau et désinstallation sélectives des composants

Les scripts apigee-upgrade.sh et apigee-uninstall.sh vous permettent désormais de sélectionner les composants Edge à mettre à niveau ou à désinstaller. Auparavant, elle mettait à niveau ou désinstallait tous les composants du nœud. (OPDK-1377, OPDK-1175)

Rollback de la mise à niveau

Si le script apigee-upgrade.sh échoue lors d'une mise à niveau, vous pouvez désormais utiliser le script apigee-rollback.sh pour effectuer un rollback de la mise à niveau. Après avoir résolu les problèmes de mise à niveau, vous pouvez réessayer de mettre à niveau. (OPDK-1275)

Options de script d'installation raccourcies

Les scripts d'installation n'acceptent plus les options sous leur forme longue, comme --help. Elles n'acceptent désormais que les options à une seule lettre, comme -h. (OPDK-1356)

Installation de SmartDocs

Lorsque vous installez SmartDocs avec le script setup-smartdocs.sh, vous êtes invité à saisir l'organisation, l'environnement et l'hôte virtuel, ce qui garantit que SmartDocs est installé à l'emplacement prévu. Auparavant, ces valeurs étaient codées en dur dans le script. (OPDK-1310)

Exécuter update-cass-pwd-in-config.sh sans invites

Le script update-cass-pwd-in-config.sh peut s'exécuter sans invite si vous définissez les variables d'environnement ENABLE_CASS_AUTH, CASS_USERNAME et CASS_PASSWORD. (OPDK-1309)

Plate-forme Edge

Voici les nouvelles fonctionnalités de la plate-forme Edge incluses dans cette version.

OpenJDK 1.7 compatible avec le cloud privé Edge

Cette version d'Edge est compatible avec Oracle JDK 1.7 et OpenJDK 7, et n'est plus compatible avec JDK 1.6. (OPDK-1187)

OS compatibles

Apigee Edge pour Private Cloud a étendu sa compatibilité avec les systèmes d'exploitation pour inclure Red Hat Enterprise Linux 6.6 et 7.0 (64 bits), CentOS 6.5, 6.6 et 7.0 (64 bits) et Oracle Linux 6.5.

Cassandra 2.0.15 inclus dans OPDK 15.07

Cette version installe Cassandra 2.0.15. Si vous effectuez une mise à niveau à partir d'une version précédente, votre version de Cassandra sera mise à jour. (OPDK-1197)

Compatibilité avec SHA2 pour le hachage des jetons OAuth

Pour mieux protéger les jetons OAuth en cas de faille de sécurité de la base de données, Edge est compatible avec les algorithmes SHA2 pour le hachage des jetons OAuth (en plus de SHA1). Grâce aux nouvelles propriétés au niveau de l'organisation, vous pouvez activer et configurer le hachage pour les nouveaux jetons, et conserver l'ancien hachage sur tous les jetons existant avant cette nouvelle fonctionnalité. Auparavant, dans Edge for Private Cloud, une propriété appelée hash.oauth.tokens.enabled dans le fichier keymanagement.properties (sur votre serveur de gestion et vos processeurs de messages) permettait le hachage SHA1 automatique des jetons OAuth. Cette propriété est désormais obsolète.

Si vous avez déjà utilisé la propriété hash.oauth.tokens.enabled pour activer le hachage SHA1, le script de mise à niveau de cette version génère automatiquement les nouvelles propriétés au niveau de l'organisation. Pour vérifier après la mise à niveau, effectuez une requête GET en tant qu'administrateur système avec l'API suivante : https://{host}:{port}/v1/o/{your_org}.

  • Pour en savoir plus sur l'activation du hachage de jetons dans votre organisation avec les nouvelles propriétés, consultez la section "Hachage de jetons dans la base de données" de la rubrique Demander des jetons d'accès.
  • Pour en savoir plus sur le hachage groupé des jetons existants, consultez le guide des opérations Edge for Private Cloud. (APIRT-1389)

Structure de répertoire plate pour les fichiers journaux

Vous pouvez configurer Edge pour qu'il stocke les fichiers journaux dans une structure de répertoires plate en définissant une nouvelle propriété enable.flat.directory.structure sur "true" dans le fichier message-logging.properties. Pour en savoir plus, consultez la règle de journalisation des messages. (APIRT-1394)

Performances du cache de l'environnement

Pour améliorer la gestion et l'utilisation du cache en mémoire, les paramètres "Nombre maximal d'éléments en mémoire" des ressources de cache d'environnement ont été abandonnés. Le nombre total d'éléments présents dans toutes les ressources de cache (y compris le cache par défaut) dépend de la mémoire totale allouée au cache. Par défaut, l'allocation de mémoire totale pour la mise en cache en mémoire sur un processeur de messages donné correspond à 40 % de la mémoire totale disponible, déterminée par les paramètres de propriété du cache dans le fichier cache.properties de votre processeur de messages. Les éléments ne seront supprimés du cache en mémoire que si la mémoire cache est insuffisante ou si les éléments expirent.

Pour rétablir l'ancien comportement consistant à utiliser la propriété "Maximum Elements in Memory" (Nombre maximal d'éléments en mémoire) pour la gestion du cache, définissez la propriété overrideMaxElementsInCacheResource=false dans le fichier cache.properties. (APIRT-1140)


Services d'API

Voici les nouvelles fonctionnalités des services d'API incluses dans cette version.

Nouvel éditeur de proxys par défaut

Le nouvel éditeur de proxy d'API est activé par défaut dans l'interface utilisateur de gestion. Le nouvel éditeur inclut de nombreuses améliorations de l'ergonomie, y compris des vues plus complètes des flux conditionnels et des points de terminaison sur la page "Présentation", toutes les configurations sur la page "Développer", l'ajout plus intuitif de flux conditionnels, de points de terminaison et de règles, des vues XML plus complètes plutôt que de petits extraits, une recherche qui explore les noms de fichiers et le texte, et plus encore. (MGMT-2279)

Nouvelle règle Delete OAuth v2.0 Info

Une nouvelle règle "Supprimer les informations OAuth v2.0" vous permet de supprimer les jetons d'accès et les codes d'autorisation OAuth v2. La règle remplace la fonctionnalité précédemment fournie par l'API de gestion. Pour en savoir plus, consultez Supprimer la règle d'informations OAuthV2. (MGMT-2257)

Nouvelle règle Delete OAuth v1.0 Info

Une nouvelle règle "Supprimer les informations OAuth v1.0" vous permet de supprimer les jetons de requête, les jetons d'accès et les codes de vérification OAuth v1.0. La règle remplace la fonctionnalité précédemment fournie par l'API de gestion. Pour en savoir plus, consultez Supprimer la règle d'informations OAuth V1. (APIRT-1351)

Règle de contrôle des accès

La règle de contrôle des accès a été améliorée pour permettre une évaluation plus précise des adresses IP pour l'ajout à la liste d'autorisation et à la liste de blocage lorsque les adresses IP sont contenues dans l'en-tête HTTP X-FORWARDED-FOR.

Lorsque la vérification de plusieurs adresses IP est activée dans l'en-tête (contactez l'assistance pour définir la fonctionnalité feature.enableMultipleXForwardCheckForACL), un nouvel élément <ValidateBasedOn> de la règle vous permet de vérifier la première adresse IP, la dernière adresse IP ou toutes les adresses IP de l'en-tête. Pour en savoir plus, consultez Règle de contrôle des accès.

Nouvelles entités dans la règle d'accès aux entités

La règle Access Entity permet d'accéder aux nouvelles entités suivantes : consumerkey-scopes, authorizationcode, requesttoken et verifier. Pour en savoir plus, consultez Règle d'accès aux entités.

Règle Statistics Collector : conversion automatique du nom des statistiques en minuscules

Lorsque vous créez une collecte d'analyses personnalisée dans l'éditeur de proxy d'API (page "Développer" > "Outils" > "Collecte d'analyses personnalisée"), le nom de la variable de collecteur (statistique) doit être en minuscules. Si vous saisissez le nom en majuscules, l'outil convertit automatiquement le nom de la statistique en minuscules dans la règle du collecteur de statistiques. (MGMT-740)

Suppression de la fonctionnalité Trace classique dans l'éditeur de proxy d'API

La dernière version de la fonctionnalité Trace dans l'éditeur de proxy d'API est passée de la version bêta à la disponibilité générale. L'accès à la "trace classique" via le lien "Accéder à la version classique de Trace" n'est plus disponible.

Accès à la communauté Apigee depuis le menu d'aide de l'UI de gestion

Vous pouvez accéder à la communauté Apigee depuis le menu d'aide de l'UI de gestion.

Messages d'erreur dans l'interface utilisateur de gestion

Voici les améliorations apportées aux messages d'erreur dans l'interface utilisateur de gestion :

  • L'interface utilisateur de gestion regroupait et affichait tous les messages d'erreur sur l'interface utilisateur pendant toute la session de connexion, sauf si vous les aviez ignorés. Avec cette mise à jour, les messages d'erreur sont automatiquement effacés lorsque vous quittez la page sur laquelle ils se sont produits. (MGMT-2254)
  • L'UI de gestion ne supprime plus les messages d'erreur en double. (MGMT-2242)

Améliorations des performances et des erreurs de l'interface utilisateur

Des améliorations générales ont été apportées à différents aspects de l'interface utilisateur de gestion, y compris les performances d'affichage des pages et le nettoyage des messages d'erreur.

Sur la page "Utilisateurs de l'organisation" de l'UI de gestion (Admin > Utilisateurs de l'organisation), les noms des rôles sont désormais des liens hypertextes, ce qui vous permet d'accéder rapidement aux pages des rôles. (MGMT-1055)

Nouvelles variables cibles dans le flux de messages

De nouvelles variables dans les flux de messages fournissent des informations d'URL plus complètes pour les points de terminaison cibles et les serveurs cibles :

  • TargetEndpoint : request.url remplace target.basepath.with.query.
  • TargetServer : loadbalancing.targetserver remplace targetserver.name. De plus, target.basepath n'est renseigné que lorsque l'élément <Path> est utilisé dans l'élément <LoadBalancer> HTTPTargetConnection du TargetEndpoint.

Compatibilité avec l'indication du nom du serveur (SNI)

Edge est compatible avec l'utilisation de l'indication du nom du serveur (SNI) vers le sud (du processeur de messages aux points de terminaison cibles). Si vous souhaitez utiliser SNI, contactez l'assistance Apigee Edge.

Java 1.7 est requis.

Avec SNI, qui est une extension de TLS/SSL, plusieurs cibles HTTPS peuvent être diffusées à partir de la même adresse IP et du même port, sans que toutes ces cibles n'aient à utiliser le même certificat.

Aucune configuration spécifique à Edge n'est requise. Si votre environnement est configuré pour l'extension SNI vers le sud (Edge Cloud l'est par défaut), Edge est compatible.

Edge extrait automatiquement le nom d'hôte de l'URL de la requête et l'ajoute à la requête de handshake SSL. Par exemple, si l'hôte cible est https://example.com/request/path, Edge ajoute l'extension server_name comme indiqué ci-dessous :

Pour en savoir plus sur l'indication du nom du serveur, consultez http://en.wikipedia.org/wiki/Server_Name_Indication.

"Algorithme de signature" dans les détails des certificats SSL

Un nouveau champ "Algorithme de signature" a été ajouté aux détails du certificat SSL, visible dans l'interface utilisateur de gestion (Admin > Certificats SSL) et l'API de gestion (Obtenir les détails du certificat à partir d'un keystore ou d'un truststore). Le champ affiche "sha1WithRSAEncryption" ou "sha256WithRSAEncryption", selon le type d'algorithme de hachage utilisé pour générer le certificat.

Affichage des certificats SSL arrivant bientôt à expiration

La page "Certificats SSL" de l'interface utilisateur de gestion (Admin > Certificats SSL) indique quand les certificats SSL expirent dans un délai de 10, 15, 30 ou 90 jours, en fonction de votre sélection dans le nouveau champ déroulant d'expiration.

Configuration des erreurs de protection contre les menaces

Par défaut, Edge génère un code d'état d'erreur interne du serveur HTTP 500 et une erreur ExecutionFailed si un message ne passe pas une règle de protection contre les menaces JSON ou XML. Vous pouvez modifier ce comportement en utilisant une nouvelle propriété au niveau de l'organisation. Lorsque vous définissez la propriété d'organisation features.isPolicyHttpStatusEnabled sur "true", le comportement suivant se produit :

  • Requête : avec une règle de protection contre les menaces associée à un flux de requêtes, les messages non valides renvoient un code d'état 400, ainsi qu'un message d'erreur de règle correspondant.
  • Réponse : avec une règle de protection contre les menaces associée à un flux de réponses, les messages non valides renvoient toujours un code d'état 500, et l'un des messages d'erreur de règle correspondants est généré (plutôt que ExecutionFailed simplement).

Les clients Cloud doivent contacter l'assistance Apigee Edge pour définir la propriété de l'organisation. Cette fonctionnalité sera disponible pour les clients Edge Private Cloud lors de la prochaine version trimestrielle de Private Cloud.

Mise à jour des schémas pour les points de terminaison, les proxys et d'autres entités

Les schémas de référence ont été mis à jour pour les entités autres que les règles, telles que TargetEndpoint, ProxyEndpoint, APIProxy et bien d'autres. Voir https://github.com/apigee/api-platform-samples/tree/master/schemas. (APIRT-1249)


Services pour les développeurs

Voici les nouvelles fonctionnalités des services pour les développeurs incluses dans cette version.

Disponibilité générale de SmartDocs

SmartDocs passe de la version bêta à la disponibilité générale. Voici quelques-unes des mises à jour et nouvelles fonctionnalités :

  • Compatibilité avec Swagger 2.0, y compris l'importation par fichier ou URL, et compatibilité avec les objets de sécurité nommés de manière personnalisée.
  • Améliorations de la conception visuelle des modèles qui génèrent des SmartDocs.
  • Améliorations de la facilité d'utilisation et du workflow dans le portail des développeurs, disponibles via le menu "Contenu" > "SmartDocs" dans Drupal.
  • L'authentification par "jeton personnalisé" est désormais appelée "clé API".
  • Objets "security" d'authentification définis au niveau de la révision.
  • Configuration de l'authentification du client au niveau du modèle. Les nouvelles révisions ne réinitialisent plus les identifiants client SmartDocs préconfigurés.

Pour plus de descriptions de fonctionnalités, consultez cet article de blog.

Pour en savoir plus sur SmartDocs, consultez Utiliser SmartDocs pour documenter des API.

Nom de l'application de développeur affiché dans l'UI de gestion

Les applications de développeur dans Edge ont à la fois un nom interne qui ne change pas et un nom à afficher que vous pouvez modifier. Sur la page "Developer App" (Application de développeur) de l'UI de gestion (Publish > Developer Apps > nom de l'application), le "Name" (Nom) interne de l'application s'affiche avec le "Display Name" (Nom à afficher), ce qui permet d'identifier visuellement plus facilement les applications par leur nom interne pour le dépannage et la gestion des API.


Services d'analyse

Voici les nouvelles fonctionnalités d'Analytics Services incluses dans cette version.

Délai de conservation des données

Lorsque vous générez des rapports d'analyse avec l'UI ou l'API de gestion, les données de plus de six mois à compter de la date du jour ne sont pas accessibles par défaut. Si vous souhaitez accéder à des données de plus de six mois, contactez l'assistance Apigee Edge.

Suppression de la version classique des rapports personnalisés de l'interface utilisateur de gestion

La version classique facultative des rapports d'analyse personnalisés n'est plus disponible dans l'interface utilisateur de gestion.

Performances du widget "Engagement des développeurs"

Le widget d'entonnoir du tableau de bord d'analyse principal (section "Engagement des développeurs") a été amélioré pour offrir de meilleures performances.


Monétisation

Voici les nouvelles fonctionnalités de monétisation incluses dans cette version.

Notifications par e-mail concernant les plans tarifaires

Un nouveau type de notification par e-mail concernant les plans tarifaires vous permet d'informer les développeurs lorsqu'ils atteignent une certaine limite de transactions ou de dollars dans les plans tarifaires par volume ou groupés qu'ils ont achetés. Pour en savoir plus, consultez Configurer des notifications à l'aide de modèles de notification.

Synchronisation des périodes de frais récurrents et de base d'agrégation

Dans un plan tarifaire, deux périodes différentes pouvaient être en vigueur :

  • Période de frais récurrents, configurée dans l'onglet "Frais" d'un plan tarifaire, qui détermine quand les développeurs sont facturés de frais récurrents.
  • Période de base d'agrégation, définie dans le tableau des tarifs pour les forfaits par tranches de volume ou groupés, qui détermine quand l'utilisation du forfait est réinitialisée pour les développeurs.

Ces deux périodes sont désormais synchronisées. Lorsqu'un plan tarifaire comporte à la fois des frais récurrents non nuls et un tableau des tarifs par volume ou par lot, la période des frais récurrents est utilisée pour les deux. Par exemple, s'il existe des frais récurrents mensuels, les lots de tableaux des tarifs sont également réinitialisés tous les mois (par défaut, au début du mois).

Si aucun frais récurrent n'existe, les lots sont réinitialisés en fonction de la base d'agrégation définie dans le tableau des tarifs. Par exemple, si un développeur commence à utiliser un tableau des tarifs le 19 du mois et que la base d'agrégation est mensuelle, l'utilisation du lot est réinitialisée un mois après le 19.

La base d'agrégation est obsolète et sera supprimée de la monétisation dans une prochaine version. Pour en savoir plus, consultez Spécifier les détails d'un tableau des tarifs.

Attributs personnalisés dans les rapports récapitulatifs sur les revenus

Les règles d'enregistrement des transactions vous permettent de capturer des données d'attributs personnalisés à partir des transactions. Vous pouvez désormais inclure ces attributs de transaction personnalisés dans les rapports récapitulatifs sur les revenus. En ajoutant une propriété MINT.SUMMARY_CUSTOM_ATTRIBUTES à votre organisation, vous pouvez indiquer les attributs personnalisés qui sont ajoutés aux tables de base de données pour être utilisés dans les rapports.

Les clients Apigee Edge pour Private Cloud peuvent définir l'option à l'aide de l'appel d'API suivant et des identifiants d'administrateur système.

curl -u email:password -X PUT -H "Content-type:application/xml" http://host:8080/v1/o/myorg -d \
"<Organization type="trial" name="MyOrganization">
    <Properties>
        <Property name="features.isMonetizationEnabled">true</Property>
        <Property name="MINT.SUMMARY_CUSTOM_ATTRIBUTES">[&quot;my_attribute_1&quot;,&quot;my_attribute_2&quot;]</Property>
        <Property name="features.topLevelDevelopersAreCompanies">false</Property>
    </Properties>
</Organization>"

Notez que le tableau d'attributs personnalisés dans l'appel d'API est encodé au format URL.


Processus de mise à niveau de SmartDocs

Si vous avez déjà utilisé SmartDocs pendant la période bêta, les nouvelles fonctionnalités de la version en disponibilité générale nécessitent la mise à niveau de SmartDocs dans votre portail des développeurs.

Toutes les pages SmartDocs déjà publiées sur votre portail des développeurs continueront de fonctionner, mais vous devez suivre le processus de mise à jour avant de modifier ou de publier des modifications sur des pages existantes ou nouvelles.

N'oubliez pas que même si vous pouvez afficher et publier des SmartDocs sur votre portail des développeurs, les SmartDocs sont générés à partir du modèle d'API qui se trouve dans les services de gestion des API Edge d'Apigee. Toutes les modifications que vous apportez à un modèle d'API dans Edge seront les mêmes dans tous vos environnements Pantheon (comme les développeurs existent dans tous les environnements Pantheon).

Pour passer de la version bêta de SmartDocs à la disponibilité générale

  1. Mettez à jour et testez la version 15.05.27 dans vos environnements de développement ou de test sur Pantheon.
  2. Créez un modèle pour remplacer tout modèle d'API existant que vous utilisez.
    • Si vous avez importé des documents Swagger ou WADL, importez-les à nouveau dans une nouvelle révision.
    • Si vous avez géré votre modèle d'API via le module SmartDocs, exportez-le au format JSON SmartDocs et importez-le dans votre nouveau modèle à l'aide d'une pièce jointe.
  3. Définissez les propriétés de sécurité de la révision de votre modèle. Sur la page Contenu > SmartDocs > modèle, sélectionnez Paramètres de sécurité.
  4. Vérifiez l'authentification préconfigurée sur la page des paramètres du modèle (Contenu > SmartDocs) en cliquant sur Paramètres dans la colonne "Opérations".
  5. Mettez à jour tous les modèles personnalisés pour utiliser la version 6 des éléments CSS et JS, et apportez des modifications pour refléter les nouveaux noms d'objets, tels que authSchemes et apiSchema. Pour en savoir plus sur la mise à jour des modèles SmartDocs, consultez Utiliser SmartDocs pour documenter les API.
  6. Effectuez un nouveau rendu de la révision de votre modèle et publiez-la.
  7. Après avoir validé la nouvelle documentation, mettez à jour votre portail de production vers la version 15.05.27.

Si vous êtes un client Edge Enterprise et que vous avez des questions ou des doutes concernant le processus de mise à niveau, veuillez envoyer un e-mail à marsh@apigee.com et cnovak@apigee.com. Sinon, veuillez utiliser la communauté Apigee pour obtenir la meilleure réponse.


Modifications et améliorations futures des fonctionnalités

Cette section présente un aperçu des modifications et améliorations prévues pour les fonctionnalités :

Modification du comportement de la règle ResponseCache

Dans une prochaine version (à déterminer), le comportement par défaut de l'élément <ExcludeErrorResponse> de la règle ResponseCache sera modifié.

Comportement actuel : l'élément <ExcludeErrorResponse> de la règle de cache de réponse est défini sur "false" par défaut. Cela signifie que, par défaut, les réponses associées à n'importe quel code d'état HTTP possible (y compris 3xx) sont mises en cache par la règle ResponseCache.

Comportement futur : l'élément <ExcludeErrorResponse> de la règle ResponseCache sera défini sur "true" par défaut. Cela signifie que, par défaut, seules les réponses avec les codes d'état HTTP 200 à 205 seront mises en cache. Pour remplacer ce comportement et mettre en cache les réponses pour tous les codes d'état, vous devez définir explicitement l'élément <ExcludeErrorResponse> sur "true".

Solution actuelle : pour Private Cloud 4.15.07.00 et les versions antérieures, si vous souhaitez mettre en cache les réponses uniquement avec les codes d'état 200 à 205, vous devez définir explicitement l'élément <ExcludeErrorResponse> sur "true".


Corrections de bugs

Les bugs suivants sont résolus dans cette version.

ID du problème Description
OPDK-1521 Problème de chiffrement des mots de passe
OPDK-1201 Impossible de restaurer les données de l'UI
OPDK-1112 La règle de mot de passe LDAP personnalisée n'est pas appliquée à l'administrateur Apigee
OPDK-1097 Exception d'espace de clés lors de la mise à niveau d'OPDK
OPDK-1068 Possibilité de modifier le mot de passe administrateur en cas d'échec lors de l'installation
OPDK-1053 Zookeeper s'exécute en tant que racine
OPDK-967 Lorsque vous configurez OpenLDAP pour qu'il démarre automatiquement à l'aide de set-autostart.sh, all-status.sh le signale comme inactif
OPDK-905 Smartdocs prod already registered in group axgroup001
OPDK-899 Erreur lors de l'intégration
OPDK-847 L'utilisateur créé lors de l'intégration ne reçoit pas d'e-mail de réinitialisation du mot de passe
OPDK-817 Les scripts init.d génèrent une erreur
OPDK-815 Le script ax-purge.sh nécessite la suppression des tables d'échantillonnage
MGMT-2246 La page "Créer un rapport personnalisé" ne s'affiche pas correctement dans l'interface utilisateur de gestion
MGMT-2235 Pour les certificats SSL arrivant à expiration, le délai relatif avant expiration peut être arrondi de manière confuse
Pour les certificats SSL arrivant à expiration, le délai relatif avant la date d'expiration est toujours indiqué en jours au lieu d'être arrondi en mois, lorsque le certificat expire dans 90 jours ou moins.
MGMT-2193 Spinner de chargement lors de la modification d'une API
MGMT-2173 L'interface utilisateur de Trace n'autorise pas les URL légales
L'interface utilisateur de Trace vous permet désormais d'envoyer des requêtes avec des valeurs de paramètres de requête contenant des paramètres de requête imbriqués.
MGMT-2162 Problème de compilation JavaScript
MGMT-2124 Les autorisations du rôle client sont réinitialisées lors de l'enregistrement des autorisations dans l'interface utilisateur
MGMT-2114 Une adresse IP Syslog non valide dans la règle MessageLogging doit générer une erreur appropriée lors du déploiement
MGMT-2067 Trace : si la révision du proxy d'API est déployée dans deux environnements, la sélection de la révision et de l'environnement ne fonctionne pas correctement
MGMT-2061 "Mot de passe oublié" ne doit envoyer d'e-mail qu'aux utilisateurs enregistrés
Le lien "Mot de passe oublié ?" sur la page de connexion de l'interface utilisateur de gestion n'envoie des e-mails qu'aux utilisateurs Apigee enregistrés.
MGMT-2048 Un utilisateur disposant d'un rôle personnalisé qui limite les autorisations de déploiement à un environnement peut effectuer des déploiements dans d'autres environnements
MGMT-2041 Suppression de l'élément FaultRules du modèle de rattachement par défaut
L'élément FaultRules, qui n'est pas utilisé dans les règles ni dans les étapes de proxy d'API, n'est plus ajouté automatiquement lorsque vous créez des proxys d'API ou ajoutez des règles.
MGMT-2034 La récupération du WSDL renvoie un échec : "Fetch WSDL Error: Error processing WSDL."
MGMT-1986 Erreur d'interface utilisateur lors de l'ajout d'un développeur
MGMT-1983 L'API "Obtenir un code d'autorisation OAuth 2.0" renvoie un état incorrect
MGMT-1962 Erreur lors de la connexion à l'interface utilisateur de gestion avec un mot de passe sécurisé
La connexion à l'interface utilisateur avec certains caractères spéciaux, tels que le signe de pourcentage, ne génère plus d'erreur.
MGMT-1947 Rôles non intuitifs dans l'UI de gestion
Si un utilisateur n'est pas autorisé à créer ou à modifier une règle d'enregistrement des transactions, les boutons de l'UI permettant de créer et de modifier une règle d'enregistrement des transactions sont désormais désactivés.
MGMT-1899 Chemins d'accès aux ressources supprimés après l'enregistrement des paramètres du produit
Lors de la modification d'un produit d'API, les chemins d'accès aux ressources du produit pouvaient être supprimés si l'utilisateur double-cliquait sur le bouton "Enregistrer". Ce problème a été résolu.
MGMT-1894 La page "Applications de développeur" ne finit jamais de se charger pour la colonne "Développeur"
MGMT-1882 Le nouveau proxy d'API à partir de WSDL n'affiche que les détails du dernier paramètre
MGMT-1878 Si plusieurs révisions sont déployées dans un environnement, Trace n'en affiche qu'une seule
MGMT-1872 Impossible de télécharger des rapports personnalisés
MGMT-1863 Les journaux Node.js ne sont pas visibles dans l'interface utilisateur de gestion
MGMT-1843 Le proxy d'API ne s'ouvre pas
MGMT-1833 L'utilisateur sysadmin ne doit pas avoir la possibilité de modifier le mot de passe dans l'UI pour OPDK
MGMT-1825 Bugs de script intersites (XSS)
MGMT-1824 Erreur de récupération du WSDL lors de l'importation d'un fichier WSDL avec l'extension .xml
MGMT-1812 Ajout de la validation TargetEndpoint lors de l'importation
Comme pour ProxyEndpoint, TargetEndpoint sera validé pour le schéma et les expressions appropriés utilisés dans les conditions lors de l'importation du proxy d'API.
MGMT-1804 L'API Node.js envoie du code JSON non valide dans certains cas
L'écran des journaux Node.js affichait des journaux non formatés si les données JSON comportaient des caractères non valides. Ce problème est résolu dans cette version, et l'interface utilisateur affiche désormais des journaux node.js correctement formatés.
MGMT-1802 URL de réinitialisation du mot de passe #118
Si l'UI de gestion se trouve derrière un serveur de terminaison SSL, l'UI de gestion génère désormais correctement un e-mail de réinitialisation du mot de passe avec un lien vers une URL HTTPS au lieu d'une URL HTTP.
MGMT-1799 Faille de sécurité de l'interface utilisateur lors de l'envoi d'une requête dans Trace
MGMT-1777 Impossible d'ajouter un utilisateur avec une adresse e-mail dont le TLD est .acn
MGMT-1735 Branding "Error while fetching W"
Nous avons supprimé la prise en charge du branding personnalisé dans Edge OPDK. Cette modification prend effet immédiatement. Nous sommes conscients que cela peut décevoir les quelques clients qui l'utilisaient, mais il ne s'agit pas d'une fonctionnalité qui améliore directement les capacités d'Edge en matière de gestion d'API.
MGMT-1569 Problème lors de l'association d'un proxy d'API à un produit d'API existant
Correction de l'association d'un proxy d'API à un produit d'API dans l'interface utilisateur de gestion lorsque le proxy d'API disposait d'une ressource pour le chemin d'accès "/".
MGMT-1563 Le bouton "Envoyer" de Trace reste désactivé s'il rencontre une erreur
MGMT-1362 L'e-mail "Mot de passe oublié" ne fonctionne pas si l'adresse e-mail contient un trait de soulignement ("_")
Résout le problème de réinitialisation du mot de passe dans OPDK avec les adresses e-mail contenant un trait de soulignement.
MGMT-1345 L'importation d'un fichier WSDL avec plusieurs espaces de noms entraîne une étape de compilation SOAP incorrecte
MGMT-1193 L'enregistrement du proxy en tant que nouvelle révision modifie la règle de routage de manière inattendue
MGMT-1061 SmartDocs : la description du paramètre de type de corps dans la définition Swagger ne s'affiche pas dans l'interface utilisateur de la documentation
MGMT-800 La création d'une ressource nommée "default" entraîne un dysfonctionnement de l'interface utilisateur
MGMT-787 Problème d'utilisation des alertes de l'interface utilisateur
Dans l'interface utilisateur de gestion, lorsque vous cliquez sur "+ Proxy d'API" et que la boîte de dialogue "Nouveau proxy d'API" s'affiche, vous pouvez appuyer sur Échap pour fermer la boîte de dialogue.
MGMT-619 Activer la pagination sur la page de l'UI des proxys d'API
MGMT-602 Vue "Développer" du proxy d'API : l'ajout d'une règle ResponseCache lorsque le point de terminaison ne comporte pas de PreFlow/PostFlow entraîne une erreur
MGMT-460 Le changement de nom d'une règle entraîne un comportement instable et la création d'une règle en double qui ne peut pas être supprimée
DEVRT-1644 La recherche de notifications par nom entraîne l'envoi d'un e-mail incorrect
DEVRT-1583 L'UI de monétisation affiche le badge "Futur" pour un plan tarifaire actuel
DEVRT-1546 Les limites du forfait ne fonctionnent pas
DEVRT-1511 Erreur mint.resourceDoesNotExist pour un développeur existant
CORERT-639 TCPSysLogSocket doit être asynchrone
CORERT-613 Échecs de handshake SSL dus à "unrecognized_name"
AXAPP-1728 Ignorer les variables de monétisation dans Analytics
AXAPP-1708 L'API Analytics semble produire des chiffres différents pour la même statistique en fonction de la façon dont je la demande
AXAPP-1707 Améliorer les performances des analyses de pods sans frais
AXAPP-1690 "Erreur d'API non valide" dans les rapports personnalisés
AXAPP-1533 La carte géographique Analytics génère une erreur d'appel d'API non valide
AXAPP-1493 Statistiques de performances du cache incorrectes
APIRT-1436 Créer un outil/script pour hacher les jetons non hachés
APIRT-1425 L'attribut continueOnError n'a aucun effet dans la règle JavaCallout lorsqu'il est défini sur "true"
APIRT-1346 OAuth2.0 : la valeur de hachage est renvoyée dans la réponse du jeton d'accès lorsque hash.oauth.tokens.enabled est défini sur "true"
APIRT-1206 target_ip n'est pas enregistré dans la table de faits pour les erreurs 503 et la plupart des erreurs 504
APIRT-1170 Un fichier de ressources manquant a empêché le processeur de messages de charger un environnement
APIRT-1148 La requête GET de la variable {message.version} dans ResponseFlow, pour une cible Node.js, génère une exception NPE
APIRT-1054 Échec de la journalisation des messages lors de la tentative de journalisation dans un répertoire autre que celui par défaut
APIRT-387 Make OrganizationService run in flavour 'others' on MP
APIRT-67 La règle OAuth GenerateAccessToken ne définit pas correctement la variable oauthV2.failed
APIRT-52 Rapports personnalisés : le code d'état de la réponse est nul pour de nombreuses API

Problèmes connus

Cette version présente les problèmes connus suivants.

ID du problème Description
OPDK-1586

Le portail API BaaS ne démarre pas si la compatibilité IPv6 n'est pas activée
La solution consiste à mettre en commentaire la ligne IPv6 suivante dans /<install-dir>/apigee4/conf/nginx/conf.d/loadbalancer.conf pour que le portail API BaaS s'exécute, ou à activer la compatibilité IPv6 :

# listen [::]:8080;

OPDK-1785

Installer le composant de monétisation sur un environnement installé Edge mis à niveau
Si vous mettez à niveau une installation Edge vers la version 4.15.07.00 et que vous n'utilisiez pas déjà la monétisation avant la mise à niveau, vous ne pouvez pas installer la monétisation sur la version 4.15.07.00 d'Edge.

La solution consiste à définir la bonne version de la monétisation dans le fichier apigee-env.sh avant d'essayer d'installer la monétisation. Pour obtenir la version de monétisation dans la version 4.15.07 (après avoir déjà effectué la mise à niveau vers Edge 4.15.07), exécutez la commande suivante :
> source /{install-dir}/apigee4/bin/apigee-env.sh

> VER=`basename $(find $SHARE_DIR/installer/monetization -name "mint-*.zip") | cut -d "-" -f 2,3,4`
Par défaut, install-dir est /opt.
La valeur de VER ci-dessus doit être définie dans apigee-env.sh :
> sed -i "s/^MONETIZATION_VERSION=.*/MONETIZATION_VERSION=$VER/" /install-dir/apigee4/bin/apigee-env.sh
Si vous avez essayé d'installer Monetization sans suivre les étapes ci-dessus, l'installation échoue et il existe probablement un lien symbolique mort dans le répertoire de partage. Vous devez supprimer ce lien symbolique :
> rm /install-dir/apigee4/share/monetization
Après avoir supprimé le lien symbolique, suivez les étapes ci-dessus pour définir la version de Monetization, puis réessayez d'installer Monetization.
OPDK-1857 Version Python 2.6 codée en dur dans bin/qpid-stat.sh et bin/qpid-config.sh

Sur CentOS et RedHat 7.0, plusieurs scripts dans bin/qpid-stat.sh et bin/qpid-config.sh sont codés en dur pour utiliser Python version 2.6.

Pour contourner ce problème, modifiez la ligne exportant PYTHONPATH dans qpid-stat.sh et qpid-config.sh dans le répertoire apigee4/bin.

export PYTHONPATH="${QPID_DIR}/lib/python2.6/site-packages"

Pour déterminer la version de Python sur votre système, vérifiez la version de Python dans le répertoire /opt/apigee4/share/apache-qpid/lib. Le répertoire est très probablement python2.7.

Vous devez ensuite mettre à jour le paramètre PYTHONPATH dans qpid-stat.sh et qpid-config.sh avec le chemin d'accès correct. Exemple :

export PYTHONPATH="${QPID_DIR}/lib/python2.7/site-packages"

DEVRT-1574 Solde et utilisation incohérents pour les développeurs disposant de plusieurs plans tarifaires actifs
Dans la monétisation, si un développeur est actif sur plusieurs plans tarifaires qui ont des frais par appel d'API, l'utilisation du solde monétaire peut parfois être incohérente.
APIBAAS-1647 Après la connexion en tant qu'administrateur système, l'UI BaaS affiche le message "Error getting roles" (Erreur lors de l'obtention des rôles)
Ce message d'erreur s'affiche lors de la première connexion au système par l'administrateur système après la mise à niveau de la version 4.15.01 vers la version 4.15.07. Vous pouvez ignorer ce message.
DEVRT-1834 Mise à niveau de la monétisation vers la version 4.15.07
Le script apigee-upgrade.sh affiche le message suivant à la fin, vous invitant à exécuter un autre script :
**************************************
In order to complete the monetization upgrade please run:
sudo /opt/apigee4/share/monetization/schema/migration/MOPDK4.15.04.00/
365-create-notification-condition.sh
**************************************

Vous pouvez ignorer ce message. Ce script n'est pas obligatoire et ne peut pas être exécuté.

DEVRT-1951 Configurations de notification manquantes pour une nouvelle installation de la monétisation
Sur une nouvelle installation d'Apigee Edge pour Private Cloud version 4.15.07.00, les configurations suivantes pour les notifications de monétisation sont manquantes. Ils correspondent aux types de notifications de la page "Admin" > "Notifications" de l'interface utilisateur de gestion.
mint.scheduler.${ORG_ID}.adhocnotify@@@management
mint.scheduler.${ORG_ID}.expiringrateplannotify@@@management
mint.scheduler.${ORG_ID}.newpkgnotify@@@management
mint.scheduler.${ORG_ID}.newproductnotify@@@management
mint.scheduler.${ORG_ID}.newrateplannotify@@@management
mint.scheduler.${ORG_ID}.tncacceptancenotify@@@management
Pour contourner ce problème, procédez comme suit : Vous aurez besoin de l'adresse IP de votre instance Cassandra. Pour le trouver, consultez <installation-root>/apigee4/conf/cassandra/cassandra.yaml ou <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties.
  1. Exécutez les commandes suivantes. Laissez la variable {ORG_ID} telle quelle, mais remplacez <org_name>, <installation-root> et <cassandra_ip_address>.
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/ui/mint-org-specific-ui-schedulers.txt > /tmp/mint-org-specific-ui-schedulers.txt
    
    <installati>on-root/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-ui-schedulers.txt
  2. Redémarrez le serveur de gestion.
DEVRT-1952 La mise à niveau de la monétisation à partir de la version 4.14.07.00 ne comporte pas les configurations de notification
Lors d'une mise à niveau d'Apigee Edge pour Private Cloud de la version 4.14.07.00 vers la version 4.15.07.00, les configurations suivantes pour les notifications de monétisation sont manquantes, ce qui entraîne un dysfonctionnement des rapports de monétisation.
mint.scheduler.${ORG_ID}.chargedaily@@@management
mint.scheduler.${ORG_ID}.chargehourly@@@management
Pour contourner ce problème, procédez comme suit : Vous aurez besoin de l'adresse IP de votre instance Cassandra. Pour le trouver, consultez <installation-root>/apigee4/conf/cassandra/cassandra.yaml ou <installation-root>/apigee4/conf/cassandra/cassandra-topology.properties.
  1. Exécutez les commandes suivantes. Laissez la variable {ORG_ID} telle quelle, mais remplacez <org_name>, <installation-root> et <cassandra_ip_address>.
    sed -e "s/\${ORG_ID}/<org_name>/g" <installation-root>/apigee4/share/monetization/schema/cassandra/org/system/mint-org-specific-system-schedulers.txt > /tmp/mint-org-specific-system-schedulers.txt
    
    <installati>on-root/apigee4/share/apache-cassandra/bin/cassandra-cli -h <cassandra_ip_address> -f /tmp/mint-org-specific-system-schedulers.txt
  2. Redémarrez le serveur de gestion.
OPDK-1878 Impossible de définir le nom du pod dans une installation de plusieurs centres de données
Le guide d'installation d'Edge indique de définir les noms des pods sur "gateway-1" et "gateway-2" dans les fichiers d'installation silencieuse pour une installation de plusieurs centres de données. Toutefois, le changement de nom du pod empêche l'enregistrement et l'accès aux routeurs et aux processeurs de messages. Ce problème empêche également le script setup-org.sh de trouver les processeurs de messages disponibles.

La solution consiste à définir le nom du pod sur "gateway" dans le fichier d'installation silencieuse des deux centres de données, à l'aide de la propriété MP_POD.
OPDK-1886

Le nœud ne peut pas accéder aux adresses IP locales telles que 192.168.x.y
L'erreur "connect EINVAL" s'affiche lorsque vous essayez d'accéder à une adresse IP locale.
La solution consiste à modifier le fichier /<install_dir>/apigee4/conf/apigee/message-processor/nodejs.properties sur les nœuds du processeur de messages pour mettre en commentaire la ligne suivante :

connect.ranges.denied=10.0.0.0/8,192.168.0.0/16,127.0.0.1/32

Ensuite, redémarrez les nœuds du processeur de messages :

<install_dir>/apigge4/bin/apigee-service message-processor restart 
OPDK-1958 Lors de la mise à niveau, tous les nœuds doivent avoir accès au port 8080 sur le serveur de gestion
Au moment de l'exécution, les composants suivants doivent avoir accès au port 8080 sur le serveur de gestion : routeur, processeur de messages, UI, Postgres et Qpid. Toutefois, lors de la mise à niveau, tous les nœuds nécessitent un accès au port 8080 sur le serveur de gestion, y compris les nœuds Cassandra et Zookeeper.
OPDK-1962 Vous devez reconfigurer SSL pour l'API Edge après la mise à niveau
Si vous avez configuré l'API Edge pour utiliser SSL avant de passer à la version 4.15.07.00, vous devez reconfigurer SSL après la mise à niveau. Consultez le guide des opérations d'Edge pour connaître la procédure de configuration de SSL pour l'API Edge.