blob: 4668bc191be74774568701d261bf91e657b721a2 [file] [log] [blame]
Zack Williams8625d042016-02-26 14:32:43 -07001---
2# file: roles/head-prep/tasks/main.yml
3
4- name: Install prerequisites for using PPA repos
5 apt:
6 name={{ item }}
Zack Williams7ec058b2016-05-02 10:10:39 -07007 update_cache=yes
Zack Williams8625d042016-02-26 14:32:43 -07008 with_items:
9 - python-pycurl
10 - software-properties-common
11
12- name: Add Ansible/Juju repositories
13 apt_repository:
14 repo={{ item }}
15 with_items:
David K. Bainbridge77a516a2016-10-27 10:57:57 -070016 - "{{ juju_apt_repo | default('ppa:juju/stable') }}"
17 - "{{ ansible_apt_repo | default('ppa:ansible/ansible') }}"
Zack Williams8625d042016-02-26 14:32:43 -070018
19- name: Install packages
20 apt:
21 name={{ item }}
Zack Williamsb6bf2ec2016-08-10 15:38:43 -070022 state=present
Zack Williams8625d042016-02-26 14:32:43 -070023 update_cache=yes
24 with_items:
Zack Williams8625d042016-02-26 14:32:43 -070025 - uvtool
26 - git
27 - bzr
28 - juju-core
Andy Bavier30d27c92016-09-15 15:59:17 -040029 - python-pip
Zack Williams8625d042016-02-26 14:32:43 -070030 - python-novaclient
31 - python-neutronclient
32 - python-keystoneclient
33 - python-glanceclient
Zack Williams2b946292016-08-22 15:32:29 -070034 - python-lxml
Zack Williams709f11b2016-03-17 14:29:51 -070035 - virt-top
Zack Williams8625d042016-02-26 14:32:43 -070036
Zack Williams682450e2016-11-19 09:04:41 -070037- name: Make sure Ansible is newest version
38 apt:
39 name: "ansible"
40 state: latest
41 update_cache: yes
42 cache_valid_time: 3600
43 tags:
44 - skip_ansible_lint # ansible-lint complains about latest, need this or old built in 1.5.x version may be used if already installed.
45
Andy Bavier30d27c92016-09-15 15:59:17 -040046- name: Install Python packages
47 pip:
48 name={{ item}}
49 state=present
50 with_items:
51 - urllib3
52 - pyopenssl
53 - ndg-httpsclient
54 - pyasn1
55
Zack Williams709f11b2016-03-17 14:29:51 -070056- name: Prep user account by adding to libvirtd group and generating SSH key
Zack Williams8625d042016-02-26 14:32:43 -070057 user:
Zack Williams9cdf8622016-02-26 22:42:50 -070058 name={{ ansible_user_id }}
Zack Williams8625d042016-02-26 14:32:43 -070059 generate_ssh_key=yes
60 groups="libvirtd" append=yes
61
Zack Williams709f11b2016-03-17 14:29:51 -070062- name: Register public key in variable
Zack Williams9cdf8622016-02-26 22:42:50 -070063 shell: cat {{ ansible_user_dir }}/.ssh/id_rsa.pub
Zack Williams8625d042016-02-26 14:32:43 -070064 register: sshkey
Zack Williams35624562016-08-28 17:12:26 -070065 tags:
66 - skip_ansible_lint # FIXME: this should be done a different way
Zack Williams8625d042016-02-26 14:32:43 -070067
Zack Williams709f11b2016-03-17 14:29:51 -070068- name: Add public key to this user account
Zack Williams8625d042016-02-26 14:32:43 -070069 authorized_key:
Zack Williams9cdf8622016-02-26 22:42:50 -070070 user={{ ansible_user_id }}
Zack Williams8625d042016-02-26 14:32:43 -070071 key="{{ sshkey.stdout }}"
72
Zack Williams2cffa0f2016-05-20 12:18:47 -070073- name: Disable host key checking in ~/.ssh/config
74 lineinfile:
75 dest={{ ansible_user_dir }}/.ssh/config
76 line="StrictHostKeyChecking no"
77 create=yes
78 owner={{ ansible_user_id }} mode=0600
79
80- name: Disable host key checking in ~/.ansible.cfg
81 copy:
82 src=ansible.cfg
83 dest={{ ansible_user_dir }}/.ansible.cfg
84 owner={{ ansible_user_id }} mode=0644
85
Zack Williams35624562016-08-28 17:12:26 -070086- name: Copy node key
87 when: not on_maas
Andy Bavier6274d6a2016-08-12 18:12:01 -040088 copy:
Zack Williams35624562016-08-28 17:12:26 -070089 src={{ ansible_user_dir }}/.ssh/id_rsa
Andy Bavier6274d6a2016-08-12 18:12:01 -040090 dest={{ ansible_user_dir }}/node_key
91 owner={{ ansible_user }}
92 mode=0600
93 remote_src=True
Andy Bavier6274d6a2016-08-12 18:12:01 -040094
Zack Williams35624562016-08-28 17:12:26 -070095- name: Copy node key (MaaS)
96 when: on_maas
Andy Bavier6274d6a2016-08-12 18:12:01 -040097 copy:
Zack Williams35624562016-08-28 17:12:26 -070098 src={{ maas_node_key }}
Andy Bavier6274d6a2016-08-12 18:12:01 -040099 dest={{ ansible_user_dir }}/node_key
100 owner={{ ansible_user }}
101 mode=0600
102 remote_src=True
Zack Williams6f5a6e72016-08-10 17:45:27 -0700103