source/idea/idea-bootstrap/_templates/linux/fsx_lustre_client.jinja2 (121 lines of code) (raw):

# Begin: FSx Lustre Client # Follow instructions at https://docs.aws.amazon.com/fsx/latest/LustreGuide/install-lustre-client.html if [[ $RES_BASE_OS == "amzn2" ]]; then if [[ -z "$(rpm -qa lustre-client)" ]]; then amazon-linux-extras install -y lustre fi elif [[ $RES_BASE_OS == "rhel8" ]]; then if [[ -z "$(rpm -qa lustre-client)" ]]; then kernel=$(uname -r) machine=$(uname -m) log_info "Found kernel version: $kernel running on: $machine" if [[ $kernel == *"4.18.0-513"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-477"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.8#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-425"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.7#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-372"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.6#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-348"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.5#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-305"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.4#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-240"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.3#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"4.18.0-193"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#8#8.2#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" else log_error "Can't install FSx for Lustre client as kernel version $kernel isn't matching expected versions: (x86_64: 4.18.0-193, -240, -305, -348, -372, -425, -477, -513)!" fi fi elif [[ $RES_BASE_OS == "rhel9" ]]; then if [[ -z "$(rpm -qa lustre-client)" ]]; then kernel=$(uname -r) machine=$(uname -m) log_info "Found kernel version: $kernel running on: $machine" if [[ $kernel == *"5.14.0-427"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/9/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#9#9.4#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"5.14.0-362"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/9/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#9#9.3#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" elif [[ $kernel == *"5.14.0-70"*$machine ]]; then curl https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-rpm-public-key.asc -o /tmp/fsx-rpm-public-key.asc sudo rpm --import /tmp/fsx-rpm-public-key.asc sudo curl https://fsx-lustre-client-repo.s3.amazonaws.com/el/8/fsx-lustre-client.repo -o /etc/yum.repos.d/aws-fsx.repo sudo sed -i 's#9#9.0#' /etc/yum.repos.d/aws-fsx.repo sudo yum clean all sudo yum install -y kmod-lustre-client lustre-client set_reboot_required "FSx for Lustre client installed" else log_error "Can't install FSx for Lustre client as kernel version $kernel isn't matching expected versions: (x86_64: 5.14.0-362, -70)!" fi fi elif [[ $RES_BASE_OS == "ubuntu2204" ]]; then wget -O - https://fsx-lustre-client-repo-public-keys.s3.amazonaws.com/fsx-ubuntu-public-key.asc | gpg --dearmor | sudo tee /usr/share/keyrings/fsx-ubuntu-public-key.gpg >/dev/null bash -c 'echo "deb [signed-by=/usr/share/keyrings/fsx-ubuntu-public-key.gpg] https://fsx-lustre-client-repo.s3.amazonaws.com/ubuntu jammy main" > /etc/apt/sources.list.d/fsxlustreclientrepo.list && apt-get update' kernel=$(uname -r) DEBIAN_FRONTEND=noninteractive apt install -y lustre-client-modules-$kernel set_reboot_required "FSx for Lustre client installed" fi # Performance tuning {% include '_templates/linux/fsx_lustre_client_tuning_prereboot.jinja2' %} # End: FSx Lustre Client