Skip to content

Add jdk25 support and install oracle tools#1546

Open
Miranlfk wants to merge 1 commit into
wso2:masterfrom
Miranlfk:update-7.3
Open

Add jdk25 support and install oracle tools#1546
Miranlfk wants to merge 1 commit into
wso2:masterfrom
Miranlfk:update-7.3

Conversation

@Miranlfk

Copy link
Copy Markdown
Member

Purpose

This pull request updates the CloudFormation template wso2-master-is-intg-test-cfn.yaml to enhance integration test infrastructure by adding support for newer JDK versions and improving database client tooling. The main improvements are the addition of AdoptOpenJDK 25 options and the installation of the Oracle sqlplus64 client across supported operating systems.

Platform support enhancements:

  • Added ADOPT_OPEN_JDK25 and ADOPT_OPEN_JDK25_ARM to the list of supported JDK options, allowing integration tests to run against the latest Java version.

Database tooling improvements:

  • Added installation steps for the Oracle sqlplus64 client on Ubuntu-based systems using Oracle Instant Client RPMs and the alien package converter.
  • Added installation of sqlplus64 via yum for RHEL9 and Rocky Linux environments. [1] [2]
  • Added installation of sqlplus64 via zypper for SUSE environments.

@coderabbitai

coderabbitai Bot commented Apr 17, 2026

Copy link
Copy Markdown

Summary

This pull request extends the CloudFormation template for the WSO2 Identity Server integration test infrastructure to support newer Java runtime options and add Oracle database client tooling across multiple Linux distributions.

Changes

Java Runtime Support

  • Extended the available JDK options by adding support for OpenJDK 25, including both x86 and ARM architecture variants

Oracle Database Client Installation

  • Added provisioning steps to install Oracle SQL*Plus client tooling on EC2 instances across different Linux environments:
    • Ubuntu systems: Download and install Oracle Instant Client RPMs (basic and SQL*Plus packages) using the alien package converter
    • RHEL 9, Rocky Linux, and RHEL 8: Install sqlplus64 via yum package manager
    • SUSE: Install sqlplus64 via zypper package manager

These changes improve the test infrastructure's flexibility by supporting more recent Java versions and enabling Oracle database connectivity capabilities across diverse Linux platforms.

Walkthrough

Updated CloudFormation template to expand JDK options with ADOPT_OPEN_JDK25 variants and configured EC2 Linux user-data provisioning scripts to install Oracle SQL*Plus across multiple distributions (Ubuntu, Rocky, SUSE, RHEL).

Changes

Cohort / File(s) Summary
JDK Parameter & SQL*Plus Installation
jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml
Extended JDK parameter AllowedValues with ADOPT_OPEN_JDK25 and ADOPT_OPEN_JDK25_ARM. Added platform-specific SQL*Plus installation in EC2 user-data: Ubuntu via Oracle Instant Client RPMs with alien conversion; Rocky/RHEL8/RHEL9 via yum install sqlplus64; SUSE via zypper install sqlplus64.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers Purpose and explains the main changes, but is missing several required sections like Goals, Approach, User stories, Release note, Documentation, and other template sections. Complete the pull request description by adding missing required sections: Goals, Approach, User stories, Release note, Documentation, Test environment, and other relevant sections from the template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: adding JDK25 support and installing Oracle tools.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (2)
jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml (2)

464-464: ⚠️ Potential issue | 🔴 Critical

zypper install -y sqlplus64 — package does not exist in default SUSE repos.

SLES/openSUSE do not ship a sqlplus64 package. For SUSE you generally need to download the Oracle Instant Client RPM (matching SLE major) and install it with rpm -ivh or zypper --no-gpg-checks install <path-to-rpm> after satisfying the libaio1 dependency. As-is, this line will fail with "no provider of 'sqlplus64' found".

Also note: this SUSE-specific block runs after the Rocky/SUSE block (line 398) has already tried yum -y install sqlplus64 on the same host (line 407). Both will fail on SUSE.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`
at line 464, Replace the invalid SUSE install step "zypper install -y sqlplus64"
with logic to fetch and install the Oracle Instant Client RPM for SLE: ensure
the libaio package dependency is installed, download the correct Instant Client
RPM (matching the SLE major version), and install it with "rpm -ivh" or "zypper
--no-gpg-checks install <path-to-rpm>" instead of zypper install of sqlplus64;
also remove or guard the earlier "yum -y install sqlplus64" attempt so you don’t
try both package managers on the same host (e.g., perform sqlplus/instant-client
installation only in the appropriate distro-specific block).

443-443: ⚠️ Potential issue | 🔴 Critical

Same issue as line 407: sqlplus64 is not available via yum on RHEL8/RHEL9.

No RHEL/Rocky/EPEL repo ships a package called sqlplus64. This install will fail (or no-op under dnf) and any downstream step that depends on sqlplus being on $PATH will then fail much later with a less obvious error. Use the Oracle Instant Client RPMs from yum.oracle.com (matching the RHEL major) or add the Oracle yum repo and install oracle-instantclient-sqlplus explicitly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`
at line 443, The "yum -y install sqlplus64" line will fail because no RHEL/EPEL
package named sqlplus64 exists; replace it by adding the Oracle Instant Client
repo or installing the Oracle Instant Client RPMs and then explicitly installing
the sqlplus package (e.g., oracle-instantclient-sqlplus plus the basic
instantclient package) that matches the RHEL major, and ensure the resulting
sqlplus binary is on PATH (update the yum/dnf command that currently runs "yum
-y install sqlplus64" to use the Oracle yum repo or direct RPMs and install
oracle-instantclient-sqlplus and oracle-instantclient-basic).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`:
- Around line 161-165: Update the CFN templates that list JDK AllowedValues by
adding the two new symbols ADOPT_OPEN_JDK25 and ADOPT_OPEN_JDK25_ARM to each JDK
options list; specifically, locate the AllowedValues arrays that currently
contain ADOPT_OPEN_JDK17, ADOPT_OPEN_JDK21, and ARM variants in the templates
mentioned and append ADOPT_OPEN_JDK25 and ADOPT_OPEN_JDK25_ARM so all JDK option
lists include the new JDK25 entries consistently (ensure the same
ordering/format as other entries and validate template YAML syntax after edits).
- Line 407: The yum/zypper install commands using the nonexistent package name
"sqlplus64" must be replaced: for Rocky/RHEL blocks remove "yum -y install
sqlplus64" and instead download the appropriate Oracle Instant Client RPMs
(e.g., oracle-instantclient-basic and oracle-instantclient-sqlplus) from
yum.oracle.com and install them with rpm -Uvh (or dnf install ./<rpm>),
referencing the existing Ubuntu block's RPM download flow but without using
alien; for SUSE replace "zypper install -y sqlplus64" with obtaining the Oracle
Instant Client ZIP distribution, extract it into /opt/oracle/instantclient (or
similar), create the necessary symlinks and LD_LIBRARY_PATH entries, and ensure
the install steps are idempotent and use the same package names
(oracle-instantclient-basic, oracle-instantclient-sqlplus) where RPMs are
available.
- Around line 382-388: The Ubuntu/Ubuntu-ARM branch installs x86_64 Oracle RPMs
and symlinks /usr/lib/x86_64-linux-gnu which will break on aarch64; fix by
detecting architecture (e.g., check uname -m) inside the OperatingSystem
conditional and: for aarch64 use the aarch64-specific installer (prefer the
oracle-instantclient-19.28 aarch64 RPM/ZIP or the 19.30 aarch64 ZIP) and avoid
alien+RPM conversion when aarch64 ZIP is available; for x86_64 keep the RPM flow
but move the Oracle version into a single variable (e.g., INSTANTCLIENT_VERSION)
and add curl retries/backoff (e.g., loop with sleep and limited attempts) for
the URLs referenced in the curl commands, adjust the symlink target to
/usr/lib/aarch64-linux-gnu for aarch64 (or create logic that chooses the correct
lib dir based on architecture), and conditionally install the correct libaio
package name (libaio1t64 vs libaio1) based on OSVersion to prevent
package-not-found failures.

---

Duplicate comments:
In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`:
- Line 464: Replace the invalid SUSE install step "zypper install -y sqlplus64"
with logic to fetch and install the Oracle Instant Client RPM for SLE: ensure
the libaio package dependency is installed, download the correct Instant Client
RPM (matching the SLE major version), and install it with "rpm -ivh" or "zypper
--no-gpg-checks install <path-to-rpm>" instead of zypper install of sqlplus64;
also remove or guard the earlier "yum -y install sqlplus64" attempt so you don’t
try both package managers on the same host (e.g., perform sqlplus/instant-client
installation only in the appropriate distro-specific block).
- Line 443: The "yum -y install sqlplus64" line will fail because no RHEL/EPEL
package named sqlplus64 exists; replace it by adding the Oracle Instant Client
repo or installing the Oracle Instant Client RPMs and then explicitly installing
the sqlplus package (e.g., oracle-instantclient-sqlplus plus the basic
instantclient package) that matches the RHEL major, and ensure the resulting
sqlplus binary is on PATH (update the yum/dnf command that currently runs "yum
-y install sqlplus64" to use the Oracle yum repo or direct RPMs and install
oracle-instantclient-sqlplus and oracle-instantclient-basic).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 091e11a7-32bf-44ea-b920-4d45e72710da

📥 Commits

Reviewing files that changed from the base of the PR and between 6ab913f and fe1b933.

📒 Files selected for processing (1)
  • jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml

Comment on lines +161 to +165
- ADOPT_OPEN_JDK25
- ADOPT_OPEN_JDK11_ARM
- ADOPT_OPEN_JDK17_ARM
- ADOPT_OPEN_JDK21_ARM
- ADOPT_OPEN_JDK25_ARM

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Find all CFN templates exposing a JDK parameter and show which ones are missing JDK25.
fd -e yaml -e yml | xargs rg -l -n 'ADOPT_OPEN_JDK' 2>/dev/null | while read -r f; do
  echo "=== $f ==="
  rg -n 'ADOPT_OPEN_JDK25|ADOPT_OPEN_JDK21|ADOPT_OPEN_JDK17' "$f"
done

Repository: wso2/testgrid

Length of output: 1185


Update related CFN templates to include JDK25 in their AllowedValues.

The JDK25 additions to this file are correct, but at least four related templates still lack JDK25 as an option:

  • jobs/intg-test-resources/update2-releases/wso2-u2-intg-test-cfn.yaml (has JDK17, JDK21 only)
  • jobs/intg-test-resources/update2-releases/wso2-u2-is-intg-test-cfn.yaml (has JDK17, JDK21 only)
  • jobs/intg-test-resources/master-branch-releases/wso2-master-intg-test-cfn.yaml (has JDK17 only)
  • jobs/e2e-test-resources/wso2-is-e2e-test-cfn.yaml (has JDK17, JDK21 only)

Add JDK25 and JDK25_ARM to all templates that define JDK options to maintain consistency across the test pipelines.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`
around lines 161 - 165, Update the CFN templates that list JDK AllowedValues by
adding the two new symbols ADOPT_OPEN_JDK25 and ADOPT_OPEN_JDK25_ARM to each JDK
options list; specifically, locate the AllowedValues arrays that currently
contain ADOPT_OPEN_JDK17, ADOPT_OPEN_JDK21, and ARM variants in the templates
mentioned and append ADOPT_OPEN_JDK25 and ADOPT_OPEN_JDK25_ARM so all JDK option
lists include the new JDK25 entries consistently (ensure the same
ordering/format as other entries and validate template YAML syntax after edits).

Comment on lines +382 to +388
echo "Installing Oracle sqlplus64 tool"
curl -fSL https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.30-basic-19.30.0.0.0-1.el8.x86_64.rpm -o /tmp/oracle-instantclient-basic.rpm
curl -fSL https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.30-sqlplus-19.30.0.0.0-1.el8.x86_64.rpm -o /tmp/oracle-instantclient-sqlplus.rpm
apt-get install -y alien libaio1t64
ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
alien --install --scripts /tmp/oracle-instantclient-basic.rpm
alien --install --scripts /tmp/oracle-instantclient-sqlplus.rpm

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Does Oracle publish aarch64 RPMs for oracle-instantclient 19.30 under yum.oracle.com OL8, and is the path "/repo/OracleLinux/OL8/oracle/instantclient/aarch64/getPackage" correct?

💡 Result:

No, Oracle does not publish aarch64 RPMs for oracle-instantclient 19.30 under yum.oracle.com OL8. The official repository at https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/aarch64/index.html lists versions up to 19.28 (e.g., oracle-instantclient19.28-basic-19.28.0.0.0-1.el8.aarch64.rpm as of August 2025), but no 19.30 RPMs. While Oracle offers Version 19.30 ZIP downloads for Linux ARM (aarch64) on their download page, RPMs for that specific version are not available in the yum.oracle.com OL8 repository. The path "/repo/OracleLinux/OL8/oracle/instantclient/aarch64/getPackage" is not correct; the standard repository index is at "/repo/OracleLinux/OL8/oracle/instantclient/aarch64/index.html", and individual RPMs are directly accessible (e.g., oracle-instantclient19.28-basic-19.28.0.0.0-1.el8.aarch64.rpm), but no "getPackage" endpoint is documented or listed.

Citations:


Ubuntu-ARM will fail: x86_64 RPMs are hard-coded in a branch that also handles Ubuntu-ARM.

This block runs under if [[ ${OperatingSystem} == "Ubuntu" ]] || [[ ${OperatingSystem} == "Ubuntu-ARM" ]] (line 366), but:

  • Lines 383–384 download ...x86_64.rpm Oracle Instant Client packages.
  • Line 386 creates a symlink under /usr/lib/x86_64-linux-gnu/, which does not exist on aarch64 (it is /usr/lib/aarch64-linux-gnu/).
  • alien --install on an x86_64 RPM on an aarch64 host will fail — Oracle does not publish 19.30 aarch64 RPMs in yum.oracle.com OL8; only versions up to 19.28 are available for aarch64.

Also, curl -fSL has no retry/backoff; a transient 5xx from yum.oracle.com aborts the entire user-data and the instance never signals CFN (see line 602). The URL pins 19.30 — a future removal of that exact point release from Oracle's mirror would break all new stacks.

🛠️ Suggested fix sketch: branch on arch (using 19.28 for aarch64), add retries, and centralize the version
                   echo "Installing Oracle sqlplus64 tool"
+                  OIC_VERSION_X86="19.30.0.0.0-1.el8"
+                  OIC_VERSION_ARM="19.28.0.0.0-1.el8"
+                  if [[ ${OperatingSystem} == "Ubuntu-ARM" ]]; then
+                    OIC_VERSION="${OIC_VERSION_ARM}"; OIC_ARCH="aarch64"; LIB_DIR="/usr/lib/aarch64-linux-gnu"
+                  else
+                    OIC_VERSION="${OIC_VERSION_X86}"; OIC_ARCH="x86_64";  LIB_DIR="/usr/lib/x86_64-linux-gnu"
+                  fi
+                  BASE_URL="https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/${OIC_ARCH}/getPackage"
+                  curl -fSL --retry 5 --retry-delay 5 \
+                    "${BASE_URL}/oracle-instantclient19.$(echo ${OIC_VERSION} | cut -d. -f1,2)-basic-${OIC_VERSION}.${OIC_ARCH}.rpm"   -o /tmp/oracle-instantclient-basic.rpm
+                  curl -fSL --retry 5 --retry-delay 5 \
+                    "${BASE_URL}/oracle-instantclient19.$(echo ${OIC_VERSION} | cut -d. -f1,2)-sqlplus-${OIC_VERSION}.${OIC_ARCH}.rpm" -o /tmp/oracle-instantclient-sqlplus.rpm
+                  apt-get install -y alien libaio1t64
+                  ln -sf "${LIB_DIR}/libaio.so.1t64" "${LIB_DIR}/libaio.so.1"
+                  alien --install --scripts /tmp/oracle-instantclient-basic.rpm
+                  alien --install --scripts /tmp/oracle-instantclient-sqlplus.rpm

Alternatively, for Ubuntu-ARM, consider using ZIP-based installation (oracle-instantclient-19.30-for-linux-aarch64.zip) rather than RPM conversion, as Oracle explicitly provides aarch64 ZIP builds for 19.30.

Note: libaio1t64 only exists on Ubuntu 24.04+. If older Ubuntu versions are still selectable via OSVersion, guard that package name accordingly (use libaio1 on 22.04 and earlier).

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
echo "Installing Oracle sqlplus64 tool"
curl -fSL https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.30-basic-19.30.0.0.0-1.el8.x86_64.rpm -o /tmp/oracle-instantclient-basic.rpm
curl -fSL https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.30-sqlplus-19.30.0.0.0-1.el8.x86_64.rpm -o /tmp/oracle-instantclient-sqlplus.rpm
apt-get install -y alien libaio1t64
ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/x86_64-linux-gnu/libaio.so.1
alien --install --scripts /tmp/oracle-instantclient-basic.rpm
alien --install --scripts /tmp/oracle-instantclient-sqlplus.rpm
echo "Installing Oracle sqlplus64 tool"
OIC_VERSION_X86="19.30.0.0.0-1.el8"
OIC_VERSION_ARM="19.28.0.0.0-1.el8"
if [[ ${OperatingSystem} == "Ubuntu-ARM" ]]; then
OIC_VERSION="${OIC_VERSION_ARM}"; OIC_ARCH="aarch64"; LIB_DIR="/usr/lib/aarch64-linux-gnu"
else
OIC_VERSION="${OIC_VERSION_X86}"; OIC_ARCH="x86_64"; LIB_DIR="/usr/lib/x86_64-linux-gnu"
fi
BASE_URL="https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/${OIC_ARCH}/getPackage"
curl -fSL --retry 5 --retry-delay 5 \
"${BASE_URL}/oracle-instantclient19.$(echo ${OIC_VERSION} | cut -d. -f1,2)-basic-${OIC_VERSION}.${OIC_ARCH}.rpm" -o /tmp/oracle-instantclient-basic.rpm
curl -fSL --retry 5 --retry-delay 5 \
"${BASE_URL}/oracle-instantclient19.$(echo ${OIC_VERSION} | cut -d. -f1,2)-sqlplus-${OIC_VERSION}.${OIC_ARCH}.rpm" -o /tmp/oracle-instantclient-sqlplus.rpm
apt-get install -y alien libaio1t64
ln -sf "${LIB_DIR}/libaio.so.1t64" "${LIB_DIR}/libaio.so.1"
alien --install --scripts /tmp/oracle-instantclient-basic.rpm
alien --install --scripts /tmp/oracle-instantclient-sqlplus.rpm
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`
around lines 382 - 388, The Ubuntu/Ubuntu-ARM branch installs x86_64 Oracle RPMs
and symlinks /usr/lib/x86_64-linux-gnu which will break on aarch64; fix by
detecting architecture (e.g., check uname -m) inside the OperatingSystem
conditional and: for aarch64 use the aarch64-specific installer (prefer the
oracle-instantclient-19.28 aarch64 RPM/ZIP or the 19.30 aarch64 ZIP) and avoid
alien+RPM conversion when aarch64 ZIP is available; for x86_64 keep the RPM flow
but move the Oracle version into a single variable (e.g., INSTANTCLIENT_VERSION)
and add curl retries/backoff (e.g., loop with sleep and limited attempts) for
the URLs referenced in the curl commands, adjust the symlink target to
/usr/lib/aarch64-linux-gnu for aarch64 (or create logic that chooses the correct
lib dir based on architecture), and conditionally install the correct libaio
package name (libaio1t64 vs libaio1) based on OSVersion to prevent
package-not-found failures.

wget https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo -O /etc/yum.repos.d/mssql-server-2022.repo
wget https://packages.microsoft.com/config/rhel/9/prod.repo -O /etc/yum.repos.d/msprod.repo
ACCEPT_EULA=Y yum install -y mssql-tools unixODBC-devel
yum -y install sqlplus64

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Sanity-check: confirm "sqlplus64" isn't referenced anywhere else in the repo as a yum/zypper package target (indicating precedent).
rg -n --no-heading 'sqlplus64'

Repository: wso2/testgrid

Length of output: 584


🏁 Script executed:

cat -n jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml | sed -n '375,475p'

Repository: wso2/testgrid

Length of output: 7559


🌐 Web query:

sqlplus64 yum package Rocky Linux RHEL

💡 Result:

There is no "sqlplus64" package available via yum in the standard Rocky Linux or EPEL repositories. sqlplus (the 64-bit binary is sqlplus, located in /usr/lib/oracle/VERSION/client64/bin/sqlplus after installation) is provided by Oracle Instant Client. Oracle Instant Client RPMs are officially supported only on Oracle Linux, but since Rocky Linux is RHEL-compatible, the RPMs typically work. The recommended method is to download RPMs from Oracle and install locally with dnf (Rocky 8/9 uses dnf, alias for yum). Steps for Rocky Linux 9 (adjust for version 8): 1. Install prerequisites: sudo dnf install libaio 2. Download latest Oracle Instant Client RPMs from https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html (e.g., oracle-instantclient23-basic, oracle-instantclient23-sqlplus for version 23) 3. Install: sudo dnf install oracle-instantclient23-basic-23.x.x.x.x86_64.rpm oracle-instantclient23-sqlplus-23.x.x.x.x86_64.rpm 4. Add to PATH: export PATH=/usr/lib/oracle/23/client64/bin:$PATH (add to ~/.bashrc) To use Oracle's yum repo (unofficial on Rocky): 1. Download and install oracle-release-el9 or oracle-instantclient-release-el9 RPM from yum.oracle.com/repo/OracleLinux/OL9/ 2. sudo dnf install oracle-instantclient-basic oracle-instantclient-sqlplus No native sqlplus64 package exists in Rocky/RHEL base or EPEL; Oracle provides it exclusively. ZIP installation is also possible without RPMs.

Citations:


🌐 Web query:

sqlplus64 zypper SUSE Linux package

💡 Result:

There is no official "sqlplus64" package available in standard SUSE Linux (SLES or openSUSE) repositories via zypper. sqlplus64 refers to the 64-bit Oracle SQLPlus binary from Oracle Instant Client. SUSE Linux does not provide Oracle Instant Client in its official repositories. Oracle provides RPMs primarily for Oracle Linux (using yum/dnf), but ZIP files are available for any RPM-based distro like SUSE. Recommended installation methods: 1. Download Oracle Instant Client ZIP from official Oracle site (https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html): - instantclient-basic-linux.x64-[version].zip - instantclient-sqlplus-linux.x64-[version].zip Unzip to /opt/oracle, e.g.: sudo mkdir -p /opt/oracle cd /opt/oracle sudo unzip /path/to/instantclient-basic-linux.x64-.zip sudo unzip /path/to/instantclient-sqlplus-linux.x64-*.zip Set environment variables in ~/.bashrc: export LD_LIBRARY_PATH=/opt/oracle/instantclient_[version]:$LD_LIBRARY_PATH export PATH=/opt/oracle/instantclient_[version]:$PATH source ~/.bashrc Verify: sqlplus -v Install libaio1 prerequisite: sudo zypper install libaio1 2. Use community openSUSE Build Service repos (e.g., home:ecsos or home:davidnichols): sudo zypper addrepo https://download.opensuse.org/repositories/home:/ecsos:/monitoring/15.6/ home:ecsos sudo zypper refresh sudo zypper install oracle-instantclient12.1 oracle-instantclient12.1-sqlplus (Adjust repo/version for your SUSE/openSUSE release; these are unofficial and may be outdated.) Oracle officially supports SUSE Linux Enterprise Server 15 for full Oracle Database installs (requires specific packages like libaio1), but Instant Client is easiest via ZIP. No native sqlplus/sqlplus64 package exists; Oracle tools are proprietary.

Citations:


Fix sqlplus64 package name across Rocky/RHEL/SUSE blocks; it does not exist in any yum or zypper repository.

sqlplus64 is not a valid package in Rocky/RHEL yum repositories, EPEL, or SUSE zypper. Oracle ships SQL*Plus as part of Oracle Instant Client (e.g., oracle-instantclient-sqlplus or oracle-instantclient-basic) exclusively via Oracle's own sources.

  • Line 407 (Rocky/SUSE block): yum -y install sqlplus64 will fail to find the package.
  • Line 443 (RHEL8/RHEL9 block): Same issue.
  • Line 464 (SUSE block): zypper install -y sqlplus64 will fail; SUSE does not have yum by default and does not carry Oracle Instant Client in standard repos.

The Ubuntu block (lines 382–388) demonstrates the correct approach: download .rpm files from yum.oracle.com and use alien to convert them. For Rocky/RHEL, download and install the .rpm files directly without alien. For SUSE, use the ZIP distribution from Oracle (no RPM available) and extract to a PATH location, or use zypper with community repositories if available.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@jobs/intg-test-resources/master-branch-releases/wso2-master-is-intg-test-cfn.yaml`
at line 407, The yum/zypper install commands using the nonexistent package name
"sqlplus64" must be replaced: for Rocky/RHEL blocks remove "yum -y install
sqlplus64" and instead download the appropriate Oracle Instant Client RPMs
(e.g., oracle-instantclient-basic and oracle-instantclient-sqlplus) from
yum.oracle.com and install them with rpm -Uvh (or dnf install ./<rpm>),
referencing the existing Ubuntu block's RPM download flow but without using
alien; for SUSE replace "zypper install -y sqlplus64" with obtaining the Oracle
Instant Client ZIP distribution, extract it into /opt/oracle/instantclient (or
similar), create the necessary symlinks and LD_LIBRARY_PATH entries, and ensure
the install steps are idempotent and use the same package names
(oracle-instantclient-basic, oracle-instantclient-sqlplus) where RPMs are
available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant