116867f117
Building on from the previous commit https://review.openstack.org/427869 this playbook calls all the roles and contains the required data to deploy the pxe build environment. Change-Id: I1a319b68558a4823832693f38f40921a72be783e
129 lines
4.6 KiB
YAML
129 lines
4.6 KiB
YAML
---
|
|
# 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.
|
|
#
|
|
# create_pxeboot_server.yml
|
|
#
|
|
# This playbook contains all the data to deploy a PXE server with TFTP/ Apache and the preseed
|
|
# environment for Ubuntu Xenial. This is to replace Cobbler.
|
|
|
|
- hosts: all
|
|
become: yes
|
|
become_method: sudo
|
|
|
|
vars:
|
|
proxy: "{{ lookup('env','http_proxy') }}"
|
|
|
|
# - List of DHCP Subnets
|
|
dhcp_list:
|
|
- netmask: 255.255.255.0
|
|
gateway: 10.0.0.200
|
|
dns: "{{ ansible_dns.nameservers.0 }}"
|
|
subnet: 10.0.0.0 # Subnet mask
|
|
default_lease_time: 21600 # Subnet Default lease time - The default is used if this is not defined
|
|
max_lease_time: 43200 # Subnet Max lease time - The default is used if this is not defined
|
|
tftp_boot_path: /pxelinux.0 # Path for tftp of where to boot from first - The default is used if this is not defined
|
|
tftp_server: 10.0.0.200 # The server hosting the TFTP server - The default is used if this is not defined
|
|
dhcp_default_domain_name: openstackci.local # The domain-name option - the above global default is used if this is not defined
|
|
|
|
# - tftpboot_configure
|
|
tftp_mirror: archive.ubuntu.com
|
|
tftp_proxy: "{{ proxy }}"
|
|
|
|
webserver_ip_address: 10.0.0.200
|
|
ntp_server: "{{ lookup('pipe','grep -m 1 pool /etc/ntp.conf').split(' ').1 }}" # Check in NTP directory, look for the first pool match and use as our NTP server
|
|
atftpd_path: /srv/tftp
|
|
tftp_source: /srv/tftp/pxelinux.cfg
|
|
atftp_user: atftp
|
|
atftp_group: atftp
|
|
|
|
# These below variables rely on apache being set up and is where the preseed is set up
|
|
preseed_apache_url: pxe
|
|
preseed_path: /var/www/pxe
|
|
|
|
# - List of static DHCP hosts - These are iterated though and each will be created
|
|
# last byte of hwaddr matches last two digits of ip address
|
|
server_list:
|
|
- name: cinder1
|
|
hwaddr: "52:54:00:bd:81:40"
|
|
ip: "10.0.0.140"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-cinder.seed
|
|
|
|
- name: cinder2
|
|
hwaddr: "52:54:00:bd:81:41"
|
|
ip: "10.0.0.141"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-cinder.seed
|
|
|
|
- name: infra1
|
|
hwaddr: "52:54:00:bd:81:00"
|
|
ip: "10.0.0.100"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-infra.seed
|
|
|
|
- name: infra2
|
|
hwaddr: "52:54:00:bd:81:01"
|
|
ip: "10.0.0.101"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-infra.seed
|
|
|
|
- name: infra3
|
|
hwaddr: "52:54:00:bd:81:02"
|
|
ip: "10.0.0.102"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-infra.seed
|
|
|
|
- name: logging1
|
|
hwaddr: "52:54:00:bd:81:10"
|
|
ip: "10.0.0.110"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-logging.seed
|
|
|
|
- name: compute1
|
|
hwaddr: "52:54:00:bd:81:30"
|
|
ip: "10.0.0.130"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-nova_compute.seed
|
|
|
|
- name: compute2
|
|
hwaddr: "52:54:00:bd:81:31"
|
|
ip: "10.0.0.131"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-nova_compute.seed
|
|
|
|
- name: swift1
|
|
hwaddr: "52:54:00:bd:81:50"
|
|
ip: "10.0.0.150"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-swift.seed
|
|
|
|
- name: swift2
|
|
hwaddr: "52:54:00:bd:81:51"
|
|
ip: "10.0.0.151"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-swift.seed
|
|
|
|
- name: swift3
|
|
hwaddr: "52:54:00:bd:81:52"
|
|
ip: "10.0.0.152"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-swift.seed
|
|
|
|
roles:
|
|
- { role: proxy_install, when: proxy|length > 0 }
|
|
- { role: dhcpd_install }
|
|
- { role: atftpd_install }
|
|
- { role: tftpboot_configure }
|
|
- { role: apache_install, url: "{{ preseed_apache_url }}", publish_root: "{{ preseed_path }}" }
|
|
- { role: apache_install, url: files, publish_root: /var/www/html }
|