Alat Deteksi Perubahan Edge for Private Cloud 4.54.00

Alat deteksi perubahan

Alat deteksi perubahan telah dibuat untuk mengidentifikasi proxy, kebijakan, alur bersama, dan JAR resource Apigee (di tingkat proxy, lingkungan, atau organisasi) yang mungkin terpengaruh selama dan setelah transisi ke Edge untuk Private Cloud 4.54.00. Alat ini menghasilkan laporan yang merinci proxy, alur bersama, dan JAR resource yang di-deploy yang terpengaruh oleh perubahan dan memberikan petunjuk ke panduan dan strategi tertentu yang relevan dengan proxy atau alur bersama yang diidentifikasi tersebut.

Prasyarat

  1. Mesin berbasis RHEL atau Rocky Linux diperlukan untuk menjalankan alat ini (lihat Persyaratan penginstalan Edge).
  2. JRE 8 atau yang lebih tinggi harus diinstal dan dikonfigurasi dengan benar di mesin host agar skrip alat dapat berjalan.
  3. Alat ini memerlukan akses jaringan ke endpoint (URL) Server Pengelolaan dan kredensial administratif yang valid untuk autentikasi dan pengambilan data.
  4. Alat ini memerlukan akses ke direktori kerja yang ditentukan (misalnya, /tmp) dengan kapasitas disk yang memadai dan izin baca/tulis yang sesuai untuk mendownload paket, membuat log, dan menyimpan output.
  5. (Opsional) Saat mengupgrade dari versi 4.53.00, alat ini memerlukan file LDIF yang dihasilkan menggunakan perintah ldapsearch di bagian perubahan OpenLDAP - Mengekstrak data LDAP untuk mendeteksi RDN panjang yang melebihi 241 karakter/byte.

Menjalankan alat

Setelah semua prasyarat terpenuhi, download alat dari repositori Apigee menggunakan kredensial Apigee Anda, dan ekstrak arsip yang didownload:

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

Setelah download selesai, Anda dapat menjalankan perintah berikut untuk melihat semua opsi yang tersedia untuk alat ini:

./change-detector --help

Untuk menjalankan alat, gunakan perintah berikut dan ganti placeholder dengan informasi Anda:

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

Tentukan --source-version 4.53.01 saat mengupgrade langsung dari Edge untuk Private Cloud 4.53.01 untuk memindai perubahan Java 21. Jika mengupgrade dari versi 4.53.00, tentukan --source-version 4.53.00 untuk melakukan pemindaian kumulatif yang mencakup penghentian kebijakan versi 4.53.01 dan perubahan Java 21.

Alat ini menghasilkan output dalam format CSV atau JSON yang dapat langsung ditinjau atau diimpor ke dalam aplikasi spreadsheet seperti Google Spreadsheet.

Memahami output alat

Laporan berisi kolom berikut:

Organisasi

Nama organisasi tempat artefak berada. Untuk perubahan OpenLDAP, kolom ini adalah None.

Lingkungan

Lingkungan tertentu (misalnya, dev, test, prod) dalam organisasi. Untuk JAR tingkat organisasi, kolom ini adalah N/A. Untuk perubahan OpenLDAP, kolom ini adalah None.

Nama Proxy

Nama proxy API atau alur bersama. Untuk resource JAR tingkat organisasi, kolom ini menampilkan nama organisasi. Untuk resource JAR tingkat lingkungan, kolom ini menampilkan nama lingkungan. Untuk perubahan OpenLDAP, kolom ini menampilkan entity LDAP dari RDN.

Cakupan

Menentukan cakupan dan tingkat artefak yang dipindai:

  • proxy-level-jar: File resource JAR yang diupload di tingkat proxy (di bawah /resources/java).
  • env-level-jar: File resource JAR yang diupload di tingkat lingkungan (lihat File resource).
  • org-level-jar: File resource JAR yang diupload di tingkat organisasi.
  • proxy: Kebijakan atau konfigurasi dalam revisi proxy API.
  • sharedflow: Kebijakan atau konfigurasi dalam revisi alur bersama.
  • ldif: File LDIF OpenLDAP (untuk pemeriksaan OpenLDAP).

Revisi

Nomor revisi tertentu dari proxy API atau alur bersama. Untuk JAR tingkat lingkungan atau organisasi, kolom ini adalah N/A. Untuk perubahan OpenLDAP, kolom ini adalah None.

Nama Kebijakan

Nama kebijakan tertentu yang telah diidentifikasi sebagai potensi masalah (misalnya, JavaCallout-ValidateAccount atau OASValidation-1). Untuk resource tingkat organisasi, kolom ini menampilkan N/A (Organization Resource). Untuk resource tingkat lingkungan, kolom ini menampilkan N/A (Environment Resource). Untuk perubahan OpenLDAP, kolom ini adalah None.

Jenis Kebijakan

Jenis kebijakan (misalnya, java-callout atau OASValidation). Untuk perubahan OpenLDAP, kolom ini adalah None.

Versi Sumber

Versi OPDK sumber yang dikonfigurasi untuk pemindaian (4.53.00 atau 4.53.01).

Resource Terdampak

Menjelaskan resource atau library tertentu yang terdeteksi:

  • Untuk deteksi callout Java 21: Nama persis file JAR yang terpengaruh (misalnya, order-transform.jar atau corba-callout.jar).
  • Untuk penghentian 4.53 lama: deprecated library detected for NAME_OF_THE_AFFECTED_JAVA_CALLOUT_JAR.
  • Untuk deteksi OAS, JSONPath, atau OpenLDAP: Elemen atau resource kebijakan tertentu (misalnya, oas content type handling, wildcard expression, atau LDAP RDN exceeds 241 characters).

Alasan Deteksi

Memberikan informasi diagnostik mendetail tentang alasan item ditandai:

  • Untuk deteksi callout Java 21: Class tertentu, library penggantian target (jika berlaku), dan penyebab utama (misalnya, 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)). Jika beberapa masalah terdeteksi dalam JAR yang sama, masalah tersebut akan digabungkan dan dipisahkan dengan ;.
  • Untuk penghentian 4.53 lama: Daftar class yang direferensikan dari library yang tidak digunakan lagi (misalnya, ['Detected use of class CLASS_NAME from JAR_NAME']).
  • Untuk validasi OAS: Variabel yang ditentukan dalam tag Source (misalnya, Source=response).
  • Untuk JSONPath: Ekspresi persis yang ditandai.
  • Untuk OpenLDAP: RDN entity LDAP tertentu yang melebihi 241 byte atau karakter.

Kepastian Dampak

Kolom ini menunjukkan tingkat keyakinan alat dalam mengidentifikasi pemblokir upgrade. Nilai distandardisasi dalam huruf besar:

  • HIGH: Alat ini telah mendeteksi perubahan yang tidak kompatibel (seperti panggilan ke class yang dihapus secara permanen seperti javax.xml.bind.JAXBContext atau sun.misc.BASE64Encoder, atau RDN OpenLDAP yang melebihi 241 byte). Ada kemungkinan kegagalan runtime yang hampir pasti (ClassNotFoundException atau NoClassDefFoundError) kecuali jika diperbaiki.
  • MEDIUM: Alat ini telah mendeteksi pola yang memerlukan pemeriksaan developer dan verifikasi fungsional:
    • Untuk Java Callout: Ditandai di bagian METHOD_SIGNATURE_MODIFICATION (misalnya, org.w3c.dom.Document), dengan class yang ada di Java 21, tetapi metode tertentu mungkin telah diubah atau tidak digunakan lagi.
    • Untuk kebijakan OASValidation: Ditandai saat variabel runtime dinamis digunakan dalam elemen <Source> (misalnya, Source=response), yang memerlukan pengambilan Trace untuk mengamati variabel yang di-resolve selama eksekusi proxy.

Contoh laporan deteksi

Laporan pemindaian Java 21 yang ditargetkan (--source-version 4.53.01)

Contoh berikut mengilustrasikan output laporan untuk upgrade dari OPDK 4.53.01 ke 4.54.00:

Organisasi Lingkungan Nama Proxy Cakupan Revisi Nama Kebijakan Jenis Kebijakan Versi Sumber Resource Terdampak Alasan deteksi Kepastian Dampak
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

Laporan pemindaian kumulatif (--source-version 4.53.00)

Contoh berikut mengilustrasikan output laporan untuk upgrade dari OPDK 4.53.00 ke 4.54.00:

Organisasi Lingkungan Nama Proxy Cakupan Revisi Nama Kebijakan Jenis Kebijakan Versi Sumber Resource Terdampak Alasan deteksi Kepastian Dampak
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

Untuk panduan tentang cara memperbaiki masalah yang teridentifikasi, lihat Strategi perbaikan.