Post Refresh Requests
Refresh or Clone is process whereby Production environment is copied in to development environments. This can cause loss of code changes on environment that was refreshed. Post Refresh Request enables an environment to be brought to its original state after it has been refreshed from another environment. Post Refresh process will identify all the projects that are different between the Refreshed To and Refreshed From environments. If a project is package-based, then it will also determine which files are different between the Refreshed To and Refreshed From environments. If there are file differences then for each package-based project two packages will be created. First package which will be the Sync package that contains all the files that are currently deployed to the Refreshed From environment. The second package, Refresh package will include all the files currently deployed to the Refreshed To environment . Files that are only deployed to the Refreshed To environment will be marked as destructive in the Sync package. The following steps are performed to complete the post refresh request.
Build request for all package-based projects for the Sync packages.
Build request for all package-based projects for the Refresh packages.
Executes Sync State (no deployment is done, just FlexDeploy state is adjusted to match Refresh process)
For package-based projects, files inside Sync package will be applied.
For standard project, sync state runs using the project version of the Refreshed From environment.
Executes Deploy
For package-based projects, Refresh package will be deployed.
For standard project, project version that was previously deployed Refreshed To environment will be deployed.
Post Refresh feature is needed when an EBS environment such as development (Refreshed To) is cloned from production (Refreshed From). Once the refresh/clone is complete, you can initiate the Post Refresh Request to redeploy code / configuration changes to Refreshed To environment.
Sync State is a new workflow type used for Post Refresh. When it is executed for a Target Group and an Environment (Refreshed To), the workflow will make FlexDeploy deployment state files and projects identical to the clone(Refreshed From) environment.
View History of Post Refresh Requests
To view the previously executed (or current) Post Refresh Requests, select Topology from the menu, then select the Post Refresh tab. The results will be displayed based on user’s access to Target Groups and Environments.
To view a Post Refresh Request details click on the id.
Initiate Post Refresh Request
To initiate a new Post Refresh Request, select the values for the following fields
Field Name | Required | Description |
---|---|---|
Target Group | Yes | Target Group of the application which did the clone. |
Refreshed From Environment | Yes | Select name of the source environment that was used for Refresh process. |
Refreshed To Environment | Yes | Select name of the target environment for Refresh process. |
Show Differences |
| Button to show project differences between Refreshed From and Refreshed To environments for the selected Target Group. |
Field Name | Description |
---|---|
Requested Start Time | Start Time for the refresh deployments to begin. |
Stop on Error | Flag to stop execution of post refresh process if a Deploy request failed. |
Priority | Priority of the project set in the project configuration screen. |
Project Name | Name of the project with the folder path. |
Sync Project Version | This is only for standard project, the project version deployed to the Refreshed From environment. |
Refresh project Version | This is only for standard project, the project version deployed to the Refreshed To environment. |
Actions | Menu options
|
Sync & Re-deploy | Initiate the Post Refresh process for all the projects. |
Post Refresh project results has an option to expand each projects. Standard project has no details, package-based project displays details for Sync and Refresh packages with the files.
Field Name | Description |
---|---|
Expand Link | Option to see details for projects. |
Sync Package | The Sync package updates the FlexDeploy state for the target group of the TO environment before refreshing new changes. |
Destructive | Indicates the file state in FlexDeploy will be removed during Sync State execution. (File will be deployed during Refresh Package execution). |
Refresh Package | The Refresh package deploys the files needed for the target group to bring the TO environment back to the state it was in before the sync process was run. |
Actions | Menu options
|
Sync & Re-deploy | Initiate the Post Refresh process for all the projects. |
Click the Sync & Re-Deploy to initiate the post refresh request process to sync and re-deploy the projects. When the Request Status is Complete, the refresh is done.
Once the process is initiated, you will be taken to the Post Refresh Request details page to see the status and progress.
Request Status | Description |
---|---|
Pending | Initial status when the process is started. |
Sync Build | Build executions of Sync packages for package-based projects. |
Refresh Build | Build executions of Refresh packages for package-based projects. |
Sync | Workflow request that runs in Refreshed To environment, sync the state of projects and files in FlexDeploy identical to the Refreshed From environment. |
Submitted | Workflow requests that runs in Refreshed To environment, deploying all original changes to Refreshed To environment before the clone. |
Completed | All the workflow requests for the post refresh are Completed or Rejected. Note : If any Folders has Approval or Scheduled Windows configured, Post Refresh workflow request for Sync State or Deploy will go to Pending Approval Or Scheduled status. If any of these Approval/Scheduled tasks are Rejected, Post Refresh will ignore the project for the Rejected task and continue processing the next project. |
Failed | If any build, sync workflow requests failed, or Stop On Error selected and one or more deploy request Failed or Abort requested. |
Recovering from Post Refresh Failure
Once a Post Refresh Request is initiated, the execution may fail due to various reasons. There is no option to resume a failed request. Lets go through few scenarios and understand follow steps to fix a failed request.
There are 3 different requests initiated for each request, Build, Sync and Deploy.
Build requests created only for package-based project. If any one of Build requests failed, click the Execution Id link and look for the failure reason. Fix configuration or other settings related to the error. Then again re-try the Post Refresh request for the same Target Group and Refreshed From/To environments.
Sync state failures. Sync State failures are very rare as there is no real execution for a project as it updates the FlexDeploy state related to projects and files.
For a Post Refresh request, Failed Sync State workflow requests shouldn’t cause any issues for the project, but we need to follow few steps for the successfully completed Sync State workflow requests.
In the above screenshot, SYNCSTATE for XXHR Data Fixes failed and XXHR and XXHR2 completed successfully.
We need to manually submit the DEPLOY request for XXHR and XXHR2 projects using the Build request for Refresh packages.
In the below screen shot, Sync_2329517 is completed for XXHR, Now go to XXHR project, submit the deploy request for package Refresh_2329517.
Similarly, for XXHR2, follow the same step and deploy the request for package Refresh_2329517.
You need to follow this steps for all the Projects(package-based) where Sync State is successful.
Deploy Failures. If a Deploy workflow request failed, we need to look into the plugin logs for the cause of the failure. Once the issue is fixed, we need to re-submit the deployment request.
In the below, XXHR Data Fixes workflow request 2329536 failed. Now click the execution id link 2766842 and check the plugin log for error, do the fix.
Once fixed, re-submit the Deployment again for workflow request 2329536.
Follow the same for other failed deployments as well.
- style