Hello,
A common problem I've hit a number of times. You can do an async, yes, with
a massive timeout (9999999999 or such like). I did have some success with
this once though:
- name: Ensure admin service is started
shell: >
running=$( netstat -ant | grep -cP '7001.+LISTEN' ) ;
[ $running -eq 0 ] && /opt/oracle/domains/domain_name/startWebLogic.sh
*&*
register: startup
changed_when: startup.stdout | search('Starting WebLogic Server')
sudo: yes
sudo_user: "{{ weblogic_username }}"
Note the backgrounding of the process.
--Mark
On Thursday, 8 January 2015 09:04:48 UTC, Florian Gysin wrote:
>
> Hi all
> So far we have been using simple bash scripts to facilitate starting our
> Weblogic servers which run on Solaris zones. I am now in the process of
> trying to setup proper Ansible playbooks for the entire server setup and
> start. So far this works great, but now I hit a wall:
>
> I wrote a task which calls the management script for a WLS domain and
> starts a Weblogic admin server. (The script is essentially just a wrapper
> around Weblogic scripting tools.)
>
> # Start admin server
> - name: start admin server
> shell: managementscript startAdminServer some-domain-name chdir=/
> environment: env
> register: dump
>
> # Print stdout
> - name: check
> debug: var=dump.stdout_lines
>
>
> I can see that this results in *managementscript startAdminServer
> some-domain-name* being executed as a shell command - and according to
> the logs (as printed by the second task) everything works fine. The stdout
> shows as last lines:
> "<Jan 8, 2015 9:39:21 AM MET> <Notice> <WebLogicServer> <BEA-000365>
> <Server state changed to RUNNING.> ",
>
> "<Jan 8, 2015 9:39:21 AM MET> <Notice> <WebLogicServer> <BEA-000360> <The
> server started in RUNNING mode.> "
>
> This is exactly how a successful admin server start looks like on the
> console if I do it manually...
>
> However if I connect to the remote host and check for running servers, *the
> admin server* we supposedly just started *is nowhere to be found*!
> This is especially confusing as I can manually simulate the ansible
> behavior by executing
>
> ssh root@my-remote-host "PATH=/usr/bin:/usr/sbin:/data/bin
> managementscript startAdminServer some-domain-name"
>
> .. on the command line (note that the above used *env* variable sets
> exactly the path used in the ssh statement).
> This goes through, shows the exact same stdout output BUT also
> successfully starts the server.
>
>
> - How can ansible show me logs of a successful server start, but fail
> to actually start the server?
> - How does the execution of my task in a playbook differ from the
> manually composed *ssh* statement?
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/89daaf2a-1e1d-454e-9758-fadbde248c24%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.