4.16.05 - Notes de version d'Edge for Private Cloud

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

Le mardi 31 mai 2016, nous avons lancé une nouvelle version d'Apigee Edge pour un cloud privé.

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

Consultez À propos de la numérotation des versions pour savoir comment déterminer si une version cloud spécifique est incluse dans votre version d'Edge for Private Cloud.

Nouvelles fonctionnalités et améliorations

Voici les nouvelles fonctionnalités et améliorations apportées à cette version. En plus des améliorations suivantes, cette version contient également de nombreuses améliorations en termes d'usabilité, de performances, de sécurité et de stabilité.

Pour en savoir plus et obtenir des instructions, consultez la documentation Edge pour le cloud privé.

Les guides d'installation et d'utilisation sont désormais disponibles en ligne

Vous pouvez désormais accéder au guide d'installation et d'opérations d'Edge pour le cloud privé à la version 4.18.01.

Mises à jour logicielles

Cette version inclut les mises à jour logicielles suivantes :

  • Java JDK 1.8 : cette version est compatible avec Java 1.8 pour vous permettre de profiter des dernières fonctionnalités Java. Oracle JDK 1.8 ou OpenJDK 8 est requis dans votre environnement.
    Dans le cadre de la mise à jour vers Java 8, certains algorithmes de chiffrement TLS ne sont plus disponibles dans Oracle JDK 1.8. Pour obtenir la liste complète, consultez la section "Default Disabled Cipher Suites" (Suites de chiffrement désactivées par défaut) http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html.
  • Cassandra 2.1.13 : mise à jour depuis Cassandra 2.0.15.

Installation, mise à niveau, rollback

Vous trouverez ci-dessous une liste des modifications apportées aux scripts d'installation, de mise à niveau et aux scripts associés. Pour en savoir plus sur l'utilisation, consultez la documentation Edge pour le cloud privé.

  • Nouveau processus de mise à jour à partir de la version 4.16.01 : cette version remplace l'utilitaire apigee-migrate par l'utilitaire update.sh pour mettre à jour votre installation de la version 4.16.01 vers la version 4.16.05. Consultez Mettre à jour Apigee Edge 4.16.01 vers la version 4.16.05.
  • Bootstrap
    • bootstrap.sh (version 4.16.01) est désormais bootstrap_4.16.05.sh dans la version 4.16.05.
    • Vous n'avez plus besoin de spécifier uname:pword pour télécharger bootstrap_4.16.05.sh.
  • Restauration : pour restaurer une mise à jour vers la version 4.16.05, désinstallez la version 4.16.05 du composant et réinstallez la version précédente. L'utilitaire rollback.sh précédent a été supprimé. Consultez 4.16.05 Processus de rétablissement.
  • setup.sh et update.sh peuvent écrire le fichier journal dans /tmp : par défaut, les utilitaires setup.sh et update.sh écrivent les informations de journal dans /opt/apigee/var/log/apigee-setup. Si l'utilisateur qui exécute l'utilitaire n'a pas accès à ce répertoire, le journal est écrit dans le répertoire /tmp. Si l'utilisateur n'a pas accès à /tmp, l'utilitaire échoue.
  • Procédure de mise à jour de l'API BaaS : dans la version 4.16.01, vous deviez réinstaller API BaaS pour la migrer. Le nouvel utilitaire update.sh permet de mettre à jour l'API BaaS sur place. Consultez Mettre à jour Apigee Edge 4.16.01 vers la version 4.16.05.

Administration

Vous trouverez ci-dessous les nouvelles fonctionnalités d'administration et de configuration du cloud privé.

  • Validation de l'installation : l'utilitaire apigee-validate utilisé pour tester votre installation Edge pour le cloud privé peut désormais être exécuté à partir du serveur de gestion. Auparavant, le script devait être exécuté sur le processeur de messages. Consultez Tester l'installation.
  • Nom de la région : la région peut porter n'importe quel nom. Dans les versions précédentes, le nom était au format "dc-#", où # était une valeur entière.
  • Pods de passerelle : les pods de passerelle peuvent porter n'importe quel nom. Dans les versions précédentes, le pod devait être nommé "gateway".
  • Administration basée sur des scripts : un nouvel utilitaire de ligne de commande apigee-adminapi.sh vous permet d'effectuer les mêmes tâches de configuration Edge que celles que vous effectuez en appelant l'API de gestion Edge. Consultez Utiliser l'utilitaire apigee-adminapi.sh.
  • Configuration silencieuse de SSL pour l'hôte virtuel : lorsque vous créez une organisation ou un environnement, vous pouvez désormais transmettre des propriétés pour configurer SSL sur un hôte virtuel. Consultez Intégrer une organisation.

Services d'API

Vous trouverez ci-dessous les nouvelles fonctionnalités des services Edge API, qui ont été fournies dans les versions cloud précédentes du produit.

Préfixe de longueur fixe pour la journalisation des messages syslog (Cloud 16.03.30)

La règle Message Logging comporte un nouvel élément <FormatMessage> dans la configuration Syslog. En définissant <FormatMessage>true</FormatMessage>, les messages Syslog commencent par un nombre fixe de caractères, ce qui vous permet de filtrer les données insérées par Apigee. Pour en savoir plus, consultez la Règle MessageLogging. (APIRT-1398)

Caractère générique dans le chemin de base du proxy d'API (UI Cloud 16.03.09)

L'UI de gestion permet d'utiliser un ou plusieurs caractères génériques /*/ dans les chemins d'accès de base du proxy d'API. Par exemple, un chemin de base de /team/*/members permet aux clients d'appeler votre proxy avec https://[host]/team/blue/members ou https://[host]/team/green/members sans que vous ayez à créer de proxy pour gérer les nouvelles équipes. Notez que /**/ n'est pas autorisé. (MGMT-3154)

Association de proxys d'API en chaîne (UI Cloud 16.03.02, Cloud 16.03.09)

Edge est compatible avec le chaînage local de proxys d'API, ce qui permet à un proxy d'API d'appeler un autre proxy d'API déployé dans votre organisation Edge sans surcharge réseau supplémentaire. Auparavant, l'enchaînement de proxy d'API nécessitait un appel http(s) à un autre proxy d'API, qui transférait la requête via un équilibreur de charge, un routeur et un processeur de messages.

De nouveaux éléments LocalTargetConnection sont disponibles sur le TargetEndpoint d'un proxy d'API. Ils vous permettent de spécifier un nom de proxy d'API, le nom d'un ProxyEndpoint spécifique dans un proxy d'API ou simplement le chemin de base vers une ressource de proxy d'API locale (par exemple, /v1/myresource). L'UI de l'éditeur de proxy fournit également ces options lorsque vous ajoutez ou mettez à jour un TargetEndpoint.

L'enchaînement de proxys est également disponible dans les règles ServiceCallout.

Pour en savoir plus, consultez Chaîner des proxys d'API. Les nouveaux éléments LocalTargetConnection sont également listés dans le schéma XML ici : https://github.com/apigee/api-platform-samples/blob/master/schemas/configuration/configuration_schemas.xsd. (MGMT-3049, MGMT-3050)

Bugs résolus

Les bugs suivants sont résolus dans cette version. Cette liste s'adresse principalement aux utilisateurs qui veulent vérifier si un correctif a été émis en réponse à leurs demandes d'assistance. Elle n'est pas conçue pour fournir des informations détaillées à tous les utilisateurs.

Edge pour le cloud privé 4.16.05

ID du problème Description
PRC-770 L'installateur 16.01 ne parvient pas à enregistrer le serveur de secours Postgres dans axgroup
PRC-758 Un utilisateur disposant du rôle "Utilisateur" peut modifier les rapports personnalisés
PRC-883 La mise à jour du serveur Postgres avec une configuration maître-veille échoue

Cloud 16.03.30

ID du problème Description
SECENG-584 La vérification de la présence d'un saut de ligne entre les certificats d'une chaîne de certificats pose problème avec certains certificats en production.
MGMT-3217 Les appels à l'API Management échouent si le nom KVMap se termine par "keys"
MGMT-3214 Des conflits de classes peuvent se produire lors des JavaCallouts, ce qui peut entraîner l'échec du code Java d'un client.
MGMT-3185 Erreur lors de l'ajout d'administrateurs à une organisation
EDGEUI-127 Autorisations insuffisantes avec le nouvel éditeur de proxy
EDGEUI-119 Problème de délai avant expiration de la session de l'UI
CORESERV-671 Erreurs "No rings configured; Cannot initialize cps service"
AXAPP-2345 Problème lié à la liste des rapports personnalisés AX pour les clients non CPS
AXAPP-2302 Le récapitulatif quotidien d'Apigee Analytics indique zéro sous "Adoption par les développeurs"
APIRT-2750 Nombre élevé d'échecs de trafic dans une organisation spécifique
APIRT-2516 Les erreurs d'exécution dans les encadrés JavaScript spécifient des numéros de ligne incorrects
APIRT-2508 Erreur de sortie lors de l'appel d'une écoute express dans un rappel de coffre-fort
APIRT-2336 Problème de compression Gzip avec Node.js
APIRT-1975 Les configurations de masquage ne fonctionnent pas pour message.content

Interface utilisateur Cloud 16.03.16

ID du problème Description
MGMT-3142 Les graphiques ne se chargent pas dans le tableau de bord "Analyse des erreurs" (solution mise à jour)

Interface utilisateur Cloud 16.03.09

ID du problème Description
MGMT-3158 Autorisations insuffisantes dans l'UI lorsque le RBAC sur les proxys individuels est défini via l'API
MGMT-3142 Les graphiques ne se chargent pas dans le tableau de bord "Analyse des erreurs"
MGMT-3118 L'UI affiche une configuration d'hôte virtuel SSL incorrecte pour le paramètre "clientAuthEnabled"
DEVRT-2344 Les définitions de rapports d'un jour ne chargent pas les transactions dans l'UI

Cloud 16.03.02

ID du problème Description
MGMT-3083 L'actualisation automatique des journaux Node.js est trop verbeuse avec les messages de journaux
DEVRT-2275 Les forfaits avec attributs personnalisés n'affichent que cinq attributs au lieu des dix autorisés.
DEVRT-1275 Les développeurs ne figurent pas tous dans le menu déroulant "Forfait"
DEVRT-1074 Un développeur prépayé dont le solde est nul génère une exception NullPointerException lorsqu'un crédit est appliqué

Cloud 16.02.17

ID du problème Description
MGMT-3083 L'actualisation automatique des journaux Node.js est trop verbeuse avec les messages de journaux
MGMT-3077 L'UI génère un bundle de proxy non valide à partir d'un fichier WSDL qui utilise l'espace de noms par défaut
MGMT-1642 Le rôle utilisateur personnalisé ne dispose pas de l'autorisation "get" pour les applications de développeur

Problèmes connus

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

ID du problème Description
APIRT-2978

Échec du démarrage de Nginx ou du routeur

Si le routeur Edge ne parvient pas à démarrer Nginx ou ne démarre pas du tout, comme indiqué dans le fichier /opt/apigee/var/log/edge-router/logs/system.log, supprimez tous les fichiers du répertoire /opt/nginx/conf.d, puis redémarrez le routeur :

> rm -f /opt/nginx/conf.d/*
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
APIRT-3364

Le processeur de messages effectue une recherche DNS sur IPv4 et IPv6

Si vous avez installé et activé NSCD (Name Service Cache Daemon), vous remarquerez peut-être que les processeurs de messages effectuent deux recherches DNS : une pour IPv4 et une pour IPv6.

Pour désactiver la résolution DNS sur IPv6 :

  1. Sur chaque nœud Message Processor, modifiez /etc/nscd.conf.
  2. Définissez la propriété suivante :

    enable-cache hosts no
PRC-1118

Erreur lors de l'exécution de la commande "apigee-service apigee-postgresql pg-data-purge"

Si vous exécutez la commande "apigee-service apigee-postgresql pg-data-purge" et que vous voyez une erreur au format suivant :

ERREUR : vous devez être le propriétaire de la relation

Modifiez /opt/apigee/apigee-postgresql-4.16.05-0.0.894/lib/actions/pg-data-purge et définissez la propriété suivante sur "apigee" :

POSTGRES_USER=apigee

DOC-1687 En raison d'un conflit de dépendances de package connu, l'agent Katello utilisé dans Satellite Server 6 ne s'installera pas correctement sur les hôtes Apigee Edge exécutant le démon Qpid.

Charges utiles JSON dans les règles "Assign Message", "Java Callout" et "Raise Fault"

Les règles Assign Message, Java Callout et Raise Fault vous permettent de générer du contenu de message à l'aide de l'élément <Set><Payload>. Dans ces messages, vous pouvez inclure des variables dont les valeurs sont renseignées automatiquement au moment de l'exécution. Par exemple, si vous souhaitez afficher la date de l'en-tête HTTP, vous pouvez insérer {message.header.date} dans votre message.

Si le format du message est JSON, il se présentera comme suit :

{"The date is: " : "{message.header.date}"}

Cependant, vous pouvez voir qu'il s'agit d'un code JSON mal formé. Pour contourner ce problème, vous avez deux options :

  • Échappez l'accolade ouvrante avec une barre oblique inverse :
    \{"The date is: " : "{message.header.date}"}
  • Dans la configuration de l'élément "Charge utile", utilisez les attributs variablePrefix et variableSuffix pour indiquer une variable dans une charge utile JSON. Par exemple :
    <Payload contentType="application/json" variablePrefix="#" variableSuffix="%">{"The date is: " : "#message.header.date%"}</Payload>

Dans la prochaine version d'Edge pour Private Cloud, vous pourrez utiliser des accolades pour les variables dans les messages JSON sans aucun problème. (APIRT-1160)

Le routeur ne parvient pas à démarrer Nginx ou Le routeur ne parvient pas à démarrer

Si le routeur Edge ne parvient pas à démarrer Nginx ou ne démarre pas du tout, comme indiqué dans le fichier /opt/apigee/var/log/edge-router/logs/system.log, supprimez tous les fichiers du répertoire /opt/nginx/conf.d, puis redémarrez le routeur :

> rm -f /opt/nginx/conf.d/*
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart