# Orchestra - Ubuntu Server Installation # * Minimal install # * Cloud-init for bare-metal # * Grab meta-data and user-data from cobbler server in a late command # d-i debian-installer/add-kernel-opts string --verbose # Locale d-i debian-installer/locale string en_US.UTF-8 # No splash d-i debian-installer/splash boolean false # Keyboard layout d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string us d-i console-setup/variantcode string # Network configuration d-i netcfg/get_nameservers string d-i netcfg/get_ipaddress string d-i netcfg/get_netmask string 255.255.255.0 d-i netcfg/get_gateway string d-i netcfg/confirm_static boolean true # Local clock (set to UTC and use ntp) d-i clock-setup/utc boolean true d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string ntp.ubuntu.com # Partitioning d-i partman-auto/method string lvm d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-lvm/confirm boolean true d-i partman-auto-lvm/guided_size string 20GB d-i partman-auto-lvm/new_vg_name string main 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 partman-lvm/confirm_nooverwrite boolean true d-i partman-md/confirm boolean true d-i partman/default_filesystem string ext4 d-i partman-auto/expert_recipe string \ boot-root :: \ 40 300 300 ext3 \ $primary{ } \ $bootable{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext3 } \ mountpoint{ /boot } \ . \ 2000 10000 1000000000 ext4 \ $lvmok{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ / } \ . \ 8000 8000 200% linux-swap \ $lvmok{ } \ method{ swap } format{ } \ . # Use server kernel d-i base-installer/kernel/image string linux-server # User Setup d-i passwd/root-login boolean false d-i passwd/make-user boolean true d-i passwd/user-fullname string ubuntu d-i passwd/username string ubuntu d-i passwd/user-password-crypted password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4. d-i passwd/user-uid string d-i user-setup/allow-password-weak boolean false d-i user-setup/encrypt-home boolean false d-i passwd/user-default-groups string adm cdrom dialout lpadmin plugdev sambashare # APT $SNIPPET('orchestra_proxy') # By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. d-i debian-installer/allow_unauthenticated string false # Lang d-i pkgsel/language-packs multiselect en d-i pkgsel/update-policy select none d-i pkgsel/updatedb boolean true # Boot-loader d-i grub-installer/skip boolean false d-i lilo-installer/skip boolean false d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i finish-install/keep-consoles boolean false d-i finish-install/reboot_in_progress note # Eject cdrom d-i cdrom-detect/eject boolean true # Do not halt/poweroff after install d-i debian-installer/exit/halt boolean false d-i debian-installer/exit/poweroff boolean false d-i pkgsel/include string debconf byobu capistrano cloud-init openssh-server \ python-software-properties vim \ apache2 libapache2-mod-wsgi python-dateutil python-anyjson pep8 pylint \ python-pip screen unzip wget psmisc git-core lsof openssh-server \ vim-nox locate python-virtualenv python-unittest2 python-eventlet \ python-routes python-greenlet python-argparse python-sqlalchemy \ python-wsgiref python-pastedeploy python-xattr python-setuptools \ python-dev python-lxml python-pastescript python-pastedeploy \ python-paste sqlite3 python-pysqlite2 python-sqlalchemy python-webob \ python-greenlet python-routes libldap2-dev libsasl2-dev dnsmasq-base \ kpartx mysql-server python-mysqldb kvm gawk iptables ebtables sqlite3 \ sudo kvm libvirt-bin vlan curl rabbitmq-server socat python-mox \ python-paste python-migrate python-gflags python-greenlet \ python-libvirt python-libxml2 python-routes python-netaddr \ python-pastedeploy python-eventlet python-cheetah python-carrot \ python-tempita python-sqlalchemy python-suds python-lockfile \ python-m2crypto python-boto python-numpy mysql-common mysql-client-5.1 \ erlang-base erlang-ssl erlang-nox erlang-inets erlang-mnesia \ libhtml-template-perl gettext-base libavahi-client3 libxml2-utils \ libpciaccess0 libparted0debian1 iscsitarget mysql-server-5.1 mysql-server/root_password password $SNIPPET('openstack_mysql_password') mysql-server-5.1 mysql-server/root_password_again password $SNIPPET('openstack_mysql_password') mysql-server-5.1 mysql-server/start_on_boot boolean true # Set cloud-init data source to manual seeding cloud-init cloud-init/datasources multiselect NoCloud # Set rsyslog server $SNIPPET('orchestra_rsyslog_client_config') # JuJu post scripts. Executes late command and disables PXE d-i preseed/late_command string true && \ $SNIPPET('openstack_cloud_init') && \ $SNIPPET('openstack_module_blacklist') && \ $SNIPPET('orchestra_rsyslog_obtain_keys') && \ $SNIPPET('orchestra_disable_pxe') && \ true