windmill/playbooks/nodepool-builder.yaml

69 lines
2.0 KiB
YAML

# Copyright 2016 Red Hat, Inc.
#
# 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.
---
- name: Install nodepool-builder.
hosts: nodepool-builder
roles:
- openstack.sudoers
- openstack.diskimage-builder
- openstack.shade
- openstack.nodepool
pre_tasks:
# NOTE(pabelanger): Because of ordering issues with clouds.yaml and
# nodepool, create the required home direcotry first (pre task). So we can
# add the clouds.yaml file.
- name: Create nodepool user directories.
include_role:
name: openstack.nodepool
vars:
nodepool_task_manager:
- pre
# TODO(pabelanger): This should be moved into ansible-role-os-client-config.
- name: Create os-client-config directories.
become: yes
file:
group: nodepool
owner: nodepool
path: "{{ nodepool_user_home }}/.config/openstack"
state: directory
- name: Copy clouds.yaml into place.
become: yes
copy:
dest: "{{ nodepool_user_home }}/.config/openstack/clouds.yaml"
group: nodepool
mode: 0400
owner: nodepool
src: nodepool/home/nodepool/.config/openstack/clouds.yaml
- name: Template disk-image-create wrapper script.
become: yes
template:
dest: /usr/local/bin/disk-image-create
group: root
mode: 0755
owner: root
src: nodepool-builder/usr/local/bin/disk-image-create.j2
post_tasks:
- name: Run nodepool-server validation.
include_role:
name: test.nodepool-builder
vars_files:
- vars/nodepool.yaml