Added remote_user to plays

Still compatible with user: but deprecating it so we can have
a matching remote_user: in tasks, cannot be user: because of the
module of the same name. #3932

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
pull/4063/head
Brian Coca 11 years ago
parent ddb09f11be
commit d47c48e30a

@ -51,7 +51,7 @@ For starters, here's a playbook that contains just one play::
vars: vars:
http_port: 80 http_port: 80
max_clients: 200 max_clients: 200
user: root remote_user: root
tasks: tasks:
- name: ensure apache is at the latest version - name: ensure apache is at the latest version
yum: pkg=httpd state=latest yum: pkg=httpd state=latest
@ -82,21 +82,21 @@ documentation. The `user` is just the name of the user account::
--- ---
- hosts: webservers - hosts: webservers
user: root remote_user: root
Support for running things from sudo is also available:: Support for running things from sudo is also available::
--- ---
- hosts: webservers - hosts: webservers
user: yourname remote_user: yourname
sudo: yes sudo: yes
You can also use sudo on a particular task instead of the whole play:: You can also use sudo on a particular task instead of the whole play::
--- ---
- hosts: webservers - hosts: webservers
user: yourname remote_user: yourname
tasks: tasks:
- service: name=nginx state=started - service: name=nginx state=started
sudo: yes sudo: yes
@ -106,7 +106,7 @@ You can also login as you, and then sudo to different users than root::
--- ---
- hosts: webservers - hosts: webservers
user: yourname remote_user: yourname
sudo: yes sudo: yes
sudo_user: postgres sudo_user: postgres
@ -134,7 +134,7 @@ The `vars` section contains a list of variables and values that can be used in t
--- ---
- hosts: webservers - hosts: webservers
user: root remote_user: root
vars: vars:
http_port: 80 http_port: 80
van_halen_port: 5150 van_halen_port: 5150
@ -387,7 +387,7 @@ which also supports structured variables::
- include: wordpress.yml - include: wordpress.yml
vars: vars:
user: timmy remote_user: timmy
some_list_variable: some_list_variable:
- alpha - alpha
- beta - beta
@ -424,7 +424,7 @@ For example::
- name: this is a play at the top level of a file - name: this is a play at the top level of a file
hosts: all hosts: all
user: root remote_user: root
tasks: tasks:
- name: say hi - name: say hi
tags: foo tags: foo

@ -163,7 +163,7 @@ You can do this by using an external variables file, or files, just like this::
--- ---
- hosts: all - hosts: all
user: root remote_useq: root
vars: vars:
favcolor: blue favcolor: blue
vars_files: vars_files:
@ -197,7 +197,7 @@ in a push-script::
--- ---
- hosts: all - hosts: all
user: root remote_useq: root
vars: vars:
from: "camelot" from: "camelot"
vars_prompt: vars_prompt:
@ -276,7 +276,7 @@ This is useful, for, among other things, setting the hosts group or the user for
Example:: Example::
--- ---
- user: '{{ user }}' - remote_useq: '{{ user }}'
hosts: '{{ hosts }}' hosts: '{{ hosts }}'
tasks: tasks:
- ... - ...
@ -421,7 +421,7 @@ but it is easily handled with a minimum of syntax in an Ansible Playbook::
--- ---
- hosts: all - hosts: all
user: root remote_useq: root
vars_files: vars_files:
- "vars/common.yml" - "vars/common.yml"
- [ "vars/{{ ansible_os_family }}.yml", "vars/os_defaults.yml" ] - [ "vars/{{ ansible_os_family }}.yml", "vars/os_defaults.yml" ]
@ -467,7 +467,7 @@ Loops
To save some typing, repeated tasks can be written in short-hand like so:: To save some typing, repeated tasks can be written in short-hand like so::
- name: add several users - name: add several users
user: name={{ item }} state=present groups=wheel remote_useq: name={{ item }} state=present groups=wheel
with_items: with_items:
- testuser1 - testuser1
- testuser2 - testuser2
@ -479,9 +479,9 @@ If you have defined a YAML list in a variables file, or the 'vars' section, you
The above would be the equivalent of:: The above would be the equivalent of::
- name: add user testuser1 - name: add user testuser1
user: name=testuser1 state=present groups=wheel remote_useq: name=testuser1 state=present groups=wheel
- name: add user testuser2 - name: add user testuser2
user: name=testuser2 state=present groups=wheel remote_useq: name=testuser2 state=present groups=wheel
The yum and apt modules use with_items to execute fewer package manager transactions. The yum and apt modules use with_items to execute fewer package manager transactions.
@ -489,7 +489,7 @@ Note that the types of items you iterate over with 'with_items' do not have to b
If you have a list of hashes, you can reference subkeys using things like:: If you have a list of hashes, you can reference subkeys using things like::
- name: add several users - name: add several users
user: name={{ item.name }} state=present groups={{ item.groups }} remote_useq: name={{ item.name }} state=present groups={{ item.groups }}
with_items: with_items:
- { name: 'testuser1', groups: 'wheel' } - { name: 'testuser1', groups: 'wheel' }
- { name: 'testuser2', groups: 'root' } - { name: 'testuser2', groups: 'root' }
@ -603,7 +603,7 @@ Negative numbers are not supported. This works as follows::
- group: name=odds state=present - group: name=odds state=present
# create some test users # create some test users
- user: name={{ item }} state=present groups=evens - remote_useq: name={{ item }} state=present groups=evens
with_sequence: start=0 end=32 format=testuser%02x with_sequence: start=0 end=32 format=testuser%02x
# create a series of directories with even numbers for some reason # create a series of directories with even numbers for some reason
@ -649,7 +649,7 @@ This length can be changed by passing an extra parameter::
(...) (...)
# create a user with a given password # create a user with a given password
- user: name=guestuser - remote_useq: name=guestuser
state=present state=present
uid=5000 uid=5000
password={{ item }} password={{ item }}
@ -665,7 +665,7 @@ updates through a proxy and access other packages not through a proxy. Ansible
to configure your environment by using the 'environment' keyword. Here is an example:: to configure your environment by using the 'environment' keyword. Here is an example::
- hosts: all - hosts: all
user: root remote_useq: root
tasks: tasks:
@ -676,7 +676,7 @@ to configure your environment by using the 'environment' keyword. Here is an ex
The environment can also be stored in a variable, and accessed like so:: The environment can also be stored in a variable, and accessed like so::
- hosts: all - hosts: all
user: root remote_useq: root
# here we make a variable named "env" that is a dictionary # here we make a variable named "env" that is a dictionary
vars: vars:
@ -751,7 +751,7 @@ poll value is 10 seconds if you do not specify a value for `poll`::
--- ---
- hosts: all - hosts: all
user: root remote_useq: root
tasks: tasks:
- name: simulate long running op (15 sec), wait for up to 45, poll every 5 - name: simulate long running op (15 sec), wait for up to 45, poll every 5
command: /bin/sleep 15 command: /bin/sleep 15
@ -768,7 +768,7 @@ Alternatively, if you do not need to wait on the task to complete, you may
--- ---
- hosts: all - hosts: all
user: root remote_useq: root
tasks: tasks:
- name: simulate long running op, allow to run for 45, fire and forget - name: simulate long running op, allow to run for 45, fire and forget
command: /bin/sleep 15 command: /bin/sleep 15

@ -39,7 +39,7 @@ class Play(object):
# and don't line up 1:1 with how they are stored # and don't line up 1:1 with how they are stored
VALID_KEYS = [ VALID_KEYS = [
'hosts', 'name', 'vars', 'vars_prompt', 'vars_files', 'hosts', 'name', 'vars', 'vars_prompt', 'vars_files',
'tasks', 'handlers', 'user', 'port', 'include', 'accelerate', 'accelerate_port', 'tasks', 'handlers', 'remote_user', 'user', 'port', 'include', 'accelerate', 'accelerate_port',
'sudo', 'sudo_user', 'connection', 'tags', 'gather_facts', 'serial', 'sudo', 'sudo_user', 'connection', 'tags', 'gather_facts', 'serial',
'any_errors_fatal', 'roles', 'pre_tasks', 'post_tasks', 'max_fail_percentage' 'any_errors_fatal', 'roles', 'pre_tasks', 'post_tasks', 'max_fail_percentage'
] ]
@ -104,7 +104,7 @@ class Play(object):
self.name = ds.get('name', self.hosts) self.name = ds.get('name', self.hosts)
self._tasks = ds.get('tasks', []) self._tasks = ds.get('tasks', [])
self._handlers = ds.get('handlers', []) self._handlers = ds.get('handlers', [])
self.remote_user = ds.get('user', self.playbook.remote_user) self.remote_user = ds.get('remote_user', ds.get('user', self.playbook.remote_user))
self.remote_port = ds.get('port', self.playbook.remote_port) self.remote_port = ds.get('port', self.playbook.remote_port)
self.sudo = ds.get('sudo', self.playbook.sudo) self.sudo = ds.get('sudo', self.playbook.sudo)
self.sudo_user = ds.get('sudo_user', self.playbook.sudo_user) self.sudo_user = ds.get('sudo_user', self.playbook.sudo_user)

@ -1,7 +1,7 @@
- -
hosts: all hosts: all
gather_facts: no gather_facts: no
user: root remote_user: root
vars: vars:
color: brown color: brown
tasks: tasks:

Loading…
Cancel
Save