@@ -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
0 commit comments