Problèmes connus liés à Apigee

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d' Apigee Edge.

Sélectionnez un ou plusieurs des éléments suivants pour filtrer cette page :

Cette section répertorie les problèmes connus pour les composants Apigee. Pour obtenir une liste des bugs, des nouvelles fonctionnalités et d'autres informations de version, consultez les notes de version.

ID du problème Concerne État Description
N/A hybrid 1.16.0 OUVERT Le déploiement du proxy ne se termine pas en raison d'autorisations RBAC manquantes dans Hybrid v1.16.0.

Dans la version 1.16.0, il existe un problème connu qui peut empêcher les clusters hybrides de signaler l'état de déploiement des proxys. Cela est dû à une autorisation manquante dans le rôle apigee-manager-role.

Solution : ajoutez l'autorisation au modèle de chart Helm apigee-operator :

  1. Modifiez le fichier de modèle de chart Helm apigee-operator apigee-operator/templates/apigee-operators.yaml.
  2. Ajoutez le verbe - watch à la ressource deployments, après le verbe - update sur la ligne 584.
  3. Mettez à jour la version Helm apigee-operator.
418274570 hybrid 1.16.0 CORRECTION La page des notes de version d'Hybrid n'a pas été mise à jour avec les informations concernant la version 1.16.0-hotfix.1.

La page des notes de version d'hybrid n'affiche pas les informations sur la mise à jour 1.16.0-hotfix.1. Pour en savoir plus sur la mise à jour, consultez les notes de version d'Apigee hybrid v1.16.0-hotfix.1.

484366184 hybrid 1.14.x, hybrid 1.15.x CORRIGÉ dans hybrid 1.16.0 Les versions 1.14 et 1.15 d'Apigee Hybrid rencontrent une boucle de plantage dans apigee-ingressgateway-manager lorsque la version 1.4.0 ou ultérieure de l'API Kubernetes Gateway est utilisée.

Apigee Hybrid 1.16 n'est pas concerné par ce problème.

Solution de contournement : si vous devez utiliser l'API Kubernetes Gateway avec les versions 1.14 ou 1.15 d'Apigee hybrid, installez la version v1.3.x de l'API Gateway. Exemple :

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/standard-install.yaml

Voir également :

480997525 Apigee 1-17-0-apigee-1 CORRIGÉ dans Apigee 1-17-0-apigee-2 Les appels proxy échouent avec l'erreur The URI contain illegal characters après la mise à niveau de Netty.

Dans la version 1-17-0-apigee-1 d'Apigee, une régression a été introduite lors de la mise à niveau de Netty vers la version 4.1.129.Final. Cela peut entraîner l'échec des appels de proxy d'API avec un code d'état 400 et le message d'erreur The URI contain illegal characters. Ce problème est suivi en externe dans netty/netty#16020.

465834046 hybrid 1.14.3, hybrid 1.15.1 et hybrid 1.16.0 et versions ultérieures pour les mises à niveau CORRIGÉ dans hybrid 1.14.3, hybrid 1.15.1 et hybrid 1.16.0 pour les nouvelles installations Dans cert-manager version 1.18 et ultérieures, la valeur par défaut de la règle de rotation des clés privées est passée de Never à Always. Si la clé privée de apigee-ca est permutée, cela aura un impact sur le trafic.

Les versions récentes de cert-manager (v1.18 et versions ultérieures) font désormais pivoter automatiquement les clés privées. Lorsque cette clé est permutée pour le certificat apigee-ca, cela entraîne une interruption de service.

Solution de contournement : pour éviter ce problème, vous pouvez choisir l'une des options suivantes :

  • Ne mettez pas à niveau cert-manager vers une version supérieure à 1.17.x.
  • Modifiez le certificat apigee-ca dans l'espace de noms cert-manager et définissez spec.privateKey.rotationPolicy sur Never. Suivez la procédure ci-dessous pour modifier votre certificat apigee-ca et mettre à niveau cert-manager :
    1. Vérifiez le contenu de votre certificat apigee-ca pour voir si rotationPolicy est défini :
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      Recherchez les valeurs sous spec.privateKey dans le résultat :

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          # Note: rotationPolicy would appear here if it is set.
          size: 256
        secretName: apigee-ca
      ...
    2. Si rotationPolicy n'est pas défini ou s'il est défini sur Always, modifiez le certificat apigee-ca pour définir la valeur de rotationPolicy sur Never :
      1. Effectuez d'abord une simulation :
        kubectl patch Certificate \
          --dry-run=server \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
      2. Corrigez le certificat :
        kubectl patch Certificate \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
    3. Vérifiez que la valeur de rotationPolicy est désormais définie sur Never :
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      Le résultat doit ressembler à ce qui suit :

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          rotationPolicy: Never
          size: 256
        secretName: apigee-ca
      ...
    4. Mettez à niveau cert-manager. La commande suivante permet de télécharger et d'installer cert-manager v0.14.2 :
      kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v0.14.2/cert-manager.yaml

Consultez les pages suivantes :

458417250 Apigee 1-16-0-apigee-4 CORRIGÉ dans Apigee 1-16-0-apigee-6 Le processeur de messages renvoie une erreur 500 avec "Duplicate Header "authorization"".

Lorsqu'une requête contient plusieurs en-têtes d'autorisation, la passerelle d'entrée Apigee ne les concatène pas en un seul en-tête. Le processeur de messages renvoie alors une erreur 500 avec un message "Duplicate Header "authorization"".

Solution : Si plusieurs en-têtes d'autorisation sont présents dans la requête, concaténez-les en un seul en-tête. Exemple :

curl -s https://my-hostname.net/mocktarget/echo \
          -H 'authorization: a, b'

462685598 UI OUVERT

L'interface utilisateur d'Apigee ne permet actuellement pas de provisionner des organisations Apigee avec un Google-owned and Google-managed encryption key.

L'interface utilisateur Apigee ne permet pas de sélectionner un Google-owned and Google-managed encryption key lors du provisionnement des organisations d'abonnement.

Solution de contournement : Utilisez les API Apigee pour créer des organisations par abonnement avec un Google-owned and Google-managed encryption key.

Comme indiqué dans la documentation de l'API Apigee, vous pouvez créer l'organisation Apigee à l'aide d'un Google-owned and Google-managed encryption key en ne fournissant pas de valeurs pour les champs runtimeDatabaseEncryptionKeyName, apiConsumerDataEncryptionKeyName et controlPlaneEncryptionKeyName.

460431753 Apigee, Apigee hybrid OUVERT Les règles Apigee Model Armor ne sont pas compatibles avec WebSockets.

Les règles Apigee Model Armor, y compris SanitizeUserPrompt et SanitizeModelResponse, ne fonctionnent actuellement pas comme prévu lorsqu'elles sont utilisées dans des proxys d'API gérant les connexions WebSocket. Pour en savoir plus sur la configuration de WebSocket, consultez WebSockets avec Apigee.

433759657 Apigee CORRIGÉ dans 1-16-0-apigee-3 ou version ultérieure

Après la mise à niveau vers 1-16-0-apigee-3, certaines organisations Apigee peuvent rencontrer des erreurs HTTP 500 provenant d'un java.lang.NoClassDefFoundError dans une règle d'appel Java. L'erreur ressemble à ceci :

{"fault":{"faultstring":"Failed to execute JavaCallout. org/apache/commons/lang/StringUtils","detail":{"errorcode":"steps.javacallout.ExecutionError"}}}

Cette erreur se produit lorsqu'une règle d'appel Java dépend de manière incorrecte de bibliothèques destinées à l'usage interne d'Apigee au lieu de fournir ses propres dépendances.

Action requise : pour éviter ce problème, les développeurs doivent s'assurer que tous les appels Java sont autonomes et utilisent leurs propres bibliothèques dédiées, en évitant toute dépendance au chemin de classe interne d'Apigee.

Dans le proxy d'API qui utilise la bibliothèque JAR Apache Commons, importez le fichier JAR Apache Commons pour l'inclure en tant que ressource pour le proxy. Pour en savoir plus, consultez les consignes relatives aux ressources Java.

451841788 hybrid 1.14.3 et hybrid 1.15.1 CORRECTION Apigee hybrid nécessite la propriété mintTaskScheduler.serviceAccountPath même lorsque la monétisation n'est pas activée.

La mise à niveau du graphique apigee-org peut échouer si la propriété mintTaskScheduler.serviceAccountPath n'est pas définie, même si la monétisation n'est pas activée :

Error: UPGRADE FAILED: execution error at (apigee-org/templates/mint-task-scheduler-gsa-secret.yaml:12:63): mintTaskScheduler.serviceAccountPath is required!

Solution : Supprimez les fichiers apigee-org/templates/mint-task-scheduler-gsa-secret.yaml et apitee-org/templates/mint-task-scheduler-sa.yaml.

Vous pouvez éventuellement déplacer les fichiers vers un emplacement distinct en dehors du répertoire de chart Helm. Vous pouvez également les télécharger à nouveau si vous souhaitez activer la monétisation à l'avenir, en suivant les instructions de l'étape 2 : Télécharger les charts Helm Apigee.

Par exemple, à partir du répertoire helm-charts/ :

  1. ls apigee-org/templates/

    Résultat :

    apigee-org-guardrails.yaml              mart-sa.yaml
    apigee-proxy-chaining-certificate.yaml  mint-task-scheduler-gsa-secret.yaml
    apigee-proxy-chaining-route.yaml        mint-task-scheduler-sa.yaml
    ax-hash-salt-secret.yaml                NOTES.txt
    connect-agent-gsa-secret.yaml           organization.yaml
    connect-agent-sa.yaml                   udca-gsa-secret.yaml
    data-encryption-secret.yaml             udca-sa.yaml
    encryption-keys-secret.yaml             watcher-gsa-secret.yaml
    _helpers.tpl                            watcher-sa.yaml
    mart-gsa-secret.yaml
    
  2. (Facultatif) :
    cp apigee-org/templates/mint-task-scheduler-gsa-secret.yaml /tmp/
    cp apigee-org/templates/mint-task-scheduler-sa.yaml /tmp/
  3. rm apigee-org/templates/mint-task-scheduler-gsa-secret.yaml
  4. rm apigee-org/templates/mint-task-scheduler-sa.yaml
  5. ls apigee-org/templates/

    Résultat :

    apigee-org-guardrails.yaml              mart-gsa-secret.yaml
    apigee-proxy-chaining-certificate.yaml  mart-sa.yaml
    apigee-proxy-chaining-route.yaml        NOTES.txt
    ax-hash-salt-secret.yaml                organization.yaml
    connect-agent-gsa-secret.yaml           udca-gsa-secret.yaml
    connect-agent-sa.yaml                   udca-sa.yaml
    data-encryption-secret.yaml             watcher-gsa-secret.yaml
    encryption-keys-secret.yaml             watcher-sa.yaml
    _helpers.tpl
    
451375397 hybrid 1.14.3 CORRIGÉ dans hybrid 1.15.1

Le script apigee-pull-push.sh peut renvoyer un message d'erreur No such image, par exemple :

Error response from daemon: No such image: gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:latest

Solution : Modifiez le script HELM_CHARTS_DIR/apigee-operator/etc/tools/apigee-pull-push.sh pour remplacer la ligne 114 de la fonction docker_tag() par :

  docker tag "${source}/$i" "${dest}/$i:${TAG}"

À :

  docker tag "${source}/$i:${TAG}" "${dest}/$i:${TAG}"
405936071 hybrid 1.15.0 CORRIGÉ dans hybrid 1.15.1

Lorsque metrics.serviceAccountRef ou metrics.serviceAccountSecretProviderClass sont spécifiés dans le fichier overrides.yaml, le rôle de télémétrie cible le mauvais compte de service.

Solution : Corrigez _helper.tpl dans le graphique apigee-operator/ et réappliquez-le.

  1. Modifiez apigee-operator/templates/_helpers.tpl et supprimez les lignes en gras suivantes :

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.serviceAccountSecretProviderClass -}}  <-- DELETE
      {{- .Values.serviceAccountSecretProviderClass -}}          <-- DELETE
      {{- else if .Values.metrics.serviceAccountRef -}}          <-- DELETE
      {{- .Values.metrics.serviceAccountRef -}}                  <-- DELETE
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}

    La section obtenue doit se présenter comme suit :

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}
  2. Appliquez à nouveau le graphique apigee-operator.

    helm upgrade operator apigee-operator/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
419856132 hybrid 1.14.2 et versions ultérieures CORRIGÉ dans hybrid 1.14.3 et hybrid 1.15.0 Si gateway.networking.k8s.io/v1 est installé dans votre cluster,la mise à niveau de apigee-ingressgateway-manager peut échouer.

Pour contourner ce problème, suivez les étapes décrites dans l'article sur le problème connu 416634326.

378686709 Apigee
Apigee hybrid
CORRIGÉ dans Apigee (appel d'assistance requis)
CORRIGÉ dans hybrid 1.14.3 et hybrid 1.15.1 (procédure requise)

L'utilisation de caractères génériques (*) dans les chemins de base des proxys Apigee peut entrer en conflit avec d'autres chemins de base explicites, ce qui entraîne une erreur 404. Par exemple, l'utilisation des chemins de base suivants pour deux proxys déployés dans le même environnement peut entraîner une erreur 404 lors de l'appel de Proxy-2 :

Proxy-1: /a/v1/b
Proxy-2: /a/*/c

Dans ce cas, les appels au chemin de base explicite seront résolus avec succès, mais les appels à Proxy-2 peuvent renvoyer un 404 si le chemin générique est évalué comme /a/v1/c.

Corrigé : ce problème a été résolu dans Apigee et dans hybrid 1.14.3 et versions ultérieures. Toutefois, le correctif n'est pas activé par défaut. Si vous souhaitez activer l'utilisation de caractères génériques dans les chemins de base :

  • Les clients disposant d'organisations Apigee doivent contacter l'assistance Apigee pour activer le correctif si nécessaire.
  • Les clients disposant d'organisations Apigee hybrid doivent suivre la procédure ci-dessous pour activer le correctif si nécessaire.

Procédure : Pour autoriser l'utilisation de caractères génériques (*) dans les chemins de base des proxys Apigee dans Apigee hybrid :

  1. Ajoutez le stanza suivant à votre fichier overrides.yaml avant de passer à la version 1.14.3 ou ultérieure d'Apigee hybrid :
    runtime:
      cwcAppend:
        conf_message-processor-communication_classificationV2.enabled: "true"
    
  2. Appliquez les modifications au graphique apigee-env. Répétez cette modification pour chaque environnement de votre installation.
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
    • ENV_RELEASE_NAME est un nom utilisé pour suivre l'installation et les mises à niveau du graphique apigee-env. Ce nom doit être unique par rapport aux autres noms de version Helm de votre installation. Il s'agit généralement de la même valeur que ENV_NAME. Toutefois, si votre environnement porte le même nom que votre groupe d'environnements, vous devez utiliser des noms de version différents pour l'environnement et le groupe d'environnements (par exemple, dev-env-release et dev-envgroup-release). Pour en savoir plus sur les versions dans Helm, consultez Trois concepts importants dans la documentation Helm.
    • ENV_NAME est le nom de l'environnement que vous mettez à niveau.
    • OVERRIDES_FILE est votre fichier de remplacements.
  3. Effectuez une mise à niveau vers hybrid 1.14.3 ou version ultérieure.
382565315 hybrid 1.13.0,
hybrid 1.13.1,
hybrid 1.13.2,
hybrid 1.14.0
CORRIGÉ dans hybrid 1.13.3 et hybrid 1.14.1

L'utilisation de LogTimer dans SecurityPolicy peut entraîner une fuite de mémoire.

Dans certaines circonstances, les threads du journaliseur d'Apigee Hybrid peuvent consommer toute la mémoire disponible. Par exemple, des entrées de journaux fréquentes documentant les erreurs d'autorisation associées à Javacallout peuvent entraîner une erreur OOM.

421190799 Apigee CORRIGÉ dans Apigee 1-15-0-apigee-7

Le processeur d'extension Apigee ne prend pas en charge le traitement de plus de 100 ko de données dans le cadre des événements de corps de requête et de réponse.

432315283 Apigee OUVERT

Lorsque vous mettez à jour un keystore ou un truststore sans en créer un, les mises à jour de l'exécution peuvent échouer et entraîner l'erreur intermittente suivante :

  {"fault":{"faultstring":"SSL Handshake failed sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target","detail":{"errorcode":"messaging.adaptors.http.flow.SslHandshakeFailed"}}}

L'erreur est intermittente, car la mise à jour du keystore ou du truststore peut échouer sur un pod d'exécution, mais réussir sur d'autres pods. Pour éviter ce problème, mettez à jour le keystore ou le truststore en en créant un. Redirigez votre référence vers le nouveau keystore ou truststore, comme décrit dans Lorsqu'un certificat expire.

412740465 hybrid 1.14.0 et versions ultérieures CORRIGÉ dans hybrid 1.14.3 et hybrid 1.15.1

À partir de la version 1.14.0 d'Apigee hybrid, l'ajout automatique des en-têtes de trace Zipkin (x-b3-*) a été supprimé.

N/A

Apigee hybrid OUVERT Si vous configurez le transfert de proxy non API à l'aide de httpProxy sans définir également envs.httpProxy, la configuration du proxy ne sera pas appliquée aux appels externes d'Apigee Runtime vers des services tels que Pub/Sub ou d'autres API Google Cloud.

Si vous ne spécifiez que httpProxy, vous devez également vous assurer que *.googleapis.com est ajouté à la liste d'autorisation de vos pods Apigee Runtime pour permettre la connectivité à ces services.

Consultez Configurer le proxy de transfert pour les proxys d'API.

416634326 hybrid 1.14.2 et versions ultérieures CORRIGÉ dans hybrid 1.14.3 et hybrid 1.15.1

La présence de définitions de ressources personnalisées istio.io dans un cluster Apigee hybrid peut entraîner l'échec des pods apigee-ingressgateway-manager.

Lors de la mise à niveau d'Apigee Hybrid depuis des versions antérieures vers la version 1.14.2 ou ultérieure, la présence de CRD istio.io existants peut entraîner l'échec des vérifications de préparation dans les conteneurs discovery des pods apigee-ingressgateway-manager.

Solution de contournement : les CRD istio.io ne sont pas requis par Apigee hybrid v1.14.2 ni les versions ultérieures. Vous disposez de deux options pour résoudre ce problème :

  • Supprimez les CRD istio.io si vous n'utilisez pas Istio à d'autres fins qu'Apigee dans votre cluster.
  • Mettez à jour le fichier apigee-ingressgateway-manager clusterrole pour ajouter des autorisations pour istio.io.

Après chaque option ci-dessus, vous devrez redémarrer vos pods apigee-ingressgateway-manager.

Supprimer les CRD

  1. Répertoriez les CRD istio.io de votre cluster dans un fichier CSV :
    kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io > istio-crd.csv
  2. Facultatif : Enregistrez les CRD en local au cas où vous auriez besoin de les recréer :
    kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml
  3. Supprimez les CRD istio.io :

    Effectuez un dry run :

    kubectl delete crd $(cat istio-crd.csv) --dry-run=client

    Exécution :

    kubectl delete crd $(cat istio-crd.csv)

Mettre à jour un clusterrole

  1. Obtenez le clusterrole apigee-ingressgateway-manager actuel :
    kubectl get clusterrole apigee-ingressgateway-manager-apigee -o yaml > apigee-ingressgateway-manager-apigee-clusterrole.yaml
  2. Copiez le clusterrole vers un nouvel emplacement :
    cp apigee-ingressgateway-manager-apigee-clusterrole.yaml apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml
  3. Ajoutez les autorisations supplémentaires suivantes à la fin du fichier :
    - apiGroups:
      - gateway.networking.k8s.io
      resources:
      - gatewayclasses
      - gateways
      - grpcroutes
      - httproutes
      - referencegrants
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - networking.istio.io
      resources:
      - sidecars
      - destinationrules
      - gateways
      - virtualservices
      - envoyfilters
      - workloadentries
      - serviceentries
      - workloadgroups
      - proxyconfigs
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - security.istio.io
      resources:
      - peerauthentications
      - authorizationpolicies
      - requestauthentications
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - telemetry.istio.io
      resources:
      - telemetries
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - extensions.istio.io
      resources:
      - wasmplugins
      verbs:
      - get
      - list
      - watch
    
  4. Appliquez le rôle :
    kubectl -n APIGEE_NAMESPACE apply -f apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml

Une fois les options ci-dessus effectuées, vous devrez redémarrer vos pods apigee-ingressgateway-manager.

  1. Répertoriez les pods ingress-manager à réinstaller ou à recréer :
    kubectl get deployments -n APIGEE_NAMESPACE

    Exemple de résultat :

    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager       1/1     1            1           32d
    apigee-ingressgateway-manager   2/2     2            2           32d
    
  2. Redémarrez les pods ingress-manager :
    kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager
  3. Après quelques minutes, surveillez les pods apigee-ingressgateway-manager :
    watch -n 10 kubectl -n APIGEE_NAMESPACE get pods -l app=apigee-ingressgateway-manager

    Exemple de résultat :

    NAME                                             READY   STATUS    RESTARTS   AGE
    apigee-ingressgateway-manager-12345abcde-678wx   3/3     Running   0          10m
    apigee-ingressgateway-manager-12345abcde-901yz   3/3     Running   0          10m
    
414499328 hybrid 1.14.1 CORRIGÉ dans hybrid 1.14.3 et hybrid 1.15.0

ApigeeTelemetry peut rester bloqué à l'état creating.

Ce problème a été observé sur les installations OpenShift.

Solution de contournement : Modifiez le modèle de graphique apigee-operator pour créer le bon accès clusterrole.

  1. Modifiez le fichier de modèle helm-charts/apigee-operator/templates/apigee-operators.yaml et recherchez la définition du clusterrole -apigee-manager-role-. Voici leur description :
    kind: ClusterRole
    metadata:
      name: apigee-manager-role-{{ include 'namespace' }}
    rules:
      ...
                  
  2. Recherchez le bloc - apiGroups: apiregistration.k8s.io et ajoutez la ressource apiservices/finalizers à la liste des ressources :
    - apiGroups:
      - apiregistration.k8s.io
      resources:
      - apiservices
      - apiservices/finalizers
      verbs:
      - create
      - delete
      - get
      - patch
      - update
      
  3. Recherchez le bloc - apiGroups: authorization.k8s.io et ajoutez le bloc - apiGroups: apigee.cloud.google.com à la fin du bloc avec le texte suivant :
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    

    Exemple :

    - apiGroups:
      - authorization.k8s.io
      resources:
      - subjectaccessreviews
      verbs:
      - create
      - get
      - list
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    
  4. Appliquez les modifications au graphique apigee-operator :

    Effectuez un dry run :

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    Mettez à niveau le graphique :

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
    
402739748 Apigee OUVERT

Les APIproducts sont limités à 50 chemins. Si vous ajoutez d'autres chemins, un message d'erreur s'affiche : Operation group limit of 51 exceeded in Operation Config

Solution de contournement : utilisez des modèles de caractères génériques pour combiner des chemins de ressources et des opérations, comme décrit dans Configurer des chemins de ressources.

Solution de contournement : créez plusieurs produits API. Cette solution de contournement a été vérifiée et est viable pour ceux qui ajoutent de nombreux proxys d'API à un produit d'API. L'application associée à vos produits d'API devra être mise à jour pour inclure la nouvelle, mais il a été prouvé que les identifiants et les détails des requêtes côté client n'ont pas besoin d'être modifiés.

291294211 Apigee OUVERT

Erreur lors de l'utilisation des API Custom Reports et Stats lors de la sélection par type de frais pour les installations utilisant la monétisation.

Solution : Récupérez tous les types de frais côté client avant de filtrer.

391140293 Apigee
Apigee hybrid
CORRECTION

La mise à l'échelle des pods d'entrée Istio peut entraîner une erreur 503.

La mise à l'échelle des pods d'entrée Istio peut parfois entraîner une erreur 503. Si une erreur 503 se produit, les journaux de l'équilibreur de charge affichent le message suivant : statusDetails: backend_connection_closed_before_data_sent_to_client.

Solution : Mettez à l'échelle manuellement les pods d'entrée Istio.

368155212 hybrid 1.14.0
hybrid 1.14.1
CORRIGÉ dans hybrid 1.14.2

ESS et non-ESS La rotation des identifiants Cassandra ne fonctionne pas dans les organisations avec des limites de proxy améliorées.

Le trafic d'exécution n'est pas affecté.

401624396 hybrid 1.13.x
hybrid 1.14.x
OUVERT L'opération de restauration Apigee échoue lors de la restauration des sauvegardes GCP ou HYBRID des fournisseurs de services cloud effectuées à partir d'une configuration multirégionale. Ce problème n'a aucune incidence sur la restauration CSI.

Les sauvegardes effectuées à partir de la configuration multirégionale à l'aide des fournisseurs de cloud GCP et HYBRID contiennent des informations sur toutes les régions hybrides qui existaient au moment où le snapshot a été pris. Comme ces régions n'existent plus, la tâche de restauration entrera en conflit avec l'état actuel de Cassandra et échouera avec l'erreur suivante : Unrecognized strategy option passed to NetworkTopologyStrategy.

401746333 Apigee
hybrid 1.12.4
hybrid 1.13.3
hybrid 1.14.1
CORRECTION

La bibliothèque Nimbus JOSE+JWT peut entraîner un java.lang.ClassCircularityError lors de l'utilisation d'une règle JavaCallout .

Si vous disposez d'une organisation compatible avec Apigee hybrid et d'une règle JavaCallout qui utilise la bibliothèque Nimbus JOSE+JWT, ne passez pas à hybrid 1.12.4, hybrid 1.13.3 ni hybrid 1.14.1.

397693324 hybrid 1.14.0
hybrid 1.14.1
CORRIGÉ dans hybrid 1.14.2

ESS et non-ESS La rotation des identifiants Cassandra multirégionaux échouera dans toutes les régions, sauf la première.

Le trafic d'exécution n'est pas affecté.

Suivez la solution de contournement fournie pour résoudre ce problème.

391861216 hybrid 1.13.x
hybrid 1.14.x
CORRIGÉ dans hybrid 1.13.3 et hybrid 1.14.1 Le redémarrage des pods Cassandra sur un cluster hybride qui a été restauré à l'aide des fournisseurs de cloud GCP ou HYBRID entraînera le passage des pods à l'état CrashLoopBackoff. Ce problème n'a aucune incidence sur la restauration CSI.

Les pods Cassandra redémarrent après l'application des modifications de remplacement Cassandra, par exemple lors de la réactivation de la sauvegarde, ce qui déclenche ce problème. Les journaux d'un pod Cassandra à l'état CrashLoopBackoff affichent l'erreur suivante : Cannot change the number of tokens from 512 to 256.

Suivez la solution de contournement fournie pour résoudre ce problème.

388608440 hybrid 1.11.x
hybrid 1.12.x
CORRIGÉ dans hybrid 1.12.4 et versions ultérieures Le job de sauvegarde Apigee ne nettoie pas les snapshots intermédiaires Cassandra.

Dans de rares cas, le job de sauvegarde Apigee ne nettoie pas les snapshots intermédiaires Cassandra qu'il crée lors de la sauvegarde à l'aide des fournisseurs de cloud HYBRID ou GCP. Cela ne se produit que si un problème sous-jacent empêche le processus de sauvegarde de se connecter correctement au serveur distant ou à Cloud Storage. Si le problème de connexion persiste, ces instantanés Cassandra restants peuvent s'accumuler au fil du temps et utiliser de l'espace de stockage sur les disques de Cassandra. Si vous êtes concerné, veuillez résoudre le problème de connexion sous-jacent, puis suivre les étapes fournies dans le guide de dépannage Cassandra pour effacer manuellement les snapshots Cassandra.

392135466 hybrid 1.14.0 OUVERT Le chaînage de proxys avec mTLS n'est pas disponible lorsque vous utilisez les limites de proxy améliorées par environnement.
383334511 Apigee OUVERT Entrée KVM créée avec un nom inattendu

Lorsqu'une règle KeyValueMapOperations est utilisée avec une portée apiproxy et que l'opération <Put> de la règle est appelée dans un flux partagé via un crochet de flux, l'entrée KVM est créée sous le nom du flux partagé. Il doit être créé sous le nom du proxy d'API.

384937220

hybrid 1.14.0 CORRECTION La création de versions Helm peut échouer en présence de plusieurs hôtes virtuels.

Lorsque plusieurs hôtes virtuels sont présents, la création de la version Helm peut échouer en raison de noms ApigeeRoute conflictuels. Pour contourner ce problème, exécutez les commandes suivantes pour chaque hôte virtuel lors de la création :

kubectl annotate ar apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite
kubectl annotate cert apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite

où :

  • PROJECT_ID_SUFFIX est un suffixe unique pour l'enchaînement interne de votre projet dans Kubernetes. Vous pouvez trouver ce suffixe à l'aide de la commande suivante :
    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining

    Le résultat doit se présenter comme suit :

    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining
    apigee-ingressgateway-internal-chaining-my-project--1234567    ClusterIP  34.118.226.140  <none>    15021/TCP,443/TCP    5d6h

    Dans l'exemple de résultat, my-project--1234567 correspond à PROJECT_ID_SUFFIX.

  • APIGEE_NAMESPACE est votre espace de noms Apigee.
  • NEW_ENV_GROUP_NAME est le nom du groupe d'environnements supplémentaire. Mettez à jour cette valeur pour chaque hôte virtuel.

N/A

Apigee hybrid OUVERT Un compte de service non valide peut envoyer l'API UpdateControlPlaneAccess dans une boucle de réessai.

Si un utilisateur fournit un compte de service non valide à l'API UpdateControlPlaneAccess, l'opération entre dans une boucle de nouvelles tentatives, ce qui empêche l'organisation d'appeler l'API jusqu'à ce que l'opération expire.

373722434 hybrid 1.13.x CORRIGÉ à partir de hybrid 1.13.2 et des versions ultérieures Le job de sauvegarde Apigee ne peut pas importer de données dans des buckets Cloud Storage comportant des règles de conservation.

Lorsque vous utilisez le fournisseur de cloud GCP, le job de sauvegarde Apigee ne peut pas être importé dans des buckets Cloud Storage avec des règles de conservation. Les fichiers de sauvegarde peuvent être laissés dans le bucket Cloud Storage avec une taille de fichier de 0 octet.

Solution : Désactivez les règles de conservation sur le bucket Cloud Storage.

341099433

Apigee hybrid OUVERT Le composant apigee-logger n'est pas compatible avec la fédération d'identité de charge de travail.

apigee-logger utilise des comptes de service Google IAM pour envoyer les journaux à Cloud Logging. Cela est dû au fait que FluentBit n'est pas compatible avec la fédération d'identité de charge de travail, ce qui empêche apigee-logger d'utiliser cette fonctionnalité.

Non disponible

Apigee hybrid OUVERT Le traçage distribué dans Apigee hybrid n'est pas compatible avec les organisations utilisant la résidence des données.

Non disponible

Apigee OUVERT Apigee n'est pas compatible avec le rechiffrement des clés. Par conséquent, même après la rotation, l'ancienne version de clé est toujours utilisée et vous ne pouvez pas modifier la clé CMEK après la création de l'organisation.

270574696

Apigee CORRECTION Apigee n'est pas compatible avec Cloud External Key Manager.

268104619

Apigee
Apigee hybrid
OUVERT Dans la règle OASValidation, lorsque vous spécifiez un type de tableau dans l'en-tête, le MP génère une erreur, même si l'entrée est valide.

364872027

Apigee
Apigee hybrid
CORRECTION Erreur d'analyse PEM dans les règles JWT/JWS en raison d'un format non standard

Pour les versions 1.13 et ultérieures d'Apigee et d'Apigee hybrid, tout écart par rapport au format PEM requis des clés utilisées dans les règles Apigee JWS ou JWT peut entraîner une erreur d'analyse. Par exemple, il est interdit de placer un caractère autre qu'un saut de ligne (/n) immédiatement avant la ligne "-----END" (limite post-encapsulation). Cela générera une erreur.

Pour éviter cette erreur, assurez-vous qu'aucun caractère autre qu'un saut de ligne, tel que des espaces ou des barres obliques, ne précède immédiatement la limite post-encapsulation.

Pour en savoir plus sur l'encodage utilisé pour les clés publiques ou privées, consultez la section sur la norme IETF RFC 7468.

310191899

Apigee
Apigee hybrid
OUVERT Délais avant expiration lors du déploiement de proxys d'API et de flux partagés

Les points de terminaison suivants peuvent faire l'objet de délais avant expiration lorsqu'ils sont utilisés avec un volume élevé de requêtes par seconde (RPS) :

Pour réduire la probabilité de délais avant expiration, nous vous recommandons de définir une cible de 1 RPS lorsque vous utilisez ces points de terminaison ou de vérifier l'état d'un déploiement avant d'en tenter un autre.

329304975

Apigee CORRECTION Limite du nombre de chemins de base par environnement

Apigee applique une limite temporaire de 1 000 chemins de base par environnement pour éviter les échecs potentiels lors du déploiement des révisions de proxy d'API.

Tant que cette limite est en place, vous pouvez déployer jusqu'à 1 000 révisions de proxy d'API (chacune contenant un seul chemin de base) par environnement. Si vos proxys d'API ou vos révisions contiennent plusieurs chemins de base, le nombre total de chemins de base par environnement ne doit pas dépasser 1 000.

333791378

hybrid 1.12.0 OUVERT Fonctionnalités de sauvegarde et de restauration de bases de données Cassandra non compatibles avec l'outil de migration Helm

Pour connaître la procédure d'installation d'un correctif pour la solution, consultez la section Dépannage.

310384001

hybrid 1.11.0 OUVERT Les échecs de validation de certification peuvent renvoyer une réponse d'erreur 502 au lieu d'une réponse d'erreur 503 lorsque les utilisateurs ajoutent le tag <Enforce>true</Enforce> dans le bloc <SSLInfo> cible pour la validation par défaut des certificats de point de terminaison cible TLS.

289583112

Apigee OUVERT La règle OASValidation ne fonctionne pas avec les exigences de sécurité globales dans les spécifications OpenAPI

Si la règle OASValidation spécifie une ressource <OASResource> avec des exigences de sécurité définies au niveau global, les exigences de sécurité ne sont pas appliquées.

Solution : Pour garantir qu'elles soient appliquées, toutes les exigences de sécurité doivent être définies au niveau de l'opération dans la spécification OpenAPI transmise dans l'élément <OASResource> de la règle OASValidation.

205666368

Apigee
hybrid 1.10.2
hybrid 1.10.3
CORRECTION dans Apigee 1-10-0-apigee-6 et
Hybrid 1.10.3-hotfix.1
Apigee Hybrid ne valide pas le certificat cible par défaut.

Consultez À propos de la définition des options TLS dans un point de terminaison cible ou un serveur cible.

295929616

hybrid 1.10.0 et versions ultérieures CORRIGÉ dans hybrid 1.10.3 L'installation d'Apigee hybrid 1.10 sur OpenShift (OSE) peut échouer avec des erreurs de mémoire saturée.

L'installation ou la mise à niveau vers les versions 1.10.0 à 1.10.2 d'Apigee hybrid peut échouer sur OSE en raison de problèmes de mémoire saturée. Corrigé dans la version 1.10.3 Apigee hybrid.

292118812

hybrid 1.10.1 CORRECTION apigee-udca peut ne pas respecter les paramètres proxy HTTP.

Si le pare-feu force tout le trafic via un proxy de transfert, apigee-udca peut passer à l'état de boucle de plantage en cas d'interruption.

292558790

Apigee
hybrid 1.8.0 et versions ultérieures
OUVERT La règle OASValidation échoue et renvoie l'erreur Unable to parse JSON.
  • La stratégie OASValidation échoue lorsque le contenu JSON ne correspond pas au format attendu. Par exemple, si un en-tête attend une valeur au format <text>@<text> et qu'il est renseigné avec du texte sans le symbole @, la règle échouera et renverra une erreur Unable to parse JSON.
  • Si la règle OASValidation spécifie une ressource <OASResource> contenant un paramètre path qui utilise un schéma $ref, la règle échoue et renvoie une erreur Unable to parse JSON - Unrecognized token.

    Solution : n'utilisez pas $ref dans les paramètres path de la spécification OpenAPI spécifiée dans l'élément <OASResource>.

297012500

Apigee
hybrid 1.8.0 et versions ultérieures
OUVERT Problèmes de déploiement avec la validation OAS lors de l'utilisation de références circulaires
  • Le déploiement Apigee échouera pour la règle de validation OAS lors de l'utilisation de références circulaires pour la spécification OpenAPI 3.0.0 car elle entre dans une boucle infinie.
  • Solution : utilisez un fichier YAML de spécification OpenAPI sans références circulaires.

289254725

Apigee
Apigee 1-10-0-apigee-3
hybrid 1.8.8
hybrid 1.9.3
CORRIGÉ dans Apigee 1-10-0-apigee-5
CORRIGÉ dans Apigee hybrid
Les déploiements de proxy qui incluent la règle OASValidation peuvent échouer.

Les déploiements de proxy qui incluent la règle OASValidation peuvent échouer si les deux conditions suivantes sont remplies :

  • La spécification OpenAPI utilisée pour la validation dans la règle OASValidation est au format YAML.
  • La spécification OpenAPI au format YAML contient un nombre flottant. Exemple :
    schema:
    type: number
    example: 2.345

284500460

Apigee
Apigee 1-10-0-apigee-1
CORRECTION Augmentation de la latence de la règle de journalisation des messages lorsqu'elle est utilisée avec Cloud Logging.

Pour éviter d'augmenter la latence des réponses au client, la règle de journalisation des messages doit être associée au PostClientFlow. Pour en savoir plus sur l'utilisation des règles dans les PostClientFlows, consultez la section Contrôler des proxys d'API avec des flux.

282997216

hybrid 1.8.0 et versions ultérieures
hybrid 1.9.0 et versions ultérieures
OUVERT Caractères spéciaux non autorisés dans le mot de passe Cassandra Jolokia

N'utilisez que des caractères alphanumériques pour le mot de passe Cassandra Jolokia. L'utilisation de caractères spéciaux (y compris, mais sans s'y limiter, "!", "@", "#", "$", "%", "^", "&" et "*") peut faire échouer le démarrage de Cassandra.

270371160

hybrid 1.9.0 et versions ultérieures CORRECTION La passerelle d'entrée Apigee n'accepte que le protocole/les algorithmes de chiffrement TLS1.2+

La passerelle d'entrée Apigee n'accepte que TLS1.2+. Elle n'est pas compatible avec les versions antérieures de TLS.

269139342

hybrid 1.7.0 et versions ultérieures CORRECTION apigeectl getOrg ne suit pas les paramètres HTTP_PROXY dans overrides.yaml

La validation de l'organisation Apigee ne respecte pas les règles de proxy de transfert HTTP définies dans overrides.yaml. Définissez validateOrg: false pour ignorer cette validation.

266452840

Apigee
hybrid 1.7.0 et versions ultérieures
hybrid 1.8.0 et versions ultérieures
hybrid 1.9.0 et versions ultérieures
CORRECTION Les sockets Web ne fonctionnent pas avec Anthos Service Mesh 1.15.3 dans Apigee X et Apigee Hybrid

Dans certaines circonstances, les sockets Web ne fonctionnent pas pour Apigee X et Apigee Hybrid lorsque vous utilisez Anthos Service Mesh 1.15.3-asm.6.

287922301

Apigee OUVERT Inexactitudes dans les taux de monétisation autour des seuils de tranche de volume

En raison de la conception actuelle, des taux de monétisation inexacts peuvent être appliqués aux transactions qui se produisent près d'un seuil de tranche de volume. Cela se traduit par un trop grand nombre de transactions évaluées au taux avant seuil. Ce problème est plus susceptible de se produire lorsque de nombreuses transactions pour une combinaison donnée de développeur et de forfait se produisent dans un délai de 30 secondes. Cela signifie que les rapports sur la monétisation surestimeront les frais avec des taux par tranche décroissants et les sous-estimeront avec des taux par tranche croissants. Ce problème se produit dans Apigee X et Apigee hybrid, et aucune solution de contournement n'est connue. La résolution a commencé et sera disponible dans une prochaine version.

242213234

Apigee CORRECTION Échec du chargement du produit d'API avec une erreur "aucune connexion disponible"

Ce message d'erreur peut s'afficher lors de la tentative de chargement des produits d'API : "Les produits n'ont pas pu être chargés. Erreur : Aucune connexion disponible à partir des agents de connexion Apigee.

Le problème se produit après l'activation de VPC Service Controls dans le projet Google Cloud et l'ajout de iamcredentials.googleapis.com au périmètre de service en tant que service restreint.

Solution : Créez manuellement une règle de sortie, par exemple :

-egressTo:
    operations:
    -serviceName: "iamcredentials.googleapis.com"
        methodSelectors:
        -method:
    resources:
    -projects/608305225983
  egressFrom:
    identityType: ANY_IDENTITY

247540503

hybrid 1.7.0 et versions ultérieures
hybrid 1.8.0 et versions ultérieures
CORRECTION Une condition de concurrence avec recherche de clés de chiffrement peut entraîner des échecs de recherche de KVM.

Dans certains cas, à un débit très élevé, une condition de concurrence avec recherche de clés de chiffrement peut entraîner des échecs de recherche de KVM.

258699204

hybrid 1.8.0 et versions ultérieures CORRECTION Les requêtes et limites de mémoire par défaut pour les pods de métriques ont été modifiées accidentellement dans la version 1.8.x.

Si vous constatez que les pods apigee-telemetry-app ou apigee-telemetry-proxy ne s'exécutent pas, modifiez les propriétés de demandes de ressources et de limites de ressources metrics pour qu'elles correspondent aux valeurs par défaut suivantes dans la Documentation de référence sur les propriétés de configuration : métriques.

Propriété de configuration Valeur par défaut
metrics.aggregator.resources.requests.memory : 512Mi
metrics.aggregator.resources.limits.memory : 3Gi
metrics.app.resources.requests.memory : 512Mi
metrics.app.resources.limits.memory : 1Gi
metrics.appStackdriverExporter.resources.requests.memory : 512Mi
metrics.appStackdriverExporter.resources.limits.memory : 1Gi
metrics.proxy.resources.requests.memory : 512Mi
metrics.proxy.resources.limits.memory : 1Gi
metrics.proxyStackdriverExporter.resources.requests.memory : 512Mi
metrics.proxyStackdriverExporter.resources.limits.memory : 1Gi

Appliquez les modifications avec apigeectl apply avec l'option ‑‑telemetry :

apigeectl apply --telemetry -f overrides.yaml

260324159

Apigee 1-9-0-apigee-16 CORRECTION Déploiements de proxys d'API et de flux partagés prenant jusqu'à 30 minutes.

Dans certaines circonstances, le déploiement des proxys d'API et des flux partagés dans le plan d'exécution pouvait prendre aux alentours de 20 à 30 minutes en raison d'une erreur de "socket fermé" dans le synchronisateur.

214447386

Tous OUVERT Le message "config not modified" (configuration non modifiée) s'affiche dans les journaux d'audit pour l'accès aux données des API Apigee en tant que Error.

Ce message est censé s'afficher toutes les minutes et n'a pas d'incidence sur vos coûts de facturation.

260772383

hybrid 1.8.0 et versions ultérieures OUVERT Erreur de liaison de socket sur la plate-forme AKS

Si vous installez Apigee hybrid sur AKS, l'erreur suivante peut s'afficher :

envoy config listener '0.0.0.0_443' failed to bind or apply socket options: cannot bind '0.0.0.0:443': Permission denied

Solution : ajoutez le stanza svcAnnotations suivant au fichier des remplacements :

ingressGateways:
- name: INGRESS_NAME
...
svcAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"

Consultez la section Configurer l'environnement d'exécution hybride. Consultez également la section Utiliser un équilibreur de charge interne avec AKS.

241786534

hybrid 1.8.0 et versions ultérieures CORRECTION MART ne parvient pas toujours à se connecter à FluentD.

Lorsque vous utilisez l'UDCA au niveau de l'organisation, MART ne peut pas toujours se connecter à FluentD. L'UDCA au niveau de l'organisation est la valeur par défaut dans Apigee hybrid version 1.8. Consultez la section orgScopedUDCA dans la documentation de référence sur les propriétés de configuration.

Non disponible hybrid 1.6.0 et versions ultérieures OUVERT apigee-logger ne fonctionne pas sur Anthos BareMetal avec CentOS ou RHEL.

Après la migration de apigee-logger de fluend vers fluent-bit dans la version 1.6.6 d'Apigee hybrid, le logger a cessé de fonctionner sur Anthos BareMetal avec CentOS ou RHEL.

207762842 hybrid 1.5.0 et versions ultérieures CORRECTION Journaux non envoyés à Cloud Logging par apigee-logger.

Les configurations apigee-logger actuelles, y compris les vérifications d'activité, sont incompatibles avec l'environnement d'exécution Kubernetes. Par conséquent, les journaux ne seront pas envoyés à Cloud Logging comme prévu. Ce problème entraîne également le plantage régulier des pods apigee-logger. Ce problème affecte les installations Apigee hybrid sur AKS, Anthos Bare Metal et d'autres plates-formes. Notez que dans certains cas, ce problème entraîne un volume de journaux excessif.

191291501, 191000617 Apigee CORRECTION La modification de l'adresse e-mail d'une entité de développeur échouera dans l'interface utilisateur.
191002224 hybrid 1.5.0 et versions ultérieures CORRECTION La modification d'une adresse e-mail échoue lorsque vous utilisez l'API PUT /organizations/{org_name}/developers/{developer_email}.
184555974 hybrid 1.5.0 et versions ultérieures CORRECTION Le Fluentd apigee-logger ne peut pas analyser les journaux dans le cluster OpenShift.
Non disponible Déploiements d'archives OUVERT La gestion et le débogage des déploiements d'archives Apigee dans l'UI ne sont pas compatibles.

Dans l'UI Apigee, vous ne pouvez pas afficher, confirmer l'état du déploiement ou gérer vos déploiements d'archive, comme décrit dans Déployer un proxy d'API, ni utiliser l'UI de débogage comme décrit dans Utiliser l'outil Debug. Pour contourner ce problème, vous pouvez utiliser gcloud ou l'API pour lister tous les déploiements d'archives dans un environnement et utiliser l'API Debug.

Non disponible Déploiements d'archives OUVERT Le rollback d'un déploiement d'archive n'est pas possible.

Le rollback d'un déploiement d'archive n'est actuellement pas disponible. Pour supprimer une version d'un déploiement d'archive, vous devez redéployer une version précédente d'une archive ou supprimer l'environnement.

421402073

Apigee dans VS Code OUVERT L'authentification Google dans les règles n'est pas compatible avec Apigee dans Visual Studio Code (VS Code)

L'authentification Google dans les règles ServiceCallout et ExternalCallout, comme décrit dans la page Utiliser l'authentification Google, n'est pas compatible avec Apigee dans VS Code.

422757662 Apigee 1-15-0-apigee-5
hybrid 1.15.0
CORRIGÉ dans Apigee 1-15-0-apigee-7 et Apigee 1-15-0-apigee-8

En-têtes x-b3 non disponibles lorsque DistributedTrace est désactivé

Dans les versions 1.15.0 d'Apigee et 1.15.0 d'Apigee hybrid, Apigee a cessé d'envoyer des en-têtes x-b3 aux points de terminaison cibles lorsque le traçage distribué est désactivé. Toutefois, certaines installations Apigee s'appuyaient sur l'envoi d'en-têtes x-b3, que le traçage distribué soit activé ou non. Par conséquent, cette modification a été annulée à partir d'Apigee 1-15-0-apigee-7.

146222881 hybrid 1.3.0 et versions ultérieures CORRECTION Erreur d'en-tête HTTP non valide

Erreur d'en-tête HTTP non valide : l'entrée Istio transfère toutes les réponses cibles entrantes au protocole HTTP2. Comme le processeur de messages hybride n'accepte que le protocole HTTP1, vous pouvez rencontrer l'erreur suivante lorsqu'un proxy d'API est appelé :

http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1,

name: [:authority], value: [domain_name]

Si cette erreur s'affiche, vous pouvez effectuer l'une des actions suivantes pour corriger le problème :

  • Modifiez le service cible pour omettre l'en-tête "Host" dans la réponse.
  • Si nécessaire, supprimez l'en-tête "Host" à l'aide de la règle AssignMessage dans votre proxy d'API.

420985360

Portail intégré OUVERT SmartDocs
  • Apigee est compatible avec la spécification OpenAPI 3.0 lorsque vous publiez vos API à l'aide de SmartDocs sur votre portail, mais un sous-ensemble de fonctionnalités n'est pas encore compatible. Par exemple, les propriétés allOf pour la combinaison et l'extension des schémas.

    Si une fonctionnalité incompatible est référencée dans votre Spécification OpenAPI, il arrive que les outils ignorent la fonctionnalité, mais affichent toujours la documentation de référence de l'API. Dans d'autres cas, une fonctionnalité incompatible peut entraîner des erreurs empêchant l'affichage de la documentation de référence de l'API. Dans les deux cas, vous devez modifier votre Spécification OpenAPI afin d'éviter d'utiliser la fonctionnalité non compatible jusqu'à ce qu'elle soit prise en charge dans une version ultérieure.

  • L'outil Essayer cette API présente les limites suivantes :
    • L'en-tête Accept est défini sur application/json, quelle que soit la valeur définie pour consumes dans la spécification OpenAPI.
    • Les en-têtes de requête dont le type n'est pas une chaîne ne sont pas acceptés.
N/A Portail intégré OUVERT Administrateur de portail

  • Pour le moment, les mises à jour simultanées du portail (telles que les modifications de pages, de thèmes, de CSS ou de scripts) par plusieurs utilisateurs ne sont pas acceptées.
  • Si vous supprimez une page de documentation de référence de l'API à partir du portail, vous ne pouvez pas la recréer. Vous devrez supprimer et rajouter le produit d'API, puis générer à nouveau la documentation de référence de l'API.
  • Lorsque vous personnalisez le thème de votre portail, un délai de cinq minutes peut être nécessaire pour que les modifications soient appliquées.
Non disponible Portail intégré OUVERT Fonctionnalités de portail

La recherche sera ajoutée au portail intégré dans une prochaine version.

Non disponible Portail intégré OUVERT Fournisseur d'identité SAML

La déconnexion unique (SLO) avec le fournisseur d'identité SAML n'est pas disponible pour les domaines personnalisés. Pour activer un domaine personnalisé avec un fournisseur d'identité SAML, laissez le champ "Sign-out URL" (URL de déconnexion) vide lorsque vous configurez les paramètres SAML.

191815997 hybrid 1.6.0 et versions ultérieures CORRECTION Si un client hybride configure un proxy de transfert pour le proxy d'API, le jeton Google ne fonctionnera que s'il dispose d'un accès direct à *.googleapis.com.
Non disponible Apigee CORRIGÉ dans Apigee 1-12-0-apigee-2 et hybrid 1.12.0 API Monitoring et Cloud Monitoring montrent des pics anormaux.

  • Les nombres de requêtes et de réponses de proxy d'API (pour les proxys et les cibles) montrent des pics anormaux.

    Voici un exemple illustrant un tel pic :

    (Agrandir l'image)

  • En raison d'un bug, le système enregistre le nombre de manière incorrecte pour une courte période, et le nombre est corrigé. Cela se produit en cas de réduction du trafic des API (ce qui entraîne une réduction du nombre de passerelles API).
  • Pour distinguer les pics réels des requêtes de ce problème, veuillez consulter la page "Analyse des API" (en particulier les pages Performances des proxys et Performances des cibles).

Métriques concernées :

  • apigee.googleapis.com/proxyv2/request_count
  • apigee.googleapis.com/proxyv2/response_count
  • apigee.googleapis.com/targetv2/request_count
  • apigee.googleapis.com/targetv2/response_count

Nouvelles métriques

Vous pouvez utiliser les nouvelles métriques pour éviter ce problème.

Métrique Description
apigee.googleapis.com/proxy/request_count Nombre de requêtes adressées au proxy Apigee depuis l'enregistrement du dernier échantillon.
apigee.googleapis.com/proxy/response_count Nombre de réponses envoyées par le proxy d'API Apigee.
apigee.googleapis.com/proxy/latencies Répartition des latences, qui sont calculées entre le moment où la requête a été reçue par le proxy Apigee et le moment où la réponse a été envoyée depuis le proxy Apigee vers le client.
apigee.googleapis.com/target/request_count Nombre de requêtes envoyées à la cible Apigee depuis l'enregistrement du dernier échantillon.
apigee.googleapis.com/target/response_count Nombre de réponses reçues de la cible Apigee depuis l'enregistrement du dernier échantillon.
apigee.googleapis.com/target/latencies Répartition des latences, qui sont calculées entre le moment où la requête a été envoyée à la cible Apigee et le moment où la réponse a été reçue par le proxy Apigee. Ce temps n'inclut pas la surcharge du proxy d'API Apigee.

Pour Apigee hybrid, consultez les sections suivantes : Présentation de la collecte de métriques et Afficher les métriques.

203778087 hybrid 1.5.3 et versions ultérieures OUVERT apigee-stackdriver-logging-agent s'exécute actuellement en tant que racine.

Solution : désactivez l'agent Logging sur l'environnement hybride.

205629443 Apigee CORRECTION Si ServiceCallout est de type "fire and forget" (pas de tag <Response>), une condition de concurrence peut se produire si une autre règle intervient après celle-ci.

Solution : pour conserver le comportement de type "fire and forget" :

  1. Ajoutez <Response>calloutResponse</Response> à l'appel de service.
  2. Définissez continueOnError sur true.
207719377 Apigee CORRIGÉ dans Apigee 1-11-0-apigee-1 S'il existe plusieurs règles SpikeArrest dans un groupe, des erreurs 502 se produisent.

Solution : évitez d'utiliser plusieurs règles SpikeArrest dans le proxy pour éviter le problème.

209097822 hybrid 1.5.0 et versions ultérieures
Apigee
CORRECTION Les mises à jour dynamiques du débit dans SpikeArrest peuvent ne pas s'appliquer immédiatement

Dans le cas d'une clé spécifique, en cas de trafic continu, il est possible que le débit ne soit pas limité à celui mis à jour. Si aucun trafic n'est enregistré pendant cinq minutes pour une clé spécifique, le débit est pris en compte.

Solution : redéployez le proxy avec une nouvelle variable de référence si le débit doit prendre effet immédiatement. Vous pouvez également utiliser deux arrêts de pics conditionnels avec des variables de flux différentes pour ajuster le débit.

221305498 Apigee OUVERT L'API Monitoring peut afficher le code d'erreur "(not set)".

L'API Monitoring des proxys d'API configurables peut afficher le code d'erreur "(not set)" pour les réponses dont l'état n'est pas 2xx à partir de la cible.

246774745 Apigee CORRECTION La valeur de io.timeout.millis n'est pas respectée lorsqu'elle est utilisée avec plusieurs cibles dynamiques.

Si un proxy définit deux valeurs io.timeout.millis ou plus dans deux flux ou plus utilisant le même hôte cible, une seule valeur io.timeout.millis est honorée.

245664917 hybrid 1.8.x CORRECTION L'erreur de mise à niveau Apigee hybrid peut être ignorée

Lors de la mise à niveau vers Apigee hybrid 1.8.x, après avoir exécuté apigeectl init et vérifié que check-ready a réussi, vous pouvez remarquer que, si vous affichez les pods, le job de validation du schéma Cassandra est en état d'erreur. Cette condition est sans conséquence ; vous pouvez passer sereinement à l'étape suivante de la procédure de mise à niveau.

300660653 Apigee CORRECTION Une erreur ne doit pas être renvoyée lorsque vous déployez des proxys avec le même chemin d'accès vers plusieurs environnements associés à la même instance et au même groupe d'environnements.

Le déploiement de proxys avec le même chemin d'accès vers plusieurs environnements associés à la même instance et au même groupe d'environnements n'est pas autorisé. Un tel déploiement doit renvoyer un message d'avertissement en cas de conflit de chemin d'accès de base. Au lieu de cela, aucune erreur n'est affichée et les déploiements semblent réussir.

Solution : Lors du déploiement et après le déploiement, vérifiez qu'il n'y a pas de conflits de chemin d'accès de base avec les proxys déployés et corrigez-les si nécessaire.

301458133 Apigee CORRECTION Certaines tentatives de déploiement du proxy renvoient une erreur indiquant que la révision est immuable

Lorsque vous tentez d'enregistrer un proxy précédemment déployé, le déploiement peut échouer et renvoyer une erreur indiquant que la révision est immuable.

Solution : Cliquez sur la flèche du menu déroulant à côté du bouton Enregistrer, puis sélectionnez Enregistrer en tant que nouvelle révision. Relancez ensuite le déploiement.

301845257 Apigee CORRECTION La tentative de déploiement de plus de 800 proxys dans un groupe d'environnements échoue avec une erreur. La limite à laquelle une erreur est renvoyée est inférieure à 800 lorsque les chemins d'accès de base comportent plus de 15 caractères.

315820718 Apigee CORRECTION Avec les requêtes de proxy gRPC, les trailers gRPC sont supprimés de la réponse

Lorsqu'un appel est effectué vers un serveur cible gRPC, le seul trailer renvoyé est le trailer "grpc-status". Tous les autres trailers sont supprimés de la réponse.

341157011 Apigee CORRECTION Les spécifications générées avec Gemini Code Assist dans Cloud Code qui incluent également des caractères UTF-8 non ASCII ne sont pas analysées correctement lorsqu'elles sont importées dans le hub d'API.

Par conséquent, le hub d'API n'extraira pas correctement les opérations, les définitions et les autres métadonnées.
338285095 Apigee CORRECTION Les applications associées à un groupe d'applications n'apparaissent pas dans la liste des applications de l'interface utilisateur Apigee. Par conséquent, les utilisateurs ne peuvent pas accéder à la page "Détails de l'application" de l'application dans la console. La recherche dans la console avec un nom d'application partiel ou une recherche de clé API pour l'application n'est pas compatible tant que ce problème n'est pas résolu.

Les organisations Apigee hybrid ne sont pas concernées par ce problème, car elles utilisent l'UI classique pour afficher les détails de l'application.

Solution partielle : une liste de toutes les applications est disponible via les API. Consultez organizations.apps.list.
355714868 Monétisation
Apigee hybrid
CORRIGÉ dans hybrid 1.14.3, hybrid 1.15.1 et hybrid 1.16.0 Données des frais récurrents, de configuration et de crédit non collectées ni facturées pour les organisations hybrides

Pour les organisations hybrides avec monétisation, les données des frais récurrents (RECURRING_FEE), de configuration (SETUP_FEE) et de crédit (TOPUP_FEE) ne sont pas collectées ni facturées pour la facturation postpayée. Pour la facturation prépayée, les frais sont déduits du portefeuille, mais ne sont pas signalés.
438850078 Apigee OUVERT

Une récursion infinie se produit dans la règle OASValidation lorsqu'une réponse de backend contient un type de discriminateur identique au schéma parent. Ce problème peut entraîner une erreur StackOverflowError.

449012244 Apigee OUVERT

Utilisez des définitions de point de terminaison cible distinctes pour les cibles SSE (événements envoyés par le serveur). Si vous mélangez des points de terminaison cibles SSE et non SSE, vous risquez d'obtenir un comportement incohérent, par exemple des variables de flux response.content vides.

445936920 Apigee 1-16-0-apigee-2 et versions ultérieures OUVERT

Des problèmes de configuration DNS qui n'avaient pas été détectés auparavant peuvent désormais entraîner des erreurs DNS. Apigee a supprimé la fonctionnalité de remplacement DNS automatique qui était présente dans la version 1-16-0-apigee-2. Cette suppression élimine la résilience de la plate-forme aux erreurs de configuration DNS et peut désormais entraîner des erreurs DNS.

Recherchez les erreurs associées en consultant les journaux d'exécution pour les erreurs de résolution DNS.

383372330 Versions 1.13.0 à 1.15.1 (non incluse) d'Apigee Emulator CORRIGÉ dans les versions 1.15.1 et ultérieures de l'émulateur Apigee

Tous les déploiements de proxy échouent localement avec des messages d'erreur incluant Error parsing deployment report as JSON :

06/13/2025 6:45 PM EMULATOR INFO Deploying environment testenv, to Container apigee-1.14.2 (1.14.2)
06/13/2025 6:45 PM EMULATOR ERROR Error parsing deployment report as JSON
06/13/2025 6:45 PM EMULATOR ERROR null
06/13/2025 6:45 PM EMULATOR ERROR Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
06/13/2025 6:45 PM EMULATOR ERROR Deploy to Container apigee-1.14.2 (1.14.2), failed with Error: Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
Correction : Mettez à jour l'émulateur Apigee vers la version 1.15.1 ou ultérieure.