AR System File Deployer (D2P)
In my last blog which was an overview of how D2P and AR System Single Point deployer works https://communities.bmc.com/community/bmcdn/bmc_remedy_ar_system/blog/2018/03/02/d2p-overview.
As explained in the blog there are two components first one was D2P and then other was AR System Single point deployer . lets take a look on AR System Single point deployer.
Why this is important ?
Since BMC will be shipping hot-fix and patches using D2P package post 9.1.04 releases
How do AR Server know which all components are connected to this Server Group setup ?
Starting 9.1.04 for all the 3 components (AR , MT & SmartIT) , there is a separate process know as “file deployer” which will be running , When ever file deployer gets started , it does an registration in an form called "AR System Monitor" , this form has the information related to what kind of server it is , it has the following information "Server Name" , "Monitor Type" ( AR System or Mid-Tier or SmartIT) and unique GUID to identify each unique components. So whenever filedeployer is started it take the GUID and do a query on this form and if that GUID is not available it creates an entry on that form.
Where is the GUID located and why it is important ?
For AR Server Component , In AR System Home directory for Windows OS and for Linux it will be in bin directory a file called "monitor-ARServer-guid.properties" which has GUID information which is to be unique per server , its an important file and if this files gets delete then a new file will be generated with a new GUID after restart of file deployer process and with this new GUID new registration will happen. ( in such cases where you have deleted or modified ) make sure that you go to AR System Monitor form and you deleted the old entry. Also take a note that if you copying the existing file system or copying an VM to add a new node/setup make sure this file has an unique GUID. else deployment will not happen to this new node. it is recommend that you should not play with this GUID File.
Similarly for Mid-tier and SmartIT you find guid file in there respective file system.
Why you need to run an utility arpayloaddeploymentutil.bat ( or ,sh) ?
Now since remedy has a feature which can add/modify or copy/execute an new binary file it becomes important to have control by Remedy Admin as well System Admin (or Operating System Admin). The import of package will be done by an Remedy Admin and System / OS admin will decide if that binary has to be applied or not , basically without OS admin permission any new binary file should not be downloaded and applied. So this is how the model is going to work , Remedy Admin will import the new package and will ask system admin to run this utility.
Again this is configurable , if you are the overall admin the server then there is a property file in AR System home directory "deployconfig.properties" , when can be set true or false
if filedeployer.localDeploymentRequired=false then you don't need to run the utility deployment will happen once you click deploy on D2P console. ( this is when Remedy Admin has all the rights )
if filedeployer.localDeploymentRequired=true ( by default ) , then for any deployment there will be a need to run the utility else download of binary package and deployment will not happen. ( recommended on production systems)
What is the flow of deployment? when a D2P package which contains a binary file is applied ?
Lets assume that you are going to apply the patch , following are the steps
- Download an D2P package from EPD
- Import the package ( .zip) from D2P Console. once you import the status of the package will be "Ready to deploy"
- Click Deploy
- if the package contains Def and arx - those get imported on the server ( internally it identify the admin server and then it will import the def and arx on the admin server ) , so it does not matter from where you are import the package on the console
- if the package contains a binary file , D2P console will just import the payload of binary file into a form called " AR System Single Point Deployment Payload" and set the field "Available to download = yes "
- On D2P Console the package status is marked as Deployed ( please note that the binary deployment is not yet happened , you need to check the status by click on View payload status.
- You need to run the utility arpayloaddeploymentutil,bat(or sh) based on your deployment configuration as explained above, to complete the deployment of the patch.
Now lets go back to "AR System Single Point Deployment Payload" form , the moment an payload entry is created on this form and when Available to download is set to YES and lets assume that the instruction "where to deploy" is for "All Server" ( now it depends on the payload instructions what the package contains).
This is what happened , it will go to "AR System Monitor" where all the components are registered and fetch all the server information , it will create one entry for each components in to a form called "AR System Single Point Deployment Status" , so for example if you have 5 servers and there are 5 entries registered on "AR System Monitor" form , then there will be 5 entries created on "AR System Single Point Deployment Status" i.e. one entry per server. and then one by one entries are picked up and deployment starts happening to each server, please note the deployment will happen one by one to achieve Zero down time.
Quick look on some of the D2P forms?
Some of the forms introduced to Support Single Point Deployment
AR System Single Point Deployment Payload - To create a binary payload.
AR System Single Point Deployment Status – Detail status of the processes
AR System Monitor – All the registered Servers or components
AR System Single Point Deployment Payload Status Join – View status from D2P
AR System Single Point Deployment Processes – All the registered Processes.
AR System Monitor Type - All the registered Monitory Type ( example , AR Server , Mid-tier and SmartIT)
AR System Java Plugin Deploy Status – Status of the plugin when it starts or Stops.
Please note there are internal form , so explanation for all the forms will be not found on BMC Docs , if needed will explain details of each forms.
Important tip , your AR System Monitor form should have correct information , if the server is deprecated make sure that you delete the entry. if you don't delete then on a "AR System Single Point Deployment Status" form, an entry will be created for this server and it wait from 48 hr ( by default) and then it will time out.