Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package google-guest-configs for 
openSUSE:Factory checked in at 2023-02-27 13:55:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/google-guest-configs (Old)
 and      /work/SRC/openSUSE:Factory/.google-guest-configs.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "google-guest-configs"

Mon Feb 27 13:55:01 2023 rev:13 rq:1067973 version:20230217.01

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/google-guest-configs/google-guest-configs.changes    
    2022-10-11 18:05:56.234122385 +0200
+++ 
/work/SRC/openSUSE:Factory/.google-guest-configs.new.31432/google-guest-configs.changes
     2023-02-27 13:55:02.813267041 +0100
@@ -1,0 +2,15 @@
+Mon Feb 27 10:37:52 UTC 2023 - John Paul Adrian Glaubitz 
<adrian.glaub...@suse.com>
+
+- Update to version 20230217.01
+  * Support multiple local SSD controllers (#39)
+- from version 20230217.00
+  * Update OWNERS (#45)
+- from version 20230215.00
+  * DHCP hostname: don't reset hostname if
+    the hostname hasn't changed (#44)
+- from version 20230202.00
+  * Update OWNERS file (#43)
+- from version 20230123.00
+  * Fix a repository URL in packaging specs (#41)
+
+-------------------------------------------------------------------

Old:
----
  google-guest-configs-20220211.00.tar.gz

New:
----
  google-guest-configs-20230217.01.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ google-guest-configs.spec ++++++
--- /var/tmp/diff_new_pack.cyUnw9/_old  2023-02-27 13:55:03.333270191 +0100
+++ /var/tmp/diff_new_pack.cyUnw9/_new  2023-02-27 13:55:03.337270215 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package google-guest-configs
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -23,7 +23,7 @@
 %define _udevdir %(pkg-config --variable udev_dir udev)
 %endif
 Name:           google-guest-configs
-Version:        20220211.00
+Version:        20230217.01
 Release:        0
 Summary:        Google Cloud Guest Configs
 License:        Apache-2.0

++++++ google-guest-configs-20220211.00.tar.gz -> 
google-guest-configs-20230217.01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/guest-configs-20220211.00/OWNERS 
new/guest-configs-20230217.01/OWNERS
--- old/guest-configs-20220211.00/OWNERS        2022-02-11 02:32:40.000000000 
+0100
+++ new/guest-configs-20230217.01/OWNERS        2023-02-17 21:37:36.000000000 
+0100
@@ -2,10 +2,12 @@
 # See the OWNERS docs at https://go.k8s.io/owners
 
 approvers:
-  - adjackura
-  - hopkiw
-  - zmarano
-reviewers:
-  - adjackura
-  - hopkiw
+  - bkatyl
+  - chaitanyakulkarni28
+  - dorileo
+  - jjerger
+  - karnvadaliya
+  - koln67
+  - quintonamore
+  - vorakl
   - zmarano
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/guest-configs-20220211.00/packaging/debian/control 
new/guest-configs-20230217.01/packaging/debian/control
--- old/guest-configs-20220211.00/packaging/debian/control      2022-02-11 
02:32:40.000000000 +0100
+++ new/guest-configs-20230217.01/packaging/debian/control      2023-02-17 
21:37:36.000000000 +0100
@@ -4,7 +4,7 @@
 Maintainer: Google Cloud Team <gc-t...@google.com>
 Build-Depends: debhelper (>= 10)
 Standards-Version: 3.9.8
-Homepage: https://github.com/GoogleCloudPlatform/compute-image-packages
+Homepage: https://github.com/GoogleCloudPlatform/guest-configs
 
 Package: google-compute-engine
 Architecture: all
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/guest-configs-20220211.00/packaging/google-compute-engine.spec 
new/guest-configs-20230217.01/packaging/google-compute-engine.spec
--- old/guest-configs-20220211.00/packaging/google-compute-engine.spec  
2022-02-11 02:32:40.000000000 +0100
+++ new/guest-configs-20230217.01/packaging/google-compute-engine.spec  
2023-02-17 21:37:36.000000000 +0100
@@ -23,7 +23,7 @@
 Release: g1%{?dist}
 Summary: Google Compute Engine guest environment.
 License: ASL 2.0
-Url: https://github.com/GoogleCloudPlatform/compute-image-packages
+Url: https://github.com/GoogleCloudPlatform/guest-configs
 Source0: %{name}_%{version}.orig.tar.gz
 Requires: curl
 Requires: dracut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/guest-configs-20220211.00/src/lib/udev/google_nvme_id 
new/guest-configs-20230217.01/src/lib/udev/google_nvme_id
--- old/guest-configs-20220211.00/src/lib/udev/google_nvme_id   2022-02-11 
02:32:40.000000000 +0100
+++ new/guest-configs-20230217.01/src/lib/udev/google_nvme_id   2023-02-17 
21:37:36.000000000 +0100
@@ -13,18 +13,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Used to generate symlinks for PD-NVMe devices using the disk names reported 
by
-# the metadata server
+# Used to generate symlinks for NVMe devices (both local SSD and
+# persistent disk) using the disk names reported by the metadata server.
 
 # Locations of the script's dependencies
 readonly nvme_cli_bin=/usr/sbin/nvme
 
 # Bash regex to parse device paths and controller identification
+readonly PD_CONTROLLER_REGEX="nvme_card-pd"
+readonly SSD_CONTROLLER_REGEX="nvme_card[0-9]*"
+readonly CONTROLLER_NUMBER_REGEX="nvme_card([[:digit:]]+)"
 readonly NAMESPACE_NUMBER_REGEX="/dev/nvme[[:digit:]]+n([[:digit:]]+).*"
 readonly 
PARTITION_NUMBER_REGEX="/dev/nvme[[:digit:]]+n[[:digit:]]+p([[:digit:]]+)"
 readonly PD_NVME_REGEX="sn[[:space:]]+:[[:space]]+nvme_card-pd"
 
-# Globals used to generate the symlinks for a PD-NVMe disk.  These are 
populated
+# Globals used to generate the symlinks for a NVMe disk.  These are populated
 # by the identify_pd_disk function and exported for consumption by udev rules.
 ID_SERIAL=''
 ID_SERIAL_SHORT=''
@@ -125,6 +128,28 @@
 }
 
 #######################################
+# Retrieves the controller number from the device model if it exists
+# Globals:
+#   None
+# Arguments:
+#   The NVMe device model (nvme_card or nvme_card1/2/3/...)
+# Outputs:
+#   The controller id/number
+#######################################
+function get_controller_number() {
+  local dev_model="$1"
+  local controller_number
+  if [[ "$dev_model" =~ $CONTROLLER_NUMBER_REGEX ]]; then
+    controller_number="${BASH_REMATCH[1]}"
+    echo "$controller_number"
+  else
+    # if it's 'nvme_card', echo 0. This is for backward compatibility.
+    echo '0'
+  fi
+  return 0
+}
+
+#######################################
 # Generates a symlink for a PD-NVMe device using the metadata's disk name.
 # Primarily used for testing but can be used if the script is directly invoked.
 # Globals:
@@ -152,7 +177,7 @@
 # Arguments:
 #   The device path for the disk
 # Returns:
-#   0 on success and 1 if an error occurrs
+#   0 on success and 1 if an error occurs
 #######################################
 function identify_pd_disk() {
   local dev_path="$1"
@@ -167,6 +192,35 @@
   return 0
 }
 
+#######################################
+# Populates the ID_* global variables with a disk's device name and namespace
+# Globals:
+#   Populates ID_SERIAL_SHORT, and ID_SERIAL
+# Arguments:
+#   The device path for the disk
+# Returns:
+#   0 on success and 1 if an error occurs
+#######################################
+function identify_local_ssd_disk() {
+  local dev_model="$1"
+  local dev_path="$2"
+  local controller_number
+  controller_number="$(get_controller_number "$dev_model")"
+  if [[ $? -ne 0 ]]; then
+    return 1
+  fi
+
+  local namespace_number
+  namespace_number="$(get_namespace_number "$dev_path")"
+  if [[ $? -ne 0 ]]; then
+    return 1
+  fi
+
+  ID_SERIAL_SHORT="local-nvme-ssd-$(($controller_number+$namespace_number-1))"
+  ID_SERIAL="Google_EphemeralDisk_${ID_SERIAL_SHORT}"
+  return 0
+}
+
 function print_help_message() {
   echo "Usage: google_nvme_id [-s] [-h] -d device_path"
   echo "  -d <device_path> (Required): Specifies the path to generate a name"
@@ -218,18 +272,23 @@
   # Detect the type of attached nvme device
   local controller_id
   controller_id=$("$nvme_cli_bin" id-ctrl "$device_path")
-  if [[ ! "$controller_id" =~ nvme_card-pd ]] ; then
-    err "Device is not a PD-NVMe device"
+  if [[ "$controller_id" =~ $PD_CONTROLLER_REGEX ]] ; then
+    # Fill the global variables for the id command for the given disk type
+    # Error messages will be printed closer to error, no need to reprint here
+    identify_pd_disk "$device_path"
+    if [[ $? -ne 0 ]]; then
+      return $?
+    fi
+  elif [[ "$controller_id" =~ $SSD_CONTROLLER_REGEX ]] ; then
+    identify_local_ssd_disk "$controller_id" "$device_path"
+    if [[ $? -ne 0 ]]; then
+      return $?
+    fi
+  else
+    err "Device is not a NVMe device"
     return 1
   fi
 
-  # Fill the global variables for the id command for the given disk type
-  # Error messages will be printed closer to error, no need to reprint here
-  identify_pd_disk "$device_path"
-  if [[ $? -ne 0 ]]; then
-    return $?
-  fi
-
   # Gen symlinks or print out the globals set by the identify command
   if [[ "$opt_gen_symlink" == 'true' ]]; then
     gen_symlink "$device_path"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/guest-configs-20220211.00/src/lib/udev/rules.d/65-gce-disk-naming.rules 
new/guest-configs-20230217.01/src/lib/udev/rules.d/65-gce-disk-naming.rules
--- old/guest-configs-20220211.00/src/lib/udev/rules.d/65-gce-disk-naming.rules 
2022-02-11 02:32:40.000000000 +0100
+++ new/guest-configs-20230217.01/src/lib/udev/rules.d/65-gce-disk-naming.rules 
2023-02-17 21:37:36.000000000 +0100
@@ -23,6 +23,8 @@
 # NVME Local SSD naming
 KERNEL=="nvme*n*", ATTRS{model}=="nvme_card", PROGRAM="/bin/sh -c 
'nsid=$$(echo %k|sed -re s/nvme[0-9]+n\([0-9]+\).\*/\\1/); echo $$((nsid-1))'", 
ENV{ID_SERIAL_SHORT}="local-nvme-ssd-%c"
 KERNEL=="nvme*", ATTRS{model}=="nvme_card", 
ENV{ID_SERIAL}="Google_EphemeralDisk_$env{ID_SERIAL_SHORT}"
+# Support for local SSD multi-controller
+KERNEL=="nvme*n*", ATTRS{model}=="nvme_card[0-9]*", 
IMPORT{program}="google_nvme_id -d $tempnode"
 
 # NVME Persistent Disk IO Timeout
 KERNEL=="nvme*n*", ENV{DEVTYPE}=="disk", ATTRS{model}=="nvme_card-pd", 
ATTR{queue/io_timeout}="4294967295"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/guest-configs-20220211.00/src/usr/bin/google_set_hostname 
new/guest-configs-20230217.01/src/usr/bin/google_set_hostname
--- old/guest-configs-20220211.00/src/usr/bin/google_set_hostname       
2022-02-11 02:32:40.000000000 +0100
+++ new/guest-configs-20230217.01/src/usr/bin/google_set_hostname       
2023-02-17 21:37:36.000000000 +0100
@@ -39,10 +39,15 @@
 #     some distros (e.g. ssh-keygen) and hostname tool complains when given
 #     a FQDN that is > 64 bytes.
 #
-# As a result, we set the host name in all circumstances here, to the truncated
-# unqualified domain name.
+# As a result, we set the host name whenever a new host name is set - ignoring 
when
+# old_fqdn is equal to new_host_name, to the truncated unqualified domain name.
 
-if [ -n "$new_host_name" ] && ! echo "$new_host_name" | grep -iq 
"metadata.google.internal"; then
+hostnamecli=$(which hostname 2> /dev/null)
+if [ -x "$hostnamecli" ]; then
+  old_fqdn=$($hostnamecli -f)
+fi
+
+if [ -n "$new_host_name" ] && [ "$new_host_name" != "$old_fqdn" ] && ! echo 
"$new_host_name" | grep -iq "metadata.google.internal"; then
   hostname "${new_host_name%%.*}"
 
   # If NetworkManager is installed set the hostname with nmcli.

Reply via email to