Skip to main content

VIRIDIAN Digital Banking - Ansible 4.2.0

Changelog

  • ELK: Se adiciona el campo documentId al ELK para ser usado en diferentes endpoints y buscar la interacción de un cliente por su documento de identidad, con este campo tenemos una visión más integral del la actividad de un cliente y entendemos que este dato es mejor ya que no sabemos muchas veces su usuario. También sirve en Onboarding, para buscar procesos con errores de personas específicas.
  • General: Actualmente, si un endpoint transaccional el Banco devuelve un response nulo o vacio, respondemos un código de error 90101 y la transacción queda rechazada. Ahora controlamos mejor este caso y devolvemos el error 90135: “La información devuelta por el banco es inválida, por favor intenta más tarde, si el problema se repite comunícate con nosotros”, y si el endpoint es uno transaccional, el error es reemplazado por: 10093: Error al ejecutar esta transacción. Es posible que la misma esté completada exitosamente, espera unos minutos y consulta el estado en “Transacciones recientes” antes de reintentar y la transacción queda en estado pendiente.
  • General: Con el uso del Dynatrace para recolección de métricas de rendimiento, hemos desactivado el componente APM de Elasticsearch, para ahorrar almacenamiento.
  • General: En el header de los endpoint que consumimos del Banco enviamos el traceId y el sessionId, sería importante que el Banco pueda almacenar por lo menos el traceId para tener una mejor correlación. En especial sería útil que en el endpoint vdbTransferOtherBank guarden el traceId y lo puedan devolver en el header, con los mismos nombres, de los endpoints: VerifyQRPaymentAdmin y NotifyQRPaymentAdmin, así podemos hacer un seguimiento completo de la transferencia o pago QR.
  • General: En los endpoints que consume el banco, se agrega la propiedad key, que contiene algún dato del request, esto para facilitar las búsquedas en el ELK, inicialmente trabajamos en los siguientes endpoints:
    • VerifyQRPaymentAdmin: key = trnIdTrn
    • NotifyQRPaymentAdmin: key = trnIdTrn
    • NotifyActivityAdmin: key = clientCode
    • NotifyMessageAdmin: key = clientCode
  • General: Se creó un nuevo código de error para ayudar a identificar y cuantificar los errores que se generan por timeout en consultas a la base de datos: 90150: Estamos demorando más de lo normal en recuperar tus datos, por favor intenta más tarde, si el problema se repite comunícate con nosotros. Antes simplemente mostrábamos el error genérico: '90101': Error interno en el servidor.
  • General: Se ha detectado reinicios en digitalpay-qr producidos por un error de base de datos. Por lo tanto se ha agregado un control para los casos donde falla el update a la base de datos, por ejemplo por un lock, ahora ya no hay fuga de memoria y se loguea el error correctamente. También se ha implementado un control en el envío de mensajes a Kafka, cuando el mensaje es muy grande, en el detalle del error ya no se loguea el mensaje grande, esto posiblemente también estaba causando fugas de memoria.
  • Lotes de Pago: Ahora se permiten errores en los importes de los registros del archivo a importar, para que el cliente los pueda corregir, puesto que estos errores no se permiten al momento del pago.
  • Lotes de Pago: Se realizan ajustes para que en el ELK se incluyan en la traza de un pago de lotes las llamadas a la interfaz vdbQueryTransaction, para facilitar la búsqueda y análisis de casos reportados.

Tareas previas

Selección de versión del release

  1. En el servidor de administración, ejecutar los siguientes comandos:

    git fetch --all --tags -f
    info

    Este comando descarga los tags de la nueva versión del release.

    git checkout 4.2.0-prod
    info

    Este comando selecciona la versión del release.

Descarga de componentes

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook release-warmup.yml -K
    info

    Este comando deploya las nuevas versiones de todos los componentes que serán actualizados.

Instrucciones

Cambios en base de datos

  1. Ejecutar el siguiente script:

    ALTER TABLE batch_payment_header ADD trace_id varchar(25);

Cambios en kafka

  1. Ninguno.

Cambios en vault

  1. Ninguno.

Actualización de componentes

  1. En el servidor de administración, ejecutar el siguiente comando ansible:

    ansible-playbook release-deploy.yml -K
    info

    Este comando deploya las nuevas versiones de todos los componentes.

Verificación de componentes

  1. En los servidores de aplicaciones, ejecutar el siguiente comando:

    docker ps -vs
    info

    Este comando muestra el estado de todos los docker containers ordenados alfabéticamente.

  2. Revisar el output del comando y asegurarse de que todos los docker containers tengan un status UP y no haya ningún docker container detenido.

Resumen de versiones

componenterelease 4.1.20release 4.2.0
viridian-config-properties8.11.0-bec8.12.0-bec
vdb-config-properties8.23.0-bec8.24.1-bec
cobalt-config-properties8.1.0-bec
server-config8.1.0-bec
server-eureka8.1.0-bec
vdb-routes-public8.8.3-bec
vdb-routes-internal8.1.0-bec8.2.0-bec
vdb-routes-bank8.2.0-bec
cobalt-routes-public8.1.0-bec
cobalt-routes-internal8.1.0-bec
jade-routes-public8.1.0-bec
gateway-public8.5.0-bec8.6.0-bec
gateway-internal8.3.0-bec8.4.0-bec
bank-gateway8.6.0-bec8.7.0-bec
bank-service8.1.0-bec8.2.0-bec
batchpayments-api8.3.0-bec8.4.0-bec
batchpayments-hosted8.2.0-bec8.3.0-bec
beneficiaries-api8.3.0-bec8.4.0-bec
digitalcredit-api8.4.0-bec8.5.0-bec
digitalpay-qr8.13.0-bec8.14.1-bec
guaranteebond-api8.2.0-bec8.3.0-bec
manager-api8.22.0-bec8.23.0-bec
manager-hosted8.11.1-bec8.12.0-bec
myfinances-api8.9.0-bec8.10.0-bec
notifications-hosted8.10.0-bec8.11.0-bec
onboarding-api8.14.0-bec8.15.0-bec
servicepayments-api8.3.0-bec8.4.0-bec
statements-api8.3.0-bec8.4.0-bec
trade-api8.1.0-bec8.2.0-bec
transactions-api8.9.0-bec8.10.0-bec
transactions-hosted8.2.0-bec8.3.0-bec
utilities-api8.5.0-bec8.6.0-bec
wiretransfer-api8.1.0-bec8.2.0-bec
insurance-agents8.1.0-bec8.2.0-bec
insurance-sales8.1.0-bec8.2.0-bec
assistant-requests8.1.0-bec8.2.0-bec
frontend-vdb5.14.1-bec
frontend-vdb-25.1.5-bec
frontend-admin1.21.0-bec
frontend-kiosk2.2.0-bec