Skip to content

Commit 87284f0

Browse files
weizhouapacherohityadavcloudvishesh92
authored
Upgrade to JRE17 and Upgrade System VMs/VRs to Python3 and Debian 12 (apache#8497)
* Update to 4.20.0 * Update to python3 * Upgrade to JRE 17 * Upgrade to Debian 12.4.0 * VR: upgrade to python3 for f in `find systemvm/ -name *.py`;do if grep "print " $f >/dev/null;then 2to3-2.7 -w $f else 2to3-2.7 -p -w $f fi done * java: Use JRE17 in cloudstack packages and systemvmtemplate Signed-off-by: Rohit Yadav <[email protected]> * Add --add-opens to JAVA_OPTS in systemd config * Add --add-opens to JAVA_OPTS in systemd config for usage * python3: fix "TypeError: a bytes-like object is required, not 'str'" * python3: fix "ValueError: must have exactly one of create/read/write/append mode" * Add --add-exports=java.base/sun.security.x509=ALL-UNNAMED for management server * Use pip3 instead of pip for centos8 * python3: fix "TypeError: write() argument must be str, not bytes" ``` root@r-1037-VM:~# /opt/cloud/bin/passwd_server_ip.py 10.1.1.1 Traceback (most recent call last): File "/opt/cloud/bin/passwd_server_ip.py", line 201, in <module> serve() File "/opt/cloud/bin/passwd_server_ip.py", line 187, in serve initToken() File "/opt/cloud/bin/passwd_server_ip.py", line 60, in initToken f.write(secureToken) TypeError: write() argument must be str, not bytes root@r-1037-VM:~# ``` * Python3: fix "name 'file' is not defined" ``` root@r-1037-VM:~# /opt/cloud/bin/passwd_server_ip.py 10.1.1.1 Traceback (most recent call last): File "/opt/cloud/bin/passwd_server_ip.py", line 201, in <module> serve() File "/opt/cloud/bin/passwd_server_ip.py", line 188, in serve loadPasswordFile() File "/opt/cloud/bin/passwd_server_ip.py", line 67, in loadPasswordFile with file(getPasswordFile()) as f: NameError: name 'file' is not defined ``` * python3: fix "TypeError: write() argument must be str, not bytes" (two more files) * Upgrade jaxb version * python3: fix more "TypeError: a bytes-like object is required, not str" * python3: fix "Failed to update password server" Failed to update password server due to: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str. * python3: fix "bad duration value: ikelifetime=24.0h" Jan 15 13:57:20 systemvm ipsec[3080]: # bad duration value: ikelifetime=24.0h * python3: fix password server "invalid save_password token" * test: incease retries in test_vpc_vpn.py * python3: fix passwd_server_ip.py see error below ``` Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: ---------------------------------------- Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: Exception occurred during processing of request from ('10.1.1.129', 32782) Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: Traceback (most recent call last): Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/usr/lib/python3.9/socketserver.py", line 650, in process_request_thread Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: self.finish_request(request, client_address) Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/usr/lib/python3.9/socketserver.py", line 360, in finish_request Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: self.RequestHandlerClass(request, client_address, self) Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/usr/lib/python3.9/socketserver.py", line 720, in __init__ Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: self.handle() Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/usr/lib/python3.9/http/server.py", line 427, in handle Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: self.handle_one_request() Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/usr/lib/python3.9/http/server.py", line 415, in handle_one_request Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: method() Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/opt/cloud/bin/passwd_server_ip.py", line 120, in do_GET Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: self.wfile.write(password) Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: File "/usr/lib/python3.9/socketserver.py", line 799, in write Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: self._sock.sendall(b) Jan 15 18:51:21 systemvm passwd_server_ip.py[1507]: TypeError: a bytes-like object is required, not 'str' ``` * python3: fix self.cl.get_router_password in Redundant VRs ``` File "/opt/cloud/bin/cs/CsDatabag.py", line 154, in get_router_password md5.update(passwd) TypeError: Unicode-objects must be encoded before hashing"] ``` * scripts: mark multipath scripts as executable * systemvm template: remove hyperv packages and do not export * VR: update default RAM size of System VMs/VRs to 512MiB Before ``` mysql> select id,name,cpu,speed,ram_size,unique_name,system_use from service_offering where name like "System%"; +----+----------------------------------------------------------+------+-------+----------+----------------------------------+------------+ | id | name | cpu | speed | ram_size | unique_name | system_use | +----+----------------------------------------------------------+------+-------+----------+----------------------------------+------------+ | 3 | System Offering For Software Router | 1 | 500 | 256 | Cloud.Com-SoftwareRouter | 1 | | 4 | System Offering For Software Router - Local Storage | 1 | 500 | 256 | Cloud.Com-SoftwareRouter-Local | 1 | | 5 | System Offering For Internal LB VM | 1 | 256 | 256 | Cloud.Com-InternalLBVm | 1 | | 6 | System Offering For Internal LB VM - Local Storage | 1 | 256 | 256 | Cloud.Com-InternalLBVm-Local | 1 | | 7 | System Offering For Console Proxy | 1 | 500 | 1024 | Cloud.com-ConsoleProxy | 1 | | 8 | System Offering For Console Proxy - Local Storage | 1 | 500 | 1024 | Cloud.com-ConsoleProxy-Local | 1 | | 9 | System Offering For Secondary Storage VM | 1 | 500 | 512 | Cloud.com-SecondaryStorage | 1 | | 10 | System Offering For Secondary Storage VM - Local Storage | 1 | 500 | 512 | Cloud.com-SecondaryStorage-Local | 1 | | 11 | System Offering For Elastic LB VM | 1 | 128 | 128 | Cloud.Com-ElasticLBVm | 1 | | 12 | System Offering For Elastic LB VM - Local Storage | 1 | 128 | 128 | Cloud.Com-ElasticLBVm-Local | 1 | +----+----------------------------------------------------------+------+-------+----------+----------------------------------+------------+ 10 rows in set (0.00 sec) ``` New value ``` mysql> select id,name,cpu,speed,ram_size,unique_name,system_use from service_offering where name like "System%"; +----+----------------------------------------------------------+------+-------+----------+----------------------------------+------------+ | id | name | cpu | speed | ram_size | unique_name | system_use | +----+----------------------------------------------------------+------+-------+----------+----------------------------------+------------+ | 3 | System Offering For Software Router | 1 | 500 | 512 | Cloud.Com-SoftwareRouter | 1 | | 4 | System Offering For Software Router - Local Storage | 1 | 500 | 512 | Cloud.Com-SoftwareRouter-Local | 1 | | 5 | System Offering For Internal LB VM | 1 | 256 | 512 | Cloud.Com-InternalLBVm | 1 | | 6 | System Offering For Internal LB VM - Local Storage | 1 | 256 | 512 | Cloud.Com-InternalLBVm-Local | 1 | | 7 | System Offering For Console Proxy | 1 | 500 | 1024 | Cloud.com-ConsoleProxy | 1 | | 8 | System Offering For Console Proxy - Local Storage | 1 | 500 | 1024 | Cloud.com-ConsoleProxy-Local | 1 | | 9 | System Offering For Secondary Storage VM | 1 | 500 | 512 | Cloud.com-SecondaryStorage | 1 | | 10 | System Offering For Secondary Storage VM - Local Storage | 1 | 500 | 512 | Cloud.com-SecondaryStorage-Local | 1 | | 11 | System Offering For Elastic LB VM | 1 | 128 | 512 | Cloud.Com-ElasticLBVm | 1 | | 12 | System Offering For Elastic LB VM - Local Storage | 1 | 128 | 512 | Cloud.Com-ElasticLBVm-Local | 1 | +----+----------------------------------------------------------+------+-------+----------+----------------------------------+------------+ 10 rows in set (0.01 sec) ``` * debian12: fix test_network_ipv6 and test_vpc_ipv6 * python3: remove duplicated imports * debian12: failed to start Apache2 server (SSLCipherSuite @SECLEVEL=0) error message ``` [Sat Jan 20 22:51:14.595143 2024] [ssl:emerg] [pid 10200:tid 140417063888768] AH02562: Failed to configure certificate cloudinternal.com:443:0 (with chain), check /etc/ssl/certs/cert_apache.crt [Sat Jan 20 22:51:14.595234 2024] [ssl:emerg] [pid 10200:tid 140417063888768] SSL Library Error: error:0A00018E:SSL routines::ca md too weak AH00016: Configuration Failed ``` openssl version ``` root@s-167-VM:~# openssl version -a OpenSSL 3.0.11 19 Sep 2023 (Library: OpenSSL 3.0.11 19 Sep 2023) built on: Mon Oct 23 17:52:22 2023 UTC platform: debian-amd64 options: bn(64,64) compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -fzero-call-used-regs=used-gpr -DOPENSSL_TLS_SECURITY_LEVEL=2 -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/reproducible-path/openssl-3.0.11=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 OPENSSLDIR: "/usr/lib/ssl" ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-3" MODULESDIR: "/usr/lib/x86_64-linux-gnu/ossl-modules" Seeding source: os-specific CPUINFO: OPENSSL_ia32cap=0x80202001478bfffd:0x0 ``` certificate ``` root@s-167-VM:~# keytool -printcert -rfc -file /usr/local/cloud/systemvm/certs/realhostip.crt -----BEGIN CERTIFICATE----- MIIFZTCCBE2gAwIBAgIHKBCduBUoKDANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydGlm aWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkxMDAuBgNVBAMTJ0dvIERhZGR5 IFNlY3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTERMA8GA1UEBRMIMDc5Njky ODcwHhcNMTIwMjAzMDMzMDQwWhcNMTcwMjA3MDUxMTIzWjBZMRkwFwYDVQQKDBAq LnJlYWxob3N0aXAuY29tMSEwHwYDVQQLDBhEb21haW4gQ29udHJvbCBWYWxpZGF0 ZWQxGTAXBgNVBAMMECoucmVhbGhvc3RpcC5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCDT9AtEfs+s/I8QXp6rrCw0iNJ0+GgsybNHheU+JpL39LM TZykCrZhZnyDvwdxCoOfE38Sa32baHKNds+y2SHnMNsOkw8OcNucHEBX1FIpOBGp h9D6xC+umx9od6xMWETUv7j6h2u+WC3OhBM8fHCBqIiAol31/IkcqDxxsHlQ8S/o CfTlXJUY6Yn628OA1XijKdRnadV0hZ829cv/PZKljjwQUTyrd0KHQeksBH+YAYSo 2JUl8ekNLsOi8/cPtfojnltzRI1GXi0ZONs8VnDzJ0a2gqZY+uxlz+CGbLnGnlN4 j9cBpE+MfUE+35Dq121sTpsSgF85Mz+pVhn2S633AgMBAAGjggG+MIIBujAPBgNV HRMBAf8EBTADAQEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNV HQ8BAf8EBAMCBaAwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nb2RhZGR5 LmNvbS9nZHMxLTY0LmNybDBTBgNVHSAETDBKMEgGC2CGSAGG/W0BBxcBMDkwNwYI KwYBBQUHAgEWK2h0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3Np dG9yeS8wgYAGCCsGAQUFBwEBBHQwcjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au Z29kYWRkeS5jb20vMEoGCCsGAQUFBzAChj5odHRwOi8vY2VydGlmaWNhdGVzLmdv ZGFkZHkuY29tL3JlcG9zaXRvcnkvZ2RfaW50ZXJtZWRpYXRlLmNydDAfBgNVHSME GDAWgBT9rGEyk2xF1uLuhV+auud2mWjM5zArBgNVHREEJDAighAqLnJlYWxob3N0 aXAuY29tgg5yZWFsaG9zdGlwLmNvbTAdBgNVHQ4EFgQUZyJz9/QLy5TWIIscTXID E8Xk47YwDQYJKoZIhvcNAQEFBQADggEBAKiUV3KK16mP0NpS92fmQkCLqm+qUWyN BfBVgf9/M5pcT8EiTZlS5nAtzAE/eRpBeR3ubLlaAogj4rdH7YYVJcDDLLoB2qM3 qeCHu8LFoblkb93UuFDWqRaVPmMlJRnhsRkL1oa2gM2hwQTkBDkP7w5FG1BELCgl gZI2ij2yxjge6pOEwSyZCzzbCcg9pN+dNrYyGEtB4k+BBnPA3N4r14CWbk+uxjrQ 6j2Ip+b7wOc5IuMEMl8xwTyjuX3lsLbAZyFI9RCyofwA9NqIZ1GeB6Zd196rubQp 93cmBqGGjZUs3wMrGlm7xdjlX6GQ9UvmvkMub9+lL99A5W50QgCmFeI= -----END CERTIFICATE----- Warning: The certificate uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update. ``` it comes from ``` $ openssl x509 -in ./systemvm/agent/certs/realhostip.crt -noout -text Certificate: Data: Version: 3 (0x2) Serial Number: 11277268652730408 (0x28109db8152828) Signature Algorithm: sha1WithRSAEncryption Issuer: C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", OU = http://certificates.godaddy.com/repository, CN = Go Daddy Secure Certification Authority, serialNumber = 07969287 Validity Not Before: Feb 3 03:30:40 2012 GMT Not After : Feb 7 05:11:23 2017 GMT Subject: O = *.realhostip.com, OU = Domain Control Validated, CN = *.realhostip.com ``` * debian12: use ed25519 instead of rsa as ssh-rsa has been deprecated in OpenSSH on xenserver ``` [root@pr8497-t8906-xenserver-71-xs2 ~]# ssh -i .ssh/id_rsa.cloud -p 3922 169.254.214.153 Warning: Permanently added '[169.254.214.153]:3922' (ECDSA) to the list of known hosts. Permission denied (publickey). ``` in the CPVM Jan 22 19:31:09 v-1-VM sshd[2869]: userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms [preauth] Jan 22 19:31:09 v-1-VM sshd[2869]: Connection closed by authenticating user root 169.254.0.1 port 54704 [preauth] ``` ssh-dss (DSA) is not supported either * debian12: add PubkeyAcceptedAlgorithms=+ssh-rsa to sshd_config * VR: install python3 packages in case of Debian 11 * pom.xml: exclude systemvm/agent/packages/* in license check * systemvm: do not patch router/systemvm during startup this will cause 4.19 SYSTEM template not work, but may be expected - python3 VS python2 (default) - openSSL 3.0.1 VS 1.1.1w - openssh-server 9.1 VS 8.4 * VR: patch router/systemvm if template is debian11 This supports debian 11 template by - revert change in systemvm/debian/etc/ssh/sshd_config - patch VR/systemvms during startup - install packages during patching system vm/routers * python3 flake: fix E502 the backslash is redundant between brackets ``` ../debian/root/health_checks/router_version_check.py:55:70: E502 the backslash is redundant between brackets ../debian/root/health_checks/router_version_check.py:58:61: E502 the backslash is redundant between brackets ../debian/root/health_checks/router_version_check.py:67:71: E502 the backslash is redundant between brackets ../debian/root/health_checks/router_version_check.py:70:60: E502 the backslash is redundant between brackets ../debian/root/health_checks/haproxy_check.py:47:71: E502 the backslash is redundant between brackets ../debian/root/health_checks/haproxy_check.py:48:64: E502 the backslash is redundant between brackets ../debian/root/health_checks/cpu_usage_check.py:43:54: E502 the backslash is redundant between brackets ../debian/root/health_checks/cpu_usage_check.py:46:58: E502 the backslash is redundant between brackets ../debian/root/health_checks/memory_usage_check.py:31:65: E502 the backslash is redundant between brackets ../debian/root/health_checks/memory_usage_check.py:42:57: E502 the backslash is redundant between brackets ../debian/root/health_checks/memory_usage_check.py:45:63: E502 the backslash is redundant between brackets ``` * python3 flake: fix E275 missing whitespace after keyword ``` ../debian/opt/cloud/bin/cs_firewallrules.py:29:20: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_dhcp.py:27:16: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_dhcp.py:36:16: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_guestnetwork.py:33:20: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_guestnetwork.py:35:16: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_vpnusers.py:37:16: E275 missing whitespace after keyword ../debian/opt/cloud/bin/merge.py:230:11: E275 missing whitespace after keyword ../debian/opt/cloud/bin/merge.py:239:19: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_remoteaccessvpn.py:24:12: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs_site2sitevpn.py:24:12: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs/CsHelper.py:90:15: E275 missing whitespace after keyword ../debian/opt/cloud/bin/cs/CsAddress.py:367:15: E275 missing whitespace after keyword ``` * python3 flake: fix configure.py ``` ../debian/opt/cloud/bin/configure.py:24:22: E401 multiple imports on one line ../debian/opt/cloud/bin/configure.py:43:180: E501 line too long (294 > 179 characters) ../debian/opt/cloud/bin/configure.py:46:1: E302 expected 2 blank lines, found 1 ../debian/opt/cloud/bin/configure.py:63:1: E302 expected 2 blank lines, found 1 ../debian/opt/cloud/bin/configure.py:65:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()` ../debian/opt/cloud/bin/configure.py:72:1: E302 expected 2 blank lines, found 1 ../debian/opt/cloud/bin/configure.py:310:25: E711 comparison to None should be 'if cond is not None:' ../debian/opt/cloud/bin/configure.py:312:29: E711 comparison to None should be 'if cond is None:' ../debian/opt/cloud/bin/configure.py:378:25: E711 comparison to None should be 'if cond is not None:' ../debian/opt/cloud/bin/configure.py:380:29: E711 comparison to None should be 'if cond is None:' ../debian/opt/cloud/bin/configure.py:490:29: E712 comparison to False should be 'if cond is False:' or 'if not cond:' ../debian/opt/cloud/bin/configure.py:642:16: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()` ../debian/opt/cloud/bin/configure.py:644:18: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()` ../debian/opt/cloud/bin/configure.py:1416:1: E305 expected 2 blank lines after class or function definition, found 1 ``` * python3 flake: fix other python files ``` ../debian/opt/cloud/bin/vmdata.py:97:12: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()` ../debian/opt/cloud/bin/vmdata.py:99:14: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()` ../debian/opt/cloud/bin/cs/CsRedundant.py:438:53: E203 whitespace before ':' ../debian/opt/cloud/bin/cs/CsRedundant.py:461:53: E203 whitespace before ':' ../debian/opt/cloud/bin/cs/CsRedundant.py:499:5: E303 too many blank lines (2) ../debian/opt/cloud/bin/cs/CsDatabag.py:189:1: E302 expected 2 blank lines, found 1 ../debian/opt/cloud/bin/cs/CsDatabag.py:193:37: E721 do not compare types, for exact checks use `is` / `is not`, for instance checks use `isinstance()` ../debian/opt/cloud/bin/cs/CsHelper.py:118:30: E231 missing whitespace after ',' ../debian/opt/cloud/bin/cs/CsHelper.py:119:15: E225 missing whitespace around operator ../debian/opt/cloud/bin/cs/CsHelper.py:127:19: E225 missing whitespace around operator ../debian/opt/cloud/bin/cs/CsAddress.py:324:43: E221 multiple spaces before operator ../debian/opt/cloud/bin/cs/CsVpcGuestNetwork.py:28:1: E302 expected 2 blank lines, found 1 ``` * python3 flake: fix CsNetfilter.py ``` ../debian/opt/cloud/bin/cs/CsNetfilter.py:226:13: E117 over-indented ../debian/opt/cloud/bin/cs/CsNetfilter.py:233:180: E501 line too long (197 > 179 characters) ../debian/opt/cloud/bin/cs/CsNetfilter.py:241:14: E201 whitespace after '{' ../debian/opt/cloud/bin/cs/CsNetfilter.py:242:14: E201 whitespace after '{' ../debian/opt/cloud/bin/cs/CsNetfilter.py:247:18: E201 whitespace after '{' ../debian/opt/cloud/bin/cs/CsNetfilter.py:247:74: E202 whitespace before '}' ../debian/opt/cloud/bin/cs/CsNetfilter.py:248:18: E201 whitespace after '{' ``` * systemvm/test: fix sys.path ``` $ bash runtests.sh /usr/bin/python Python 3.10.12 Running pycodestyle to check systemvm/python code for errors Running pylint to check systemvm/python code for errors Python 3.10.12 pylint 2.12.2 astroid 2.9.3 Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] -------------------------------------------------------------------- Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00) -------------------------------------------------------------------- Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00) Running systemvm/python unit tests ....Device "eth0" does not exist. ..................... ---------------------------------------------------------------------- Ran 25 tests in 0.008s OK ``` * Revert "systemvm template: remove hyperv packages and do not export" This reverts commit 4383d59. * debian12: move SQL change to schema-41900to42000.sql * debian12: update systemvm template version to 4.20 in pom.xml * pom.xml: fix NPE if templates do not exist on download.cloudstack.org * debian12: increase default system offering for routers to 384MiB RAM * CKS: fix addkubernetessupportedversion failed with JRE17 ``` marvin.cloudstackException.CloudstackAPIException: Execute cmd: addkubernetessupportedversion failed, due to: errorCode: 530, errorText:Cannot invoke "org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine$State.toString()" because the return value of "com.cloud.api.query.vo.TemplateJoinVO.getState()" is null ``` * python3: revert changes by 2to3 with systemvm/debian/root/health_checks/*.py * debian12: use ISO/packages on download.cloudstack.org * VR: Update default ram size to 384 * debian12: fix router_version_check.py after VR live-patch and add health check in test_routers.py * debian12: fix build error after log4j 2.x merge * VR: Update default ram size to 512MB (again) This reverts commit 578dd2b and efafa8c. * systemvmtemplate: Upgrade to Debian 12.5.0 * systemvm template: increase swap to 512MB * VR: fix health check error due to deprecated SafeConfigParser warning below ``` root@r-20-VM:~# /opt/cloud/bin/getRouterMonitorResults.sh true /root/monitorServices.py:59: DeprecationWarning: The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in Python 3.12. Use ConfigParser directly instead. parser = SafeConfigParser() ``` * test: fix wget does not work in macchinina vms on vmware80u1 fixes error below ``` {Cmd: wget -t 1 -T 1 www.google.com via Host: 10.0.55.186} {returns: ["wget: '/usr/lib/libpcre.so.1' is not an ELF file", "wget: can't load library 'libpcre.so.1'"]} ``` * packaging: add message for VR memory upgrade after packages installation --------- Signed-off-by: Rohit Yadav <[email protected]> Co-authored-by: Rohit Yadav <[email protected]> Co-authored-by: Vishesh <[email protected]>
1 parent 0926e5c commit 87284f0

File tree

90 files changed

+630
-331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+630
-331
lines changed

INSTALL.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ was tested against a CentOS 7 x86_64 setup.
1515

1616
Install tools and dependencies used for development:
1717

18-
# yum -y install git java-11-openjdk java-11-openjdk-devel \
18+
# yum -y install git java-17-openjdk java-17-openjdk-devel \
1919
mysql mysql-server mkisofs git gcc python MySQL-python openssh-clients wget
2020

2121
Set up Maven (3.6.0):

debian/control

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ Description: A common package which contains files which are shared by several C
1717

1818
Package: cloudstack-management
1919
Architecture: all
20-
Depends: ${python3:Depends}, openjdk-11-jre-headless | java11-runtime-headless | java11-runtime | openjdk-11-jre-headless | zulu-11, cloudstack-common (= ${source:Version}), net-tools, sudo, python3-mysql.connector, 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
20+
Depends: ${python3:Depends}, openjdk-17-jre-headless | java17-runtime-headless | java17-runtime | zulu-17, cloudstack-common (= ${source:Version}), net-tools, sudo, python3-mysql.connector, 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
2121
Conflicts: cloud-server, cloud-client, cloud-client-ui
2222
Description: CloudStack server library
2323
The CloudStack management server
2424

2525
Package: cloudstack-agent
2626
Architecture: all
27-
Depends: ${python:Depends}, ${python3:Depends}, openjdk-11-jre-headless | java11-runtime-headless | java11-runtime | openjdk-11-jre-headless | zulu-11, 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, lsb-release, ufw, apparmor
27+
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, lsb-release, ufw, apparmor
2828
Recommends: init-system-helpers
2929
Conflicts: cloud-agent, cloud-agent-libs, cloud-agent-deps, cloud-agent-scripts
3030
Description: CloudStack agent
@@ -34,7 +34,7 @@ Description: CloudStack agent
3434

3535
Package: cloudstack-usage
3636
Architecture: all
37-
Depends: openjdk-11-jre-headless | java11-runtime-headless | java11-runtime | openjdk-11-jre-headless | zulu-11, cloudstack-common (= ${source:Version}), init-system-helpers
37+
Depends: openjdk-17-jre-headless | java17-runtime-headless | java17-runtime | zulu-17, cloudstack-common (= ${source:Version}), init-system-helpers
3838
Description: CloudStack usage monitor
3939
The CloudStack usage monitor provides usage accounting across the entire cloud for
4040
cloud operators to charge based on usage parameters.

engine/api/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
<dependency>
7272
<groupId>com.sun.xml.bind</groupId>
7373
<artifactId>jaxb-impl</artifactId>
74-
<version>${cs.jaxb.version}</version>
74+
<version>${cs.jaxb.impl.version}</version>
7575
</dependency>
7676
</dependencies>
7777
</project>

engine/schema/pom.xml

+4-2
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,10 @@
101101
for (template in templateList) {
102102
def data = lines.findAll { it.contains(template) }
103103
if (data != null) {
104-
def hypervisor = template.tokenize('-')[-1]
105-
pom.properties["$hypervisor" + ".checksum"] = data[0].tokenize(' ')[0]
104+
if (data.size() > 0) {
105+
def hypervisor = template.tokenize('-')[-1]
106+
pom.properties["$hypervisor" + ".checksum"] = data[0].tokenize(' ')[0]
107+
}
106108
}
107109
}
108110
</source>

engine/schema/src/main/resources/META-INF/db/schema-41900to42000.sql

+6
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,9 @@ DROP INDEX `i_resource_count__type_accountId`,
2828
DROP INDEX `i_resource_count__type_domaintId`,
2929
ADD UNIQUE INDEX `i_resource_count__type_tag_accountId` (`type`,`tag`,`account_id`),
3030
ADD UNIQUE INDEX `i_resource_count__type_tag_domaintId` (`type`,`tag`,`domain_id`);
31+
32+
-- Update Default System offering for Router to 512MiB
33+
UPDATE `cloud`.`service_offering` SET ram_size = 512 WHERE unique_name IN ("Cloud.Com-SoftwareRouter", "Cloud.Com-SoftwareRouter-Local",
34+
"Cloud.Com-InternalLBVm", "Cloud.Com-InternalLBVm-Local",
35+
"Cloud.Com-ElasticLBVm", "Cloud.Com-ElasticLBVm-Local")
36+
AND system_use = 1 AND ram_size < 512;

framework/rest/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
<dependency>
6969
<groupId>com.sun.xml.bind</groupId>
7070
<artifactId>jaxb-impl</artifactId>
71-
<version>${cs.jaxb.version}</version>
71+
<version>${cs.jaxb.impl.version}</version>
7272
</dependency>
7373
<dependency>
7474
<groupId>org.apache.cxf</groupId>

packaging/centos8/cloud.spec

+5-5
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ intelligent IaaS cloud implementation.
5252

5353
%package management
5454
Summary: CloudStack management server UI
55-
Requires: java-11-openjdk
55+
Requires: java-17-openjdk
5656
Requires: (tzdata-java or timezone-java)
5757
Requires: python3
5858
Requires: bash
@@ -98,7 +98,7 @@ The Apache CloudStack files shared between agent and management server
9898
%package agent
9999
Summary: CloudStack Agent for KVM hypervisors
100100
Requires: (openssh-clients or openssh)
101-
Requires: java-11-openjdk
101+
Requires: java-17-openjdk
102102
Requires: tzdata-java
103103
Requires: %{name}-common = %{_ver}
104104
Requires: libvirt
@@ -135,7 +135,7 @@ The CloudStack baremetal agent
135135

136136
%package usage
137137
Summary: CloudStack Usage calculation server
138-
Requires: java-11-openjdk
138+
Requires: java-17-openjdk
139139
Requires: tzdata-java
140140
Group: System Environment/Libraries
141141
%description usage
@@ -556,8 +556,8 @@ if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text" ];
556556
fi
557557

558558
%post marvin
559-
pip install --upgrade https://files.pythonhosted.org/packages/08/1f/42d74bae9dd6dcfec67c9ed0f3fa482b1ae5ac5f117ca82ab589ecb3ca19/mysql_connector_python-8.0.31-py2.py3-none-any.whl
560-
pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
559+
pip3 install --upgrade https://files.pythonhosted.org/packages/08/1f/42d74bae9dd6dcfec67c9ed0f3fa482b1ae5ac5f117ca82ab589ecb3ca19/mysql_connector_python-8.0.31-py2.py3-none-any.whl
560+
pip3 install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
561561

562562
#No default permission as the permission setup is complex
563563
%files management

packaging/systemd/cloudstack-management.default

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
JAVA_OPTS="-Djava.security.properties=/etc/cloudstack/management/java.security.ciphers -Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2G -XX:+UseParallelGC -XX:MaxGCPauseMillis=500 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/cloudstack/management/ -XX:ErrorFile=/var/log/cloudstack/management/cloudstack-management.err "
18+
JAVA_OPTS="-Djava.security.properties=/etc/cloudstack/management/java.security.ciphers -Djava.awt.headless=true -Dcom.sun.management.jmxremote=false -Xmx2G -XX:+UseParallelGC -XX:MaxGCPauseMillis=500 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/cloudstack/management/ -XX:ErrorFile=/var/log/cloudstack/management/cloudstack-management.err --add-opens=java.base/java.lang=ALL-UNNAMED --add-exports=java.base/sun.security.x509=ALL-UNNAMED"
1919

2020
CLASSPATH="/usr/share/cloudstack-management/lib/*:/etc/cloudstack/management:/usr/share/cloudstack-common:/usr/share/cloudstack-management/setup:/usr/share/cloudstack-management:/usr/share/java/mysql-connector-java.jar:/usr/share/cloudstack-mysql-ha/lib/*"
2121

@@ -24,7 +24,7 @@ BOOTSTRAP_CLASS=org.apache.cloudstack.ServerDaemon
2424
################################################################################################
2525
#You can uncomment one of these options if you want to enable Java remote debugging. #
2626
#You can change the parameters at your will. The 'address' field defines the port to be used. #
27-
################################################################################################
27+
################################################################################################
2828
# This option here should be used with 'systemmd' based operating systems such as CentOS7, Ubuntu 16, and so on.
2929
#JAVA_DEBUG="-agentlib:jdwp=transport=dt_socket,address=*:8000,server=y,suspend=n"
3030

packaging/systemd/cloudstack-usage.default

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18-
JAVA_OPTS="-Xms256m -Xmx2048m"
18+
JAVA_OPTS="-Xms256m -Xmx2048m --add-opens=java.base/java.lang=ALL-UNNAMED"
1919

2020
CLASSPATH="/usr/share/cloudstack-usage/*:/usr/share/cloudstack-usage/lib/*:/usr/share/cloudstack-mysql-ha/lib/*:/etc/cloudstack/usage:/usr/share/java/mysql-connector-java.jar"
2121

plugins/hypervisors/baremetal/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<dependency>
4646
<groupId>com.sun.xml.bind</groupId>
4747
<artifactId>jaxb-impl</artifactId>
48-
<version>${cs.jaxb.version}</version>
48+
<version>${cs.jaxb.impl.version}</version>
4949
</dependency>
5050
</dependencies>
5151
</project>

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPatchSystemVmCommandWrapper.java

+1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public Answer execute(PatchSystemVmCommand cmd, LibvirtComputingResource serverR
7777
if (patchResult.first()) {
7878
String scriptVersion = lines[1];
7979
if (StringUtils.isNotEmpty(patchResult.second())) {
80+
logger.debug("Patch result of systemVM {}: {}", sysVMName, patchResult.second());
8081
String res = patchResult.second().replace("\n", " ");
8182
String[] output = res.split(":");
8283
if (output.length != 2) {

plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/version/KubernetesVersionManagerImpl.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@ private KubernetesSupportedVersionResponse createKubernetesSupportedVersionRespo
102102
if (template != null) {
103103
response.setIsoId(template.getUuid());
104104
response.setIsoName(template.getName());
105-
response.setIsoState(template.getState().toString());
105+
if (template.getState() != null) {
106+
response.setIsoState(template.getState().toString());
107+
}
106108
response.setDirectDownload(template.isDirectDownload());
107109
}
108110
response.setCreated(kubernetesSupportedVersion.getCreated());

plugins/network-elements/internal-loadbalancer/src/main/java/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
public interface InternalLoadBalancerVMManager {
3434
//RAM/CPU for the system offering used by Internal LB VMs
35-
public static final int DEFAULT_INTERNALLB_VM_RAMSIZE = 256; // 256 MB
35+
public static final int DEFAULT_INTERNALLB_VM_RAMSIZE = 512; // 512 MB
3636
public static final int DEFAULT_INTERNALLB_VM_CPU_MHZ = 256; // 256 MHz
3737

3838
/**

pom.xml

+5-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5151
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
5252
<project.systemvm.template.location>https://download.cloudstack.org/systemvm</project.systemvm.template.location>
53-
<project.systemvm.template.version>4.19.0.0</project.systemvm.template.version>
53+
<project.systemvm.template.version>4.20.0.0</project.systemvm.template.version>
5454
<sonar.organization>apache</sonar.organization>
5555
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
5656

@@ -151,7 +151,9 @@
151151
<cs.maven-javadoc-plugin.version>3.1.1</cs.maven-javadoc-plugin.version>
152152
<cs.javax.annotation.version>1.3.2</cs.javax.annotation.version>
153153
<cs.jaxb.version>2.3.0</cs.jaxb.version>
154-
<cs.jaxws.version>2.3.2-1</cs.jaxws.version>
154+
<cs.jaxb.impl.version>2.3.9</cs.jaxb.impl.version>
155+
<cs.jakarta.xml.bind.version>2.3.3</cs.jakarta.xml.bind.version>
156+
<cs.jaxws.version>2.3.7</cs.jaxws.version>
155157
<cs.jersey-client.version>2.26</cs.jersey-client.version>
156158
<cs.jetty.version>9.4.51.v20230217</cs.jetty.version>
157159
<cs.jetty-maven-plugin.version>9.4.27.v20200227</cs.jetty-maven-plugin.version>
@@ -1040,6 +1042,7 @@
10401042
<exclude>systemvm/agent/js/jquery.js</exclude>
10411043
<exclude>systemvm/agent/js/jquery.flot.navigate.js</exclude>
10421044
<exclude>systemvm/agent/noVNC/**</exclude>
1045+
<exclude>systemvm/agent/packages/**</exclude>
10431046
<exclude>systemvm/debian/**</exclude>
10441047
<exclude>test/integration/component/test_host_ha.sh</exclude>
10451048
<exclude>test/systemvm/README.md</exclude>

scripts/installer/cloudstack-help-text

+6
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,10 @@ printf " * Release notes: https://docs.cloudstack.apache.org/en/${ACL_MINO
4040
printf " * Join mailing lists: https://cloudstack.apache.org/mailing-lists.html\n"
4141
printf " * Take the survey: https://cloudstack.apache.org/survey.html\n"
4242
printf " * Report issues: https://github.com/apache/cloudstack/issues/new\n"
43+
44+
if [ "$1" = "management" ];then
45+
printf "\nSince Apache CloudStack 4.20.0.0, the System VMs and virtual routers require at least 512 MiB memory, please check the System Offerings."
46+
printf "\nMore information can be found at https://docs.cloudstack.apache.org/en/${ACL_MINOR_VERSION:-latest}/upgrading/upgrade/_sysvm_restart.html\n"
47+
fi
48+
4349
printf "\n"

server/src/main/java/com/cloud/configuration/Config.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ public enum Config {
959959
ManagementServer.class,
960960
Integer.class,
961961
"network.loadbalancer.basiczone.elb.vm.ram.size",
962-
"128",
962+
"512",
963963
"Memory in MB for the elastic load balancer vm",
964964
null),
965965
ElasticLoadBalancerVmCpuMhz(
@@ -1291,7 +1291,7 @@ public enum Config {
12911291
"The allowable clock difference in milliseconds between when an SSO login request is made and when it is received.",
12921292
null),
12931293
//NetworkType("Hidden", ManagementServer.class, String.class, "network.type", "vlan", "The type of network that this deployment will use.", "vlan,direct"),
1294-
RouterRamSize("Hidden", NetworkOrchestrationService.class, Integer.class, "router.ram.size", "256", "Default RAM for router VM (in MB).", null),
1294+
RouterRamSize("Hidden", NetworkOrchestrationService.class, Integer.class, "router.ram.size", "512", "Default RAM for router VM (in MB).", null),
12951295

12961296
DefaultPageSize("Advanced", ManagementServer.class, Long.class, "default.page.size", "500", "Default page size for API list* commands", null),
12971297

systemvm/agent/noVNC/keymaps/generate-language-keymaps.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def generate_js_file(keymap_file):
9595
js_config.append(" * layout : %s\n" % layout)
9696
js_config.append(" */\n")
9797
js_config.append("export default {\n")
98-
for keycode in dict(sorted(result_mappings.items(), key=lambda item: int(item[0]))):
98+
for keycode in dict(sorted(list(result_mappings.items()), key=lambda item: int(item[0]))):
9999
js_config.append("%10s : \"%s\",\n" % ("\"" + str(keycode) + "\"", result_mappings[keycode].strip()))
100100
js_config.append("}\n")
101101
for line in js_config:

systemvm/agent/packages/packages.ini

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[python-is-python3]
2+
debian_os=11
3+
package_name=python-is-python3
4+
file_name=python-is-python3_3.9.2-1_all.deb
5+
conflicted_packages=python-is-python2
6+
7+
[python3-netaddr]
8+
debian_os=11
9+
package_name=python3-netaddr
10+
file_name=python3-netaddr_0.7.19-5_all.deb
11+
conflicted_packages=
Binary file not shown.
Binary file not shown.

systemvm/debian/etc/apache2/vhost.template

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
# Enable/Disable SSL for this virtual host.
9494
SSLEngine on
9595
SSLProtocol TLSv1.2
96-
SSLCipherSuite @SECLEVEL=1:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
96+
SSLCipherSuite @SECLEVEL=0:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
9797
SSLHonorCipherOrder on
9898

9999
# A self-signed (snakeoil) certificate can be created by installing

systemvm/debian/opt/cloud/bin/baremetal-vr.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ def __call__(self, is_exception=True):
5959
err = []
6060
err.append('failed to execute shell command: %s' % self.cmd)
6161
err.append('return code: %s' % self.process.returncode)
62-
err.append('stdout: %s' % self.stdout)
63-
err.append('stderr: %s' % self.stderr)
62+
err.append('stdout: %s' % self.stdout.decode())
63+
err.append('stderr: %s' % self.stderr.decode())
6464
raise Exception('\n'.join(err))
6565

6666
self.return_code = self.process.returncode

0 commit comments

Comments
 (0)