Skip to content

Commit 554f5b6

Browse files
Merge Release 2.2.1
Merge Release 2.2.1
2 parents e88b787 + c0aec74 commit 554f5b6

22 files changed

+383
-52
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,28 @@ aws-parallelcluster-cookbook CHANGELOG
33

44
This file is used to list changes made in each version of the AWS ParallelCluster cookbook.
55

6+
2.2.1
7+
-----
8+
9+
**ENHANCEMENTS**
10+
- `FSx Lustre`: add support for FSx Lustre in Centos7. In case of custom AMI, FSx Lustre is
11+
only supported with Centos 7.5 and Centos 7.6.
12+
13+
**CHANGES**
14+
- `SGE`: allow users to force job deletion
15+
- `Centos7`: use official AMI as the base image when building ParallelCluster AMI
16+
17+
**BUG FIXES**
18+
- `Torque`: wait for scheduler initialization before completing compute node setup
19+
- `EBS`: fix block device conversion to correctly attach ebs nvme volumes
20+
- `Packer`: retrieve `aws-cfn-bootstrap-latest` package from `cn-north-1` in all China regions.
21+
- `RAID`: automatically prepend `/` to `raid_shared_dir` when not specified in cluster config
22+
- `EBS`: remove extra leading `/` when mounting EBS volumes
23+
24+
**TOOLING**
25+
- Add a script to simplify cookbook package upload when using `custom_chef_cookbook` option
26+
27+
628
2.1.1
729
-----
830

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ end
1111
group :test do
1212
gem 'chefspec', '~> 4.0'
1313
gem 'kitchen-vagrant', '~> 1.1.0'
14+
gem 'safe_yaml', '~> 1.0.5'
1415
gem 'test-kitchen', '~> 1.13.2'
1516
end
1617

amis/packer_centos7.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
"source_ami_filter": {
2626
"filters": {
2727
"virtualization-type": "hvm",
28-
"name": "CentOS 7.x x86_64 - minimal with cloud-init - *",
28+
"name": "CentOS Linux 7 x86_64 HVM EBS ENA *",
2929
"root-device-type": "ebs"
3030
},
31-
"owners": ["247102896272"],
31+
"owners": ["410186602215"],
3232
"most_recent": true
3333
},
3434
"ami_regions" : "{{user `build_for`}}",
@@ -140,6 +140,14 @@
140140
"sudo /bin/sed -r -i -e 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config"
141141
]
142142
},
143+
{
144+
"type" : "shell",
145+
"only": ["centos7"],
146+
"inline" : [
147+
"sudo /bin/sed -r -i -e 's/GRUB_CMDLINE_LINUX=\"(.*)\"/GRUB_CMDLINE_LINUX=\"\\1 rd.driver.blacklist=nouveau nouveau.modeset=0\"/' /etc/default/grub",
148+
"sudo grub2-mkconfig -o /boot/grub2/grub.cfg"
149+
]
150+
},
143151
{
144152
"type" : "shell",
145153
"inline" : [

amis/packer_variables.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"parallelcluster_version": "2.1.1",
3-
"parallelcluster_cookbook_version": "2.1.1",
2+
"parallelcluster_version": "2.2.1",
3+
"parallelcluster_cookbook_version": "2.2.1",
44
"chef_version": "14.2.0",
55
"ridley_version": "5.1.1",
66
"berkshelf_version": "7.0.4"

attributes/default.rb

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
default['cfncluster']['scripts_dir'] = "#{node['cfncluster']['base_dir']}/scripts"
2020
default['cfncluster']['license_dir'] = "#{node['cfncluster']['base_dir']}/licenses"
2121
# Python packages
22-
default['cfncluster']['cfncluster-version'] = '2.1.1'
23-
default['cfncluster']['cfncluster-node-version'] = '2.1.1'
22+
default['cfncluster']['cfncluster-version'] = '2.2.1'
23+
default['cfncluster']['cfncluster-node-version'] = '2.2.1'
2424
default['cfncluster']['cfncluster-supervisor-version'] = '3.3.1'
2525
# URLs to software packages used during install recipes
2626
# Gridengine software
@@ -74,12 +74,29 @@
7474
httpd boost-devel redhat-lsb mlocate mpich-devel openmpi-devel R atlas-devel
7575
blas-devel fftw-devel libffi-devel openssl-devel dkms mysql-devel libedit-devel
7676
libical-devel postgresql-devel postgresql-server sendmail mdadm]
77+
78+
# Lustre Drivers for Centos 6
79+
default['cfncluster']['lustre']['version'] = '2.10.6'
80+
default['cfncluster']['lustre']['kmod_url'] = 'https://downloads.whamcloud.com/public/lustre/lustre-2.10.6/el6/client/RPMS/x86_64/kmod-lustre-client-2.10.6-1.el6.x86_64.rpm'
81+
default['cfncluster']['lustre']['client_url'] = 'https://downloads.whamcloud.com/public/lustre/lustre-2.10.6/el6/client/RPMS/x86_64/lustre-client-2.10.6-1.el6.x86_64.rpm'
82+
7783
if node['platform_version'].to_i >= 7
7884
default['cfncluster']['base_packages'] = %w[vim ksh tcsh zsh openssl-devel ncurses-devel pam-devel net-tools openmotif-devel
7985
libXmu-devel hwloc-devel libdb-devel tcl-devel automake autoconf pyparted libtool
8086
httpd boost-devel redhat-lsb mlocate lvm2 mpich-devel openmpi-devel R atlas-devel
8187
blas-devel fftw-devel libffi-devel openssl-devel dkms mariadb-devel libedit-devel
8288
libical-devel postgresql-devel postgresql-server sendmail libxml2-devel libglvnd-devel mdadm]
89+
if node['platform_version'].split('.')[1] == '6'
90+
# Lustre Drivers for Centos 7.6
91+
default['cfncluster']['lustre']['version'] = '2.10.6'
92+
default['cfncluster']['lustre']['kmod_url'] = 'https://downloads.whamcloud.com/public/lustre/lustre-2.10.6/el7/client/RPMS/x86_64/kmod-lustre-client-2.10.6-1.el7.x86_64.rpm'
93+
default['cfncluster']['lustre']['client_url'] = 'https://downloads.whamcloud.com/public/lustre/lustre-2.10.6/el7/client/RPMS/x86_64/lustre-client-2.10.6-1.el7.x86_64.rpm'
94+
elsif node['platform_version'].split('.')[1] == '5'
95+
# Lustre Drivers for Centos 7.5
96+
default['cfncluster']['lustre']['version'] = '2.10.5'
97+
default['cfncluster']['lustre']['kmod_url'] = 'https://downloads.whamcloud.com/public/lustre/lustre-2.10.5/el7.5.1804/client/RPMS/x86_64/kmod-lustre-client-2.10.5-1.el7.x86_64.rpm'
98+
default['cfncluster']['lustre']['client_url'] = 'https://downloads.whamcloud.com/public/lustre/lustre-2.10.5/el7.5.1804/client/RPMS/x86_64/lustre-client-2.10.5-1.el7.x86_64.rpm'
99+
end
83100
end
84101
default['cfncluster']['kernel_devel_pkg']['name'] = "kernel-lt-devel" if node['platform'] == 'centos' && node['platform_version'].to_i >= 6 && node['platform_version'].to_i < 7
85102
default['cfncluster']['rhel']['extra_repo'] = 'rhui-REGION-rhel-server-releases-optional' if node['platform'] == 'redhat' && node['platform_version'].to_i >= 6 && node['platform_version'].to_i < 7
@@ -157,7 +174,9 @@
157174
default['cfncluster']['cfn_node_type'] = nil
158175
default['cfncluster']['cfn_master'] = nil
159176
default['cfncluster']['cfn_cluster_user'] = 'ec2-user'
177+
default['cfncluster']['cfn_fsx_options'] = 'NONE'
178+
default['cfncluster']['cfn_fsx_fs_id'] = nil
160179
default['cfncluster']['custom_node_package'] = nil
161180
default['cfncluster']['custom_awsbatchcli_package'] = nil
162-
default['cfncluster']['cfn_raid_parameters'] = "NONE"
181+
default['cfncluster']['cfn_raid_parameters'] = 'NONE'
163182
default['cfncluster']['cfn_raid_vol_ids'] = nil

files/default/attachVolume.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def convert_dev(dev):
1515
# FIXME This approach could be broken in some OS variants, see
1616
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html
1717
if '/nvme' in dev:
18-
return '/dev/' + os.popen('sudo /usr/local/sbin/parallelcluster-ebsnvme-id -b ' + dev).read().strip()
18+
return '/dev/' + os.popen('sudo /usr/local/sbin/parallelcluster-ebsnvme-id -u -b ' + dev).read().strip()
1919
elif '/hd' in dev:
2020
return dev.replace('hd', 'sd')
2121
elif '/xvd' in dev:
@@ -58,7 +58,7 @@ def main():
5858
if config.has_option('Boto', 'proxy') and config.has_option('Boto', 'proxy_port'):
5959
proxy = config.get('Boto', 'proxy')
6060
proxy_port = config.get('Boto', 'proxy_port')
61-
proxy_config = Config(proxies={'https': "{}:{}".format(proxy, proxy_port)})
61+
proxy_config = Config(proxies={'https': "{0}:{1}".format(proxy, proxy_port)})
6262

6363
# Connect to AWS using boto
6464
ec2 = boto3.client('ec2', region_name=region, config=proxy_config)

files/default/ec2_dev_2_volid.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def main():
4444
if config.has_option('Boto', 'proxy') and config.has_option('Boto', 'proxy_port'):
4545
proxy = config.get('Boto', 'proxy')
4646
proxy_port = config.get('Boto', 'proxy_port')
47-
proxy_config = Config(proxies={'https': "{}:{}".format(proxy, proxy_port)})
47+
proxy_config = Config(proxies={'https': "{0}:{1}".format(proxy, proxy_port)})
4848

4949
# Connect to AWS using boto
5050
ec2 = boto3.client('ec2', region_name=region, config=proxy_config)

files/default/qconf_scripts.tar.gz

1.88 KB
Binary file not shown.

metadata.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
issues_url 'https://github.com/aws/aws-parallelcluster-cookbook/issues'
88
source_url 'https://github.com/aws/aws-parallelcluster-cookbook'
99
chef_version '14.2.0'
10-
version '2.1.1'
10+
version '2.2.1'
1111

1212
supports 'amazon'
1313
supports 'centos', '= 6'

recipes/_compute_base_config.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
raid_shared_dir = node['cfncluster']['cfn_raid_parameters'].split(',')[0]
3434

3535
if raid_shared_dir != "NONE"
36+
# Path needs to be fully qualified, for example "shared/temp" becomes "/shared/temp"
37+
raid_shared_dir = "/" + raid_shared_dir unless raid_shared_dir.start_with?("/")
38+
3639
# Created RAID shared mount point
3740
directory raid_shared_dir do
3841
mode '1777'
@@ -85,7 +88,7 @@
8588
shared_dir_array = node['cfncluster']['cfn_shared_dir'].split(',')
8689
shared_dir_array.each_with_index do |dir, index|
8790
shared_dir_array[index] = dir.strip
88-
shared_dir_array[index] = "/" + shared_dir_array[index]
91+
shared_dir_array[index] = "/" + shared_dir_array[index] unless shared_dir_array[index].start_with?("/")
8992
end
9093

9194
# Mount each volume with NFS

0 commit comments

Comments
 (0)