diff --git a/deployment/swift/swift-storage-container-puppet.yaml b/deployment/swift/swift-storage-container-puppet.yaml index 40cb5d27c8..f9e88a14e0 100644 --- a/deployment/swift/swift-storage-container-puppet.yaml +++ b/deployment/swift/swift-storage-container-puppet.yaml @@ -620,10 +620,16 @@ outputs: opts: -f -i size=1024 with_items: "{{ swift_raw_disks }}" when: swift_raw_disks + - name: Refresh facts if SwiftRawDisks is set to get uuids if newly created partitions + setup: + gather_subset: + - '!all' + - 'hardware' + when: swift_raw_disks - name: Mount devices defined in SwiftRawDisks mount: name: /srv/node/{{ item }} - src: "{{ swift_raw_disks[item]['base_dir']|default('/dev') }}/{{ item }}" + src: "{% if lsblk.results['uuids'][item] is defined %}UUID={{ ansible_device_links['uuids'][item][0] }}{% else %}{{ swift_raw_disks[item]['base_dir']|default('/dev') }}/{{ item }}{% endif %}" fstype: xfs opts: noatime state: mounted diff --git a/releasenotes/notes/swift-mount-by-uuid-7744fe7696db4b85.yaml b/releasenotes/notes/swift-mount-by-uuid-7744fe7696db4b85.yaml new file mode 100644 index 0000000000..9b199a50c7 --- /dev/null +++ b/releasenotes/notes/swift-mount-by-uuid-7744fe7696db4b85.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + When SwiftRawDisks is set, try to mount the disks using uuids instead of + paths. This makes mounts more stable, eg. if a kernel gets updates and + device orders are changed.