looking for optimizations

27 views
Skip to first unread message

Paul

unread,
Aug 23, 2018, 9:04:44 AM8/23/18
to Ansible Project
Hey all, I am currently on the older 1.7 (looking to upgrade shortly). I have a question in regards to optimization of tasks.
I have a role where I collect some output from other task actions and im trying to use them in the mail module.
Unfortunately if I try to format subject: to how I want the output to look, not all the data is represented correctly in the body of the mail.

I spent some time looking around yesterday and I know that there is a possibility of using a template, but I got myself going with the following.

     - name: Distributing files
       synchronize: src="{{streams_path}}/" dest="{{prod_config}}/" rsync_opts="--exclude=scripts/"
       register: sync_out

     - debug: var=sync_out

     - set_fact:
         email1
: "The following files have been distributed to the following DCS servers: \n\n"


     
- set_fact:
         email2
: "{{play_hosts}}"


     
- set_fact:
         email3
: "\n\n"


     
- set_fact:
         email4
: "{{sync_out.msg | regex_replace('.* ')}}"
       run_once
: true
"{{sync_out.msg | regex_replace('.* ')}}"


     - name: email
       local_action:
                mail
                subject="**DCS Streams distribution"
                body="{{email1}}{{email2}}{{email3}}{{email4}}"
                from="te...@foo.com"
                to="{{mailto}}"
       run_once: true

As mentioned, this gets me what I need to see in the body, but it seem excessive to me?  was trying to combine everything into a multiline var but the vars "{{play_hosts}}" and "{{sync_out.msg | regex_replace('.* ')}}" were not being printed correctly as they are lists.

Thanks in advance for any comments..
Reply all
Reply to author
Forward
0 new messages