Hi,
Anyone developed / came across Ansible module for TeamSite 8.x?
Can this be a feature request?
Regards, Praveen
Not certain I see a big advantage to doing this.
Since TS does not install in a Tomcat container and will not be able to autoscale, it needs to be installed as an app.
Now since there is a silent installer, you might be able to but there are a bunch of configurations required I doubt it worth the effort.
Now I have built EBS containers with LSCS, LSDS and Idol installer and they can be kicked off with Ansible. That make much more sense.
Good to know Andy!
We're trying to automate the installation of TeamSite as of now (no LSCS, LSDS, IDOL etc.). Couldn't this be achieved with Ansible? Considering the number of environments where we need to setup TS, we thought it could be advantageous.
Isn't silent installation a matter of filling all the configurations in advance? Can you please elaborate the part where you stated that configurations required for silent installer are not worth the effort?
How many times will you use this ? How many servers do you need to install?
To do this you would need an image with OD already installed, Ansible would need to configure OD for that hostname (OD should be installed first and doesn't have a silent option). Then you would need the script to customize the silent install script, for the system specific items, DB and other parameters. Then execute.
It may take a week to get it working. I can install 2-3 servers a day, so unless you are looking at a lot of servers or are going to keep reusing this, it may not be worth the effort.
Doing this for LS is a good idea. We pushed out 200+ LSDS servers, about 20 LSCS servers.
4-5 times Andy. Will go without it probably then. Any suggestions for automating OD installation?
Thanks, Praveen
Hi Praveen,
Which OS are you using?
For OpenDeploy on Windows, at the moment this still uses InstallShield so it's possible to create a InstallShield Silent response file (.iss file) by running the first install with the "-r" option. Please see the link below:
http://helpnet.installshield.com/installshield22helplib/helplibrary/CreatetheResponseFile.htm
You could then run a silent install by using the -r option and pointing it to the response file you created earlier.
Here is an example of installing the base server that worked for me in the past:
IWOVOpenDeployBaseServer.Windows.8.2.0.exe -s -a -r
IWOVOpenDeployBaseServer.Windows.8.2.0.exe -s -a -s -f1C:\Windows\Setup.iss
Check C:\Windows\Setup.log for the results.
Regards, Tim
Thanks Tim! This is on Linux.
I have never tried it, but there are options for OD remote install, likely i is the silent installer that Tim was talking about. The Installer is the same on DOS and *nix, so his instructions should work on Linux as well.
For OpenDeploy, you might be able to utilize expect to provide the responses for the Unix command-line OpenDeploy installers (note: expect requires tcl - both may already be installed on your system, if not it should hopefully be easy to do so).
I haven't personally done this, but as the installation process was (is? Haven't installed OD for a couple of years) pretty simple and straight-forward it shouldn't be that difficult. Something like (very rough guessing here):
#!/usr/local/bin/expect -f spawn /path/to/OpenDeploy/installer/startinstall_od set odproc_id $spawn_id expect { # I do not remember what the various prompts look like, you will have to figure that out license_prompt { send "y\n" exp_continue } installation_type_prompt { send "1\n" ; # fresh installation exp_continue } base_directory_prompt { send "/opt/interwoven\n" ; # adjust as per your environment exp_continue } registry_port_prompt { send "\n" ; # accept default '9173' exp_continue } listening_port_prompt { send "\n" ; # accept default '20014' exp_continue } event_reporting_prompt { send "n\n" ; # or "y\n", I never enable this exp_continue } bootstrap_users_prompt { send "n\n" ; # or "y\n", additional prompts (below) to handle "y\n" exp_continue } bootstrap_user_os_prompt { send "2\n" ; # Unix - or "1\n" for Windows exp_continue } bootstrap_username_prompt { send "odadmin\n" ; # adjust as per your environment exp_continue } summary_prompt { # I believe there is a prompt at the very end, along with a note about license, etc. send "\n" ; # done # You will need to [eventually] put the license file into place # You may need to modify the odbase.xml file to enable / disable DAS and/or OD Web Services # You may want to make sure that the OD process starts up, etc. I like to run the following # => /etc/init.d/iwodserver stop (just to be sure) # => /etc/init.d/iwodserver start (then wait a bit) # => iwodcmd serverstatus (verify that it is running and that "0 deployments are currently active.") # => iwodcmd start test (verify that "All targets got completed successfully") } }
The above is for a base server - for a Receiver it would be largely the same.
For OpenDeploy you can create a text file with responses & directly pipe it to the linux installer, the responses with slightly differ between a fresh install & an in-place upgrade. Also make sure the directory to install already exists
Example text file for base: y 1 /usr/iw-home 1 9173 20014 y n 2
The install command is run as: ./startinstall_od < /path/to/text/file/odbase.txt
While trying to install OD Receiver on Linux using Ansible 2.3 as suggested above, we're getting the below error
[ansible@ansible-host praveen]$ ansible-playbook odr.yml -u odrcvr -k -KSSH password:SUDO password[defaults to SSH password]:PLAY [opendeploy-receiver]TASK [Gathering Facts]ok: [w.x.y.z]TASK [test connection]
[ansible@ansible-host praveen]$ ansible-playbook odr.yml -u odrcvr -k -K
SSH password:
SUDO password[defaults to SSH password]:
PLAY [opendeploy-receiver]
TASK [Gathering Facts]
ok: [w.x.y.z]
TASK [test connection]
fatal: [w.x.y.z]: FAILED! => {"changed": true,"cmd": "/software/OpenDeploy/startinstall_od < /software/OpenDeploy/odreceiver.txt","delta": "0:00:00.018357", "end": "2017-09-29 14:16:26.451245","failed": true, "rc": 1, "start": "2017-09-29 14:16:26.432888", "stderr": "", "stderr_lines": [],"stdout": "\n#####################################################################\n# Installation of OpenText OpenDeploy Base Server or Receiver #\n#####################################################################\n\nStart Time: Fri Sep 29 14:16:26 EST 2017\n\n\n\tDoing root user check\n\tPassed the root user check\n\tDoing installer required files check\nDid not find the require file named odsfiles/odtypecode in the current directory.\nPlease make sure the installation package is untar in its own\ndirectory and that directory is the current directory before \nrestarting the installation.\n\nInstallation logged to /home/odrcvr/install_od_temp.log\n\nExiting install\n\nEnd Time: Fri Sep 29 14:16:26 EST 2017","stdout_lines": ["", "#####################################################################", "# Installation of OpenText OpenDeploy Base Server or Receiver #", "#####################################################################", "","Start Time: Fri Sep 29 14:16:26 EST 2017", "", "", "\tDoing root user check", "\tPassed the root user check", "\tDoing installer required files check", "Did not find the require file named odsfiles/odtypecode in the current directory.", "Please make sure the installation package is untar in its own", "directory and that directory is the current directory before ", "restarting the installation.", "", "Installation logged to /home/odrcvr/install_od_temp.log", "", "Exiting install", "","End Time: Fri Sep 29 14:16:26 EST 2017"]}to retry, use: --limit @/etc/ansible/odrcvr/odr.retry
fatal: [w.x.y.z]: FAILED! => {
"changed": true,
"cmd": "/software/OpenDeploy/startinstall_od < /software/OpenDeploy/odreceiver.txt",
"delta": "0:00:00.018357", "end": "2017-09-29 14:16:26.451245",
"failed": true, "rc": 1, "start": "2017-09-29 14:16:26.432888", "stderr": "", "stderr_lines": [],
"stdout": "\n#####################################################################\n# Installation of OpenText OpenDeploy Base Server or Receiver #\n#####################################################################\n\nStart Time: Fri Sep 29 14:16:26 EST 2017\n\n\n\tDoing root user check\n\tPassed the root user check\n\tDoing installer required files check\nDid not find the require file named odsfiles/odtypecode in the current directory.\nPlease make sure the installation package is untar in its own\ndirectory and that directory is the current directory before \nrestarting the installation.\n\nInstallation logged to /home/odrcvr/install_od_temp.log\n\nExiting install\n\nEnd Time: Fri Sep 29 14:16:26 EST 2017",
"stdout_lines": ["", "#####################################################################", "# Installation of OpenText OpenDeploy Base Server or Receiver #", "#####################################################################", "",
"Start Time: Fri Sep 29 14:16:26 EST 2017", "", "", "\tDoing root user check", "\tPassed the root user check", "\tDoing installer required files check", "Did not find the require file named odsfiles/odtypecode in the current directory.", "Please make sure the installation package is untar in its own", "directory and that directory is the current directory before ", "restarting the installation.", "", "Installation logged to /home/odrcvr/install_od_temp.log", "", "Exiting install", "",
"End Time: Fri Sep 29 14:16:26 EST 2017"]}
to retry, use: --limit @/etc/ansible/odrcvr/odr.retry
odr.yml
---- hosts: opendeploy-receiverremote_user: tnpxxxconnection: sshtasks:- name: test connectionbecome: yesbecome_user: rootbecome_method: sushell: /software/OpenDeploy/startinstall_od < /software/OpenDeploy/odreceiver.txt
---
- hosts: opendeploy-receiver
remote_user: tnpxxx
connection: ssh
tasks:
- name: test connection
become: yes
become_user: root
become_method: su
shell: /software/OpenDeploy/startinstall_od < /software/OpenDeploy/odreceiver.txt
odreceiver.txty1/usr/Interwoven/917320014nn
y
1
/usr/Interwoven/
9173
20014
n
IWOVOpenDeployRcvr.Linux-8.2.0.tar.gz is extracted to the directory /software/OpenDeploy/. We can see that the file odsfiles/odtypecode exists in /software/OpenDeploy/.
/software/OpenDeploy/
odsfiles/odtypecode
Able to connect to the Receiver box using this setup. Same error is printed in install_od_temp.log.
You need to add args & change into directory:
change shell to /startinstall_od < /software/OpenDeploy/odreceiver.txt
Add args: args: creates: /etc/init.d/iwodserver chdir: "/software/OpenDeploy"
Regards, Swaroop
Thanks Swaroop, was able to trigger the installation and it succeeded!
- name: install opendeploy-receiver hosts: opendeploy-receiver remote_user: tnpxxx connection: ssh become: true become_method: su become_user: root
- name: install opendeploy-receiver
hosts: opendeploy-receiver
become: true
tasks: - shell: chdir: "/software/OpenDeploy/Receiver/" cmd: ./startinstall_od < /software/OpenDeploy/Receiver/odreceiver.txt creates: /etc/init.d/iwodserver
- shell:
chdir: "/software/OpenDeploy/Receiver/"
cmd: ./startinstall_od < /software/OpenDeploy/Receiver/odreceiver.txt
creates: /etc/init.d/iwodserver
Indentation matters.