blob: 4bb2bca9b30d50304835198145d3720c84e9dd00 [file] [log] [blame]
---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# file: head-prep/tasks/main.yml
- name: Install prerequisites for using PPA repos
apt:
name: "{{ item }}"
update_cache: yes
cache_valid_time: 3600
with_items:
- python-pycurl
- software-properties-common
- name: Add Ansible PPA
apt_repository:
repo={{ item }}
with_items:
- "{{ ansible_apt_repo | default('ppa:ansible/ansible') }}"
register: result
until: result is success
retries: 3
delay: 10
- name: Install packages
apt:
name: "{{ item }}"
update_cache: yes
cache_valid_time: 3600
with_items:
- bridge-utils
- dnsutils
- git
- libssl-dev
- python-dev
- python-dnspython
- python-lxml
- python-netaddr
- python-pip
- sshpass
- name: Install juju and openstack related packages
when: use_openstack
apt:
name: "{{ item }}"
update_cache: yes
cache_valid_time: 3600
with_items:
- juju-core
- libvirt-bin
- python-glanceclient
- python-keystoneclient
- python-neutronclient
- python-novaclient
- virt-top
- name: Make sure Ansible is newest version
apt:
name: "ansible"
state: latest
update_cache: yes
cache_valid_time: 3600
tags:
- skip_ansible_lint # ansible-lint complains about latest, need this as distro provided 1.5.x version may be used if already installed.
- name: Install Python packages
pip:
name: "{{ item }}"
with_items:
- ndg-httpsclient
- passlib
- pyasn1
- pyopenssl
- urllib3
- gitpython
- graphviz
- name: Add pod ssh private key to head node user
copy:
src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey"
dest: "{{ ansible_user_dir }}/.ssh/id_{{ ssh_keytype }}"
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0600
- name: Add pod ssh public key to head user
copy:
src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey.pub"
dest: "{{ ansible_user_dir }}/.ssh/id_{{ ssh_keytype }}.pub"
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0644
- name: Add pod ssh signed public key to head node user
copy:
src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey-cert.pub"
dest: "{{ ansible_user_dir }}/.ssh/id_{{ ssh_keytype }}-cert.pub"
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0644
- name: Disable host key checking in ~/.ssh/config
lineinfile:
dest: "{{ ansible_user_dir }}/.ssh/config"
line: "StrictHostKeyChecking no"
create: yes
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0600
- name: Disable host key checking in ~/.ansible.cfg
copy:
src: ansible.cfg
dest: "{{ ansible_user_dir }}/.ansible.cfg"
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0644