blob: b0f9094bc20c2ca88adb39f62921f75650f22d3d [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.
---
# onos-cord-install/tasks/main.yml
- name: Pull base docker image for ONOS
docker_image:
name: "{{ onos_docker_image }}"
- name: Create onos_cord directory
become: yes
file:
path: "{{ head_onos_cord_dir }}"
state: directory
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0755
- name: Create node_key file with SSH private key for compute nodes
copy:
src: "{{ ssh_pki_dir }}/client_certs/{{ pod_sshkey_name }}_sshkey"
dest: "{{ head_onos_cord_dir }}/node_key"
owner: "{{ ansible_user_id }}"
group: "{{ ansible_user_gid }}"
mode: 0600
- name: Create templated ONOS files
template:
src: "{{ item }}.j2"
dest: "{{ head_onos_cord_dir }}/{{ item }}"
with_items:
- Dockerfile
- org.ops4j.pax.logging.cfg
- docker-compose.yml
- name: Copy SSL Certs to ONOS so docker-compose can find them
copy:
src: "{{ pki_dir }}/{{ item.src }}"
dest: "{{ head_onos_cord_dir }}/{{ item.dest }}"
owner: "{{ ansible_user_id }}"
with_items:
- src: "root_ca/certs/ca_cert.pem"
dest: "cord_root_ca.crt"
- src: "{{ site_name }}_im_ca/certs/im_cert.pem"
dest: "cord_{{ site_name }}_im_ca.crt"
- name: Build xos/onos docker image
docker_image:
name: "xos/onos:{{ pull_docker_tag }}"
path: "{{ head_onos_cord_dir }}"
pull: False
force: True
- name: Start ONOS for CORD
docker_service:
project_name: "onoscord"
project_src: "{{ head_onos_cord_dir }}"