Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-cluster for openSUSE:Factory checked in at 2022-11-04 22:00:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-cluster (Old) and /work/SRC/openSUSE:Factory/.yast2-cluster.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-cluster" Fri Nov 4 22:00:07 2022 rev:49 rq:1033578 version:4.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-cluster/yast2-cluster.changes 2022-04-12 21:51:46.517984396 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-cluster.new.2275/yast2-cluster.changes 2022-11-04 22:00:09.692851133 +0100 @@ -1,0 +2,11 @@ +Fri Nov 4 15:20:47 UTC 2022 - XinLiang <xli...@suse.com> + +- bsc#1204530, set crypto_hash as "sha1" and set crypto_cipher as "aes256", +- set transport as "udpu" by default, +- set default values for mcastaddr/mcastport/bindnedaddr when cluster firstly configured +- Set focus on "Generate Auth Key File" when secauth is true +- Implement ValidateSecurity method +- Set focus on memberaddr add when using udpu +- Bump Version 4.5.1 + +------------------------------------------------------------------- Old: ---- yast2-cluster-4.5.0.tar.bz2 New: ---- yast2-cluster-4.5.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-cluster.spec ++++++ --- /var/tmp/diff_new_pack.yT55EK/_old 2022-11-04 22:00:10.252854087 +0100 +++ /var/tmp/diff_new_pack.yT55EK/_new 2022-11-04 22:00:10.256854108 +0100 @@ -19,7 +19,7 @@ %define _fwdefdir %{_prefix}/lib/firewalld/services Name: yast2-cluster -Version: 4.5.0 +Version: 4.5.1 Release: 0 Summary: Configuration of cluster License: GPL-2.0-only ++++++ yast2-cluster-4.5.0.tar.bz2 -> yast2-cluster-4.5.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-cluster-4.5.0/package/yast2-cluster.changes new/yast2-cluster-4.5.1/package/yast2-cluster.changes --- old/yast2-cluster-4.5.0/package/yast2-cluster.changes 2022-04-12 13:33:15.000000000 +0200 +++ new/yast2-cluster-4.5.1/package/yast2-cluster.changes 2022-11-04 17:29:05.000000000 +0100 @@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Fri Nov 4 15:20:47 UTC 2022 - XinLiang <xli...@suse.com> + +- bsc#1204530, set crypto_hash as "sha1" and set crypto_cipher as "aes256", +- set transport as "udpu" by default, +- set default values for mcastaddr/mcastport/bindnedaddr when cluster firstly configured +- Set focus on "Generate Auth Key File" when secauth is true +- Implement ValidateSecurity method +- Set focus on memberaddr add when using udpu +- Bump Version 4.5.1 + +------------------------------------------------------------------- Wed Apr 06 13:24:58 UTC 2022 - Ladislav Slez??k <lsle...@suse.cz> - Bump version to 4.5.0 (bsc#1198109) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-cluster-4.5.0/package/yast2-cluster.spec new/yast2-cluster-4.5.1/package/yast2-cluster.spec --- old/yast2-cluster-4.5.0/package/yast2-cluster.spec 2022-04-12 13:33:15.000000000 +0200 +++ new/yast2-cluster-4.5.1/package/yast2-cluster.spec 2022-11-04 17:29:05.000000000 +0100 @@ -18,7 +18,7 @@ %define _fwdefdir %{_prefix}/lib/firewalld/services Name: yast2-cluster -Version: 4.5.0 +Version: 4.5.1 Release: 0 Summary: Configuration of cluster License: GPL-2.0-only diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-cluster-4.5.0/src/include/cluster/dialogs.rb new/yast2-cluster-4.5.1/src/include/cluster/dialogs.rb --- old/yast2-cluster-4.5.0/src/include/cluster/dialogs.rb 2022-04-12 13:33:15.000000000 +0200 +++ new/yast2-cluster-4.5.1/src/include/cluster/dialogs.rb 2022-11-04 17:29:05.000000000 +0100 @@ -613,6 +613,9 @@ UI.ChangeWidget(Id(:rrpmode), :Enabled, true) end + if UI.QueryWidget(Id(:transport), :Value) == "udpu" + UI.SetFocus(:memberaddr_add) + end # BNC#879596, check the corosync.conf format if Cluster.config_format == "old" Popup.Message(_(" NOTICE: Detected old corosync configuration.\n Please reconfigure the member list and confirm all other settings.")) @@ -745,8 +748,13 @@ deep_copy(ret) end - def ValidateSecurity - ret = true + def ValidateSecurity(authkey_created=false) + if UI.QueryWidget(Id(:secauth), :Value) == true and authkey_created == false + Popup.Message(_("Need to press \"Generate Auth Key File\"")) + ret = false + else + ret = true + end ret end @@ -1135,6 +1143,13 @@ UI.ChangeWidget(Id(:crypto_hash), :Value, Cluster.crypto_hash) UI.ChangeWidget(Id(:crypto_cipher), :Value, Cluster.crypto_cipher) + if UI.QueryWidget(Id(:secauth), :Value) == true + if UI.QueryWidget(Id(:crypto_cipher), :Value) != "none" or UI.QueryWidget(Id(:crypto_hash), :Value) != "none" + UI.SetFocus(:genf) + end + end + + authkey_created = false while true ret = UI.UserInput @@ -1150,6 +1165,7 @@ Popup.Message(_("Failed to create /etc/corosync/authkey")) else Popup.Message(_("Create /etc/corosync/authkey succeeded")) + authkey_created = true end next end @@ -1161,7 +1177,7 @@ end if ret == :next || ret == :back - val = ValidateSecurity() + val = ValidateSecurity(authkey_created) if val == true SaveSecurity() break @@ -1185,7 +1201,7 @@ if Builtins.contains(@DIALOG, Convert.to_string(ret)) ret = Builtins.symbolof(Builtins.toterm(ret)) - val = ValidateSecurity() + val = ValidateSecurity(authkey_created) if val == true SaveSecurity() break diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-cluster-4.5.0/src/modules/Cluster.rb new/yast2-cluster-4.5.1/src/modules/Cluster.rb --- old/yast2-cluster-4.5.0/src/modules/Cluster.rb 2022-04-12 13:33:15.000000000 +0200 +++ new/yast2-cluster-4.5.1/src/modules/Cluster.rb 2022-11-04 17:29:05.000000000 +0100 @@ -240,6 +240,26 @@ @address = SCR.Read(path(".openais.nodelist.node")).split(" ") interfaces = SCR.Dir(path(".openais.totem.interface")) + if interfaces.nil? or interfaces.empty? + @mcastaddr1 = Convert.to_string( + SCR.Read(path(".openais.totem.interface.interface0.mcastaddr")) + ) + @bindnetaddr1 = Convert.to_string( + SCR.Read(path(".openais.totem.interface.interface0.bindnetaddr")) + ) + @mcastaddr2 = Convert.to_string( + SCR.Read(path(".openais.totem.interface.interface1.mcastaddr")) + ) + @bindnetaddr2 = Convert.to_string( + SCR.Read(path(".openais.totem.interface.interface1.bindnetaddr")) + ) + @mcastport1 = Convert.to_string( + SCR.Read(path(".openais.totem.interface.interface0.mcastport")) + ) + @mcastport2 = Convert.to_string( + SCR.Read(path(".openais.totem.interface.interface1.mcastport")) + ) + end Builtins.foreach(interfaces) do |interface| if interface == "interface0" if @address != [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-cluster-4.5.0/src/servers_non_y2/ag_openais new/yast2-cluster-4.5.1/src/servers_non_y2/ag_openais --- old/yast2-cluster-4.5.0/src/servers_non_y2/ag_openais 2022-04-12 13:33:15.000000000 +0200 +++ new/yast2-cluster-4.5.1/src/servers_non_y2/ag_openais 2022-11-04 17:29:05.000000000 +0100 @@ -35,9 +35,18 @@ #from ycp import * import copy import sys +import random debug = False + +def gen_mcastaddr(): + return "239.%d.%d.%d" % ( + random.randint(0, 255), + random.randint(0, 255), + random.randint(1, 255)) + + #the option table is used to parse and write suggested_value if no options are read #type is used for verification of values. "string", "int", "select" and "dict" @@ -66,7 +75,7 @@ "default_value":"yes"}, "cluster_name":{"doc":"This specifies the name of cluster","type":"string","default_value":"hacluster"}, "secauth":{"doc":"HMAC/SHA1 should be used to authenticate all message", - "default_value":"off"}, + "default_value":"on"}, "rrp_mode":{"doc":"The mode for redundant ring. None is used when only 1 interface specified, otherwise, only active or passive may be choosen", "type":"select[none,active,passive]", "default_value":"none"}, "netmtu":{"doc":"Size of MTU", "type":"int", "default_value":1500}, @@ -109,7 +118,7 @@ "rrp_problem_count_threshhold":{"doc":"The number of times a problem is detected with a link before setting the link faulty.", "type":"int", "default_value":10}, "rrp_token_expired_timeout":{"doc":"This specifies the time in milliseconds to increment the problem counter for the redundant ring protocol after not having received a token from all rings for a particular processor.", "type":"int", "default_value":47}, - "transport":{"doc":"Transport protocol", "type":"select[udp,udpu]","default_value":"udp"}, + "transport":{"doc":"Transport protocol", "type":"select[udp,udpu]","default_value":"udpu"}, "ip_version":{"doc":"Specifies version of IP to use for communication. Value can be one of ipv4 or ipv6.", "type":"select[ipv4,ipv6]","default_value":"ipv4"}, } @@ -594,13 +603,7 @@ os.rename(filename, "/etc/corosync/corosync.conf.corrupted"); except: pass - try: - f = open(filename+".example", "r") - file_parser(f) - f.close() - return - except: - pass + def safe_return_str(obj): ''' @@ -701,11 +704,11 @@ return "nil" elif len(path) == 2: if path[1] == "secauth": - return '"%s"' % totem_options.get("secauth", "") + return '"%s"' % totem_options.get("secauth", "on") elif path[1] == "crypto_hash": - return '"%s"' % totem_options.get("crypto_hash", "none") + return '"%s"' % totem_options.get("crypto_hash", "sha1") elif path[1] == "crypto_cipher": - return '"%s"' % totem_options.get("crypto_cipher", "none") + return '"%s"' % totem_options.get("crypto_cipher", "aes256") elif path[1] == "autoid": #FIXME, check nodelist has nodeid for i in nodelist_options.get('node'): @@ -715,7 +718,7 @@ elif path[1] == "rrpmode": return '"%s"' % totem_options.get("rrp_mode", "none") elif path[1] == "transport": - return '"%s"' % totem_options.get("transport", "udp") + return '"%s"' % totem_options.get("transport", "udpu") elif path[1] == "cluster_name": return '"%s"' % totem_options.get("cluster_name", "hacluster") elif path[1] == "ip_version": @@ -724,40 +727,22 @@ return "nil" elif len(path) == 4: if path[1] == "interface": - if path[2] == "interface0": - i = get_interface(0) - if i == None: - return "nil" - else: - if path[3] == "bindnetaddr": - return '"%s"' % i.get("bindnetaddr", "") - elif path[3] == "mcastaddr": - return '"%s"' % i.get("mcastaddr", "") - elif path[3] == "mcastport": - return '"%d"' % i.get("mcastport", 5405) - elif path[3] == "ttl": - return '"%d"' % i.get("ttl", 1) - else: - return "nil" - elif path[2] == "interface1": - i = get_interface(1) - if i == None: - return "nil" - else: - if path[3] == "bindnetaddr": - return '"%s"' % i.get("bindnetaddr", "") - elif path[3] == "mcastaddr": - return '"%s"' % i.get("mcastaddr", "") - elif path[3] == "mcastport": - return '"%d"' % i.get("mcastport", 5405) - elif path[3] == "ttl": - return '"%d"' % i.get("ttl", 1) - else: - return "nil" - elif path[2] == "member": - return '"%s"' % check_conf_format() - else: - return "nil" + if path[2] in ["interface0", "interface1"]: + i = get_interface(0 if path[2] == "interface0" else 1) + if path[3] == "bindnetaddr": + return "nil" if i is None else '"%s"' % i.get("bindnetaddr", "") + elif path[3] == "mcastaddr": + maddr = gen_mcastaddr() + return '"%s"' % maddr if i is None else '"%s"' % i.get("mcastaddr", maddr) + elif path[3] == "mcastport": + mport = 5405 if path[2] == "interface0" else 5407 + return '"%d"' % mport if i is None else '"%d"' % i.get("mcastport", mport) + elif path[3] == "ttl": + return '"%d"' % i.get("ttl", 1) + elif path[2] == "member": + return '"%s"' % check_conf_format() + else: + return "nil" else: return "nil" else: