2013-02-23 20:34:29 +01:00
|
|
|
Setting the Environment (and Working With Proxies)
|
2013-09-29 22:47:34 +02:00
|
|
|
==================================================
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2013-08-23 18:33:57 +02:00
|
|
|
.. versionadded:: 1.1
|
2013-02-23 20:34:29 +01:00
|
|
|
|
|
|
|
It is quite possible that you may need to get package updates through a proxy, or even get some package
|
2013-10-05 19:50:53 +02: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-03 04:02:11 +02:00
|
|
|
|
|
|
|
Ansible makes it easy for you to configure your environment by using the 'environment' keyword. Here is an example::
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2013-02-23 21:17:50 +01:00
|
|
|
- hosts: all
|
2013-09-07 23:19:23 +02:00
|
|
|
remote_user: root
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2013-02-23 21:17:50 +01:00
|
|
|
tasks:
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2013-02-23 21:17:50 +01:00
|
|
|
- apt: name=cobbler state=installed
|
|
|
|
environment:
|
|
|
|
http_proxy: http://proxy.example.com:8080
|
2013-02-23 20:34:29 +01:00
|
|
|
|
|
|
|
The environment can also be stored in a variable, and accessed like so::
|
|
|
|
|
2013-02-23 21:17:50 +01:00
|
|
|
- hosts: all
|
2013-09-07 23:19:23 +02:00
|
|
|
remote_user: root
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2014-04-11 17:48:51 +02:00
|
|
|
# here we make a variable named "proxy_env" that is a dictionary
|
2013-02-23 21:17:50 +01:00
|
|
|
vars:
|
|
|
|
proxy_env:
|
2013-02-28 00:39:08 +01:00
|
|
|
http_proxy: http://proxy.example.com:8080
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2013-02-23 21:17:50 +01:00
|
|
|
tasks:
|
2013-02-23 22:47:47 +01:00
|
|
|
|
2013-02-23 21:17:50 +01:00
|
|
|
- apt: name=cobbler state=installed
|
2015-12-11 15:32:19 +01:00
|
|
|
environment: "{{proxy_env}}"
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2015-10-22 13:07:54 +02: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 21:17:50 +01: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 20:34:29 +01:00
|
|
|
|
2013-05-31 10:54:13 +02:00
|
|
|
---
|
2013-02-23 21:17:50 +01:00
|
|
|
# file: group_vars/boston
|
|
|
|
|
|
|
|
ntp_server: ntp.bos.example.com
|
|
|
|
backup: bak.bos.example.com
|
|
|
|
proxy_env:
|
2013-02-28 00:39:08 +01:00
|
|
|
http_proxy: http://proxy.bos.example.com:8080
|
|
|
|
https_proxy: http://proxy.bos.example.com:8080
|
2013-02-23 20:34:29 +01:00
|
|
|
|
2013-10-05 18:31:16 +02: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
|
|
|
|
|
|
|
|
|