Skip to content

Commit 2050c45

Browse files
test
Signed-off-by: Hanwen <[email protected]>
1 parent 4817e12 commit 2050c45

File tree

2 files changed

+90
-7
lines changed

2 files changed

+90
-7
lines changed

attributes/default.rb

+8
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,14 @@
262262
default['cluster']['efa']['installer_url'] = "https://efa-installer.amazonaws.com/aws-efa-installer-#{node['cluster']['efa']['installer_version']}.tar.gz"
263263
default['cluster']['efa']['unsupported_aarch64_oses'] = %w(centos7)
264264

265+
# EFS Utils and its dependency stunnel
266+
default['cluster']['efs_utils']['version'] = '1.33.3'
267+
default['cluster']['efs_utils']['url'] = "https://github.com/aws/efs-utils/archive/v#{node['cluster']['efs_utils']['version']}.tar.gz"
268+
default['cluster']['efs_utils']['sha256'] = '8bf9703d1dfc5cdd5e98539194cb9086873bdc2d938664356a94a727a78d40b6'
269+
default['cluster']['stunnel']['version'] = '5.66'
270+
default['cluster']['stunnel']['url'] = "https://www.stunnel.org/downloads/stunnel-#{node['cluster']['stunnel']['version']}.tar.gz"
271+
default['cluster']['stunnel']['sha256'] = '558178704d1aa5f6883aac6cc5d6bbf2a5714c8a0d2e91da0392468cee9f579c'
272+
265273
# NICE DCV
266274
default['cluster']['dcv_port'] = 8443
267275
default['cluster']['dcv']['installed'] = 'yes'

cookbooks/aws-parallelcluster-install/recipes/efs.rb

+82-7
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,40 @@
1515
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and
1616
# limitations under the License.
1717

18+
efs_utils_tarball = "#{node['cluster']['sources_dir']}/efs-utils-#{node['cluster']['efs_utils']['version']}.tar.gz"
19+
stunnel_tarball = "#{node['cluster']['sources_dir']}/stunnel-#{node['cluster']['stunnel']['version']}.tar.gz"
20+
21+
# Get EFS Utils tarball
22+
remote_file efs_utils_tarball do
23+
source node['cluster']['efs_utils']['url']
24+
mode '0644'
25+
retries 3
26+
retry_delay 5
27+
not_if { ::File.exist?(efs_utils_tarball) }
28+
end
29+
30+
# Verify tarball
31+
ruby_block "verify EFS Utils checksum" do
32+
block do
33+
require 'digest'
34+
checksum = Digest::SHA256.file(efs_utils_tarball).hexdigest
35+
raise "Downloaded EFS Utils package checksum #{checksum} does not match expected checksum #{node['cluster']['efs_utils']['sha256']}" if checksum != node['cluster']['efs_utils']['sha256']
36+
end
37+
end
38+
39+
# Install EFS Utils
1840
case node['platform']
19-
when 'amazon'
20-
package 'amazon-efs-utils'
21-
when 'centos'
41+
when 'amazon', 'centos'
2242
bash "install efs utils" do
2343
cwd node['cluster']['sources_dir']
2444
code <<-EFSUTILSINSTALL
2545
set -e
26-
git clone https://github.com/aws/efs-utils
27-
cd efs-utils
46+
47+
# python3.4 or later is required
48+
source #{node['cluster']['cookbook_virtualenv_path']}/bin/activate
49+
50+
tar xf #{efs_utils_tarball}
51+
cd efs-utils-#{node['cluster']['efs_utils']['version']}
2852
make rpm
2953
yum -y install ./build/amazon-efs-utils*rpm
3054
EFSUTILSINSTALL
@@ -34,10 +58,61 @@
3458
cwd node['cluster']['sources_dir']
3559
code <<-EFSUTILSINSTALL
3660
set -e
37-
git clone https://github.com/aws/efs-utils
38-
cd efs-utils
61+
62+
# python3.4 or later is required
63+
source #{node['cluster']['cookbook_virtualenv_path']}/bin/activate
64+
65+
tar xf #{efs_utils_tarball}
66+
cd efs-utils-#{node['cluster']['efs_utils']['version']}
3967
./build-deb.sh
4068
apt-get -y install ./build/amazon-efs-utils*deb
4169
EFSUTILSINSTALL
4270
end
4371
end
72+
73+
# Get dependencies of stunnel
74+
package "Install dependencies of stunnel" do
75+
case node['platform']
76+
when 'amazon', 'centos'
77+
package_name 'tcp_wrappers-devel'
78+
when 'ubuntu'
79+
package_name 'libwrap0-dev'
80+
end
81+
retries 3
82+
retry_delay 5
83+
end
84+
85+
# Get stunnel tarball
86+
remote_file stunnel_tarball do
87+
source node['cluster']['stunnel']['url']
88+
mode '0644'
89+
retries 3
90+
retry_delay 5
91+
not_if { ::File.exist?(stunnel_tarball) }
92+
end
93+
94+
# Verify tarball
95+
ruby_block "verify stunnel checksum" do
96+
block do
97+
require 'digest'
98+
checksum = Digest::SHA256.file(stunnel_tarball).hexdigest
99+
raise "Downloaded stunnel package checksum #{checksum} does not match expected checksum #{node['cluster']['stunnel']['sha256']}" if checksum != node['cluster']['stunnel']['sha256']
100+
end
101+
end
102+
103+
bash "install stunnel" do
104+
cwd node['cluster']['sources_dir']
105+
code <<-STUNNELINSTALL
106+
set -e
107+
108+
tar xvfz #{stunnel_tarball}
109+
cd stunnel-#{node['cluster']['stunnel']['version']}
110+
./configure
111+
make
112+
if [[ -f /bin/stunnel ]]; then
113+
rm /bin/stunnel
114+
fi
115+
make install
116+
ln -s /usr/local/bin/stunnel /bin/stunnel
117+
STUNNELINSTALL
118+
end

0 commit comments

Comments
 (0)