go.mod: update osbuild/images to v0.175.0

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
Tomáš Hozza 2025-08-13 12:52:59 +02:00 committed by Achilleas Koutsou
parent e0b8594009
commit 00a466f7c6
9 changed files with 65 additions and 55 deletions

View file

@ -561,27 +561,6 @@
serial: "serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
timeout: 10
timeout_style: "countdown"
udev_rules:
filename: "/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules"
rules:
- comment:
- "Accelerated Networking on Azure exposes a new SRIOV interface to the VM."
- "This interface is transparently bonded to the synthetic interface,"
- "so NetworkManager should just ignore any SRIOV interfaces."
- rule:
- K: "SUBSYSTEM"
O: "=="
V: "net"
- K: "DRIVERS"
O: "=="
V: "hv_pci"
- K: "ACTION"
O: "=="
V: "add"
- K: "ENV"
A: "NM_UNMANAGED"
O: "="
V: "1"
systemd_dropin:
- unit: "nm-cloud-setup.service"
dropin: "10-rh-enable-for-azure.conf"

View file

@ -846,27 +846,6 @@
config:
"ResourceDisk.EnableSwap": false
"ResourceDisk.Format": false
udev_rules:
filename: "/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules"
rules:
- comment:
- "Accelerated Networking on Azure exposes a new SRIOV interface to the VM."
- "This interface is transparently bonded to the synthetic interface,"
- "so NetworkManager should just ignore any SRIOV interfaces."
- rule:
- K: "SUBSYSTEM"
O: "=="
V: "net"
- K: "DRIVERS"
O: "=="
V: "hv_pci"
- K: "ACTION"
O: "=="
V: "add"
- K: "ENV"
A: "NM_UNMANAGED"
O: "="
V: "1"
systemd_dropin:
- unit: "nm-cloud-setup.service"
dropin: "10-rh-enable-for-azure.conf"
@ -1068,6 +1047,31 @@
grub2_config:
<<: *azure_common_grub2_config
terminal: ["console"]
"sriov udev rules are provided by WALinuxAgent on 9.6+":
when:
version_less_than: "9.6"
shallow_merge:
udev_rules:
filename: "/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules"
rules:
- comment:
- "Accelerated Networking on Azure exposes a new SRIOV interface to the VM."
- "This interface is transparently bonded to the synthetic interface,"
- "so NetworkManager should just ignore any SRIOV interfaces."
- rule:
- K: "SUBSYSTEM"
O: "=="
V: "net"
- K: "DRIVERS"
O: "=="
V: "hv_pci"
- K: "ACTION"
O: "=="
V: "add"
- K: "ENV"
A: "NM_UNMANAGED"
O: "="
V: "1"
default_installer_config: &default_installer_config
enabled_anaconda_modules: &install_config_enabled_anaconda_modules

View file

@ -104,6 +104,8 @@ const (
EFISystemPartitionUUID = "68B2905B-DF3E-4FB3-80FA-49D1E773AA33"
EFIFilesystemUUID = "7B77-95E7"
ESPFstabOptions = "defaults,uid=0,gid=0,umask=077,shortname=winnt"
)
func getPartitionTypeIDfor(ptType PartitionTableType, partTypeName string, architecture arch.Arch) (string, error) {

View file

@ -1091,7 +1091,7 @@ func hasESP(disk *blueprint.DiskCustomization) bool {
}
for _, part := range disk.Partitions {
if part.Type == "plain" && part.Mountpoint == "/boot/efi" {
if (part.Type == "plain" || part.Type == "") && part.Mountpoint == "/boot/efi" {
return true
}
}
@ -1205,7 +1205,7 @@ func mkESP(size uint64, ptType PartitionTableType) (Partition, error) {
UUID: EFIFilesystemUUID,
Mountpoint: "/boot/efi",
Label: "ESP",
FSTabOptions: "defaults,uid=0,gid=0,umask=077,shortname=winnt",
FSTabOptions: ESPFstabOptions,
FSTabFreq: 0,
FSTabPassNo: 2,
},
@ -1407,6 +1407,8 @@ func addPlainPartition(pt *PartitionTable, partition blueprint.PartitionCustomiz
typeName = "usr"
case partition.Mountpoint == "/boot":
typeName = "boot"
case partition.Mountpoint == "/boot/efi":
typeName = "esp"
case fstype == "none":
typeName = "data"
case fstype == "swap":
@ -1431,12 +1433,20 @@ func addPlainPartition(pt *PartitionTable, partition blueprint.PartitionCustomiz
FSTabOptions: "defaults", // TODO: add customization
}
default:
fstabOptions := "defaults"
if partition.Mountpoint == "/boot/efi" {
// As long as the fstab options are not customizable, let's
// special-case the ESP options for consistency. Remove this when
// we make fstab options customizable.
fstabOptions = ESPFstabOptions
}
payload = &Filesystem{
Type: fstype,
Label: partition.Label,
Mountpoint: partition.Mountpoint,
FSTabOptions: "defaults", // TODO: add customization
FSTabOptions: fstabOptions, // TODO: add customization
}
}
newpart := Partition{

View file

@ -8,6 +8,7 @@ import (
"github.com/osbuild/images/pkg/customizations/fsnode"
"github.com/osbuild/images/pkg/customizations/subscription"
"github.com/osbuild/images/pkg/osbuild"
"github.com/osbuild/images/pkg/shutil"
)
type Subscription struct {
@ -126,11 +127,11 @@ func subscriptionService(
if subscriptionOptions.Rhc {
var curlToAssociateSystem string
// Use rhc for registration instead of subscription manager
rhcConnect := fmt.Sprintf("/usr/bin/rhc connect --organization=${ORG_ID} --activation-key=${ACTIVATION_KEY} --server %s", subscriptionOptions.ServerUrl)
rhcConnect := fmt.Sprintf(`/usr/bin/rhc connect --organization="${ORG_ID}" --activation-key="${ACTIVATION_KEY}" --server %s`, shutil.Quote(subscriptionOptions.ServerUrl))
if subscriptionOptions.TemplateUUID != "" {
curlToAssociateSystem = getCurlToAssociateSystem(subscriptionOptions)
} else if subscriptionOptions.TemplateName != "" {
rhcConnect += fmt.Sprintf(" --content-template=\"%s\"", subscriptionOptions.TemplateName)
rhcConnect += fmt.Sprintf(" --content-template=%s", shutil.Quote(subscriptionOptions.TemplateName))
}
commands = append(commands, rhcConnect)
if permissiveRHC {
@ -151,7 +152,7 @@ func subscriptionService(
files = append(files, icFile)
}
} else {
commands = []string{fmt.Sprintf("/usr/sbin/subscription-manager register --org=${ORG_ID} --activationkey=${ACTIVATION_KEY} --serverurl %s --baseurl %s", subscriptionOptions.ServerUrl, subscriptionOptions.BaseUrl)}
commands = []string{fmt.Sprintf(`/usr/sbin/subscription-manager register --org="${ORG_ID}" --activationkey="${ACTIVATION_KEY}" --serverurl %s --baseurl %s`, shutil.Quote(subscriptionOptions.ServerUrl), shutil.Quote(subscriptionOptions.BaseUrl))}
// Insights is optional when using subscription-manager
if subscriptionOptions.Insights {
@ -173,7 +174,7 @@ func subscriptionService(
}
}
commands = append(commands, fmt.Sprintf("/usr/bin/rm %s", subkeyFilepath))
commands = append(commands, fmt.Sprintf("/usr/bin/rm %s", shutil.Quote(subkeyFilepath)))
subscribeServiceFile := "osbuild-subscription-register.service"
regServiceStageOptions := &osbuild.SystemdUnitCreateStageOptions{
@ -257,9 +258,9 @@ WantedBy=multi-user.target
func getCurlToAssociateSystem(subscriptionOptions subscription.ImageOptions) string {
patchURL := strings.TrimSuffix(subscriptionOptions.PatchURL, "/")
addTemplateURL := fmt.Sprintf("%s/templates/%s/subscribed-systems", patchURL, subscriptionOptions.TemplateUUID)
curlToAssociateSystem := fmt.Sprintf("curl -v --retry 5 --cert /etc/pki/consumer/cert.pem --key /etc/pki/consumer/key.pem -X PATCH %s", addTemplateURL)
curlToAssociateSystem := fmt.Sprintf("curl -v --retry 5 --cert /etc/pki/consumer/cert.pem --key /etc/pki/consumer/key.pem -X PATCH %s", shutil.Quote(addTemplateURL))
if subscriptionOptions.Proxy != "" {
curlToAssociateSystem += fmt.Sprintf(" --proxy %s", subscriptionOptions.Proxy)
curlToAssociateSystem += fmt.Sprintf(" --proxy %s", shutil.Quote(subscriptionOptions.Proxy))
}
return curlToAssociateSystem
}

View file

@ -0,0 +1,13 @@
package shutil
import (
"strings"
)
// Quote implements a variant of pythons shlex.quote()
// in go (c.f. https://github.com/python/cpython/blob/3.14/Lib/shlex.py#L320)
func Quote(s string) string {
// use single quotes, and put single quotes into double quotes
// the string $'b is then quoted as '$'"'"'b'
return `'` + strings.Replace(s, `'`, `'"'"'`, -1) + `'`
}

3
vendor/modules.txt vendored
View file

@ -961,7 +961,7 @@ github.com/oracle/oci-go-sdk/v54/workrequests
## explicit; go 1.23.9
github.com/osbuild/blueprint/internal/common
github.com/osbuild/blueprint/pkg/blueprint
# github.com/osbuild/images v0.174.0
# github.com/osbuild/images v0.175.0
## explicit; go 1.23.9
github.com/osbuild/images/data/dependencies
github.com/osbuild/images/data/distrodefs
@ -1015,6 +1015,7 @@ github.com/osbuild/images/pkg/rhsm/facts
github.com/osbuild/images/pkg/rpmmd
github.com/osbuild/images/pkg/runner
github.com/osbuild/images/pkg/sbom
github.com/osbuild/images/pkg/shutil
github.com/osbuild/images/pkg/upload/koji
github.com/osbuild/images/pkg/upload/vmware
# github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d