I have the env file which is present in target machine and it contain 
certain number of variables with export command(the export command itself 
was present inside the file).

export AB_HOME=/et/dev/abinitio/abinitio-V3
export PATH=${AB_HOME}/bin:${PATH}

I have executed the env file using the below playbook and I tried to read 
the variables which are exported using the output1 which is a register 
variable in my playbook. But I am able to see my register variable is 
empty. Is there any way to get the variables which are all exported. I 
don't know the variables name which are present inside the file, So I am 
not able to use the ECHO command. Is there any work around for this

- hosts: dev
  gather_facts: false
  tasks:   
    - name: get the environment variables
      shell: "su <id> & . ./.env"
      args:
        chdir: /path to the file
      register: output1

    - debug: var=output1.stdout_lines  


On Tuesday, 7 January 2020 01:13:21 UTC+5:30, Mark Tovey wrote:
>
>  
>
> FOUND IT!!!
>
> I added this to the playbook:
>
>  
>
>   - name: Test connection
>
>     command:
>
>         id
>
>     vars:
>
>         ansible_ssh_common_args: "-o IdentityAgent={{socket}}"
>
>  
>
> Ansible variable “socket” contains the path to the ssh-agent socket, the 
> same value that is set in SSH_AUTH_SOCKET.  That string (-o 
> IdentityAgent={{socket}}) is passed to ssh when connecting to the target 
> host and ssh uses that instead of SSH_AUTH_SOCK.  The connection is made 
> and all is well!  I added “ansible_ssh_common_args” to the playbook vars 
> section instead of at the individual tasks level and that works equally 
> well.
>
> The bottom line here is that I can now dynamically start ssh-agent, add 
> keys to it, and then run tasks that use that ssh-agent to authenticate to 
> hosts.  The whole point of all of this is that I wanted to fetch keys from 
> safe storage elsewhere and use them for client host access, all without 
> ever writing the keys to file on the Ansible host.  I think I have found a 
> method of doing that here.
>
>  
>
>  
>
> *From:* [email protected] <javascript:> <
> [email protected] <javascript:>> *On Behalf Of *Matt Martz
> *Sent:* Monday, January 6, 2020 10:58 AM
> *To:* [email protected] <javascript:>
> *Subject:* Re: [ansible-project] Export environment variables
>
>  
>
> I know exactly the point you are making.  I am telling you it is not 
> feasible, and explaining to you what `environment:` does.
>
>  
>
> What you want, ansible cannot do.  Environment variables needed for the 
> operation of Ansible, or SSH, cannot be set by ansible. They must be set 
> before you execute ansible.  Ansible cannot impact its own execution, which 
> includes the invocation of the SSH command from Ansible.
>
>  
>
> You will not be able to start the ssh-agent from ansible, and have ansible 
> use that, unless you specify a static path to the socket, that can be set 
> before ansible is started, and set SSH_AUTH_SOCK to that *before* you 
> execute ansible.
>
>  
>
> On Mon, Jan 6, 2020 at 11:43 AM 'Mark Tovey - DSV' via Ansible Project <
> [email protected] <javascript:>> wrote:
>
>  
>
>     You are missing the point.  I am not trying to set SSH_AUTH_SOCK on 
> the target host.  I am trying to set it on the Ansible host, so that the 
> SSH mechanism on the Ansible host can use the value of SSH_AUTH_SOCK to 
> connect to the ssh-agent that is running on the Ansible host.  The target 
> host is not involved at this point; it is all still local on the Ansible 
> host.  Once the SSH mechanism has connected to the local ssh-agent, it can 
> use the SSH key that is contained within the ssh-agent to establish a 
> connection to the target host.  But the SSH mechanism is using the wrong 
> version of SSH_AUTH_SOCK.  I need a way to inform it of the Ansible 
> version, or to override the value in the shell version with the Ansible 
> version.
>
>     When I use the shell command on the Ansible host (delegate_to: 
> localhost) to execute ssh-add, ssh-add uses the Ansible version of 
> SSH_AUTH_SOCK to connect to ssh-agent.  But if I try to run a task on a 
> target, the SSH mechanism that connects to the target host is clearly using 
> the shell version of SSH_AUTH_SOCK.
>
>  
>
>  
>
> *From:* [email protected] <javascript:> <
> [email protected] <javascript:>> *On Behalf Of *Matt Martz
> *Sent:* Monday, January 6, 2020 9:27 AM
> *To:* [email protected] <javascript:>
> *Subject:* Re: [ansible-project] Export environment variables
>
>  
>
> Environment variables, set using `environment:`, only affect the tasks 
> that are run on the target host.  It does not affect how they are 
> communicated with or ansible itself.
>
>  
>
> You would have to configure SSH_AUTH_SOCK to the value you need in 
> Ansible, before executing Ansible.
>
>  
>
> On Mon, Jan 6, 2020 at 11:24 AM 'Mark Tovey - DSV' via Ansible Project <
> [email protected] <javascript:>> wrote:
>
>  
>
>     In my test, the target host is localhost, the same place that the 
> lookup runs.  But the lookup call was only to provide a demonstration of 
> what is happening here and will not be used in my actual code.
>
>     Ansible uses some form of SSH (Paramiko, directly calling ssh, etc.), 
> and that mechanism uses the value contained within SSH_AUTH_SOCK to 
> determine how to talk to ssh-agent.  But it is using the shell version of 
> SSH_AUTH_SOCK, not the version that I have set within my Ansible playbook.  
> I need a way to inform the SSH mechanism to use the Ansible version of 
> SSH_AUTH_SOCK, not the shell version (preferred), or I need a way to push 
> the Ansible version into the shell version (not as preferred).
>
>     Is there a way to do either of those?
>
>  
>
>  
>
> *From:* [email protected] <javascript:> <
> [email protected] <javascript:>> *On Behalf Of *Matt Martz
> *Sent:* Monday, January 6, 2020 8:58 AM
> *To:* [email protected] <javascript:>
> *Subject:* Re: [ansible-project] Export environment variables
>
>  
>
> lookups do not run on the target host, and are not affected by the 
> `environment` keyword.
>
>  
>
> On Mon, Jan 6, 2020 at 10:55 AM 'Mark Tovey' via Ansible Project <
> [email protected] <javascript:>> wrote:
>
>  
>
> I need to export some environment variables before running a task, but it 
> appears that setting variables with "environment" does not export them; 
> they remain local.  For test, I wrote the following simple playbook:
>
>  
>
> ---
>
> - hosts: localhost
>
>   gather_facts: no
>
>   environment:
>
>       MYVAR: "TEST1"
>
>  
>
>   tasks:
>
>     - shell: echo "$MYVAR"
>
>       register: mytest
>
>  
>
>     - debug:
>
>         msg:
>
>           - "Ansible MYVAR = {{mytest.stdout}}"
>
>           - "Exported MYVAR = {{lookup('env', 'MYVAR')}}"
>
>  
>
> And when I run it with the shell MYVAR set, I get the following results:
>
>  
>
> export MYVAR=TEST2;ansible-playbook ~/devansible/playbooks/mytest
>
>  
>
> PLAY [localhost] 
> ***************************************************************
>
>  
>
> TASK [shell] 
> *******************************************************************
>
> changed: [localhost]
>
>  
>
> TASK [debug] 
> *******************************************************************
>
> ok: [localhost] =>
>
>   msg:
>
>   - Ansible MYVAR = TEST1
>
>   - Exported MYVAR = TEST2
>
>  
>
> PLAY RECAP 
> *********************************************************************
>
> localhost                  : ok=2    changed=1    unreachable=0    
> failed=0    skipped=0    rescued=0    ignored=0
>
>  
>
> So, "environment" is not exporting the value as I expected.
>
> The main issue I have is that I am trying to set SSH_AUTH_SOCK so that 
> subsequent tasks can be executed on remote servers.  In my playbook, I 
> start ssh-agent locally, grab the SSH_AUTH_SOCK and SSH_AGENT_PID values, 
> and place them into the Ansible environment.  During the next task, I use 
> ssh-add to add a SSH key to the now running agent.  That works perfectly, 
> and in fact I can query the running agent from outside of Ansible and see 
> the SSH key that was added inside of the playbook.  But any remote tasks I 
> try to execute after adding the SSH key to the agent fail with 
> "UNREACHABLE".  Apparently the remote tasks are using the original shell 
> version of SSH_AUTH_SOCK to connect to ssh-agent, not the Ansible version.  
> The Ansible version of SSH_AUTH_SOCK needs to be exported first.
>
> Is there a way to actually export variables from within Ansible?  I can 
> always start ssh-agent prior to running Ansible so that the SSH_AUTH_SOCK 
> environment variable will contain the correct path to the agent socket, but 
> I was trying to avoid doing that for various reasons; I want to try to keep 
> all of the steps, including starting and stopping the SSH agent, contained 
> within a single playbook.
>
> Is there a flag set or something I can do that will cause the variables to 
> be truly exported?
>
>  
>
>  
>
>  
>
>  
>
>  
>
>  
>
> -- 
> 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] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/1a126537-a388-4a2a-81dc-108aa74ef27d%40googlegroups.com
>  
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2F1a126537-a388-4a2a-81dc-108aa74ef27d%2540googlegroups.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446788139&sdata=MjQJnkPHqniJB7XlRxVKWvYB%2BZOV4vN2malxxeGQ%2F5A%3D&reserved=0>
> .
>
>
>  
>
> -- 
>
> Matt Martz
> @sivel
> sivel.net 
> <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsivel.net&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446788139&sdata=HmRAk6cifDbCOcvuxIxKh0jkGEow8Hzk0VLTc6m1vII%3D&reserved=0>
>
> -- 
> You received this message because you are subscribed to a topic in the 
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/ansible-project/W0z5aMfhqDM/unsubscribe 
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Ftopic%2Fansible-project%2FW0z5aMfhqDM%2Funsubscribe&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446798137&sdata=F3gqIbViNXcKNMs%2FcA4IlENqtl30lwRrvbXjzX%2BjBcg%3D&reserved=0>
> .
> To unsubscribe from this group and all its topics, send an email to 
> [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/CAD8N0v9a4L-cpT6MkKn4RTsND8QguR89qVD%3DtVm3F0tEbPJSjA%40mail.gmail.com
>  
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FCAD8N0v9a4L-cpT6MkKn4RTsND8QguR89qVD%253DtVm3F0tEbPJSjA%2540mail.gmail.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446798137&sdata=KeIwGIPTKNW%2Feu66%2FT0E6UP0nUB5%2B5JGKair%2Ff3bUcQ%3D&reserved=0>
> .
>
> -- 
> 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] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/VE1PR06MB63524B96F5545F064EA39AFC9E3C0%40VE1PR06MB6352.eurprd06.prod.outlook.com
>  
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FVE1PR06MB63524B96F5545F064EA39AFC9E3C0%2540VE1PR06MB6352.eurprd06.prod.outlook.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C0%7C637139339446808125&sdata=ARcr3WicJq6rzVvO8%2FUcFkTina%2F8Rc28R3YMF49KuN4%3D&reserved=0>
> .
>
>
>  
>
> -- 
>
> Matt Martz
> @sivel
> sivel.net 
> <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsivel.net&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446808125&sdata=zJX8j7kM0BX2h7iSRNE1Syn7Q%2BdEpgVyQov8plDgzFE%3D&reserved=0>
>
> -- 
> You received this message because you are subscribed to a topic in the 
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/ansible-project/W0z5aMfhqDM/unsubscribe 
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Ftopic%2Fansible-project%2FW0z5aMfhqDM%2Funsubscribe&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446818122&sdata=lXd1X3G65wNzcRyiOIDDsH7Rq3UbIXO3UsaWmYyPXDc%3D&reserved=0>
> .
> To unsubscribe from this group and all its topics, send an email to 
> [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/CAD8N0v-yXH7F3Zo1FBQq5pDMPUxo5G1mRvJmsqjtK3JQyXAkGg%40mail.gmail.com
>  
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FCAD8N0v-yXH7F3Zo1FBQq5pDMPUxo5G1mRvJmsqjtK3JQyXAkGg%2540mail.gmail.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446828134&sdata=yH14Aft8iDFvn7FNZcJpCWJboabCPRrsPPp60dr62s8%3D&reserved=0>
> .
>
> -- 
> 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] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/VE1PR06MB63522E11EC557DA9123FFB2B9E3C0%40VE1PR06MB6352.eurprd06.prod.outlook.com
>  
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FVE1PR06MB63522E11EC557DA9123FFB2B9E3C0%2540VE1PR06MB6352.eurprd06.prod.outlook.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C0%7C637139339446828134&sdata=YmekDVbBk9WYFCAmpxmR8%2FECS0pJNGYCmJJDCnkUYu4%3D&reserved=0>
> .
>
>
>  
>
> -- 
>
> Matt Martz
> @sivel
> sivel.net 
> <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsivel.net&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446838109&sdata=4RXVVsHQmP0XzrlAsr6H4MhuYoyGeFqVM3ypshpL194%3D&reserved=0>
>
> -- 
> You received this message because you are subscribed to a topic in the 
> Google Groups "Ansible Project" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/ansible-project/W0z5aMfhqDM/unsubscribe 
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Ftopic%2Fansible-project%2FW0z5aMfhqDM%2Funsubscribe&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C1%7C637139339446838109&sdata=sITIHBlfSvwS4pJ8FmNzfIgDLC6CnLTy%2B6EKN8t7vcw%3D&reserved=0>
> .
> To unsubscribe from this group and all its topics, send an email to 
> [email protected] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/CAD8N0v_Vaf8k4%3DnPajbm_2e4oCv1Ayp%3DzRJiktD-qzXyuONN%2BA%40mail.gmail.com
>  
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Fansible-project%2FCAD8N0v_Vaf8k4%253DnPajbm_2e4oCv1Ayp%253DzRJiktD-qzXyuONN%252BA%2540mail.gmail.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=02%7C01%7Cmark.tovey%40dsv.com%7C89eb89b8cce541f9c3bc08d792da7fab%7C4a90c23a3ece4ef2b857522f23b8204c%7C0%7C0%7C637139339446848106&sdata=%2BFDaNb4ANiAwHIdGNpMIcC9z1%2ByCrB9Csm5icCstBIU%3D&reserved=0>
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/422c885e-1894-4b8e-bd2b-84799e4fbd36%40googlegroups.com.

Reply via email to