This is an automated email from the ASF dual-hosted git repository.
weizhouapache pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.22 by this push:
new bd809515e6c Add support for java 21 for debian packages (#14418)
bd809515e6c is described below
commit bd809515e6ca155b4bdcf0b93e6ba6b0d6276663
Author: Vishesh <[email protected]>
AuthorDate: Tue Oct 20 12:11:16 2026 +0530
Add support for java 21 for debian packages (#14418)
---
client/bindir/cloud-update-xenserver-licenses.in | 7 +++++--
debian/control | 10 +++++-----
python/lib/cloudutils/db.py | 13 ++++++++-----
scripts/util/migrate-dynamicroles.py | 15 +++++++++------
4 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/client/bindir/cloud-update-xenserver-licenses.in
b/client/bindir/cloud-update-xenserver-licenses.in
index fca48f9eafb..43f35765c89 100755
--- a/client/bindir/cloud-update-xenserver-licenses.in
+++ b/client/bindir/cloud-update-xenserver-licenses.in
@@ -24,7 +24,10 @@ import glob
from random import choice
import string
from optparse import OptionParser
-import mysql.connector
+try:
+ import mysql.connector as mysqldb
+except ImportError:
+ import pymysql as mysqldb
import paramiko
from threading import Thread
@@ -71,7 +74,7 @@ def e(msg):
def getknownhosts(host, username, password):
- conn = mysql.connector.connect(host=host, user=username, password=password)
+ conn = mysqldb.connect(host=host, user=username, password=password)
cur = conn.cursor()
cur.execute(
"SELECT h.private_ip_address,d.value FROM cloud.host h inner join
cloud.host_details d on (h.id = d.host_id) where d.name = 'username' and setup
= 1"
diff --git a/debian/control b/debian/control
index 2b8ce929c63..ee0d9f1e00b 100644
--- a/debian/control
+++ b/debian/control
@@ -2,8 +2,8 @@ Source: cloudstack
Section: libs
Priority: extra
Maintainer: The Apache CloudStack Team <[email protected]>
-Build-Depends: debhelper (>= 9), openjdk-17-jdk | java17-sdk | java17-jdk |
zulu-17 | openjdk-11-jdk | java11-sdk | java11-jdk | zulu-11, genisoimage,
- python-mysql.connector | python3-mysql.connector |
mysql-connector-python-py3, maven (>= 3) | maven3,
+Build-Depends: debhelper (>= 9), openjdk-17-jdk | java17-sdk | java17-jdk |
zulu-17 | openjdk-21-jdk | java21-sdk | java21-jdk | zulu-21 | openjdk-11-jdk |
java11-sdk | java11-jdk | zulu-11, genisoimage,
+ python-mysql.connector | python3-mysql.connector | mysql-connector-python-py3
| python3-pymysql, maven (>= 3) | maven3,
python3 (>= 3), python3-setuptools,
nodejs (>= 12), lsb-release, dh-systemd | debhelper (>= 13)
Standards-Version: 3.8.1
@@ -17,14 +17,14 @@ Description: A common package which contains files which
are shared by several C
Package: cloudstack-management
Architecture: all
-Depends: ${python3:Depends}, openjdk-17-jre-headless | java17-runtime-headless
| java17-runtime | zulu-17, cloudstack-common (= ${source:Version}), net-tools,
sudo, python3-mysql.connector | mysql-connector-python-py3, augeas-tools,
mysql-client | mariadb-client, adduser, bzip2, ipmitool, file, gawk, iproute2,
qemu-utils, rng-tools, python3-dnspython, lsb-release, init-system-helpers (>=
1.14~), python3-setuptools
+Depends: ${python3:Depends}, openjdk-17-jre-headless | java17-runtime-headless
| java17-runtime | zulu-17 | openjdk-21-jre-headless | java21-runtime-headless
| java21-runtime | zulu-21, cloudstack-common (= ${source:Version}), net-tools,
sudo, python3-mysql.connector | mysql-connector-python-py3 | python3-pymysql,
augeas-tools, mysql-client | mariadb-client, adduser, bzip2, ipmitool, file,
gawk, iproute2, qemu-utils, rng-tools, python3-dnspython, lsb-release,
init-system-helpers (>= 1.14 [...]
Conflicts: cloud-server, cloud-client, cloud-client-ui
Description: CloudStack server library
The CloudStack management server
Package: cloudstack-agent
Architecture: all
-Depends: ${python:Depends}, ${python3:Depends}, openjdk-17-jre-headless |
java17-runtime-headless | java17-runtime | zulu-17, cloudstack-common (=
${source:Version}), lsb-base (>= 9), openssh-client, qemu-kvm (>= 2.5) |
qemu-system-x86 (>= 5.2), libvirt-bin (>= 1.3) | libvirt-daemon-system (>=
3.0), iproute2, ebtables, vlan, ipset, python3-libvirt, ethtool, iptables,
cryptsetup, rng-tools, rsync, ovmf, swtpm, lsb-release, ufw, apparmor,
cpu-checker, libvirt-daemon-driver-storage-rbd, sysstat
+Depends: ${python:Depends}, ${python3:Depends}, openjdk-17-jre-headless |
java17-runtime-headless | java17-runtime | zulu-17 | openjdk-21-jre-headless |
java21-runtime-headless | java21-runtime | zulu-21, cloudstack-common (=
${source:Version}), lsb-base (>= 9), openssh-client, qemu-kvm (>= 2.5) |
qemu-system-x86 (>= 5.2), libvirt-bin (>= 1.3) | libvirt-daemon-system (>=
3.0), iproute2, ebtables, vlan, ipset, python3-libvirt, ethtool, iptables,
cryptsetup, rng-tools, rsync, ovmf, swtpm, [...]
Recommends: init-system-helpers
Conflicts: cloud-agent, cloud-agent-libs, cloud-agent-deps, cloud-agent-scripts
Description: CloudStack agent
@@ -34,7 +34,7 @@ Description: CloudStack agent
Package: cloudstack-usage
Architecture: all
-Depends: openjdk-17-jre-headless | java17-runtime-headless | java17-runtime |
zulu-17, cloudstack-common (= ${source:Version}), init-system-helpers
+Depends: openjdk-17-jre-headless | java17-runtime-headless | java17-runtime |
zulu-17 | openjdk-21-jre-headless | java21-runtime-headless | java21-runtime |
zulu-21, cloudstack-common (= ${source:Version}), init-system-helpers
Description: CloudStack usage monitor
The CloudStack usage monitor provides usage accounting across the entire
cloud for
cloud operators to charge based on usage parameters.
diff --git a/python/lib/cloudutils/db.py b/python/lib/cloudutils/db.py
index 90458222b13..f1db3fa97fc 100644
--- a/python/lib/cloudutils/db.py
+++ b/python/lib/cloudutils/db.py
@@ -17,7 +17,10 @@
import os
from .utilities import bash
from .cloudException import CloudRuntimeException
-import mysql.connector
+try:
+ import mysql.connector as mysqldb
+except ImportError:
+ import pymysql as mysqldb
class Database(object):
"""Database connection"""
@@ -29,10 +32,10 @@ class Database(object):
self.db = db
def connect(self):
- return mysql.connector.connect(host=self.host,
- user=self.username,
- password=self.password,
- database=self.db)
+ return mysqldb.connect(host=self.host,
+ user=self.username,
+ password=self.password,
+ database=self.db)
def execute(self, statement):
txn = None
diff --git a/scripts/util/migrate-dynamicroles.py
b/scripts/util/migrate-dynamicroles.py
index 36839eef1ef..0ccaf389bc0 100755
--- a/scripts/util/migrate-dynamicroles.py
+++ b/scripts/util/migrate-dynamicroles.py
@@ -25,10 +25,13 @@ from contextlib import closing
from optparse import OptionParser
try:
- import mysql.connector
+ import mysql.connector as mysqldb
except ImportError:
- print("mysql.connector cannot be imported, please install
mysql-connector-python")
- sys.exit(1)
+ try:
+ import pymysql as mysqldb
+ except ImportError:
+ print("Neither mysql.connector nor pymysql can be imported, please
install mysql-connector-python or PyMySQL")
+ sys.exit(1)
dryrun = False
@@ -92,12 +95,12 @@ def main():
if options.dryrun:
dryrun = True
- conn = mysql.connector.connect(
+ conn = mysqldb.connect(
host=options.host,
user=options.user,
- passwd=options.password,
+ password=options.password,
port=int(options.port),
- db=options.db)
+ database=options.db)
if options.defaultRules:
print("Applying the default role permissions, ignoring any provided
properties files(s).")