2013-02-23 14:34:29 -05:00
|
|
|
Setting the Environment (and Working With Proxies)
|
2013-09-29 16:47:34 -04:00
|
|
|
==================================================
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2013-08-23 11:33:57 -05:00
|
|
|
.. versionadded:: 1.1
|
2013-02-23 14:34:29 -05:00
|
|
|
|
|
|
|
It is quite possible that you may need to get package updates through a proxy, or even get some package
|
2013-10-05 13:50:53 -04:00
|
|
|
updates through a proxy and access other packages not through a proxy. Or maybe a script you might wish to
|
|
|
|
call may also need certain environment variables set to run properly.
|
2013-10-02 22:02:11 -04:00
|
|
|
|
|
|
|
Ansible makes it easy for you to configure your environment by using the 'environment' keyword. Here is an example::
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
- hosts: all
|
2013-09-07 17:19:23 -04:00
|
|
|
remote_user: root
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
tasks:
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
- apt: name=cobbler state=installed
|
|
|
|
environment:
|
|
|
|
http_proxy: http://proxy.example.com:8080
|
2013-02-23 14:34:29 -05:00
|
|
|
|
|
|
|
The environment can also be stored in a variable, and accessed like so::
|
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
- hosts: all
|
2013-09-07 17:19:23 -04:00
|
|
|
remote_user: root
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2014-04-11 16:48:51 +01:00
|
|
|
# here we make a variable named "proxy_env" that is a dictionary
|
2013-02-23 15:17:50 -05:00
|
|
|
vars:
|
|
|
|
proxy_env:
|
2013-02-28 10:39:08 +11:00
|
|
|
http_proxy: http://proxy.example.com:8080
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
tasks:
|
2013-02-23 16:47:47 -05:00
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
- apt: name=cobbler state=installed
|
2015-12-11 09:32:19 -05:00
|
|
|
environment: "{{proxy_env}}"
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2015-10-22 12:07:54 +01:00
|
|
|
You can also use it at a playbook level::
|
|
|
|
|
|
|
|
- hosts: testhost
|
|
|
|
|
|
|
|
roles:
|
|
|
|
- php
|
|
|
|
- nginx
|
|
|
|
|
|
|
|
environment:
|
|
|
|
http_proxy: http://proxy.example.com:8080
|
|
|
|
|
2013-02-23 15:17:50 -05:00
|
|
|
While just proxy settings were shown above, any number of settings can be supplied. The most logical place
|
|
|
|
to define an environment hash might be a group_vars file, like so::
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2013-05-31 10:54:13 +02:00
|
|
|
---
|
2013-02-23 15:17:50 -05:00
|
|
|
# file: group_vars/boston
|
|
|
|
|
|
|
|
ntp_server: ntp.bos.example.com
|
|
|
|
backup: bak.bos.example.com
|
|
|
|
proxy_env:
|
2013-02-28 10:39:08 +11:00
|
|
|
http_proxy: http://proxy.bos.example.com:8080
|
|
|
|
https_proxy: http://proxy.bos.example.com:8080
|
2013-02-23 14:34:29 -05:00
|
|
|
|
2016-07-06 08:18:20 -07:00
|
|
|
.. note::
|
|
|
|
``environment:`` is not currently supported for Windows targets
|
|
|
|
|
2013-10-05 12:31:16 -04:00
|
|
|
.. seealso::
|
|
|
|
|
|
|
|
:doc:`playbooks`
|
|
|
|
An introduction to playbooks
|
|
|
|
`User Mailing List <http://groups.google.com/group/ansible-devel>`_
|
|
|
|
Have a question? Stop by the google group!
|
|
|
|
`irc.freenode.net <http://irc.freenode.net>`_
|
|
|
|
#ansible IRC chat channel
|
|
|
|
|
|
|
|
|