Merge "Switch to Ubuntu 14.04 LTS"
This commit is contained in:
commit
9b1948b210
@ -23,7 +23,7 @@ class apt::params {
|
||||
}
|
||||
'ubuntu': {
|
||||
case $::lsbdistcodename {
|
||||
'hardy','maverick','natty','oneiric','precise': {
|
||||
'hardy','maverick','natty','oneiric','precise','trusty': {
|
||||
$backports_location = 'http://us.archive.ubuntu.com/ubuntu'
|
||||
$ppa_options = '-y'
|
||||
}
|
||||
|
@ -20,9 +20,9 @@ class ceph::apt (
|
||||
location => "http://ceph.com/debian-${release}/",
|
||||
}
|
||||
apt::source { 'radosgw-apache2':
|
||||
location => 'http://gitbuilder.ceph.com/apache2-deb-precise-x86_64-basic/ref/master/',
|
||||
location => 'http://gitbuilder.ceph.com/apache2-deb-trusty-x86_64-basic/ref/master/',
|
||||
}
|
||||
apt::source { 'radosgw-fastcgi':
|
||||
location => 'http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-precise-x86_64-basic/ref/master/',
|
||||
location => 'http://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-trusty-x86_64-basic/ref/master/',
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ Puppet::Type.newtype(:cobbler_distro) do
|
||||
|
||||
newparam(:osversion) do
|
||||
desc "OS Version"
|
||||
newvalues(/^(rhel6|rhel5|precise|natty|squeeze|stable|other)$/)
|
||||
newvalues(/^(rhel6|rhel5|trusty|precise|natty|squeeze|stable|other)$/)
|
||||
end
|
||||
|
||||
newparam(:name, :namevar => true) do
|
||||
|
@ -0,0 +1,97 @@
|
||||
# Copyright 2013 Mirantis, Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
class cobbler::distro::ubuntu_1404_x86_64(
|
||||
$http_iso = 'http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/mini.iso',
|
||||
$ks_url = 'http://us.archive.ubuntu.com/ubuntu',
|
||||
){
|
||||
|
||||
Exec {path => '/usr/bin:/bin:/usr/sbin:/sbin'}
|
||||
|
||||
case $::operatingsystem {
|
||||
/(?i)(centos|redhat)/: {
|
||||
$ks_mirror = '/var/www/cobbler/ks_mirror'
|
||||
}
|
||||
/(?i)(debian|ubuntu)/: {
|
||||
$ks_mirror = '/usr/share/cobbler/webroot/cobbler/ks_mirror'
|
||||
}
|
||||
}
|
||||
|
||||
# mini
|
||||
$iso_name = extension_basename($http_iso, 'true')
|
||||
# mini.iso
|
||||
$iso_basename = extension_basename($http_iso)
|
||||
# /var/www/cobbler/ks_mirror/ubuntu-14.04-x86_64-mini.iso
|
||||
$iso = "${ks_mirror}/ubuntu-14.04-x86_64-${iso_basename}"
|
||||
# /var/www/cobbler/ks_mirror/ubuntu-14.04-x86_64-mini
|
||||
$iso_mnt = "${ks_mirror}/ubuntu-14.04-x86_64-${iso_name}"
|
||||
# /var/www/cobbler/links/ubuntu-14.04-x86_64-mini
|
||||
$iso_link = "/var/www/cobbler/links/${iso_name}"
|
||||
|
||||
if $ks_url == 'cobbler' {
|
||||
$tree_host = "@@server@@"
|
||||
$tree_url = "/cblr/links/${iso_name}"
|
||||
}
|
||||
else {
|
||||
$tree_host = inline_template("<%= @ks_url.split('http://')[1].split('/')[0] %>")
|
||||
$tree_url = inline_template("/<%= @ks_url.split('http://')[1].split('/')[1 .. -1].join('/') %>")
|
||||
}
|
||||
|
||||
file { $iso_mnt:
|
||||
ensure => directory,
|
||||
}
|
||||
|
||||
if $http_iso =~ /^http:\/\/.+/ {
|
||||
# HERE IS ASSUMED THAT wget PACKAGE INSTALLED AS WE NEED IT
|
||||
# TO DOWNLOAD CENTOS ISO IMAGE
|
||||
exec { "get ${http_iso}":
|
||||
command => "wget -q -O- ${http_iso} > ${iso}",
|
||||
timeout => 0,
|
||||
onlyif => "test ! -s ${iso}",
|
||||
}
|
||||
}
|
||||
elsif $http_iso =~ /^file:\/\/.+/ {
|
||||
$http_iso_path = split($http_iso, 'file://')
|
||||
exec { "get ${http_iso}":
|
||||
command => "cp ${http_iso_path[1]} ${iso}",
|
||||
onlyif => "test ! -s ${iso}",
|
||||
}
|
||||
}
|
||||
|
||||
mount { $iso_mnt:
|
||||
ensure => mounted,
|
||||
device => $iso,
|
||||
options => 'loop',
|
||||
fstype => 'iso9660',
|
||||
require => [Exec["get ${http_iso}"], File[$iso_mnt]],
|
||||
}
|
||||
|
||||
file { $iso_link:
|
||||
ensure => link,
|
||||
target => $iso_mnt,
|
||||
}
|
||||
|
||||
cobbler_distro { "ubuntu_1404_x86_64":
|
||||
kernel => "${iso_mnt}/linux",
|
||||
initrd => "${iso_mnt}/initrd.gz",
|
||||
arch => 'x86_64',
|
||||
breed => 'ubuntu',
|
||||
osversion => 'trusty',
|
||||
ksmeta => "tree_host=${tree_host} tree_url=${tree_url}",
|
||||
require => Mount[$iso_mnt],
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
# Copyright 2013 Mirantis, Inc.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
# This class is intended to make cobbler profile ubuntu_1404_x86_64.
|
||||
#
|
||||
# [distro] The name of cobbler distro to bind profile to.
|
||||
#
|
||||
# [ks_system_timezone] System timezone on installed system.
|
||||
#
|
||||
# [ks_encrypted_root_password] Hash of the root password on installed system.
|
||||
|
||||
class cobbler::profile::ubuntu_1404_x86_64(
|
||||
$distro = "ubuntu_1404_x86_64",
|
||||
$ks_repo = [
|
||||
{
|
||||
"name" => "Mirantis",
|
||||
"url" => "http://download.mirantis.com/precise-grizzly-fuel-3.2/",
|
||||
"key" => "http://download.mirantis.com/precise-grizzly-fuel-3.2/Mirantis.key",
|
||||
"release" => "trusty",
|
||||
"repos" => "main",
|
||||
},
|
||||
],
|
||||
|
||||
$ks_system_timezone = "America/Los_Angeles",
|
||||
|
||||
# default password is 'r00tme'
|
||||
$ks_encrypted_root_password = "\$6\$tCD3X7ji\$1urw6qEMDkVxOkD33b4TpQAjRiCeDZx0jmgMhDYhfB9KuGfqO9OcMaKyUxnGGWslEDQ4HxTw7vcAMP85NxQe61",
|
||||
|
||||
$kopts = "priority=critical locale=en_US biosdevname=0 netcfg/choose_interface=auto auto=true netcfg/dhcp_timeout=120 netcfg/link_detection_timeout=20",
|
||||
){
|
||||
|
||||
case $operatingsystem {
|
||||
/(?i)(ubuntu|debian|centos|redhat)$/: {
|
||||
$ks_dir = "/var/lib/cobbler/kickstarts"
|
||||
}
|
||||
}
|
||||
|
||||
file { "${ks_dir}/ubuntu_1404_x86_64.preseed":
|
||||
content => template("cobbler/preseed/ubuntu-1404.preseed.erb"),
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0644,
|
||||
} ->
|
||||
|
||||
cobbler_profile { "ubuntu_1404_x86_64":
|
||||
kickstart => "${ks_dir}/ubuntu_1404_x86_64.preseed",
|
||||
kopts => $kopts,
|
||||
distro => $distro,
|
||||
ksmeta => "",
|
||||
menu => true,
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
d-i debian-installer/locale string en_US.UTF-8
|
||||
|
||||
d-i debian-installer/splash boolean false
|
||||
|
||||
d-i console-setup/ask_detect boolean false
|
||||
d-i console-setup/layoutcode string us
|
||||
d-i console-setup/variantcode string
|
||||
|
||||
# !!!! do not use netcfg/enable option because netcfg segfaults
|
||||
# d-i netcfg/enable boolean false
|
||||
d-i netcfg/choose_interface select auto
|
||||
|
||||
# by default we use dhcp but it is possible to set network
|
||||
# configuration via kernel parameters
|
||||
d-i netcfg/dhcp_timeout string 30
|
||||
d-i netcfg/dhcp_failed note
|
||||
d-i netcfg/dhcp_options select Configure network manually
|
||||
|
||||
# these lines must be added via system kopts
|
||||
# d-i netcfg/get_hostname string nailgun
|
||||
# d-i netcfg/get_domain string example.com
|
||||
|
||||
d-i hw-detect/load_firmware boolean true
|
||||
|
||||
d-i clock-setup/utc boolean true
|
||||
d-i clock-setup/ntp boolean false
|
||||
d-i time/zone string <%= @ks_system_timezone %>
|
||||
|
||||
$SNIPPET('ubuntu_network_console_and_syslog')
|
||||
|
||||
$SNIPPET('ubuntu_partition')
|
||||
|
||||
d-i base-installer/kernel/image string linux-image-generic-lts-trusty
|
||||
|
||||
|
||||
##########
|
||||
# REPOS
|
||||
##########
|
||||
|
||||
d-i mirror/protocol string http
|
||||
d-i mirror/country string manual
|
||||
d-i mirror/http/hostname string @@server@@:8080
|
||||
d-i mirror/http/directory string /ubuntu/x86_64
|
||||
d-i mirror/http/proxy string
|
||||
|
||||
d-i mirror/suite string trusty
|
||||
# Suite to use for loading installer components (optional).
|
||||
d-i mirror/udeb/suite string trusty
|
||||
# Components to use for loading installer components (optional).
|
||||
d-i mirror/udeb/components multiselect main, restricted
|
||||
# Retry failed repo
|
||||
d-i apt-setup/mirror/error select Retry
|
||||
# Downloading a file failed
|
||||
# d-i apt-setup/use_mirror select Retry
|
||||
|
||||
d-i apt-setup/restricted boolean true
|
||||
d-i apt-setup/universe boolean true
|
||||
d-i apt-setup/use_mirror boolean true
|
||||
d-i apt-setup/security_host 127.0.0.1
|
||||
|
||||
d-i debian-installer/allow_unauthenticated boolean true
|
||||
|
||||
d-i console-setup/ask_detect boolean false
|
||||
d-i keyboard-configuration/layoutcode string us
|
||||
d-i keyboard-configuration/modelcode string SKIP
|
||||
|
||||
#if $varExists('repo_metadata')
|
||||
# Additional repositories, local[0-9] available
|
||||
#set counter_x = 0
|
||||
#set repo_list = dict(item.split("=") for item in $repo_metadata.split(","))
|
||||
#for $repo_name, $repo_url in $repo_list.items()
|
||||
d-i apt-setup/local$counter_x/repository string deb $repo_url
|
||||
d-i apt-setup/local$counter_x/comment string $repo_name
|
||||
#set counter_x = $counter_x + 1
|
||||
#end for
|
||||
#end if
|
||||
|
||||
##########
|
||||
# USERS
|
||||
##########
|
||||
|
||||
# Allow root login
|
||||
d-i passwd/root-login boolean true
|
||||
d-i passwd/root-password-crypted password <%= @ks_encrypted_root_password %>
|
||||
|
||||
d-i passwd/make-user boolean false
|
||||
|
||||
############
|
||||
# PACKAGES
|
||||
############
|
||||
|
||||
tasksel tasksel/first multiselect standard
|
||||
|
||||
debconf debconf/frontend select Noninteractive
|
||||
|
||||
# d-i pkgsel/include string openssh-server debconf-utils
|
||||
$SNIPPET('ubuntu_packages')
|
||||
d-i pkgsel/language-packs multiselect en
|
||||
d-i pkgsel/update-policy select none
|
||||
d-i pkgsel/upgrade select none
|
||||
d-i pkgsel/updatedb boolean true
|
||||
|
||||
|
||||
|
||||
|
||||
d-i finish-install/keep-consoles boolean false
|
||||
d-i finish-install/reboot_in_progress note
|
||||
|
||||
d-i cdrom-detect/eject boolean true
|
||||
|
||||
d-i debian-installer/exit/halt boolean false
|
||||
d-i debian-installer/exit/poweroff boolean false
|
||||
|
||||
|
||||
################
|
||||
# LATE COMMANDS
|
||||
################
|
||||
|
||||
# TODO:
|
||||
# add puppet and mcollective configuration
|
||||
# add network configuration
|
||||
d-i preseed/late_command string true && \
|
||||
$SNIPPET('ubuntu_partition_late')
|
||||
$SNIPPET('ubuntu_disable_pxe') && \
|
||||
$SNIPPET('ubuntu_network') && \
|
||||
echo 'supersede routers 0;' > /target/etc/dhcp/dhclient.conf && \
|
||||
$SNIPPET('cinder_create_lvm_group__ubuntu') && \
|
||||
$SNIPPET('ubuntu_puppet_config') && \
|
||||
$SNIPPET('ubuntu_mcollective_config') && \
|
||||
$SNIPPET('ntp_to_masternode_ubuntu')
|
||||
echo "nf_conntrack_ipv4" >> /target/etc/modules && \
|
||||
echo "nf_conntrack_ipv6" >> /target/etc/modules && \
|
||||
echo "net.nf_conntrack_max=1048576" >> /target/etc/sysctl.conf && \
|
||||
mkdir -p /target/etc/nailgun-agent && \
|
||||
#set nailgun_agent_conf = '/target/etc/nailgun-agent/config.yaml'
|
||||
echo "---" > $nailgun_agent_conf && \
|
||||
echo "url: '<%= scope.lookupvar('nailgun::cobbler::nailgun_api_url') %>'" >> $nailgun_agent_conf && \
|
||||
echo target > /target/etc/nailgun_systemtype && \
|
||||
echo 'APT::Get::AllowUnauthenticated 1;' > /target/etc/apt/apt.conf.d/02mirantis-allow-unsigned && \
|
||||
# REPOSITORIES FROM Nailgun
|
||||
#if $varExists('repo_metadata')
|
||||
echo "" /target/etc/apt/sources.list && \
|
||||
#set repo_list = dict(item.split("=") for item in $repo_metadata.split(","))
|
||||
#for $repo_name, $repo_url in $repo_list.items()
|
||||
echo 'deb $repo_url' >> /target/etc/apt/sources.list && \
|
||||
#end for
|
||||
#else
|
||||
echo 'deb http://@@server@@:8080/ubuntu/x86_64 trusty main' > /target/etc/apt/sources.list && \
|
||||
#end if
|
||||
$SNIPPET('ubuntu_authorized_keys')
|
||||
sed -i -e "/^\s*GSSAPICleanupCredentials yes/d" -e "/^\s*GSSAPIAuthentication yes/d" -e "s/.*PasswordAuthentication\ .*/PasswordAuthentication\ no/g" -e "/UseDNS/d" /target/etc/ssh/sshd_config && \
|
||||
echo "UseDNS no" >> /target/etc/ssh/sshd_config && \
|
||||
in-target apt-get -y install linux-headers-generic-lts-trusty && \
|
||||
in-target apt-get update; \
|
||||
in-target apt-get upgrade -y; \
|
||||
$SNIPPET('ubuntu_blacklist_i2c_piix4')
|
||||
$SNIPPET('ubuntu_static_net')
|
||||
$SNIPPET('ofed_install_with_sriov')
|
||||
# Rsyslogd should send all messages to master node
|
||||
$SNIPPET('target_logs_to_master_ubuntu')
|
||||
true
|
@ -1,4 +1,4 @@
|
||||
#set $pkgsel_packages = ["acl", "openssh-server", "debconf-utils", "ntp", "ntpdate", "ruby-ipaddress", "ruby-netaddr", "ruby-openstack", "libaugeas-ruby", "libstomp-ruby1.8", "libshadow-ruby1.8", "libjson-ruby1.8", "vim", "vlan", "curl", "anacron", "python-amqp", "nailgun-agent", "nailgun-mcagents", "lvm2", "nailgun-net-check", "puppet", "telnet", "gdisk", "daemonize", "rsync", "virt-what" ]
|
||||
#set $pkgsel_packages = ["acl", "openssh-server", "debconf-utils", "ntp", "ntpdate", "ruby-ipaddress", "ruby-netaddr", "ruby-openstack", "ruby-augeas", "ruby-stomp", "ruby-shadow", "ruby-json", "vim", "vlan", "curl", "anacron", "python-amqp", "nailgun-agent", "nailgun-mcagents", "lvm2", "nailgun-net-check", "puppet", "telnet", "gdisk", "daemonize", "rsync", "virt-what" ]
|
||||
|
||||
#if $str($getVar('mco_auto_setup','')) == "1"
|
||||
#silent $pkgsel_packages.append("ruby-stomp")
|
||||
|
@ -115,19 +115,19 @@ class nailgun::cobbler(
|
||||
}
|
||||
|
||||
file { "/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed":
|
||||
content => template("cobbler/preseed/ubuntu-1204.preseed.erb"),
|
||||
content => template("cobbler/preseed/ubuntu-1404.preseed.erb"),
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0644,
|
||||
require => Class["::cobbler::server"],
|
||||
} ->
|
||||
|
||||
cobbler_distro { "ubuntu_1204_x86_64":
|
||||
cobbler_distro { "ubuntu_1404_x86_64":
|
||||
kernel => "${repo_root}/ubuntu/x86_64/images/linux",
|
||||
initrd => "${repo_root}/ubuntu/x86_64/images/initrd.gz",
|
||||
arch => "x86_64",
|
||||
breed => "ubuntu",
|
||||
osversion => "precise",
|
||||
osversion => "trusty",
|
||||
ksmeta => "",
|
||||
require => Class["::cobbler::server"],
|
||||
}
|
||||
@ -143,14 +143,14 @@ class nailgun::cobbler(
|
||||
require => Cobbler_distro["centos-x86_64"],
|
||||
}
|
||||
|
||||
cobbler_profile { "ubuntu_1204_x86_64":
|
||||
cobbler_profile { "ubuntu_1404_x86_64":
|
||||
kickstart => "/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed",
|
||||
kopts => "netcfg/choose_interface=eth0 netcfg/dhcp_timeout=120 netcfg/link_detection_timeout=20",
|
||||
distro => "ubuntu_1204_x86_64",
|
||||
distro => "ubuntu_1404_x86_64",
|
||||
ksmeta => "",
|
||||
menu => true,
|
||||
server => $real_server,
|
||||
require => Cobbler_distro["ubuntu_1204_x86_64"],
|
||||
require => Cobbler_distro["ubuntu_1404_x86_64"],
|
||||
}
|
||||
|
||||
|
||||
|
@ -141,7 +141,7 @@ The ``cobbler_common`` section applies to all machines::
|
||||
# for Centos
|
||||
profile: "centos64_x86_64"
|
||||
# for Ubuntu
|
||||
# profile: "ubuntu_1204_x86_64"
|
||||
# profile: "ubuntu_1404_x86_64"
|
||||
|
||||
Fuel can install CentOS or Ubuntu on your servers, or you can add a profile of your own. By default, ``config.yaml`` uses CentOS. ::
|
||||
|
||||
|
@ -116,7 +116,7 @@ common:
|
||||
# for Centos
|
||||
profile: "centos64_x86_64"
|
||||
# for Ubuntu
|
||||
# profile: "ubuntu_1204_x86_64"
|
||||
# profile: "ubuntu_1404_x86_64"
|
||||
netboot-enabled: "1"
|
||||
# for Ubuntu
|
||||
# ksmeta: "puppet_version=2.7.19-1puppetlabs2 \
|
||||
|
Loading…
Reference in New Issue
Block a user