blob: afa7be3a2b8de158dd527f8b828c30b8302f08ca [file] [log] [blame]
Matteo Scandolo3896c472017-08-01 13:31:42 -07001
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
Zack Williams8625d042016-02-26 14:32:43 -070017---
Zack Williams0ab8f512017-06-29 08:41:51 -070018# file: head-prep/tasks/main.yml
Zack Williams8625d042016-02-26 14:32:43 -070019
20- name: Install prerequisites for using PPA repos
21 apt:
Zack Williams5223dd92017-02-28 23:38:02 -070022 name: "{{ item }}"
23 update_cache: yes
24 cache_valid_time: 3600
Zack Williams8625d042016-02-26 14:32:43 -070025 with_items:
26 - python-pycurl
27 - software-properties-common
28
Zack Williams5223dd92017-02-28 23:38:02 -070029- name: Add Ansible PPA
Zack Williams8625d042016-02-26 14:32:43 -070030 apt_repository:
31 repo={{ item }}
32 with_items:
Zack Williams5223dd92017-02-28 23:38:02 -070033 - "{{ ansible_apt_repo | default('ppa:ansible/ansible') }}"
Andy Bavier8cbc1f82017-02-24 16:35:39 -050034 register: result
35 until: result | success
36 retries: 3
37 delay: 10
Zack Williams8625d042016-02-26 14:32:43 -070038
39- name: Install packages
40 apt:
Zack Williams5223dd92017-02-28 23:38:02 -070041 name: "{{ item }}"
42 update_cache: yes
43 cache_valid_time: 3600
Zack Williams8625d042016-02-26 14:32:43 -070044 with_items:
Zack Williams5223dd92017-02-28 23:38:02 -070045 - bridge-utils
46 - dnsutils
Zack Williams8625d042016-02-26 14:32:43 -070047 - git
Zack Williams8625d042016-02-26 14:32:43 -070048 - juju-core
Sapan Bhatia96426ec2017-04-13 19:41:04 -070049 - libssl-dev
Zack Williams5223dd92017-02-28 23:38:02 -070050 - libvirt-bin
Sapan Bhatia96426ec2017-04-13 19:41:04 -070051 - python-dev
Zack Williamsd7b8ffb2017-09-27 15:13:17 -070052 - python-dnspython
Zack Williams5223dd92017-02-28 23:38:02 -070053 - python-glanceclient
54 - python-keystoneclient
55 - python-lxml
Zack Williamsd7b8ffb2017-09-27 15:13:17 -070056 - python-netaddr
Zack Williams5223dd92017-02-28 23:38:02 -070057 - python-neutronclient
58 - python-novaclient
59 - python-pip
Sapan Bhatia96426ec2017-04-13 19:41:04 -070060 - sshpass
Zack Williams5223dd92017-02-28 23:38:02 -070061 - virt-top
Zack Williams8625d042016-02-26 14:32:43 -070062
Zack Williams0ab8f512017-06-29 08:41:51 -070063- name: Make sure Ansible is newest version
64 apt:
65 name: "ansible"
66 state: latest
67 update_cache: yes
68 cache_valid_time: 3600
69 tags:
70 - skip_ansible_lint # ansible-lint complains about latest, need this as distro provided 1.5.x version may be used if already installed.
Zack Williams682450e2016-11-19 09:04:41 -070071
Andy Bavier30d27c92016-09-15 15:59:17 -040072- name: Install Python packages
73 pip:
Zack Williams5223dd92017-02-28 23:38:02 -070074 name: "{{ item }}"
Andy Bavier30d27c92016-09-15 15:59:17 -040075 with_items:
Andy Bavier30d27c92016-09-15 15:59:17 -040076 - ndg-httpsclient
Zack Williams5223dd92017-02-28 23:38:02 -070077 - passlib
Andy Bavier30d27c92016-09-15 15:59:17 -040078 - pyasn1
Zack Williams5223dd92017-02-28 23:38:02 -070079 - pyopenssl
80 - urllib3
81 - gitpython
82 - graphviz
Andy Bavier30d27c92016-09-15 15:59:17 -040083
Zack Williams5223dd92017-02-28 23:38:02 -070084- name: Add pod ssh private key to head node user
85 copy:
86 src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey"
87 dest: "{{ ansible_user_dir }}/.ssh/id_{{ ssh_keytype }}"
88 owner: "{{ ansible_user_id }}"
89 group: "{{ ansible_user_gid }}"
90 mode: 0600
Zack Williams8625d042016-02-26 14:32:43 -070091
Zack Williams5223dd92017-02-28 23:38:02 -070092- name: Add pod ssh public key to head user
93 copy:
94 src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey.pub"
95 dest: "{{ ansible_user_dir }}/.ssh/id_{{ ssh_keytype }}.pub"
96 owner: "{{ ansible_user_id }}"
97 group: "{{ ansible_user_gid }}"
98 mode: 0644
Zack Williams8625d042016-02-26 14:32:43 -070099
Zack Williams5223dd92017-02-28 23:38:02 -0700100- name: Add pod ssh signed public key to head node user
101 copy:
102 src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey-cert.pub"
103 dest: "{{ ansible_user_dir }}/.ssh/id_{{ ssh_keytype }}-cert.pub"
104 owner: "{{ ansible_user_id }}"
105 group: "{{ ansible_user_gid }}"
106 mode: 0644
Zack Williams8625d042016-02-26 14:32:43 -0700107
Zack Williams2cffa0f2016-05-20 12:18:47 -0700108- name: Disable host key checking in ~/.ssh/config
109 lineinfile:
Zack Williams5223dd92017-02-28 23:38:02 -0700110 dest: "{{ ansible_user_dir }}/.ssh/config"
111 line: "StrictHostKeyChecking no"
112 create: yes
113 owner: "{{ ansible_user_id }}"
114 group: "{{ ansible_user_gid }}"
115 mode: 0600
Zack Williams2cffa0f2016-05-20 12:18:47 -0700116
117- name: Disable host key checking in ~/.ansible.cfg
118 copy:
Zack Williams5223dd92017-02-28 23:38:02 -0700119 src: ansible.cfg
120 dest: "{{ ansible_user_dir }}/.ansible.cfg"
121 owner: "{{ ansible_user_id }}"
122 group: "{{ ansible_user_gid }}"
123 mode: 0644
124