LXD 5.3 リリースのお知らせ¶
24th of June 2022
はじめに ¶
LXD チームは LXD 5.3 のリリースをお知らせできることにとてもワクワクしています!
我々は多数の内部マイグレーションとストレージロジック再構築、テストの拡充、次の LXD 機能の初期調査に重点を置いているので、LXD 5.3 は主にバグフィックスといくつかの小さな機能のみのリリースになっています。
Enjoy!
新機能とハイライト ¶
raw.qemu サポートの拡張 ¶
新たに raw.qemu.conf
設定キーを追加しました。これにより、生成された QEMU 設定の一部を個別に上書きしたり、生成された設定にデバイスやデバイス設定キーを追加したりできます。
この機能に関する更なる詳細はこちらをご覧ください: https://linuxcontainers.org/lxd/docs/latest/instances/#overriding-qemu-configuration
cephfs ストレージプールでの fscache サポート ¶
Ceph ファイルシステムがカーネルの fscache の使用をサポートしました。
これは、NFS や他のネットワークファイルシステムと同様に、cachefilesd のようなユーザースペースのキャッシュデーモンとやりとりできます。
LXD が管理する cephfs プールで fscache が使用できるように、ストレージプールで cephfs.fscache
を true
に設定できるようになりました。
lxd-migrate バイナリ ¶
LXD 5.3 以降、ビルド済み lxd-migrate
バイナリーが LXD Github releases ページからダウンロードできます。これで、手動でビルドしなくてもソースマシン上で lxd-migrate
が使えます。
すべての変更点 ¶
このリリースでの完全な変更点のリストは次の通りです:
すべてのChangeLogを見る
- lxd/db/cluster/profiles.mapper: Add cluster.Profile and generated methods
- lxd/db/cluster/profiles: Add ToAPI and GetProfileIfEnabled
- shared/api/profile: Add profile URL method
- lxd/resources: Handle ethtool not supported
- client: Move image profile override to ImageCopyArgs
- lxc/image: Update for Profiles in ImageCopyArgs
- lxc/profile: Fix bad target project handling
- tests: Fix bad profile copy test
- lxd/main_forkfile: Change counting model
- lxd/instance/qemu: Implement qemuMemorySections
- lxd/instance/qemu: Replace qemuMemory template with qemuMemorySections
- lxd/instance/qemu: Implement qemuSerialSections
- lxd/instance/qemu: Replace qemuSerial template with qemuSerialSections
- lxd/instance/qemu: Implement qemuPCIeSections
- lxd/instance/qemu: Replace qemuPCIe template with qemuPCIeSections
- lxd/instance/qemu: Implement qemuSCSISections
- lxd/instance/qemu: Replace qemuSCSI template with qemuSCSISections
- lxd/instance/qemu: Implement qemuBalloonSections
- lxd/instance/qemu: Replace qemuBalloon template with qemuBalloonSections
- lxd/instance/qemu: Implement qemuRNGSections
- lxd/instance/qemu: Replace qemuRNG template with qemuRNGSections
- lxd/instance/qemu: Implement qemuVsockSections
- lxd/instance/qemu: Replace qemuVsock template with qemuVsockSections
- lxd/instance/qemu: Implement qemuGPUSections
- lxd/instance/qemu: Replace qemuGPU template with qemuGPUSections
- lxd/instance/qemu: Implement qemuKeyboardSections
- lxd/instance/qemu: Replace qemuKeyboard template with qemuKeyboardSections
- lxd/instance/qemu: Implement qemuTabletSections
- lxd/instance/qemu: Replace qemuTablet template with qemuTabletSections
- lxd/instance/qemu: Refactor qemuBaseSections to struct opts arg
- lxd/events/common: Ignore connection close errors in Close
- doc: move content around
- lxd/instance/qemu: Implement qemuCPUSections
- lxd/instance/qemu: Replace qemuCPU template with qemuCPUSections
- lxd/instance/qemu: Implement qemuControlSocketSections
- lxd/instance/qemu: Replace qemuControlSocket template with qemuControlSocketSections
- lxd/instance/qemu: Implement qemuConsoleSections
- lxd/instance/qemu: Replace qemuConsole template with qemuConsoleSections
- lxd/instance/qemu: Implement qemuDriveFirmwareSections
- lxd/instance/qemu: Replace qemuDriveFirmware template with qemuDriveFirmwareSections
- lxd/events: Use cancel.Canceller for done indicator
- doc: add and update content
- doc: allow center-aligning table cells
- doc: fix version numbers in the version switcher
- lxd/db/profiles: Keep minimal db.Profile
- lxd: Use new cluster.Profile methods
- lxd/main/test: Update tests
- lxd/db/cluster/instances.mapper: Generate cluster package methods for instances
- shared/api/instance: Add Instance URL method
- lxd/profiles: Add profileUsedBy
- lxd/db/db: Fill cluster PreparedStmts in ForLocalInspection
- lxd/instance/lxc: Stop forkfile on restore
- lxd/operations/operations: Renames Run to Start
- lxd: op.Start usage
- lxd/operations/operations: Renames WaitFinal to Wait, and adds context support
- lxd/operations: op.Wait usage
- lxd/operations/operations: Fix possible races on accessing status property
- lxd/operations/operations: Store operation error as error type rather than string
- lxd/operations/operations: Use contextual logging
- client/operations: Get error text verbatim in setupListener
- lxd/images: Fix bug with operation run function returning empty error in imageExportPost
- lxd/state: Adds ServerName field placeholder for non-cgo builds
- lxd/operations/linux: Removes getServerName function
- lxd/operations/operations: Used cached state.ServerName rather than looking up server name for every operation
- lxd/db/node: Fix crash in nodes by avoiding reusing the rows var in defer
- lxd/instance/qemu: Implement qemuDriveConfigSections
- lxd/instance/qemu: Replace qemuDriveConfig template with qemuDriveConfigSections
- lxd/instance/qemu: Implement qemuDriveDirSections
- lxd/instance/qemu: Replace qemuDriveDir template with qemuDriveDirSections
- lxd/instance/qemu: Implement qemuPCIPhysicalSections
- lxd/instance/qemu: Replace qemuPCIPhysical template with qemuPCIPhysicalSections
- lxd/instance/qemu: Implement qemuGPUDevPhysicalSections
- lxd/instance/qemu: Replace qemuGPUDevPhysical template with qemuGPUDevPhysicalSections
- lxd/storage/backend/lxd: Don't close migration socket on error
- lxd/instance/qemu: Implement qemuUSBSections
- lxd/instance/qemu: Replace qemuUSB template with qemuUSBSections
- lxd/instance/qemu: Implement qemuTPMSections
- lxd/instance/qemu: Replace qemuTPM template with qemuTPMSections
- doc: update info on how to grow a ZFS pool
- doc: use the same order for drivers
- doc: storage: add a how-to for creating a storage pool
- doc: storage: move examples for creating a storage pool
- doc: storage: clean up and align examples
- lxd/instance/drivers/driver/qemu: Don't reference absolute times in op.Reset comments
- lxd/instance/operationlock/operationlock: Adds ResetTimeout for custom reset timeouts
- lxd/instance/drivers/driver/lxc: Use ticker in Shutdown operation lock keepalive
- lxd/instance/drivers/driver/qemu: Use ticker in Shutdown operation lock keepalive
- lxd/instance/drivers/driver/lxc: Use operationlock.TimeoutShutdown in onStop
- lxd/instance/drivers/driver/qemu: Use operationlock.TimeoutShutdown in onStop
- lxd/storage/drivers/driver/zfs/volumes: Use operationlock.TimeoutShutdown in UnmountVolume
- lxd/instance/drivers/driver/lxc: Reworks revert clean up in FileSFTPConn
- lxd/instance/drivers/driver/lxc: Removes double call to defer in stopForkfile
- lxd-agent: Consistent use of revert name
- lxd: Consistent use of revert name
- lxd-migrate: Consistent use of revert name
- shared: Consistent use of revert name
- lxd/instance/operationlock/operationlock: Adds ActionCreate constant
- lxd/instance/instance/utils: Use ActionCreate operation lock constant in CreateInternal
- lxd/instance/instance/interface: Adds LockExclusive definition
- lxd/instance/drivers/driver/lxc: Log path in IdmappedStorage
- lxd/instance/drivers/driver/lxc: Improve comment in FileSFTPConn
- lxd/instance/drivers/driver/lxc: Implement LockExclusive
- lxd/instance/drivers/driver/qemu: Whitespace in Restore
- lxd/instance/drivers/driver/qemu: Implement LockExclusive
- lxd/instance: Use inst.LockExclusive in instanceCreateAsCopy
- lxd/instances/post: Use inst.LockExclusive in createFromMigration
- lxd/instances/post: Removes duplicated in createFromCopy
- lxd/storage/drivers/driver/zfs/volumes: Fix comment
- lxd/daemon/images: Use contextual logging in imageOperationLock
- lxd/instance/qemu: Move common test run code into a separate function
- doc: storage: add examples for CephFS
- doc: storage: add "source" option for all storage drivers
- doc: storage: Clarify driver names
- lxd/instance/qemu: Remove usage of a temporary strings.Builder instance
- lxd/instance/qemu: Remove "Sections" suffix from config builders
- lxd/storage/drivers/zfs: Fix VM migration
- lxd-agent/events: Ensure connection is closed on function return in eventsSocket
- lxd: Ensure events connection is closed on function return
- lxd: Wait for operations to be finished in scheduled tasks
- lxd/images: Adds imageTaskMu to prevent image related tasks from running concurrently with each other
- lxd: Contextual logging
- lxd/operations/operations: Improves comment on Wait
- test: Rename FIX ME to FIXME for consistency with ther FIXMEs
- lxd/storage/backend/lxd: Moves migration index header send/receive into own functions
- lxd/migration/migration/volumes: Clarify that Config field only used for custom volumes
- lxd/storage/backend/lxd: Improve error in CreateInstanceFromMigration
- lxd/storage/backend/lxd: Fix bug in CreateCustomVolumeFromMigration that prevented refreshing volume with custom mount settings
- doc: storage: add information about clustering
- doc: storage: add instructions for adding storage volumes
- shared: Export the Msg field in RunError
- lxd/archive: Restore squashfs unpack behavior
- doc/howto/ovn: Fix incorrect config syntax
- lxd/events: Update API description
- doc/rest-api: Refresh swagger YAML
- doc: storage: clarification about sharing of storage volumes
- lxd/instance/qemu: Support running inside a LXD container
- lxd/operations: Fix crash on nil state
- chore: Set permissions for GitHub actions
- chore: Included githubactions in the dependabot config
- lxd/instance/drivers: Moves away from accepting a revert argument
- lxd/instance: Updates Create and create to return a revert.Hook rather than accept a revert.Reverter argument
- lxd/instance: Updates CreateInternal to return a revert.Hook rather than accept a revert.Reverter argument
- lxd: Use revert.Hook rather than func() where a revert hook is returned
- lxd: instance.CreateInternal usage
- lxd/network: Return revert.Hook rather than revert.Reverter for cleanup
- lxd/device/nic/bridged: Improve comment on setupHostFilters
- lxd/storage/drivers/driver/btrfs/volumes: Return revert.Hook rather than revert.Reverter for cleanup
- lxd/device/device/utils/disk: Return revert.Hook after file handle in DiskVMVirtfsProxyStart
- lxd: Use cleanup rather than revertExternal naming
- lxd/api/internal/recover: Moves away from accepting a revert argument in internalRecoverImportInstance
- lxd/device/nic/ovn: Moves away from accepting a reverter as an argument in setupHostNIC
- lxd/storage/drivers: Don't defer calls to revert.Success
- lxd/storage/drivers/driver/zfs/volumes: Return revert.Hook rather than revert.Reverter for cleanup
- lxd: Change RunConfig.Revert to revert.Hook type
- lxd: instance.CreateInternal usage in tests
- lxd/instance/test: Update TestContainer_LoadFromDB to use RenderFull for equality check
- lxd/storage/pool/load: Fix error handling bug in Patch
- lxd/storage/utils: Better error in VolumeDBGet
- lxd/storage/backend/lxd: Add logging to ApplyPatch
- lxd/patches: Better logging in apply
- lxd: Adds storage_missing_snapshot_records patch
- test: Adds tests for instance volume snapshot DB record recovery
- build(deps): bump actions/setup-go from 2 to 3
- build(deps): bump actions/labeler from 3 to 4
- build(deps): bump actions/checkout from 2 to 3
- build(deps): bump actions/upload-artifact from 2 to 3
- chore(deps): Included dependency review
- github: Move depsreview to tests
- github: Move woke test to ubuntu-latest
- lxd/migrate/storage/volumes: Only choose source's index header version if target supports it
- lxd/storage/backend/lxd: Fix index migration header format
- lxd/storage/backend/lxd: Improve logging of index migration header send/receive
- lxd/storage/drivers: Improve log and error messages related to driver specific migration frames
- lxd/storage: Expand arg names in logging
- lxd: Don't return migration error until after its been sent to remote
- lxd/storage/backend/lxd: Improve pre migration checks in MigrateCustomVolume
- lxd/migrate_storage_volumes: Make sender aware of refresh
- doc: Update for new myst_parser
- lxd-user: Move away from atomic
- lxd-user: Use getent instead of os/user
- lxd/certificates: Require an address for token issuance
- lxd/instance/qemu: Drop bootIndex from PCI
- lxc/network_forward: Fix example
- i18n: Update translation templates
- lxd/cgroup: Better handle broken CGroupV2 setups
- lxd/migration: Add Refresh to InfoResponse
- lxd/storage: Return InfoResponse from migrationIndexHeaderSend
- lxd/storage: Use Refresh from InfoResponse
- lxd/storage/backend: Add refresh arg to migrationIndexHeaderReceive
- test/suites: Enable migration test for zfs
- lxd/storage/drivers/btrfs: Fix volumeSnapshotsSorted
- lxd/storage/drivers/btrfs: Don't rely on passed snapshots
- lxd/storage/drivers/zfs: Handle MultiSync with optimized refresh
- lxd/migration: Add VolumeOnly to source and target args
- lxd: Use VolumeOnly field when migrating
- lxd/storage/drivers/btrfs: Check VolumeOnly when migrating
- lxd/storage: Use VolumeOnly field when migrating
- lxd/storage/drivers/zfs: Use VolumeOnly migration field
- lxd/instance/drivers: Improve error messages
- lxd/instance/drivers/driver/qemu: Fix typo in qemuCreate
- lxd/migrate/instance: Updates snapshotToProtobuf to accept api.InstanceSnapshot
- lxd/migrate/instance: Updates migrationSink.Do to use updated snapshotToProtobuf
- lxd/migrate/instance: snapshotToProtobuf usage
- lxd/migrate/instance: Improve error handling and logging in migrationSourceWs.Do
- lxd/migrate/instance: Improve error handling and logging in migrationSink.Do
- lxd/backup: Don't allow writing backup index file for snapshot instances in backupWriteIndex
- lxd/storage/backend/lxd: Relax validation in GenerateInstanceBackupConfig to allow generating config for instance snapshots
- lxd/migrate/instance: Switch to using pool.GenerateInstanceBackupConfig in migrationSourceWs.Do
- lxd/migrate/instance: Setup migration.VolumeSourceArgs in one go
- lxd/storage/backend/lxd: Expand arg names in logging in migrationIndexHeaderSend
- lxd/storage/backend/lxd: Additional logging in migrationIndexHeaderReceive
- lxd/storage/backend/lxd: Fix error message in migrationIndexHeaderSend
- lxd/storage/backend/lxd: Removes unnecessary/duplicated checks in CreateCustomVolumeFromMigration
- lxd/storage/backend/lxd: Reduce indentation in CreateCustomVolumeFromMigration
- lxd/storage/backend/lxd: CreateCustomVolumeFromMigration comment improvements
- lxd/migrate/storage/volumes: Simplify snapshot config generation in migrationSourceWs.DoStorage
- test: Add check that instance volume config is copied for both same pool and cross-pool copies
- lxd/storage/backend/lxd: Adds index migration header support to CreateInstanceFromCopy
- lxd/storage/backend/lxd: Adds index migration header support to RefreshInstance
- lxd/storage/backend/lxd: Adds index migration header support to MigrateInstance and CreateInstanceFromMigration
- lxd/migrate/instance: Update migrationSourceWs.Do to support migration index header
- lxd/migrate/instance: Update migrationSink.Do to support migration index header
- lxd/instance/post: Fix comment in instancePostClusteringMigrateWithCeph
- lxd/instance/post: Include required migration source config in instancePostClusteringMigrateWithCeph
- test: Updates incremental_copy to check for volume and snapshot volume config copying
- github: Only run dependencies check on PR
- tests: Skip EDITOR=cat when not a terminal
- doc: fix indentation for commands
- lxd/instance/qemu: Implement granular control of qemu.conf output
- scripts/bash: Add raw.qemu.conf
- api: qemu_raw_conf
- doc/instances: Add raw.qemu.conf
- doc/instances: Add section about raw.qemu.conf
- fixup! doc/instances: Add section about raw.qemu.conf
- fixup! doc/instances: Add section about raw.qemu.conf
- doc: add link to video about network forwards
- lxd/db/generate/db/method/v2: Expect collections for generated reference methods
- lxd/db/generate/db/method/v2: Add newLine flag to ifErrNotNil
- lxd/db/cluster/mapper: update generated code
- lxd/profiles: Update usage of CreateProfileDevices
- lxd/db/cluster/profiles: Make GetProfileIfEnabled GetProfilesIfEnabled
- lxd/db/cluster/instances: cluster.Instance generator comments/helpers
- lxd/db/cluster/instances.mapper: Update generated code
- lxd/db/instances: Remove db.Instance and generator comments
- lxd/db/instances.mapper: Remove unused generator files
- lxd/db/cluster/snapshots: Minimal cluster.Snapshot
- lxd/db/instances: Instance and Snapshot Conversions
- lxd/db/instances: Use InstanceToArgs in InstanceList
- lxd/db/instances: Reference cluster package for ClusterTx helpers
- lxd/db/images: ClusterTx method for fetching images by fingerprint prefix
- lxd/db/cluster/profiles: Add expanded config/devices helpers to cluster package
- lxd/api/project: UsedBy and URIs for projects
- lxd/backup/backup/config/utils: Fetch api.Profiles in ConfigToInstanceDBArgs
- lxd/storage/volumes/utils: Update usages of InstanceList
- lxd/storage/migration: Fetch api.Profiles for migration InstanceArgs
- lxd/instance/instance/interface: Store api.Profile instead of profile names
- lxd/instances/post: Update helper usages for new cluster package syntax/args
- lxd/profiles/utils: Update remainining helper usages
- lxd/project/permissions: Use api.Instance for instance info
- lxd/instance/instance/utils: Explicit args to instance_profiles
- lxd/db/db: Remove urlsToResourceNames
- lxd/db/profiles: Remove unused functions
- lxd/project/permissions/test: Fix tests
- lxd/db/cluster/snapshots: Add missing build constraints
- lxd/db/cluster/snapshots: Add full snapshot generator comments and ToInstance helper
- lxd/db/cluster/snapshots.mapper: Update generated code
- lxd/db/snapshots: Remove db.Snapshot and generator comments
- lxd/db/snapshots.mapper: Remove generated code
- lxd/db/cluster/images: Add cluster.Images
- lxd/db/cluster/images.mapper: Update generated code
- lxd/db/images: Remove db.Images and generator comments
- lxd/db/images.mapper: Remove generated code
- shared/api/image: Add URL method
- lxd/api/project: Use api.URL for project usedBy images
- lxd/sys: Add BootTime
- lxd/seccomp: Align uptime with LXCFS
- shared/util_linux: Refactor GetMeminfo
- lxd/cgroup: Handle no swap limit
- lxd: Update helper usages for cluster.Image syntax/args
- lxd/db/images/test: Fix tests
- lxd: Update usages for cluster.InstanceSnapshot
- lxd/db/snapshots/test: Fix tests
- lxd/db/node: Remove db.Config and db.Device types
- lxd/db/generate/db/parse: Allow all types as columns
- lxd/db/operationtype/operation/type: Create operationtype package
- lxd/db/cluster/operations: Add cluster.Operations
- lxd/db/cluster/operations.mapper: Update generated code
- lxd/db/operations/types: Remove db.Operations and OperationType
- lxd: Update OperationType usages
- lxd: Update cluster.Operation usages
- lxd/db/operations/test: Fix tests
- lxd/instance/drivers/driver/common: Moves StoragePool into public section
- lxd/instance/drivers: Moves deviceLoad into common
- lxd/instance/drivers: Moves deviceAdd into common
- lxd/instance/drivers: Moves deviceRemove into common
- lxd/instance/drivers/driver/qemu: Bring deviceStop inline with lxc signature
- lxd/instance/drivers: Removes updateDevice and moves updateDevices into common
- lxd/instance/drivers: Rename updateDevices to devicesUpdate for consistency with other function names
- lxd/instance/drivers: Deduplicates device add logic into common devicesAdd function
- lxd/instance/drivers: Deduplicates RegisterDevices by adding devicesRegister to common
- lxd/instance/drivers: Use consistent error messages for device load failures
- lxd/instance/drivers: Deduplicates device remove logic by adding devicesRemove to common
- lxd/instance/drivers/driver/common: If device is unsupported for instance don't return usable device in deviceLoad
- lxd/instance/drivers: Simplify error checks in cleanupDevices
- lxd/instance/drivers/driver/common: Simplify error checks in devicesRemove
- lxd/instance/drivers/driver/common: Simplify error checks in devicesAdd
- lxd/instance/drivers/driver/common: Simplify error checks in devicesRegister
- lxd/instance/drivers/driver/common: Simplify error checks in devicesUpdate
- lxc/storage_volume: Fix usage strings
- i18n: Update translation templates
- doc: storage: expand configuration documentation
- doc: storage: clarify requirements for attaching volumes
- doc: storage: add information on listing pools and volumes
- doc: storage: add information about copying or moving volumes
- lxd/profiles/utils: Add missing profiles slice check
- lxd/network/zone: Add SOA
- lxd/dns: Add support for SOA
- lxd/daemon: Update for SOA support
- client: Fixes gosimple lint errors.
- lxc: Fixes gosimple lint errors.
- lxd-agent: Fixes gosimple lint errors.
- shared: Fixes gosimple lint errors.
- test/syscall/sysinfo: Fixes gosimple lint errors.
- lxd/cluster: Fixes gosimple lint errors.
- lxd/db: Fixes gosimple lint errors.
- lxd/device: Fixes gosimple lint errors.
- lxd/dns: Fixes gosimple lint errors.
- lxd/dnsmasq/dhcpalloc: Fixes gosimple lint errors.
- lxd/events: Fixes gosimple lint errors.
- lxd/firewall/drivers: Fixes gosimple lint errors.
- lxd/fsmonitor/drivers: Fixes gosimple lint errors.
- lxd/instance: Fixes gosimple lint errors.
- lxd/ip: Fixes gosimple lint errors.
- lxd/lifecycle: Fixes gosimple lint errors.
- lxd/maas: Fixes gosimple lint errors.
- lxd/migration: Fixes gosimple lint errors.
- lxd/network: Fixes gosimple lint errors.
- lxd/project: Fixes gosimple lint errors.
- lxd/resources: Fixes gosimple lint errors.
- lxd/revert: Fixes gosimple lint errors.
- lxd/rsync: Fixes gosimple lint errors.
- lxd/seccomp: Fixes gosimple lint errors.
- lxd/storage: Fixes gosimple lint errors.
- lxd/util: Fixes gosimple lint errors.
- lxd: Fixes gosimple lint errors.
- static-analysis: Enables gosimple linter.
- lxd/instance/drivers: Fix potential LXD crash when starting device fails to load
- lxd/device/nic/bridged: Moves address conflict detection into own checkAddressConflict function
- lxd/device/nic/bridged: Update checkAddressConflict to return a conflict api.StatusError on conflicting address
- lxd/instance/drivers/driver/common: Allow instances to be created and updated with conflicting devices
- tests: Add tests for conflicting instance device validation behaviour
- lxd/migrate/instance: Use the negotiated index migration header version on target
- lxd/device/nic/bridged: Avoid loading already loaded parent network config in rebuildDnsmasqEntry
- lxd/network/acl/driver/common: Fix ACL UsedBy Instance type assertion
- lxd/instance/drivers/driver/common: Use per-loop contextual loggers in devicesUpdate
- lxd/instance/drivers/driver/common: Remove device if non-user requested update validation fails
- test: Update bridged NIC checks to expect device removal after non-user requested update validation fails
- lxd/dnsmasq/dnsmasq: Add DHCPStaticAllocationPath function
- lxd/device/nic/bridged: Make sure volatile hwaddr is used when writing static DHCP allocation file in Add
- lxd/device/nic/bridged: Detect missing static DHCP lease file at start and create if needed
- test: Add tests for creating missing bridged DHCP static lease file at NIC start time
- lxd/device/disk: Fix ceph creds on custom volumes
- build(deps): bump actions/dependency-review-action from 1 to 2
- doc: fix instructions for substitutions
- doc: storage: fix format for snapshots.schedule
- github: Disable dependabot labels
- api: storage_cephfs_fscache
- doc: Add cephfs.fscache
- scripts: Add cephfs.fscache
- lxd/network/ovs: Add timeout to nbctl/sbctl
- shared: Use DialContext.
- client: Use DialContext.
- lxd/endpoints: Use DialContext.
- lxd/instance/drivers: Use DialContext.
- lxd/util: Use DialContext.
- lxd: Use DialContext.
- test/deps: Use DialContext.
- client: Remove dereferenced memory address.
- client: Replace nil context with context.TODO.
- lxc: Ignore deprecation warning for PEM encryption.
- lxc: Use blank identifier for unused variable.
- lxc-to-lxd: Replace deprecated GetContainerNames.
- lxd/cluster: Ignore empty critical section lint error.
- lxd-generate: Replace deprecated strings.Title.
- lxd-generate: Uncomment error return for unexported fields.
- lxd/device: Fix vgpu file permissions.
- lxd/dnsmasq/dhcpalloc: Prefer net.IP.Equal over bytes.Equal.
- lxd/endpoints: Use blank identifier for unused variable.
- lxd/instance/drivers: Remove unnecessary fmt.Sprintf.
- lxd/network/openvswitch: Remove unnecessary fmt.Sprintf.
- doc: add link to the YouTube video about network zones
- shared/logger: Filter event levels for syslog
- lxd/storage/cephfs: Add cephfs.fscache
- lxc: List volumes under used-by
- lxc/storage: Show project and target on info
- doc: Rename refquota config key name for proper one
- doc: storage: add --refresh flag for copying volumes
- doc: storage: how to back up storage volumes
- doc: instances: clarify units for limits
- doc: storage: move I/O limits section
- doc: storage: fix wrong link
- doc: storage: clarify doc about I/O limits
- doc: instances: add links for I/O limits and clarifications
- lxd/network: Fail peer validation if unable to get existing peers from DB.
- lxd/resources: Use blank identifier for unused variable.
- lxd/storage/drivers: Use -1 in strings.Replace.
- lxd/sys: Use NewPid2 (NewPid is deprecated).
- lxd/util/config: Move unconditional break statement.
- lxd: Omit unused assignment.
- lxd: Omit or use blank identifier for unused variables.
- lxd: Ignore empty branch lint error.
- lxd: Replace deprecated strings.Title.
- lxd: Length of a slice cannot be < 0.
- lxd-agent: Replace deprecated Temporary error.
- shared/cancel: Use context instead of deprecated http.Request.Cancel.
- shared/cmd: Replace deprecated terminal package.
- shared/ioprogress: Remove int % 1 (any int mod 1 is zero).
- shared/validate: Remove port < 0 (uint cannot be less than zero).
- shared/version: Replace deprecated strings.Title.
- shared: Remove unnecessary for loop.
- shared: Exit test to avoid nil pointer dereference.
- test/macaroon-identity: Remove assignment to tokenString.
- test/static-analysis: Includes govet, ineffassign, and staticcheck linters.
- doc: storage: clean up driver overview page
- doc: storage: clean up general storage drivers reference
- lxd/migration: Handle optimized refresh for older versions
- lxc: Removes unused flags.
- lxd/events: Removes unused pongsPending field.
- lxd/response: Ignores lint errors for unused swagger types.
- lxd/storage/drivers: Removes unused getSubVolumeUUID.
- lxd: Removes unused struct field.
- lxd: Removes unused kernelVersion from Daemon.
- lxd: Removes unused field from cmdDaemon.
- test/static-analysis: Removes golangci-lint flags.
- lxd/vsock: Use DialContext in vsock HTTP client.
- lxd-generate: Revert to deprecated strings.Title.
- gomod: Update dependencies
- i18n: Update translations from weblate
- shared/api: Add event types
- lxd: Use event type consts
- shared/api: Add constants for lifecycle events
- shared/osarch: Fix indirect lock copy
試用環境 ¶
この新しい LXD リリースは私たちの デモサービス で利用できます。
ダウンロード ¶
このリリースの tarball は ダウンロードページ から取得できます。
ビルド済みバイナリーは次のようにして使えます:
- Linux: snap install lxd
- MacOS: brew install lxc
- Windows: choco install lxc