pappa_recd1 Absent Member.
Absent Member.
469 views

Deployment of Drivers and workflows from Command Line

Hi,

Do we have the provision of deployment of driver XMLs and workflows from command line. We are in the process of automation of deployment of drivers and workflows without manual intervention of Designer or any other IDE tools.

Thanks in Advance.

Regards,
Prabhat
Labels (1)
0 Likes
6 Replies
cpedersen Outstanding Contributor.
Outstanding Contributor.

Re: Deployment of Drivers and workflows from Command Line

On 29.04.19 14:34, pappa recd1 wrote:
>
> Hi,
>
> Do we have the provision of deployment of driver XMLs and workflows from
> command line. We are in the process of automation of deployment of
> drivers and workflows without manual intervention of Designer or any
> other IDE tools.
>
> Thanks in Advance.
>
> Regards,
> Prabhat
>
>


This was presented by Aditya, who was part of the development team:
https://www.slideshare.net/eclipsedayindia/using-eclipse-emfgef-to-develop-an-offline-designer-for-identity-manager

This is to my best knowledge no longer supported ... and I know of at
least one who wacked a driver doing this. Which means that you really
need to be sure what you do before you do it.




Casper
0 Likes
pappa_recd1 Absent Member.
Absent Member.

Re: Deployment of Drivers and workflows from Command Line

thanks for the reply but the PPT doesn't say anything that there are any options for deployment from command line for the drivers and workflows.
0 Likes
Knowledge Partner
Knowledge Partner

Re: Deployment of Drivers and workflows from Command Line

On 5/1/2019 5:36 AM, pappa recd1 wrote:
>
> thanks for the reply but the PPT doesn't say anything that there are any
> options for deployment from command line for the drivers and workflows.


So back in Aug 2013, Aditya did a session for my IDM User Group on
Designer Headless. My notes are below. The session is recorded if you
want to watch it.

Email me at geoffreycarman@gmail.com if you wish to be added to the User
Group (Get future invites, and access to the previous 26 sessions) I
just want to know your industry, and approximate licensed user count for
IDM products.




IDM#10 Designer Headless with Aditya

Aug 22, 2013, 11AM (EST).



Streaming recording link:
https://ciscony.webex.com/ciscony/ldr.php?AT=pb&SP=MC&rID=36954472&rKey=33aff21476ccb73f
Download recording link:
https://ciscony.webex.com/ciscony/lsr.php?AT=dw&SP=MC&rID=36954472&rKey=afe46911bd662830

Designer Headless, called DH internally.

Originally conceived for Integrated Installer. But AG4C used it in
clever ways in earlier builds.

Does not have all capabilities of Designer in headless mode, but
designed to allow scripted installs of drivers and packages.

Short slide deck.

Needed to do:
Scriptable and automated driver installs (Integrated Install needed to
do 4 drivers, UA, RRSD, MGS, DCS)

Automate updating of content (Package updates)

Use cases:
Staging
II (Does 4 drivers out of the box)
Fanout Configuration (Had to do 100's of identical mostly drivers.)
Agile deployment model - Moving to Agile development and deployment
model. Want to quickly move code changes between levels. So can use
scripts to automate testing.


Architecture:
Invokes Designer without the Workbench (The 'Head')
Based on headless Eclipse - used for Eclipse builds, updates.

Works only with Package Based Drivers. (Introduced in IDM/Designer 4).


Details of supported functionality:
Deploy drivers
Can specify name, packages to use, driver type, answers to package
prompts.
Import drivers from IDV
Upgrade content of drivers
List Drivers with Package info
List Packages (So you know the right names for dh commands)
Publish Packages.
Good if you have to build and publish a lot of packages.

DH Commands:
Strings will be very long and 'dirty'.
Has 4 components.

DH Invocation
DH Command
Options for DH
Options specific to DH Command.

Designer -application com.novell.idm.rcp.DesignerHeadless -data
/tmp/dh-workspace -command deployDriver -p /tmp/Packages -u IDM -l
/home/avikram/tmp/dh.log -g -m

Designer -application com.novell.idm.rcp.DesignerHeadless

This part invokes DH.

-data /tmp/dh-workspace
What is my project to work from?

-command deployDriver
DH Command

-p /tmp/Packages -u IDM -l /home/avikram/tmp/dh.log
General DH options

-g -m
This specific DH Command options (Specific to

The various commands come next.

Deploy Drivers
-command deployDriver
Two step process.
1) Generate properties for prompts, using -g -b<basepackagename>
Specify the base package name, and dependant packages.
Creates a .properties file for the prompts in the designer install
location
Only required first time or when prompts get changed
Properties for multiple drivers can be created by specifying their
base package name, delimited by a semi-colon. eg: -b NOVLADBASE;NOVLDTXTB

Will be a set of key-value pairs based on the prompts in Designer.
2) Deploy Drivers
Provide the base package name, dependant packages
Provide the .properties file with the right answers.
Provide IDV credentials.

More Deploy drivers:
Calcs the needed pkgs for the whole operation. At all three levels
(IDV, DriverSet, and Driver)
Calcs mandatory packages as well as optional required for the base pkg
Imports the needed packages into catalog
Creates drivers
Associates driverset with server
Syncs the driverset with other servers (optional)
Syncs the driverset with other servers (optional)
Installs the packages (using property files for prompts)
Deploys the IDV along with drivers

Sets up Sec Equals (Optional)
Starts the drivers.

Import from IDV:
-command importIDV
Need to have the right packages in your Catalog, that you are
importing from IDV.
Imports drivers from IDV
Provide the IDV Admin creds
Provide the local package Repo from where to pick packages
Can provide a list of drivers to import.

Update IDV:
-command deployDriver -u <idm-project path>
Same as for deploying
Need to provide project with existing drivers
Need to provide package repo with the latest packages.
DH will go through each driver (and driverset) and figure out a need
for upgrade and upgrade as necessary
Provide the <basepackage>.properties to change prompts. Or else will
use existing values, per what the prompts say to do.

Main difference is here it works against a project. Against a project
you used DH for import or Deploy against before.

Other commands
-command listContents
List all drivers with package version
List all packages in your Package Catalog
-command publishPackage
Publish packages to a specified file path
Similar to publish in UI.

Tips:
Missed the details. Will be in slide deck.
To create many say AD drivers, so make the -b target some
uniqueValue:PackageNAme. So AD:NOVLADBASE instead of NOVLADBASE.
Use different properties files one for each driver, and driver name is
a properties. Use the -g with the same AD:NOVLADBASE and so on.

Create multiple package repos instead of using the default Designer
repo, so you want to test your sets of packages, specify with -p
<custom-dir> (So you can avoid build/release/publish cycle). So put
your JAR's there.

If you do not want to install project to IDV, create workspace to play
with but do not provide IDV creds and deployDriver won't deploy,
creating the workspace and saving time vs a real deploy.

For upgrades in case you don't have the project, import first, then
deploy with -u to upgrade it. Would still need any custom JAR's for
Packages. This can be used for staging. Import, make sure you have
properties files, JARs, and then you can upgrade. Can do this with a
workspace for a single driver or the like.

Demo:
Showed two driversets in iManager. Deleted the second one to start.

Executed a listDrivers using a script called dh.sh that saves typing.
Showed output.

listPackages just to diagnose that you have a good project with the
needed packages. Had 89 base packages in his example. Lists latest one
only.

GeneratePrompts and showed examples.
did not know how to provide a value for a complex GCV type (List, enum,
or Structured).
The file is delimited by package name, I.e. These prompts from these
packages.
Only change value part, not the preceding as that is how they read them
back out.
Also does DriverSet GCV's.
Can Generate with "D1:BOVLADBASE;D2NOVLADBASE;D3:NOVLADBASE" to
generate three property files to use on three driver deploys.

Went through and changed some of the prompt values.

Showed Import into a different project. So use a different project in
the workspace.

In Access Gateway 4 Cloud, found they were doing 30 drivers at install
time, and it worked well, even if commands got long.

Can now look at this project imported, in Designer.

So then listed the drivers in the project.

Saw that AD driver was already on latest, so cannot demo Upgrade. So
downloaded a newer Delim text to a different directory, so he can
specify a -p for package source.


Questions:

Stefaan Van Cauwenberge
Q: is it possible to generate the deploy properties file based on an
already deployed driver?

A: Aditya: Based on the prompts in the packages. So if you used the
same packages you will get the prompts and can add the values in. If
not Package based, cannot do it.
Geoff: Put another way, the focus is on the Package itself. not the
specific instance of a Package deployed as part of a user.
Aditya: Might be useful to add functionality to get it during import step.

Q: Alex McHugh
to clarify that, when you say "calculates the mandatory + optional"
packages, do you mean this includes only the optional packages defined
as selected="true" ?
A: Gets all optional, selected or not.
Geoff: What about the SOAP case, where there is a choice of options?
SPML, DSML1, DSML2, or none. What happens there?
Aditya: Does not know. So would probably say do not do optionals and
then add on the ones you want.

Q: Geoff: Deploy IDV: What is deployed there? The eDir config? Or the
Driverset? Or what?
A: All the eDir config that Designer would config to IDV.

Q: After seeing Package prompts generated, how do you specify a complex
type of GCV value?
A: Will try and get an example for us.

Q: Kevin: So if I creates several GCV objects and spreads them over
several packages, will all the configured GCV values for a driver be
affected or altered if I only installs one new package with a new GCV
object containing a new GCV? Last session, if install package with GCV,
will update the GCV values. If you have multiple GCV objects does this
still apply.

A: Only change the GCV you are targeting.

Q: GeoffC: Can you obfuscate the passwords?
A: the IDV Admin? Or the named passwords in properties files?
ADmin yes via Env setting.
Named Passwords, no. Clear text in properties file.

Q: Aaron: Aditya, this has all been fun to hear about. I'm interested
what your (or NetIQ's) plans are for the headless functionality going
forward. I think we all know it is used by the Integrated Installer....
anything else? Backups? Recovery?
A: At beginning, discussed Agile deployment model.
II is great for POC, but rarely works well in large setups. In large
setup, allows for easier/scripted upgrades/staging.
AlexM: Think backup/restore would be neat.
Kevin: Automated deployment from a cloud based partner environment into
test installments at customers...?
Aaron: Staging between envs for admins?
Aditya: Could do a session to show how to do staging with it.
Maybe even as a version control mechanism. Just VC the JAR's and
properties, not the project itself, per se.
Aditya: New feature, hoping to come in new AU, to compare two projects,
show differences in Packages, in catalog, prompts, etc.

Q: Geoff: Can you distribute the dh.sh file?
A: Yes, probably newer than older one we might have seen.



pappa_recd1 Absent Member.
Absent Member.

Re: Deployment of Drivers and workflows from Command Line

Thanks Geoff. It sounds very interesting but the recording link is no more valid. Do you have any user manual for Designer Headless solutions. Want to participate in some demo session. Also the answers to the questions doesn't seems very convincing in a full fledged deployment model in today's DEVOPS world. In case there are some manuals / guides please do share so that I can have a look and can cater to my customer's requirement
0 Likes
Knowledge Partner
Knowledge Partner

Re: Deployment of Drivers and workflows from Command Line

On 5/2/2019 1:24 AM, pappa recd1 wrote:
>
> Thanks Geoff. It sounds very interesting but the recording link is no
> more valid. Do you have any user manual for Designer Headless solutions.


I have them all downloaded and available at the link I sent you in
personal email.

> Want to participate in some demo session. Also the answers to the
> questions doesn't seems very convincing in a full fledged deployment
> model in today's DEVOPS world. In case there are some manuals / guides
> please do share so that I can have a look and can cater to my customer's
> requirement


I am not sure of the current state of headless deployment. I do not
think it is a 100% solution.

This is probably the closest you will get to a manual of that type.
There is a PDF at that link I sent you that has more information.


0 Likes
Knowledge Partner
Knowledge Partner

Re: Deployment of Drivers and workflows from Command Line

geoffc;2499130 wrote:
On 5/2/2019 1:24 AM, pappa recd1 wrote:
>
> Thanks Geoff. It sounds very interesting but the recording link is no
> more valid. Do you have any user manual for Designer Headless solutions.


I have them all downloaded and available at the link I sent you in
personal email.

> Want to participate in some demo session. Also the answers to the
> questions doesn't seems very convincing in a full fledged deployment
> model in today's DEVOPS world. In case there are some manuals / guides
> please do share so that I can have a look and can cater to my customer's
> requirement


I am not sure of the current state of headless deployment. I do not
think it is a 100% solution.

This is probably the closest you will get to a manual of that type.
There is a PDF at that link I sent you that has more information.


You can see headless designer being used to deploy the DCS and MSGW drivers, if you let it, in the IDM47 install script. It deploys a new driverset with DCS and MSGW in it, though, it does not merge them in to an existing driverset if you had one, so that can get exciting if you're working in an existing system.
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.