
1, add deploy node into mn-aio-xenial 2, change the nic to eth0 because kvm needs it 3, local cache the ubuntu image for faster installation. Change-Id: I9be2493fc64481c3e6249cb5e2d36c708545ad3d
139 lines
4.8 KiB
YAML
139 lines
4.8 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: 10.0.0.200
|
|
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
|
|
distro_name: ubuntu-16.04.2-server-amd64.iso
|
|
distro_url : "http://releases.ubuntu.com/16.04/{{ distro_name }}"
|
|
|
|
# These below variables rely on apache being set up and is where the preseed is set up
|
|
apache_url: files
|
|
apache_path: /var/www/html
|
|
|
|
tftp_directories:
|
|
- pxe
|
|
- ubuntu
|
|
|
|
# - 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:30"
|
|
ip: "10.0.0.130"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-cinder.seed
|
|
|
|
- name: cinder2
|
|
hwaddr: "52:54:00:bd:81:31"
|
|
ip: "10.0.0.131"
|
|
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:20"
|
|
ip: "10.0.0.120"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-nova_compute.seed
|
|
|
|
- name: compute2
|
|
hwaddr: "52:54:00:bd:81:21"
|
|
ip: "10.0.0.121"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-nova_compute.seed
|
|
|
|
- name: swift1
|
|
hwaddr: "52:54:00:bd:81:40"
|
|
ip: "10.0.0.140"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-swift.seed
|
|
|
|
- name: swift2
|
|
hwaddr: "52:54:00:bd:81:41"
|
|
ip: "10.0.0.141"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-swift.seed
|
|
|
|
- name: swift3
|
|
hwaddr: "52:54:00:bd:81:42"
|
|
ip: "10.0.0.142"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-swift.seed
|
|
|
|
- name: deploy1
|
|
hwaddr: "52:54:00:bd:81:50"
|
|
ip: "10.0.0.150"
|
|
distro: xenial
|
|
preseed_file: ubuntu-server-16.04-unattended-deploy.seed
|
|
|
|
roles:
|
|
- { role: proxy_install, when: proxy|length > 0 }
|
|
- { role: dhcpd_install }
|
|
- { role: atftpd_install }
|
|
- { role: apache_install }
|
|
- { role: tftpboot_configure } |