From fcfd902048bd1a989b663dc83d05262d10c5c7cf Mon Sep 17 00:00:00 2001
From: Kevin Carter <kevin.carter@rackspace.com>
Date: Fri, 11 May 2018 10:11:24 -0500
Subject: [PATCH] add bionic support to the basic provisioning

Change-Id: I29fe3f507000663d7b9e801003010d4f76c17940
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
---
 pxelinux-provisioning/README.rst                 |  4 ++--
 .../playbooks/group_vars/all.yml                 | 16 +++++++++++++++-
 pxelinux-provisioning/playbooks/inventory.yml    |  2 +-
 pxelinux-provisioning/run.sh                     |  2 +-
 4 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/pxelinux-provisioning/README.rst b/pxelinux-provisioning/README.rst
index e0ee7f30..17bdaa60 100644
--- a/pxelinux-provisioning/README.rst
+++ b/pxelinux-provisioning/README.rst
@@ -38,7 +38,7 @@ following configuration.
     $name_used_in_inventory:
       ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
       server_hostname: '$hostname'
-      server_image: "ubuntu-16.04-amd64"
+      server_image: "ubuntu-18.04-amd64"
       server_default_interface: 'eth0'
       server_obm_ip: 192.168.1.100
       server_model: PowerEdge R710
@@ -62,7 +62,7 @@ everything or the playbooks could be run with the following commmand.
                          -e setup_host=${SETUP_HOST:-"true"}
                          -e setup_pxeboot=${SETUP_PXEBOOT:-"true"}
                          -e setup_dhcpd=${SETUP_DHCPD:-"true"}
-                         -e default_image=${DEFAULT_IMAGE:-"ubuntu-16.04-amd64"}
+                         -e default_image=${DEFAULT_IMAGE:-"ubuntu-18.04-amd64"}
                          -e default_http_proxy=${DEFAULT_HTTP_PROXY:-''}
                          --force-handlers
                          playbooks/site.yml
diff --git a/pxelinux-provisioning/playbooks/group_vars/all.yml b/pxelinux-provisioning/playbooks/group_vars/all.yml
index 41ad6221..97b8de8a 100644
--- a/pxelinux-provisioning/playbooks/group_vars/all.yml
+++ b/pxelinux-provisioning/playbooks/group_vars/all.yml
@@ -27,6 +27,7 @@ default_acng_bind_address: 0.0.0.0
 # the type of preseed needed to deploy an given OS type.
 default_os_families:
   ubuntu-16.04-amd64: debian
+  ubuntu-18.04-amd64: debian
 
 # Default setting for Apt-Cacher-NG.
 default_mirror_proxy: 'http://{{ default_tftp_server }}:3142/'
@@ -40,7 +41,7 @@ default_tftp_port: 69
 default_tftp_boot_path: /pxelinux.0      # Path of where to boot from first
 
 # Default ISO images
-default_image_name: "ubuntu-16.04-amd64"
+default_image_name: "ubuntu-18.04-amd64"
 default_images:
   ubuntu-16.04-amd64:
     image_type: debian
@@ -55,6 +56,19 @@ default_images:
     image_preseed: basic
     image_preseed_option:
       url: "tftp://{{ default_tftp_server }}/preseed/basic.preseed"
+  ubuntu-18.04-amd64:
+    image_type: debian
+    image_iso_url: "http://cdimage.ubuntu.com/ubuntu-server/daily/current/bionic-server-amd64.iso"
+    image_name: "bionic-server-amd64.iso"
+    image_short_name: "bionic-server-amd64"
+    image_default_boot: "bionic-server-amd64/amd64/boot-screens/menu.cfg"
+    image_kernel_options: "biosdevname=0 net.ifnames=0 auto=true priority=critical quiet splash"
+    image_kernel: "bionic-server-amd64/amd64/linux"
+    image_initrd: "bionic-server-amd64/amd64/initrd.gz"
+    image_netboot: "bionic-server-amd64/install/netboot/ubuntu-installer"
+    image_preseed: basic
+    image_preseed_option:
+      url: "tftp://{{ default_tftp_server }}/preseed/basic.preseed"
 
 # PXELinux downloads. While pxelinux is available as a component of most distros
 # the version may vary. This stabalizes on a known set.
diff --git a/pxelinux-provisioning/playbooks/inventory.yml b/pxelinux-provisioning/playbooks/inventory.yml
index 40e266be..95d3e0a4 100644
--- a/pxelinux-provisioning/playbooks/inventory.yml
+++ b/pxelinux-provisioning/playbooks/inventory.yml
@@ -38,7 +38,7 @@ pxe_servers:
     n1:
       ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
       server_hostname: 'n1'
-      server_image: "ubuntu-16.04-amd64"
+      server_image: "ubuntu-18.04-amd64"
       server_default_interface: 'eth0'
       server_obm_ip: 10.0.0.200
       server_model: PowerEdge R710
diff --git a/pxelinux-provisioning/run.sh b/pxelinux-provisioning/run.sh
index 207d5f2d..f71b5911 100755
--- a/pxelinux-provisioning/run.sh
+++ b/pxelinux-provisioning/run.sh
@@ -22,7 +22,7 @@ ansible-playbook -vv \
                  -e setup_host=${SETUP_HOST:-"true"} \
                  -e setup_pxeboot=${SETUP_PXEBOOT:-"true"} \
                  -e setup_dhcpd=${SETUP_DHCPD:-"true"} \
-                 -e default_image=${DEFAULT_IMAGE:-"ubuntu-16.04-amd64"} \
+                 -e default_image=${DEFAULT_IMAGE:-"ubuntu-18.04-amd64"} \
                  -e default_http_proxy=${DEFAULT_HTTP_PROXY:-''} \
                  --force-handlers \
                  playbooks/site.yml