Add ubuntu18

  * Info about Ubiquity https://wiki.ubuntu.com/UbiquityAutomation
    - we do exactly partitioning=> no possibility for now, to use
    new installer type.
  * Move growlvm.py to commons

Change-Id: Iabda3770b368a48919fef89d3a78cae388f60168
Prod-related: PROD-28155 (PROD:28155)
diff --git a/ubuntu-18.04/http/preseed.cfg b/ubuntu-18.04/http/preseed.cfg
new file mode 100644
index 0000000..9dd5ebe
--- /dev/null
+++ b/ubuntu-18.04/http/preseed.cfg
@@ -0,0 +1,181 @@
+# Mirror settings
+
+# Configure part of mirroring via passed bootcmdline
+d-i mirror/protocol string http
+#d-i mirror/http/hostname string mirror.mirantis.com
+#d-i mirror/http/directory string testing/ubuntu
+
+d-i mirror/country string manual
+d-i apt-setup/use_mirror boolean true
+d-i mirror/http/proxy string
+
+d-i apt-setup/backports boolean false
+d-i base-installer/install-recommends boolean false
+d-i console-setup/ask_detect boolean false
+d-i console-setup/console-setup/layoutcode string us
+d-i console-setup/modelcode string pc105
+d-i keyboard-configuration/layout string USA
+d-i keyboard-configuration/variant string USA
+
+d-i debian-installer/locale string en_US
+d-i debian-installer/language string en
+d-i debian-installer/country EN
+
+d-i pkgsel/install-language-support boolean false
+
+d-i debian-installer/framebuffer boolean false
+d-i debconf/frontend select noninteractive
+#d-i base-installer/kernel/image string linux-hwe
+d-i base-installer/kernel/override-image string linux-server
+d-i clock-setup/utc boolean true
+d-i clock-setup/utc-auto boolean true
+d-i finish-install/reboot_in_progress note
+d-i grub-installer/only_debian boolean true
+d-i grub-installer/with_other_os boolean true
+d-i netcfg/get_domain string local
+d-i netcfg/get_hostname string ubuntu
+d-i netcfg/enable boolean true
+d-i netcfg/choose_interface select auto
+d-i hw-detect/load_firmware boolean true
+
+d-i partman-auto/disk string /dev/sda /dev/vda
+# Use LVM for partitioning
+d-i partman-auto/method string lvm
+
+# GPT
+
+d-i partman-basicfilesystems/choose_label string gpt
+d-i partman-basicfilesystems/default_label string gpt
+d-i partman-partitioning/choose_label string gpt
+d-i partman-partitioning/default_label string gpt
+d-i partman/choose_label string gpt
+d-i partman/default_label string gpt
+
+# GPT
+
+d-i partman-auto-lvm/guided_size string max
+
+# If one of the disks that are going to be automatically partitioned
+# contains an old LVM configuration, the user will normally receive a
+# warning. Preseed this away
+d-i partman-lvm/device_remove_lvm boolean true
+
+# And the same goes for the confirmation to write the lvm partitions.
+d-i partman-lvm/confirm boolean true
+
+# Really, please don't prompt me!
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+d-i partman-auto/expert_recipe string                         \
+          vcp_lvm ::                                          \
+              1 1 1 free                                      \
+                      $gptonly{ }                             \
+                      $primary{ }                             \
+                      $bios_boot{ }                           \
+                      method{ biosgrub }                      \
+              .                                               \
+              1051 2 1051 ext3                                \
+                      $gptonly{ }                             \
+                      $primary{ }                             \
+                      method{ format } format{ }              \
+                      use_filesystem{ } filesystem{ ext3 }    \
+                      lable{ lable-boot }                     \
+                      mountpoint{ /boot }                     \
+              .                                               \
+              10 10 10 ext4                                   \
+                      $defaultignore{ }                       \
+                      $gptonly{ }                             \
+                      $primary{ }                             \
+                      method{ lvm }                           \
+                      vg_name{ vg0 }                          \
+              .                                               \
+              105 2 105 ext4                                \
+                      $lvmok{ }                               \
+                      in_vg{ vg0 }                            \
+                      lv_name{ home }                         \
+                      method{ lvm } format{ }                 \
+                      use_filesystem{ } filesystem{ ext4 }    \
+                      mountpoint{ /home }                     \
+                      options/nodev{ nodev }                  \
+              .                                               \
+              105 2 105 ext4 ext4                            \
+                      $lvmok{ }                               \
+                      in_vg{ vg0 }                            \
+                      lv_name{ tmp }                          \
+                      method{ lvm } format{ }                 \
+                      use_filesystem{ } filesystem{ ext4 }    \
+                      mountpoint{ /tmp }                      \
+                      options/nodev{ nodev }                  \
+                      options/nosuid{ nosuid }                \
+                      options/noexec{ noexec }                \
+              .                                               \
+              105 2 105 ext4                            \
+                      $lvmok{ }                               \
+                      in_vg{ vg0 }                            \
+                      lv_name{ var_log }                      \
+                      method{ format } format{ }              \
+                      use_filesystem{ } filesystem{ ext4 }    \
+                      mountpoint{ /var/log }                  \
+                      options/noexec{ noexec }                \
+              .                                               \
+              315 2 315 ext4 ext4                            \
+                      $lvmok{ }                               \
+                      in_vg{ vg0 }                            \
+                      lv_name{ var_tmp }                      \
+                      method{ format } format{ }              \
+                      use_filesystem{ } filesystem{ ext4 }    \
+                      mountpoint{ /var/tmp }                  \
+                      options/nodev{ nodev }                  \
+                      options/nosuid{ nosuid }                \
+                      options/noexec{ noexec }                \
+              .                                               \
+              105 2 105 ext4 ext4                                \
+                      $lvmok{ }                               \
+                      in_vg{ vg0 }                            \
+                      lv_name{ var_log_audit }                \
+                      method{ format } format{ }              \
+                      use_filesystem{ } filesystem{ ext4 }    \
+                      mountpoint{ /var/log/audit }            \
+                      options/noexec{ noexec }                \
+              .                                               \
+              2154 2 65536 ext4                          \
+                      $lvmok{ }                               \
+                      method{ format } format{ }              \
+                      use_filesystem{ } filesystem{ ext4 }    \
+                      mountpoint{ / }                         \
+                      in_vg{ vg0 }                            \
+                      lv_name{ root }                         \
+              .
+
+d-i partman-auto/choose_recipe select vcp_lvm
+
+partman-basicfilesystems partman-basicfilesystems/no_swap boolean false
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i     partman-partitioning/confirm_write_new_label boolean true
+d-i     partman/choose_partition select finish
+d-i     partman/confirm boolean true
+d-i     partman/confirm_nooverwrite boolean true
+
+d-i pkgsel/include string openssh-server
+d-i pkgsel/update-policy select none
+popularity-contest popularity-contest/participate boolean false
+
+d-i pkgsel/upgrade select safe-upgrade
+
+d-i time/zone string UTC
+d-i passwd/root-password password r00tme
+d-i passwd/root-password-again password r00tme
+d-i passwd/root-login boolean true
+d-i passwd/make-user boolean false
+d-i openssh-server/permit-root-login boolean true
+d-i user-setup/allow-password-weak boolean true
+d-i user-setup/encrypt-home boolean false
+tasksel tasksel/first multiselect minimal, ssh-server, openssh-server
+
+# in ubuntu18.04.2 netplan detect interface like enp0s3, but in reboot-ed system,
+# due init, its renames to ens3
+d-i preseed/late_command string \
+in-target sed -i 's/.*PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config; \
+in-target sed -i 's/enp0s3/ens3/g' /etc/netplan/01-netcfg.yaml;