Skip to content

Commit 12ad3b4

Browse files
authored
Merge pull request #145 from ravigurram8/topic-release-11
Mount-studies to ec2-dcv
2 parents 4b01c0b + d65bd69 commit 12ad3b4

2 files changed

Lines changed: 46 additions & 6 deletions

File tree

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ Parameters:
2525
Default: t3.large
2626
AllowedValues: [t3.large, t3.xlarge, t3.2xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g3.4xlarge, g3.8xlarge, g3.16xlarge]
2727
ConstraintDescription: must be a valid EC2 instance type.
28+
EBSVolumeSize:
29+
Description: The initial size of the volume (in GBs) EBS will use for storage.
30+
Type: Number
31+
Default: 32
2832
KeyPair:
2933
Description: Name of an existing EC2 KeyPair to enable SSH access to the instance. If no key pairs exist, please create one from the button next to the dropdown. Please contact your Administrator if you are unable to create one.
3034
Type: AWS::EC2::KeyPair::KeyName
@@ -195,7 +199,7 @@ Resources:
195199
sleep 120
196200
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep mate-session)/environ|cut -d= -f2- | tr -d '\0')
197201
gsettings set org.mate.interface gtk-theme "Graphite-Light"
198-
gsettings set org.mate.background picture-filename "/home/ec2-user/Graphite-gtk-theme-main/wallpaper/Graphite/wave-color.png"
202+
gsettings set org.mate.background picture-filename "/home/ec2-user/Graphite-gtk-theme-main/wallpaper/Graphite/wave-color.png"
199203
config2:
200204
commands:
201205
01_start_ext_auth:
@@ -221,9 +225,32 @@ Resources:
221225
systemctl restart dcvserver
222226

223227
# Create dcv session start script
224-
cat << EOF > /usr/local/bin/start-dcv-session
225-
sleep 15
228+
cat << 'EOF' > /usr/local/bin/start-dcv-session
229+
#!/bin/bash
230+
service_name="dcvserver"
231+
timeout=60
232+
elapsed_time=0
233+
234+
echo "Waiting for $service_name to become active..."
235+
236+
while true; do
237+
status=$(systemctl is-active $service_name)
238+
if [[ $status == "active" ]]; then
239+
echo "$service_name is now active."
240+
break
241+
fi
242+
243+
if [[ $elapsed_time -ge $timeout ]]; then
244+
echo "Timeout: $service_name did not become active within $timeout seconds."
245+
break
246+
fi
247+
248+
sleep 1
249+
elapsed_time=$((elapsed_time+1))
250+
done
226251
dcv create-session rg-session --name rg-session --user ec2-user --owner ec2-user
252+
dcv list-sessions
253+
date
227254
EOF
228255

229256
# Create dcv session on reboot
@@ -244,26 +271,37 @@ Resources:
244271
# Add command to start on reboot
245272
crontab -l 2>/dev/null > "/tmp/crontab"
246273
sh "/usr/local/bin/start-dcv-session"
274+
echo '@reboot systemctl start dcvserver' >> "/tmp/crontab"
247275
echo '@reboot cd /home/ec2-user/supervisor && /usr/local/bin/supervisord 2>&1 >> /home/ec2-user/supervisor/cust_auth.log' >> "/tmp/crontab"
276+
echo '@reboot sleep 5' >> "/tmp/crontab"
248277
echo '@reboot /usr/local/bin/start-dcv-session 2>&1 >> /var/log/start-dcv-session.log' >> "/tmp/crontab"
249278
echo '@reboot /home/ec2-user/set_user_token.sh 2>&1 >> /var/log/set_user_token.log' >> "/tmp/crontab"
250279
crontab "/tmp/crontab"
251280
# Restart DCV session
252-
dcv close-session rg-session
253-
sh "/usr/local/bin/start-dcv-session"
281+
#dcv close-session rg-session
282+
#sh "/usr/local/bin/start-dcv-session"
254283

255284
# Remove password and lock for ec2-user
256285
passwd -l ec2-user
257286
dcv create-session lock-session --name lock-session --user ec2-user --owner ec2-user --init /home/ec2-user/disable_lock.sh
258287

259288
sudo -u ec2-user /home/ec2-user/themes.sh
289+
dcv list-sessions
290+
260291

261292
/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource EC2Instance --region ${AWS::Region}
262293
InstanceType: !Ref 'InstanceType'
263294
SecurityGroups: [!Ref 'InstanceSecurityGroup']
264295
KeyName: !Ref 'KeyPair'
265296
ImageId: "{{resolve:ssm:/RL/RG/StandardCatalog/linux-nice-dcv-ami}}"
266297
IamInstanceProfile: !Ref InstanceProfile
298+
BlockDeviceMappings:
299+
- DeviceName: /dev/xvda
300+
Ebs:
301+
VolumeSize: !Ref EBSVolumeSize
302+
303+
304+
267305
PropagateTagsToVolumeOnCreation: true
268306
Tags:
269307
- Key: Name

dump/configs.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,9 @@
407407
"cromwell",
408408
"sagemaker",
409409
"ec2-igv",
410-
"ec2-secure-desktop"
410+
"ec2-secure-desktop",
411+
"ec2-dcv"
412+
411413
]
412414
},
413415
"studySelectionCount" : 5.0

0 commit comments

Comments
 (0)