AppWorx, Dollar Universe and Sysload Community

 View Only
  • 1.  [Tutorial] DU Objects Packages

    Posted Oct 14, 2015 06:06 AM
    Packages allow for an auto-patch, node settings or a group of objects to be deployed to another package, a node/ Area or a Management Unit. Three types of packages can be distinguished, based on their contents:
    •  Auto-patches: an auto-patch package is for deploying Dollar Universe updates and fixes to multiple Dollar Universe nodes.
    •  Node Settings: a node settings package is for deploying node settings to multiple Dollar Universe nodes.
    •  Objects: an objects package is for deploying Dollar Universe objects to a Management Unit, a Node/Area or another package.
    In this tutorial we are going to handle the 3rd type: Objects Packages.

    Context

    The use of Packages is possible as of DU version 6.x. They replace the former Objects Export/Import processes of the prior versions.
    You want to deploy/ transfer DU Objects from Node1 to Node2 (or several Nodes)
    • Node1 is called NB120173
    • Node2 is called vmstm2kr2cst02
    1dj666a5zgjk.png

    Method

    Step 1: Create a package

    • In the Design Mode go to the Deployment menu and click on Packages
    • Select a context, which is NODE 1 in our example
    • In the right panel hit on "new" to create a new package
    7g88uzwk9fdf.png

    Step 2: Select the source

    • Enter the package name
    • Enter a Comment
    • Hit the "Add" button to select the origin Companyandthe origin Node
    sm8zjftqws59.png

     Step 3: Select the destination

    • Select the Objects Type you want to export
    • Select the destination which is the package for which we enter the name in the previous step
    b10x6ptb2413.png

    Step 4: Check the selected Object/add other Objects

    When you hit on next, you will land on a window with the recap of the selected Objects and their dependencies
    It's time to check if all the desired Objects have been selected.

    Note: In a single package you can  add different Objects types such as Application, Calendar, Job chain, MU, Rules, ...
    The next window is the summary of all the objects and their dependencies which are readdy to be added to the package

    b9gg419ukjd1.png

    Step 5: Save the package

    Hit on "send" the objects are added to the package and by default the package is saved in the folder defined in the UVMS  Node Settings --> Installation files and directories --> Objects Packages directory 

    Once a package is created following action are possible:
    • Adding Objects
    • Duplicating package
    • Updating package
    • Deployment on different Nodes/ Areas/ MU

    Object package deployment

    Some guidelines

    For a successful object package deployment make sure the following guidelines are respected:
    Objects in a package should always be from the same area.
    Objects and groups of objects should be deployed in the following order:
    • Resources, Rules, Domains, Applications, Uproc classes, MU’s, Submission Accounts, Batch Queues
    • Calendars
    • Uprocs, Sessions
    • Tasks
    • Exceptions, Outages
    • Job chains, Business Views
    • Production plans
    Packages should include all objects connected to the selected object (i.e. a package containing a Business View also contains a batch queue, session, Uproc, Tasks, Application, Domain and Submission Account. )

    A compound object has other objects associated with it. For example, the distribution of a Task may also distribute the Session, Uprocs in the Session, and create the Domain/Application, incompatibility classes, resources and conditioning Uprocs implied in the Uprocs. To ensure deployment is successful, the user should verify that all associated objects are present before deploying a package.

    Deployment hub

    • To deploy an Object package in the Design Mode go to the Deployment menu and click on Deployment hub
    • Select a context, which is NODE 2 in our example
    • In the right panel hit on "new deployment" button
    • Enter the Source and Target infos
    • Once you get the package Objects and their dependencies listed, choose the ones you want to deploy and validate
    h35zxgcfxkes.png

    Troubleshooting

    The package deployment process is quite simple but we should conclude this tutorial with some troubleshooting aspects. You might encounter an error during the deployment:
    tr69cxjac49r.png
    As of the time of writting this tutorial, the explanation of the issue can't be found directly on the deployment dialog.

    it can be found in the log of the Console:
    ef33pibma7wq.png
    |2015-09-29 15:22:52,984|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.UniverseBusiness|Problem during deployment of object [IU_WMNT][IU_WMNT][000][IU_WMNT_H][000][HKVTW2K899][false] on [TST600/hkvtw2k899/X] 
    |2015-09-29 15:22:52,985|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$DeploymentAction|Problem occured during deployment of TASK [IU_WMNT][IU_WMNT][001][IU_WMNT_H][001][SRV074][true] on hkvtw2k899/X/HKVTW2K899 
    com.orsyp.api.ObjectDependencyNotFoundException: Dependency not found - User not found error
    at com.orsyp.owls.impl.MessageReader.getSpecificException(MessageReader.java:221)
    at com.orsyp.owls.impl.MessageReader.toException(MessageReader.java:173)
    at com.orsyp.owls.impl.MessageReader.readResult(MessageReader.java:118)
    at com.orsyp.owls.impl.MessageReader.read(MessageReader.java:72)
    at com.orsyp.owls.impl.AbstractObjectSaver.save(AbstractObjectSaver.java:92)
    at com.orsyp.owls.impl.task.OwlsTaskImpl.save(OwlsTaskImpl.java:241)
    at com.orsyp.owls.impl.task.OwlsTaskImpl.create(OwlsTaskImpl.java:143)
    at com.orsyp.api.task.Task.create(Task.java:680)
    at com.orsyp.api.task.Task.create(Task.java:665)
    at com.orsyp.kmeleon.universe.TaskBusiness.create(TaskBusiness.java:368)
    at com.orsyp.kmeleon.universe.UniverseBusiness.deploy(UniverseBusiness.java:441)
    at com.orsyp.kmeleon.universe.TaskBusiness.deploy(TaskBusiness.java:410)
    at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$DeploymentAction.deployAction(UnifiedDeploymentBusiness.java:517)
    at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$AbstractDeploymentAction.deploy(UnifiedDeploymentBusiness.java:329)
    at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness.deployInCorrectOrder(UnifiedDeploymentBusiness.java:243)
    at com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness.deploy(UnifiedDeploymentBusiness.java:172)
    at com.orsyp.kmeleon.document.deployment.wizard.controller.DeploymentSummaryController.onNextFromWizard(DeploymentSummaryController.java:279)
    at com.orsyp.kmeleon.document.deployment.wizard.view.DeploymentWizard$1.runInternal(DeploymentWizard.java:277)
    at com.orsyp.kmeleon.util.process.NotifyProcess.run(NotifyProcess.java:44)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    In the above message the important part is 
    |2015-09-29 15:22:52,984|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.UniverseBusiness|Problem during deployment of object [IU_WMNT][IU_WMNT][000][IU_WMNT_H][000][HKVTW2K899][false] on [TST600/hkvtw2k899/X] 
    |2015-09-29 15:22:52,985|ERROR||BackgroundWorker-27|com.orsyp.kmeleon.universe.deployment.UnifiedDeploymentBusiness$DeploymentAction|Problem occured during deployment of TASK [IU_WMNT][IU_WMNT][001][IU_WMNT_H][001][SRV074][true] on hkvtw2k899/X/HKVTW2K899 
    com.orsyp.api.ObjectDependencyNotFoundException: Dependency not found - User not found error
    As you see in this example, here a user is missing



    We hope this tutorial will be useful to some of you. Don't hesitate to let us know what you think in your comments below!


  • 2.  RE: [Tutorial] DU Objects Packages

    Posted Jul 11, 2024 06:15 AM

    Many years later, this tutorial is still relevant. 

    I would add that "Triggers" should be added to the list of objects to deploy, right after "Tasks" in the list. 

    Also, newer versions have ways to export all objects at once using the UVMS CLI (UNIADD TOPKG and UNIEXP / UNIIMP PKG) or the DevOps Kit. But this guide is still usefull to those with no access to CLI, who prefer to use the GUI, or who want to perform these types of operations only every so often.  



    ------------------------------
    Domenico Cotugno
    Automation Specialist
    Tricise
    ------------------------------