Ferramenta de detecção de mudanças do Edge para nuvem privada 4.54.00

Ferramenta de detecção de mudanças

Criamos uma ferramenta de detecção de mudanças para identificar proxies, políticas, fluxos compartilhados e JARs de recursos da Apigee (no nível do proxy, do ambiente ou da organização) que podem ser afetados durante e após a transição para o Edge para nuvem privada 4.54.00. Essa ferramenta gera um relatório detalhando proxies implantados, fluxos compartilhados e JARs de recursos afetados pelas mudanças e fornece instruções para guias e estratégias específicos relevantes para esses proxies ou fluxos compartilhados identificados.

Pré-requisitos

  1. Uma máquina baseada em RHEL ou Rocky Linux é necessária para executar essa ferramenta (consulte Requisitos de instalação do Edge).
  2. O JRE 8 ou mais recente precisa estar instalado e configurado corretamente na máquina host para permitir que os scripts da ferramenta sejam executados.
  3. A ferramenta exige acesso de rede ao endpoint (URL) do servidor de gerenciamento e credenciais administrativas válidas para autenticação e recuperação de dados.
  4. A ferramenta exige acesso a um diretório de trabalho designado (por exemplo, /tmp) com espaço em disco suficiente e permissões de leitura/gravação adequadas para fazer o download de pacotes, gerar registros e armazenar a saída.
  5. (Opcional) Ao fazer upgrade da versão 4.53.00, a ferramenta exige um arquivo LDIF gerado usando o comando ldapsearch na seção Extrair dados LDAP de mudança do OpenLDAP para detectar RDNs longos que excedam 241 caracteres/bytes.

Como executar a ferramenta

Depois que todos os pré-requisitos forem atendidos, faça o download da ferramenta do repositório da Apigee usando suas credenciais da Apigee e extraia o arquivo baixado:

curl -u uName:pWord https://software.apigee.com/apigee/change-detector/change-detector-for-4.54.00_1.0.0.zip -o /tmp/change-detector-for-4.54.00_1.0.0.zip
unzip /tmp/change-detector-for-4.54.00_1.0.0.zip

Quando o download for concluído, execute o comando a seguir para conferir todas as opções disponíveis para a ferramenta:

./change-detector --help

Para executar a ferramenta, use o comando a seguir e substitua os marcadores pelas suas informações:

export APIGEE_PASSWORD=YOUR_PASSWORD
./change-detector --username YOUR_USERNAME --mgmt-url MGMT_URL --source-version SOURCE_VERSION

Especifique --source-version 4.53.01 ao fazer upgrade diretamente do Edge para nuvem privada 4.53.01 para verificar as mudanças do Java 21. Se você estiver fazendo upgrade da versão 4.53.00, especifique --source-version 4.53.00 para realizar uma verificação cumulativa que abranja as descontinuações de políticas da versão 4.53.01 e as mudanças do Java 21.

A ferramenta gera saída no formato CSV ou JSON que pode ser revisada diretamente ou importada para aplicativos de planilha, como o Google Planilhas.

Entender a saída da ferramenta

O relatório contém as seguintes colunas:

Organização

O nome da organização em que o artefato está localizado. Para mudanças do OpenLDAP, esse é None.

Ambiente

O ambiente específico (por exemplo, dev, test, prod) dentro da organização. Para JARs no nível da organização, esse campo é N/A. Para mudanças do OpenLDAP, esse é None.

Nome do proxy

O nome do proxy de API ou do fluxo compartilhado. Para recursos JAR no nível da organização, esse campo mostra o nome da organização. Para recursos JAR no nível do ambiente, esse campo mostra o nome do ambiente. Para mudanças do OpenLDAP, esse campo mostra a entidade LDAP do RDN.

Escopo

Especifica o escopo e o nível do artefato verificado:

  • proxy-level-jar: arquivo de recurso JAR enviado por upload no nível do proxy (em /resources/java).
  • env-level-jar: arquivo de recurso JAR enviado por upload no nível do ambiente (consulte Arquivos de recursos).
  • org-level-jar: arquivo de recurso JAR enviado por upload no nível da organização.
  • proxy: política ou configuração em uma revisão de proxy de API.
  • sharedflow: política ou configuração em uma revisão de fluxo compartilhado.
  • ldif: arquivo LDIF do OpenLDAP (para verificações do OpenLDAP).

Revisão

O número de revisão específico do proxy de API ou do fluxo compartilhado. Para JARs no nível do ambiente ou da organização, esse campo é N/A. Para mudanças do OpenLDAP, esse é None.

Nome da política

O nome da política específica que foi identificada como um possível problema (por exemplo, JavaCallout-ValidateAccount ou OASValidation-1). Para recursos no nível da organização, esse campo mostra N/A (Organization Resource). Para recursos no nível do ambiente, esse campo mostra N/A (Environment Resource). Para mudanças do OpenLDAP, esse é None.

Tipo de política

O tipo de política (por exemplo, java-callout ou OASValidation). Para mudanças do OpenLDAP, esse é None.

Versão de origem

A versão de origem do OPDK configurada para a verificação (4.53.00 ou 4.53.01).

Recurso afetado

Descreve o recurso ou a biblioteca específica detectada:

  • Para detecções de callout Java 21: o nome exato do arquivo JAR afetado (por exemplo, order-transform.jar ou corba-callout.jar).
  • Para descontinuações legadas da versão 4.53: deprecated library detected for NAME_OF_THE_AFFECTED_JAVA_CALLOUT_JAR.
  • Para detecções de OAS, JSONPath ou OpenLDAP: o elemento ou recurso de política específico (por exemplo, oas content type handling, wildcard expression ou LDAP RDN exceeds 241 characters).

Motivo da detecção

Fornece informações de diagnóstico detalhadas sobre o motivo pelo qual o item foi sinalizado:

  • Para detecções de callout Java 21: a classe específica, a biblioteca de substituição de destino (se aplicável) e a causa raiz (por exemplo, Class: javax.xml.bind.JAXBContext | Target Library: jakarta.xml.bind-api-2.3.3.jar | Root Cause: ClassNotFoundException: JAXB API was removed from Java SE in Java 11 (JEP 320)). Se vários problemas forem detectados no mesmo JAR, eles serão consolidados separados por ;.
  • Para descontinuações legadas da versão 4.53: uma lista de classes referenciadas de bibliotecas descontinuadas (por exemplo, ['Detected use of class CLASS_NAME from JAR_NAME']).
  • Para validações de OAS: a variável especificada na tag Source (por exemplo, Source=response).
  • Para JSONPath: a expressão exata sinalizada.
  • Para OpenLDAP: o RDN da entidade LDAP específica que excedeu 241 bytes ou caracteres.

Certeza do impacto

Esse campo indica o grau de confiança com que a ferramenta identificou um bloqueador de upgrade. Os valores são padronizados em letras maiúsculas:

  • HIGH:a ferramenta detectou uma mudança incompatível (como uma chamada para uma classe removida permanentemente, como javax.xml.bind.JAXBContext ou sun.misc.BASE64Encoder, ou um RDN do OpenLDAP que excedeu 241 bytes). Há uma probabilidade quase certa de falha de execução (ClassNotFoundException ou NoClassDefFoundError), a menos que seja corrigida.
  • MEDIUM: **MÉDIO** : a ferramenta detectou um padrão que exige inspeção do desenvolvedor e verificação funcional:
    • Para chamadas de Java: sinalizado em METHOD_SIGNATURE_MODIFICATION (por exemplo, org.w3c.dom.Document), em que a classe existe no Java 21, mas métodos específicos podem ter sido alterados ou descontinuados.
    • Para políticas OASValidation: sinalizado quando variáveis de execução dinâmicas são usadas no <Source> (por exemplo, Source=response), o que exige a captura do trace para observar as variáveis resolvidas durante a execução do proxy.

Exemplos de relatórios de detecção

Relatório de verificação direcionada do Java 21 (--source-version 4.53.01)

O exemplo a seguir ilustra a saída do relatório para um upgrade do OPDK 4.53.01 para 4.54.00:

Organização Ambiente Nome do proxy Escopo Revisão Nome da política Tipo de política Versão de origem Recurso afetado Motivo da detecção Certeza do impacto
my-org prod order-processing proxy-level-jar 12 JavaCallout-ParseXml java-callout 4.53.01 jaxb-callout.jar Class: javax.xml.bind.JAXBContext | Cause: ClassNotFoundException..... HIGH
my-org stage legacy-corba-bridge proxy-level-jar 1 JavaCallout-CorbaClient java-callout 4.53.01 corba-callout.jar Class: org.omg.CORBA.ORB | Cause: ClassNotFoundException..... HIGH
my-org prod prod env-level-jar N/A N/A (Environment Resource) java-callout 4.53.01 env-security-utils.jar Class: sun.misc.BASE64Encoder | Cause: ClassNotFoundException..... HIGH
my-org N/A my-org org-level-jar N/A N/A (Organization Resource) java-callout 4.53.01 cglib-nodep-2.2.jar Class: net.sf.cglib.proxy.Enhancer | Cause: IllegalArgumentException..... HIGH
my-org prod invoice-parser proxy-level-jar 5 JavaCallout-ParseInvoice java-callout 4.53.01 invoice-dom.jar Class: org.w3c.dom.Document | Cause: Modified methods in Java 21..... MEDIUM
my-org prod payment-gateway proxy-level-jar 3 JavaCallout-SignToken java-callout 4.53.01 payment-lib.jar Class: com.mycompany.crypto.OldProvider | Target: custom-crypto-3.0.jar..... HIGH

Relatório de verificação cumulativa (--source-version 4.53.00)

O exemplo a seguir ilustra a saída do relatório para um upgrade do OPDK 4.53.00 para 4.54.00:

Organização Ambiente Nome do proxy Escopo Revisão Nome da política Tipo de política Versão de origem Recurso afetado Motivo da detecção Certeza do impacto
my-org prod customer-portal proxy 3 ValidateOpenAPISpec OASValidation 4.53.00 oas content type handling Source=response MEDIUM
my-org prod accounts-api proxy-level-jar 4 JavaCallout-ValidateAccount java-callout 4.53.00 deprecated: custom-validator.jar..... ['Detected use of class org.apache.commons.beanutils.....'] HIGH
my-org prod order-processing proxy-level-jar 12 JavaCallout-ParseXml java-callout 4.53.00 jaxb-callout.jar Class: javax.xml.bind.JAXBContext | Cause: ClassNotFoundException..... HIGH
my-org None None ldif None None None 4.53.00 LDAP RDN exceeds 241 characters cn=very-long-rdn-name-exceeding-limit..... HIGH

Para orientações sobre como corrigir problemas identificados, consulte Estratégias de correção.