<!--- Verify first that your issue is not already reported on GitHub -->
it is not
<!--- Also test if the latest release and devel branch are affected too -->

<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
I have a loop which tries to assign a user to remote_user in my playbook.  The first assignment works, subsequent ones do not and the first assignment is used in subsequent iterations of the loop
##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ssh connection plugin perhaps? or the calling of it

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/bi003do/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Apr  9 2019, 14:30:50) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
DEFAULT_TIMEOUT(/etc/ansible/ansible.cfg) = 30
HOST_KEY_CHECKING(/etc/ansible/ansible.cfg) = False


```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
target OS is AWS Linux instances of various flavors


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
run the following playbook using inventory file with a single known linux host with user: ec2-user
```ini
[test]
xxx.xxx.xxx.xxx
```

<!--- Paste example playbooks or commands between quotes below -->
```yaml
---
- hosts: test
  gather_facts: false
  tasks:
  - name: try users
    remote_user: "{{ item }}"
    ping:
    ignore_unreachable: true
    failed_when: false
    with_items:
      - centos
      - ec2-user
      - root

```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
I would expect this to loop 3 times trying to ping with the 3 users listed in with_items above

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
```
 ansible-playbook TryUsers.yml -i inventory -vvvv
First iteration

<xxx.xxx.xxx.xxx> ESTABLISH SSH CONNECTION FOR USER: centos
Second iteration
<xxx.xxx.xxx.xxx> ESTABLISH SSH CONNECTION FOR USER: centos
third iteration
<xxx.xxx.xxx.xxx> ESTABLISH SSH CONNECTION FOR USER: centos

```

<!--- Paste verbatim command output between quotes -->
```
bi003do@usbou-ansible TryUsers]$ ansible-playbook TryUsers.yml -i inventory

PLAY [test] *********************************************************************************************************************************************************************************

TASK [try users] ****************************************************************************************************************************************************************************
failed: [xxx.xxx.xxx.xxx] (item=centos) => {"ansible_loop_var": "item", "item": "centos", "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).", "unreachable": true}
failed: [10.5.162.71] (item=root) => {"ansible_loop_var": "item", "item": "root", "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).", "unreachable": true}
failed: [10.5.162.71] (item=ec2-user) => {"ansible_loop_var": "item", "item": "ec2-user", "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).", "unreachable": true}
fatal: [10.5.162.71]: UNREACHABLE! => {"changed": false, "msg": "All items completed", "results": [{"ansible_loop_var": "item", "item": "centos", "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).", "unreachable": true}, {"ansible_loop_var": "item", "item": "root", "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).", "unreachable": true}, {"ansible_loop_var": "item", "item": "ec2-user", "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).", "unreachable": true}], "skip_reason": "Host 10.5.162.71 is unreachable"}

PLAY RECAP **********************************************************************************************************************************************************************************
10.5.162.71                : ok=0    changed=0    unreachable=1    failed=0    skipped=1    rescued=0    ignored=0


```

'''
        Runs the task with the loop items specified and collates the result
        into an array named 'results' which is inserted into the final result
        along with the item for which the loop ran.
        '''
        results = []
        
        
        
        task_vars = self._job_vars
        loop_var = 'item'
        index_var = None
        label = None
        loop_pause = 0
        extended = False
        templar = Templar(loader=self._loader, shared_loader_obj=self._shared_loader_obj, variables=self._job_vars)
        
        if self._task.loop_control:
            loop_var = templar.template(self._task.loop_control.loop_var)
            index_var = templar.template(self._task.loop_control.index_var)
            loop_pause = templar.template(self._task.loop_control.pause)
            extended = templar.template(self._task.loop_control.extended)
            
            label = self._task.loop_control.label
        
        if label is None:
            label = '{{' + loop_var + '}}'
        if loop_var in task_vars:
            display.warning(u"The loop variable '%s' is already in use. "
                            u"You should set the `loop_var` value in the `loop_control` option for the task"