master
Raw Download raw file
 1---
 2- hosts:
 3  - controller
 4  remote_user: centos
 5  tasks:
 6  - name: Generate SSH key (centos on controller)
 7    user: name=centos generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa
 8
 9  - name: Collect SSH public key (centos on controller)
10    fetch: src=/home/centos/.ssh/id_rsa.pub dest=/tmp/controller_id_rsa.pub flat=yes
11    
12  - name: Collect SSH private key (centos on controller)
13    fetch: src=/home/centos/.ssh/id_rsa dest=/tmp/controller_id_rsa flat=yes
14
15  - name: Record public IP
16    shell: curl http://ipecho.net/plain;
17    register: public_ip
18
19  - name: Deploy Horizon Vhost
20    copy: src=files/vhost.conf
21        dest=/etc/httpd/conf.d/15-horizon_vhost.conf
22
23  - name: Deploy Horizon Vhost
24    copy: src=files/ssl_vhost.conf
25        dest=/etc/httpd/conf.d/15-horizon_ssl_vhost.conf
26
27- hosts: openstack-lab
28  remote_user: root
29  tasks: 
30  - name: Setup /etc/hosts
31    copy: src=files/hosts dest=/etc/hosts
32
33  - name: Place ssh config file
34    copy: src=files/ssh_config
35          dest={{ item.home }}/.ssh/config
36          owner={{ item.user }}
37          group={{ item.user }}
38    with_items:
39    - { home: '/root', user: 'root' }
40    - { home: '/home/centos', user: 'centos' }
41    - { home: '/home/ceph', user: 'ceph' }
42    ignore_errors: yes
43
44  - name: Place ssh key 
45    copy: src=/tmp/controller_id_rsa 
46          dest={{ item.home }}/.ssh/id_rsa
47          owner={{ item.user }}
48          group={{ item.user }}
49          mode=0400
50    with_items:
51    - { home: '/root', user: 'root' }
52    - { home: '/home/centos', user: 'centos' }
53    - { home: '/home/ceph', user: 'ceph' }
54    ignore_errors: yes
55
56  - name: Add authorized key
57    authorized_key: 
58      user: "{{ item }}" 
59      key: "{{ lookup('file', '/tmp/controller_id_rsa.pub') }}"
60    with_items:
61    - ceph
62    - centos
63    - root
64    ignore_errors: yes
65
66  - name: Add bashrc
67    template: src=files/bashrc.j2
68          dest={{ item.home }}/.bashrc
69          owner={{ item.user }}
70          group={{ item.user }}
71    with_items:
72    - { home: '/root', user: 'root' }
73    - { home: '/home/centos', user: 'centos' }
74    - { home: '/home/ceph', user: 'ceph' }
75    ignore_errors: yes
76
77  - name: Place known_hosts
78    copy: src=files/known_hosts
79          dest={{ item.home }}/.ssh/known_hosts
80          owner={{ item.user }}
81          group={{ item.user }}
82    with_items:
83    - { home: '/root', user: 'root' }
84    - { home: '/home/centos', user: 'centos' }
85    - { home: '/home/ceph', user: 'ceph' }
86    ignore_errors: yes
87
88  - name: tools
89    yum: name={{ item }} state=latest
90         update_cache=yes
91    with_items: 
92    - vim
93    - nano
94    - htop
95    - screen
96    - git
97    - ansible
98    - yum-plugin-priorities
99    - bash-completion