Confluence AWS Upgrades
Confluence
Check App Compatibility...
Resolve issues with apps that are "Incompatible", "Compatible if updated" or "Unknown" before continuing.Administration(Cog) (T)
Manage apps (D)
Manage apps (L)
Confluence Update Check (B)
Find (and note) Application Nodes Instance IDs
for iid in $(aws ec2 describe-instance-status --output yaml | grep InstanceId | tr -d ' ' | awk -F: '{ print $2 }')
do
aws ec2 describe-instances --instance-ids ${iid} --output yaml | grep "Confluence Node" >/dev/null && \
aws ec2 describe-instances --instance-ids ${iid} --output yaml | egrep "InstanceId"
done
Enable Read-Only Mode...
Click EDITTick the read-only check boxUpdate the banner message as necessaryClick Submit
Administration(Cog) (T)
General Configuration (D)
ADMINISTRATION (L)
Maintenance (L)
Add a node to the cluster with the new version...
aws cloudformation describe-stacks --output yaml | grep StackName
To help identify your stack name if you don't remember itmystack=mystackname
ClusterNodeMin=2
ClusterNodeMax=2
ConfluenceVersion=7.6.2
Note that you need the three digit version number. You should be able to find this on the Release Notes page for your target version.aws cloudformation describe-stacks --stack-name ${mystack}
Parameter list was correct on 13-Jul-2020; newer versions of the Quick Start may affect the parameter listaws cloudformation update-stack --stack-name ${mystack} \
--use-previous-template --capabilities CAPABILITY_NAMED_IAM --parameters \
ParameterKey=ClusterNodeMin,ParameterValue=${ClusterNodeMin} \
ParameterKey=ClusterNodeMax,ParameterValue=${ClusterNodeMax} \
ParameterKey=CollaborativeEditingMode,UsePreviousValue=true \
ParameterKey=ConfluenceVersion,ParameterValue=${ConfluenceVersion} \
ParameterKey=CloudWatchIntegration,UsePreviousValue=true \
ParameterKey=ClusterNodeInstanceType,UsePreviousValue=true \
ParameterKey=ClusterNodeVolumeSize,UsePreviousValue=true \
ParameterKey=SynchronyClusterNodeMax,UsePreviousValue=true \
ParameterKey=SynchronyClusterNodeMin,UsePreviousValue=true \
ParameterKey=SynchronyNodeInstanceType,UsePreviousValue=true \
ParameterKey=DeploymentAutomationRepository,UsePreviousValue=true \
ParameterKey=DeploymentAutomationBranch,UsePreviousValue=true \
ParameterKey=DeploymentAutomationPlaybook,UsePreviousValue=true \
ParameterKey=DeploymentAutomationCustomParams,UsePreviousValue=true \
ParameterKey=DeploymentAutomationKeyName,UsePreviousValue=true \
ParameterKey=DBEngine,UsePreviousValue=true \
ParameterKey=DBInstanceClass,UsePreviousValue=true \
ParameterKey=DBIops,UsePreviousValue=true \
ParameterKey=DBMasterUserPassword,UsePreviousValue=true \
ParameterKey=DBMultiAZ,UsePreviousValue=true \
ParameterKey=DBPassword,UsePreviousValue=true \
ParameterKey=DBStorage,UsePreviousValue=true \
ParameterKey=DBStorageEncrypted,UsePreviousValue=true \
ParameterKey=DBStorageType,UsePreviousValue=true \
ParameterKey=BastionHostRequired,UsePreviousValue=true \
ParameterKey=KeyPairName,UsePreviousValue=true \
ParameterKey=CidrBlock,UsePreviousValue=true \
ParameterKey=InternetFacingLoadBalancer,UsePreviousValue=true \
ParameterKey=SSLCertificateARN,UsePreviousValue=true \
ParameterKey=CustomDnsName,UsePreviousValue=true \
ParameterKey=HostedZone,UsePreviousValue=true \
ParameterKey=AutologinCookieAge,UsePreviousValue=true \
ParameterKey=TomcatContextPath,UsePreviousValue=true \
ParameterKey=CatalinaOpts,UsePreviousValue=true \
ParameterKey=JvmHeapOverride,UsePreviousValue=true \
ParameterKey=JvmHeapOverrideSynchrony,UsePreviousValue=true \
ParameterKey=DBPoolMaxSize,UsePreviousValue=true \
ParameterKey=DBPoolMinSize,UsePreviousValue=true \
ParameterKey=DBTimeout,UsePreviousValue=true \
ParameterKey=DBIdleTestPeriod,UsePreviousValue=true \
ParameterKey=DBMaxStatements,UsePreviousValue=true \
ParameterKey=DBValidate,UsePreviousValue=true \
ParameterKey=DBPreferredTestQuery,UsePreviousValue=true \
ParameterKey=DBAcquireIncrement,UsePreviousValue=true \
ParameterKey=MailEnabled,UsePreviousValue=true \
ParameterKey=TomcatAcceptCount,UsePreviousValue=true \
ParameterKey=TomcatConnectionTimeout,UsePreviousValue=true \
ParameterKey=TomcatDefaultConnectorPort,UsePreviousValue=true \
ParameterKey=TomcatEnableLookups,UsePreviousValue=true \
ParameterKey=TomcatMaxThreads,UsePreviousValue=true \
ParameterKey=TomcatMinSpareThreads,UsePreviousValue=true \
ParameterKey=TomcatProtocol,UsePreviousValue=true \
ParameterKey=TomcatRedirectPort,UsePreviousValue=true \
ParameterKey=QSS3BucketName,UsePreviousValue=true \
ParameterKey=QSS3KeyPrefix,UsePreviousValue=true \
ParameterKey=ExportPrefix,UsePreviousValue=true
Check Progress using AWS Cloudformation console or...
aws cloudformation list-stacks --output yaml --stack-status-filter "UPDATE_IN_PROGRESS" "UPDATE_ROLLBACK_FAILED" "UPDATE_ROLLBACK_IN_PROGRESS" "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS" | grep -E 'StackName|StackStatus'
The command above will show UPDATE_IN_PROGRESS whilst the change is being applied. When the command above returns no results the Update is complete.Terminate the nodes running the older version, using the InstanceIds you noted earlier...
aws ec2 terminate-instances --instance-ids instanceid
Monitor progress...
for iid in $(aws ec2 describe-instance-status --output yaml | grep InstanceId | tr -d ' ' | awk -F: '{ print $2 }')
do
aws ec2 describe-instances --instance-ids ${iid} --output yaml | grep "Confluence Node" >/dev/null && \
aws ec2 describe-instances --instance-ids ${iid} --output yaml | egrep "InstanceId| Code:| Name:"
done
Any connection to Confluence at this point should see a message similar to the one shown here...
The new version will also be shown in the footer of each page...
Disable Read-Only Mode...
Click EDITuntick the read-only check boxClick Submit
Administration(Cog) (T)
General Configuration (D)
ADMINISTRATION (L)
Maintenance (L)
Set the number of Confluence nodes back to the correct value...
Monitor progress...
for iid in $(aws ec2 describe-instance-status --output yaml | grep InstanceId | tr -d ' ' | awk -F: '{ print $2 }')
do
aws ec2 describe-instances --instance-ids ${iid} --output yaml | grep "Confluence Node" >/dev/null && \
aws ec2 describe-instances --instance-ids ${iid} --output yaml | egrep "InstanceId| Code:| Name:"
done
The Confluence Upgrade is Complete!
Bibliography
Confluence Release Noteshttps://confluence.atlassian.com/doc/confluence-7-6-release-notes-1004945745.htmlhttps://confluence.atlassian.com/doc/confluence-6-10-release-notes-952058221.html