Résoudre les problèmes de rotation des identifiants Cassandra

Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Il n'existe pas de documentation Apigee Edge équivalente pour ce sujet.

Symptôme

Lors de la rotation des identifiants Cassandra multirégionale dans Apigee hybrid, après la rotation de la première région, les rotations dans les régions suivantes échouent et des erreurs sont enregistrées dans les journaux du pod de rotation des secrets.

Message d'erreur

Les informations suivantes s'affichent dans les journaux:

failed to run secret rotation: failed to create new users: failed to create new users

Solution de contournement pour le problème connu 397693324

Diagnostic

La ressource SecretRotation indique un échec dans le champ Status:

Status:
  Message:  initiated automated rollback
  State:    error

Les journaux du pod de tâche de rotation des secrets contiennent l'erreur suivante:

failed to run secret rotation: failed to create new users: failed to create new users

Les journaux du pod create-new-users-job contiennent l'erreur suivante:

Error creating clients with updated password: gocql: unable to create session: unable to discover protocol version: Provided username cassandra and/or password are incorrect

Solution

Effectuez les étapes suivantes.

  1. Dans chaque région, sauf la première, remplacez le mot de passe de l'utilisateur Cassandra par défaut (cassandra) par la nouvelle valeur de rotation dans l'Secret ancien.

    apiVersion: v1
        kind: Secret
        metadata:
          name: OLD_SECRET_NAME   # oldSecretRef
          namespace: APIGEE_NAMESPACE
        type: Opaque
        data:
          default.password: NEW_DEFAULT_PASSWORD   #base64-encoded string
          admin.user: OLD_ADMIN_USERNAME   #base64-encoded string
          admin.password: OLD_ADMIN_PASSWORD   #base64-encoded string
          dml.user: OLD_DML_USERNAME   #base64-encoded string
          dml.password: OLD_DML_PASSWORD   #base64-encoded string
          ddl.user: OLD_DDL_USERNAME   #base64-encoded string
          ddl.password: OLD_DDL_PASSWORD   #base64-encoded string
          jmx.user: OLD_JMX_USERNAME   #base64-encoded string
          jmx.password: OLD_JMX_PASSWORD   #base64-encoded string
          jolokia.user: OLD_JOLOKIA_USERNAME   #base64-encoded string
          jolokia.password: OLD_JOLOKIA_PASSWORD   #base64-encoded string
          
  2. Appliquez le Secret mis à jour:

    kubectl apply -f OLD_SECRET_FILE
  3. Poursuivez le processus de rotation normal.

Vous devez collecter des informations de diagnostic

Si le problème persiste, même après avoir suivi les instructions ci-dessus, rassemblez les informations de diagnostic suivantes, puis contactez Google Cloud Customer Care :

  • Outre les données habituelles que vous pouvez être invité à fournir, collectez les journaux de tous les pods de rotation des secrets.