mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
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>
This commit is contained in:
parent
ddb09f11be
commit
d47c48e30a
4 changed files with 25 additions and 25 deletions
|
@ -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…
Reference in a new issue