diff --git a/compute/vm-image-spec-bookworm.yaml b/compute/vm-image-spec-bookworm.yaml index 9ccce1047d..2f7bc34e43 100644 --- a/compute/vm-image-spec-bookworm.yaml +++ b/compute/vm-image-spec-bookworm.yaml @@ -39,13 +39,17 @@ commands: user: nobody sysvInitAction: respawn shell: '/bin/sql_exporter -config.file=/etc/sql_exporter_autoscaling.yml -web.listen-address=:9499' - - name: symlink-kernel-modules + - name: enable-kernel-modules user: root - sysvInitAction: respawn - shell: | - mkdir -p /lib/modules - ln -s /neonvm/tools/lib/modules /lib/modules - export PATH="/neonvm/tools/bin:$PATH" + sysvInitAction: sysinit + # Symlinking is impossible due to the files being mounted from + # iso9660, and many tools require mmaping the files, and iso9660 + # doesn't support that. So we copy the files instead. + shell: mkdir -p /lib/modules && cp /neonvm/tools/lib/modules/* /lib/modules -R + - name: enable-bpfs + user: root + sysvInitAction: sysinit + shell: mkdir -p /sys/kernel/debug && mount -t debugfs debugfs /sys/kernel/debug && mount -t bpf bpf /sys/fs/bpf && chmod 755 /sys/fs/bpf # Rsyslog by default creates a unix socket under /dev/log . That's where Postgres sends logs also. # We run syslog with postgres user so it can't create /dev/log. Instead we configure rsyslog to # use a different path for the socket. The symlink actually points to our custom path. diff --git a/compute/vm-image-spec-bullseye.yaml b/compute/vm-image-spec-bullseye.yaml index e205b0c9f0..89087160b7 100644 --- a/compute/vm-image-spec-bullseye.yaml +++ b/compute/vm-image-spec-bullseye.yaml @@ -39,12 +39,17 @@ commands: user: nobody sysvInitAction: respawn shell: '/bin/sql_exporter -config.file=/etc/sql_exporter_autoscaling.yml -web.listen-address=:9499' - - name: symlink-kernel-modules + - name: enable-kernel-modules user: root sysvInitAction: sysinit - shell: | - mkdir -p /lib/modules - ln -s /neonvm/tools/lib/modules /lib/modules + # Symlinking is impossible due to the files being mounted from + # iso9660, and many tools require mmaping the files, and iso9660 + # doesn't support that. So we copy the files instead. + shell: mkdir -p /lib/modules && cp /neonvm/tools/lib/modules/* /lib/modules -R + - name: enable-bpfs + user: root + sysvInitAction: sysinit + shell: mkdir -p /sys/kernel/debug && mount -t debugfs debugfs /sys/kernel/debug && mount -t bpf bpf /sys/fs/bpf && chmod 755 /sys/fs/bpf # Rsyslog by default creates a unix socket under /dev/log . That's where Postgres sends logs also. # We run syslog with postgres user so it can't create /dev/log. Instead we configure rsyslog to # use a different path for the socket. The symlink actually points to our custom path. diff --git a/compute_tools/src/profiling/mod.rs b/compute_tools/src/profiling/mod.rs index 1a7c6ca3f3..5af3bd5ca6 100644 --- a/compute_tools/src/profiling/mod.rs +++ b/compute_tools/src/profiling/mod.rs @@ -327,7 +327,7 @@ fn get_override_path_env() -> String { /// /// The generator tools have the path to the binary /// that will be used to generate the profile. -/// If the path is `None`, the tool will be searched +/// If the path is [`None`], the tool will be searched /// in the system's `PATH` using the default name. #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub enum ProfileGenerator {