cookbooks/aws-parallelcluster-platform/resources/dcv/partial/_rhel_common.rb (76 lines of code) (raw):
# frozen_string_literal: true
#
# Copyright:: 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License").
# You may not use this file except in compliance with the License.
# A copy of the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "LICENSE.txt" file accompanying this file.
# This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied.
# See the License for the specific language governing permissions and limitations under the License.
def dcv_sha256sum
if arm_instance?
case el_string
when "amzn2"
# ALINUX2
'894f5a0b2c57bb9433a7124f152b0930d962ab0f2cfc6ea0f1e159893d667e86'
when "el8"
# RHEL and Rocky8
'7647d00782fb7f14668571f1e48fffa2b8b587d878b7632b03f40bbb92a757ad'
when "el9"
# RHEL and Rocky9
'f9b2fa95f84059c7168ef924b7ffe8b6f4d0d69e2e39280096d4bf76fdfb597c'
else
''
end
else
case el_string
when "amzn2"
# ALINUX2
'81e85db767e36c36877879e1d3afc0f20127b9bd81b845fc8599feb9abd04f24'
when "el8"
# RHEL and Rocky8
'f879513272ac351712814bd969e3862fc7717ada9cfdf1ec227876b0e8ebc77d'
when "el9"
# RHEL and Rocky9
'5d631b5c0f2f6b21d0e56023432766994e2de5cc13f22c70a954cd643cde5b84'
else
''
end
end
end
def el_string
if platform?('amazon')
"amzn2"
else
"el#{node['platform_version'].to_i}"
end
end
def dcv_package
"nice-dcv-#{node['cluster']['dcv']['version']}-#{el_string}-#{dcv_url_arch}"
end
def dcv_server
"nice-dcv-server-#{node['cluster']['dcv']['server']['version']}.#{el_string}.#{dcv_url_arch}.rpm"
end
def xdcv
"nice-xdcv-#{node['cluster']['dcv']['xdcv']['version']}.#{el_string}.#{dcv_url_arch}.rpm"
end
def dcv_web_viewer
"nice-dcv-web-viewer-#{node['cluster']['dcv']['web_viewer']['version']}.#{el_string}.#{dcv_url_arch}.rpm"
end
def dcv_gl
"nice-dcv-gl-#{node['cluster']['dcv']['gl']['version']}.#{el_string}.#{dcv_url_arch}.rpm"
end
action_class do
def pre_install
# Install the desktop environment and the desktop manager packages
execute 'Install gnome desktop' do
command 'yum -y install @gnome'
retries 3
retry_delay 5
end
# Install X Window System (required when using GPU acceleration)
package "xorg-x11-server-Xorg" do
retries 3
retry_delay 5
end
# libvirtd service creates virtual bridge interfaces.
# It's provided by libvirt-daemon, installed as requirement for gnome-boxes, included in @gnome.
# Open MPI does not ignore other local-only devices other than loopback:
# if virtual bridge interface is up, Open MPI assumes that that network is usable for MPI communications.
# This is incorrect and it led to MPI applications hanging when they tried to send or receive MPI messages
# see https://www.open-mpi.org/faq/?category=tcp#tcp-selection for details
service 'libvirtd' do
action %i(disable stop)
end
end
def post_install
# stop firewall
service "firewalld" do
action %i(disable stop)
end
include_recipe 'aws-parallelcluster-platform::disable_selinux'
end
def install_dcv_gl
package = "#{node['cluster']['sources_dir']}/#{dcv_package}/#{dcv_gl}"
package package do
action :install
source package
end
end
end