Add support for CentOS.
- Install openjdk 1.8.0 headless. - Manage the /boot that is mounted as RAID 1 on all available disks. Change-Id: Ie346a466132d0dabc2eda61d4ac65ebd50b78222
This commit is contained in:
parent
7017a809fd
commit
5e878fba1b
|
@ -3,7 +3,12 @@ $fuel_settings = parseyaml(file('/etc/astute.yaml'))
|
||||||
# Params related to Elasticsearch.
|
# Params related to Elasticsearch.
|
||||||
$es_dir = $fuel_settings['elasticsearch_kibana']['data_dir']
|
$es_dir = $fuel_settings['elasticsearch_kibana']['data_dir']
|
||||||
$es_instance = "es-01"
|
$es_instance = "es-01"
|
||||||
$java = "openjdk-7-jre-headless"
|
|
||||||
|
# Java
|
||||||
|
$java = $::operatingsystem ? {
|
||||||
|
CentOS => "java-1.8.0-openjdk-headless",
|
||||||
|
Ubuntu => "openjdk-7-jre-headless"
|
||||||
|
}
|
||||||
|
|
||||||
# Ensure that java is installed
|
# Ensure that java is installed
|
||||||
package { $java:
|
package { $java:
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Use this script if you want to allocate a new partition that is already used
|
||||||
|
# in RAID. It is the case for example with the current deployment of CentOS.
|
||||||
|
|
||||||
|
# $1 is the disk (for example: /dev/sdc)
|
||||||
|
# $2 is the raid : default is "/dev/md0"
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
DISK=$1
|
||||||
|
RAID=${2:-/dev/md0}
|
||||||
|
|
||||||
|
MDADM=$(which mdadm 2>/dev/null)
|
||||||
|
PARTED=$(which parted 2>/dev/null)
|
||||||
|
PARTPROBE=$(which partprobe 2>/dev/null)
|
||||||
|
|
||||||
|
function add_new_partition {
|
||||||
|
FREESPACE=$(${PARTED} "$1" unit s p free | grep "Free Space" | awk '{print $1, $2}')
|
||||||
|
if [[ -z "${FREESPACE}" ]]
|
||||||
|
then
|
||||||
|
echo "Failed to find free space"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
${PARTED} -s -- $1 unit s mkpart primary ${FREESPACE} &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the partition involved into RAID.
|
||||||
|
PARTITION=$(${MDADM} -D ${RAID} | grep "active" | grep ${DISK} | awk '{print $7}')
|
||||||
|
|
||||||
|
# Remove the partition from RAID.
|
||||||
|
$MDADM $RAID --fail $PARTITION --remove $PARTITION &>/dev/null
|
||||||
|
|
||||||
|
# Create a new partition
|
||||||
|
add_new_partition $DISK
|
||||||
|
|
||||||
|
# Add the partition that belongs to the raid.
|
||||||
|
$MDADM --add $RAID $PARTITION
|
|
@ -33,11 +33,18 @@ class disk_management (
|
||||||
$vg_name,
|
$vg_name,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
# CentOS is deployed with a /boot in RAID 1. We create a new partition with
|
||||||
|
# an ID 4. Until we improve this we need to deal with it.
|
||||||
|
$usedisks = $::operatingsystem ? {
|
||||||
|
CentOS => regsubst($disks, '/dev/([a-z]+)', '/dev/\14', 'G'),
|
||||||
|
Ubuntu => $disks
|
||||||
|
}
|
||||||
|
|
||||||
disk_management::partition { $disks:
|
disk_management::partition { $disks:
|
||||||
}
|
}
|
||||||
|
|
||||||
disk_management::lvm_fs { $directory:
|
disk_management::lvm_fs { $directory:
|
||||||
disks => $disks,
|
disks => $usedisks,
|
||||||
lv_name => $lv_name,
|
lv_name => $lv_name,
|
||||||
vg_name => $vg_name,
|
vg_name => $vg_name,
|
||||||
require => Disk_management::Partition[$disks],
|
require => Disk_management::Partition[$disks],
|
||||||
|
|
|
@ -1 +1,32 @@
|
||||||
define disk_management::partition {}
|
define disk_management::partition {
|
||||||
|
|
||||||
|
$disk = $title
|
||||||
|
$script = "/usr/local/bin/add_partition_on_raid.sh"
|
||||||
|
$cmd = "${script} ${disk}"
|
||||||
|
|
||||||
|
case $::osfamily {
|
||||||
|
'RedHat': {
|
||||||
|
# CentOS deploys /boot into a RAID on all available disks. So in
|
||||||
|
# this case we need to create a new partition instead of using the whole
|
||||||
|
# disks as we do for Debian family.
|
||||||
|
|
||||||
|
package { 'parted':
|
||||||
|
ensure => installed,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { $script:
|
||||||
|
ensure => 'file',
|
||||||
|
source => 'puppet:///modules/disk_management/add_partition_on_raid.sh',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0700',
|
||||||
|
require => Package['parted'],
|
||||||
|
}
|
||||||
|
|
||||||
|
exec { 'run_script':
|
||||||
|
command => $cmd,
|
||||||
|
require => File[$script],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -16,11 +16,11 @@ releases:
|
||||||
mode: ['ha', 'multinode']
|
mode: ['ha', 'multinode']
|
||||||
deployment_scripts_path: deployment_scripts/
|
deployment_scripts_path: deployment_scripts/
|
||||||
repository_path: repositories/ubuntu
|
repository_path: repositories/ubuntu
|
||||||
# - os: centos
|
- os: centos
|
||||||
# version: 2014.2-6.1
|
version: 2014.2-6.1
|
||||||
# mode: ['ha', 'multinode']
|
mode: ['ha', 'multinode']
|
||||||
# deployment_scripts_path: deployment_scripts/
|
deployment_scripts_path: deployment_scripts/
|
||||||
# repository_path: repositories/centos
|
repository_path: repositories/centos
|
||||||
|
|
||||||
# Version of plugin package
|
# Version of plugin package
|
||||||
package_version: '1.0.0'
|
package_version: '1.0.0'
|
||||||
|
|
|
@ -19,20 +19,33 @@ FUEL_LIB_TARBALL_URL="https://github.com/stackforge/fuel-library/archive/${FUEL_
|
||||||
# Kibana 3 sources
|
# Kibana 3 sources
|
||||||
KIBANA_TARBALL_URL="https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz"
|
KIBANA_TARBALL_URL="https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz"
|
||||||
|
|
||||||
# Downloads needed DEB
|
# Downloads needed RPM or DEB packages
|
||||||
function deb_download {
|
function download {
|
||||||
FILE=$(basename $1)
|
case "$1" in
|
||||||
wget -qO - $1 > ${DEB_REPO}/$FILE
|
deb) REPO=$DEB_REPO;;
|
||||||
|
rpm) REPO=$RPM_REPO;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
FILE=$(basename $1)
|
||||||
|
wget -qO - $1 > $REPO/$FILE
|
||||||
|
shift
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Packages needed to install JRE headless
|
# Packages needed to install JRE headless
|
||||||
deb_download http://mirrors.kernel.org/ubuntu/pool/main/t/tzdata/tzdata_2015a-0ubuntu0.12.04_all.deb
|
download deb http://mirrors.kernel.org/ubuntu/pool/main/t/tzdata/tzdata_2015a-0ubuntu0.12.04_all.deb \
|
||||||
deb_download http://mirrors.kernel.org/ubuntu/pool/main/t/tzdata/tzdata-java_2015a-0ubuntu0.12.04_all.deb
|
http://mirrors.kernel.org/ubuntu/pool/main/t/tzdata/tzdata-java_2015a-0ubuntu0.12.04_all.deb \
|
||||||
deb_download http://mirrors.kernel.org/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.7.4-2ubuntu2_amd64.deb
|
http://mirrors.kernel.org/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.7.4-2ubuntu2_amd64.deb \
|
||||||
deb_download http://mirrors.kernel.org/ubuntu/pool/main/c/ca-certificates-java/ca-certificates-java_20110912ubuntu6_all.deb
|
http://mirrors.kernel.org/ubuntu/pool/main/c/ca-certificates-java/ca-certificates-java_20110912ubuntu6_all.deb \
|
||||||
deb_download http://mirrors.kernel.org/ubuntu/pool/main/j/java-common/java-common_0.43ubuntu2_all.deb
|
http://mirrors.kernel.org/ubuntu/pool/main/j/java-common/java-common_0.43ubuntu2_all.deb \
|
||||||
deb_download http://security.ubuntu.com/ubuntu/pool/universe/o/openjdk-7/openjdk-7-jre-headless_7u75-2.5.4-1~precise1_amd64.deb
|
http://security.ubuntu.com/ubuntu/pool/universe/o/openjdk-7/openjdk-7-jre-headless_7u75-2.5.4-1~precise1_amd64.deb \
|
||||||
deb_download https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.deb
|
https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.deb
|
||||||
|
|
||||||
|
# For redhat only java 1.8 headless is needed
|
||||||
|
download rpm http://mirror.centos.org/centos/6/updates/x86_64/Packages/java-1.8.0-openjdk-headless-1.8.0.31-1.b13.el6_6.x86_64.rpm \
|
||||||
|
https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm
|
||||||
|
|
||||||
# Install puppet manifests
|
# Install puppet manifests
|
||||||
# Clean-up first
|
# Clean-up first
|
||||||
|
|
Loading…
Reference in New Issue