Skip to content

(2025.12 - 2026.03) RHEL and Ubuntu VDI login fails due to EFS mount failure #163

@Mohjeet

Description

@Mohjeet

Bug description

Users are unable to log in to RHEL8, RHEL9, Ubuntu 22.04 and Ubuntu 24.04 VDI sessions. During instance bootstrap, the amazon-efs-utils package fails to build due to an incompatibility between the Rust version provided by Ubuntu's package repositories and the newer Cargo.lock format required by efs-utils. As a result, EFS filesystems, including the shared /home directory, are not mounted, and desktop sessions terminate immediately upon login.

As shown in the VDI installation logs at /root/bootstrap/logs/install.log.{timestamp}:

  • For RHEL,
Either upgrade rustc or select compatible dependency versions with
`cargo update <name>@<current-ver> --precise <compatible-ver>`
where `<compatible-ver>` is the latest version supporting rustc 1.88.0

error: Bad exit status from /var/tmp/rpm-tmp.Fvv8Il (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.Fvv8Il (%build)
make: *** [Makefile:56: rpm-only] Error 1
+ yum -y install 'build/amazon-efs-utils*rpm'
  • For Ubuntu,
+ cargo build --release --manifest-path /root/bootstrap/latest/efs-utils/src/proxy/Cargo.toml
error: failed to parse lock file at: /root/bootstrap/latest/efs-utils/src/proxy/Cargo.lock
+ apt install -y './build/amazon-efs-utils*deb'
E: Unsupported file ./build/amazon-efs-utils*deb given on commandline

Affected versions

2025.12 - 2026.03

Mitigation

RES environment with public internet access

  1. Create an S3 bucket with ACLs disabled.
  2. Download patch_host.py and res-installation-scripts-*.tar.gz by replacing <output-directory> with the directory to download the patch script, <environment-name> with the name of your RES environment, <bucket-name> with the name of a ACLs disabled S3 bucket under the account/region where RES is deployed, RES_VERSION with 2025.12, 2025.12.01, or 2026.03 in the command below, and <partition> with Classic or GovCloud :
    1. The patch applies to 2025.12, 2025.12.01, 2026.03
    2. The patch script requires AWS CLI v2, Python 3.12.11 or above, and Boto3.
    3. Configure the AWS CLI for the account / region where RES is deployed, and make sure that you have S3 permissions to write to the bucket provided through <bucket-name>.
    4.  OUTPUT_DIRECTORY=<output-directory>
       ENVIRONMENT_NAME=<environment-name>
       RES_VERSION=<RES_VERSION>
       BUCKET_NAME=<bucket-name>
       PARTITION=<partition>
       
       mkdir -p ${OUTPUT_DIRECTORY}
       HASH=$(case $RES_VERSION in "2026.03") echo af2c97c4;; "2025.12.01") echo 8ab7b322;; "2025.12") echo 5ddacb12;; esac)
       curl https://research-engineering-studio-us-east-1.s3.us-east-1.amazonaws.com/releases/${RES_VERSION}/patch_scripts/patch_host.py --output ${OUTPUT_DIRECTORY}/patch_host.py
       curl https://research-engineering-studio-us-east-1.s3.us-east-1.amazonaws.com/releases/${RES_VERSION}/patch_scripts/patches/res-installation-scripts-${HASH}.tar.gz --output ${OUTPUT_DIRECTORY}/res-installation-scripts-${HASH}.tar.gz
      
  3. Run the following patch command:
     python3 ${OUTPUT_DIRECTORY}/patch_host.py --environment-name ${ENVIRONMENT_NAME} --module installation --zip-file ${OUTPUT_DIRECTORY}/res-installation-scripts-${HASH}.tar.gz --s3-bucket ${BUCKET_NAME} --partition ${PARTITION}
    
  4. Launch new Ubuntu VDIs with this fix.

RES environment without public internet access

  1. Bake new RES-ready VDI AMIs following the Configure RES-ready AMIs documentation. In the DownloadRESLinuxInstallPackage step, replace the source with the patched script associated with your RES version:

s3://research-engineering-studio-us-east-1/releases/{RES_VERSION}/patch_scripts/patches/res-installation-scripts-{HASH}.tar.gz.
Where {HASH} is af2c97c4 for 2026.03, 8ab7b322 for 2025.12.01, and 5ddacb12 for 2025.12.
The step should look like the following:

1.
  - name: DownloadRESLinuxInstallPackage
            action: S3Download
            onFailure: Abort
            maxAttempts: 3
            inputs:
              - source: "s3://research-engineering-studio-us-east-1/releases/{RES_VERSION}/patch_scripts/patches/res-installation-scripts-{HASH}.tar.gz"
                destination: "/root/bootstrap/res-installation-scripts/res-installation-scripts.tar.gz"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions