Acquire Lock with UrbanCode Deploy on IBM WebSphere Application Server Network Deployment Environment

Who works everyday with IBM WebSphere Application Server Network Deployment knows a state of facts: Different users cannot make changes on a WAS DM Cell at the same time.

Let’s look at how it can be possible acquire an exclusive lock on a WAS DM Cell with IBM UrbanCode Deploy.

We have two different applications on the same WAS DM Cell and we want to deploy both without worrying about which deploy start first.

Create everything you need on uDeploy: Applications, Components, Component Process, Application Process, Resources and Environments as in the figures below:

Environment Name: WAS85 STAGING
First Application: Pet Store

Pay Attention: The environment name is: WAS85 STAGING. I’ll put this name for every application is running into my WAS DM Cell of Staging.

Second Application: Plants Store
Pet Store Application Component
Plants Store Application Component
Components mapped to the same Application Server: server1
Plants Ear resource added to WAS85 STAGING Environment of Plants Store Application
Pet Ear resource added to WAS85 STAGING Environment of Pet Store Application
Pet Store Application Process with Acquire Lock and Release Lock steps
Plants Store Application Process with Acquire Lock and Release Lock steps
Put into Lock Name the Environment Name variable. In our case WAS85 STAGING
Application who is starting first acquire the lock. In our case Pet Store

Plants Store Application deploy is starting after Pet Store deploy. The lock is waiting for release.
Take a look at Settings -> Locks PET STORE is locking the Environment WAS85 STAGING
When Pet Store deploy is ended it releases lock
Plants Store deploy process acquire lock
Settings -> Locks shows PLANTS STORE now
Plants Store deploy process ends and release lock
Plants and Pet Store Applications are installed in the same WAS Cell without problems.

Have a nice day!

Operations Engineer working with Cloud Infrastructure, Containers, Kubernetes, CI/CD pipelines, CDRA processes, GitOps.