Sorry I am new to this so I have posted my question here, I used printenv
and env but it is showing the remote machine environment variables, not the
exported environment variable.
On Thursday, 20 February 2020 15:49:11 UTC+5:30, Stefan Hornburg (Racke)
wrote:
>
> On 2/20/20 11:03 AM, Sivaraman P wrote:
> > 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 |
> >
>
> Please don't hijack an existing thread. It is less likely you get
> responses and also disrupting for the ones following
> the original thread.
>
> Otherwise your approach doesn't even work from the shell on your target.
> To see the environment variables in the output,
> you could use the printenv command.
>
> Regards
> Racke
>
> >
> > 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] <javascript:> <mailto:
> [email protected] <javascript:>>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/ansible-project/422c885e-1894-4b8e-bd2b-84799e4fbd36%40googlegroups.com
>
> > <
> https://groups.google.com/d/msgid/ansible-project/422c885e-1894-4b8e-bd2b-84799e4fbd36%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
>
>
>
> --
> Ecommerce and Linux consulting + Perl and web application programming.
> Debian and Sympa administration. Provisioning with Ansible.
>
>
--
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/060fcb64-62ef-4c50-820d-c3715345d206%40googlegroups.com.