Remove CentOS bootstrap image
Related-bug: #1536658 Implements: blueprint remove-centos-bootstrap-from-fuel Change-Id: If9becaa06d0fd382d191dd5cbb3bb19697d8c544
This commit is contained in:
parent
51770f4a7b
commit
773bedcdd1
2
Makefile
2
Makefile
|
@ -16,7 +16,6 @@ help:
|
||||||
@echo
|
@echo
|
||||||
@echo 'Available targets:'
|
@echo 'Available targets:'
|
||||||
@echo ' all - build product'
|
@echo ' all - build product'
|
||||||
@echo ' bootstrap - build bootstrap'
|
|
||||||
@echo ' iso - build iso image'
|
@echo ' iso - build iso image'
|
||||||
@echo ' clean - remove build directory and resetting .done flags'
|
@echo ' clean - remove build directory and resetting .done flags'
|
||||||
@echo ' deep_clean - clean + removing $(LOCAL_MIRROR) directory'
|
@echo ' deep_clean - clean + removing $(LOCAL_MIRROR) directory'
|
||||||
|
@ -71,6 +70,5 @@ include $(SOURCE_DIR)/repos.mk
|
||||||
include $(SOURCE_DIR)/mirror/module.mk
|
include $(SOURCE_DIR)/mirror/module.mk
|
||||||
include $(SOURCE_DIR)/packages/module.mk
|
include $(SOURCE_DIR)/packages/module.mk
|
||||||
include $(SOURCE_DIR)/docker/module.mk
|
include $(SOURCE_DIR)/docker/module.mk
|
||||||
include $(SOURCE_DIR)/bootstrap/module.mk
|
|
||||||
include $(SOURCE_DIR)/iso/module.mk
|
include $(SOURCE_DIR)/iso/module.mk
|
||||||
include $(SOURCE_DIR)/virtualbox.mk
|
include $(SOURCE_DIR)/virtualbox.mk
|
||||||
|
|
|
@ -4,10 +4,6 @@ FUEL
|
||||||
This git repository contains Fuel ISO build scripts.
|
This git repository contains Fuel ISO build scripts.
|
||||||
|
|
||||||
Directory structure:
|
Directory structure:
|
||||||
- ```bootstrap```
|
|
||||||
Scripts for building CentOS based bootstrap ramdisk. The Fuel discovery
|
|
||||||
agent (nailgun-agent) and Fuel operating system provisioning agent (fuel-agent)
|
|
||||||
are installed into this ramdisk.
|
|
||||||
- ```docker```
|
- ```docker```
|
||||||
Scripts for building Docker containers are located. The Fuel
|
Scripts for building Docker containers are located. The Fuel
|
||||||
master node is deployed using Docker. Every Fuel major component like Nailgun, Astute,
|
master node is deployed using Docker. Every Fuel major component like Nailgun, Astute,
|
||||||
|
|
|
@ -1,234 +0,0 @@
|
||||||
.PHONY: bootstrap clean clean-bootstrap
|
|
||||||
|
|
||||||
bootstrap: $(BUILD_DIR)/bootstrap/build.done
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/build.done: \
|
|
||||||
$(BUILD_DIR)/bootstrap/linux \
|
|
||||||
$(BUILD_DIR)/bootstrap/initramfs.img
|
|
||||||
$(ACTION.TOUCH)
|
|
||||||
|
|
||||||
INITRAMROOT:=$(BUILD_DIR)/bootstrap/initram-root
|
|
||||||
|
|
||||||
BOOTSTRAP_RPMS:=\
|
|
||||||
bash \
|
|
||||||
bfa-firmware \
|
|
||||||
ql2100-firmware \
|
|
||||||
ql2200-firmware \
|
|
||||||
ql23xx-firmware \
|
|
||||||
crontabs \
|
|
||||||
dhclient \
|
|
||||||
dmidecode \
|
|
||||||
iputils \
|
|
||||||
logrotate \
|
|
||||||
mcollective \
|
|
||||||
mingetty \
|
|
||||||
nc \
|
|
||||||
net-tools \
|
|
||||||
ntp \
|
|
||||||
ntpdate \
|
|
||||||
openssh-clients \
|
|
||||||
openssh-server \
|
|
||||||
pciutils \
|
|
||||||
plymouth \
|
|
||||||
rsyslog \
|
|
||||||
scapy \
|
|
||||||
tcpdump \
|
|
||||||
vconfig \
|
|
||||||
vim-minimal \
|
|
||||||
wget
|
|
||||||
|
|
||||||
|
|
||||||
BOOTSTRAP_RPMS_CUSTOM:=\
|
|
||||||
nailgun-agent \
|
|
||||||
nailgun-mcagents \
|
|
||||||
network-checker \
|
|
||||||
fuel-agent \
|
|
||||||
rubygem-mime-types \
|
|
||||||
rubygem-ffi \
|
|
||||||
rubygem-ffi-yajl \
|
|
||||||
rubygem-mixlib-shellout \
|
|
||||||
rubygem-wmi-lite
|
|
||||||
|
|
||||||
define yum_local_repo
|
|
||||||
[mirror]
|
|
||||||
name=Upstream mirror
|
|
||||||
baseurl=file://$(LOCAL_MIRROR_CENTOS_OS_BASEURL)
|
|
||||||
gpgcheck=0
|
|
||||||
enabled=1
|
|
||||||
[mos-mirror]
|
|
||||||
name=MOS mirror
|
|
||||||
baseurl=file://$(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)
|
|
||||||
gpgcheck=0
|
|
||||||
enabled=1
|
|
||||||
endef
|
|
||||||
|
|
||||||
# add extra repo to bootstrap
|
|
||||||
define yum_local_extra_repo
|
|
||||||
[$(call get_repo_name,$1)]
|
|
||||||
name = Extra repo "$(call get_repo_name,$1)"
|
|
||||||
baseurl = file://$(LOCAL_MIRROR)/extra-repos/$(call get_repo_name,$1)
|
|
||||||
gpgcheck = 0
|
|
||||||
enabled = 1
|
|
||||||
priority = $(call get_repo_priority,$1)
|
|
||||||
exclude=*debuginfo*
|
|
||||||
endef
|
|
||||||
|
|
||||||
define bootstrap_yum_conf
|
|
||||||
[main]
|
|
||||||
cachedir=$(BUILD_DIR)/bootstrap/cache
|
|
||||||
keepcache=0
|
|
||||||
debuglevel=6
|
|
||||||
logfile=$(BUILD_DIR)/bootstrap/yum.log
|
|
||||||
exclude=*.i686.rpm
|
|
||||||
exactarch=1
|
|
||||||
obsoletes=1
|
|
||||||
gpgcheck=0
|
|
||||||
plugins=1
|
|
||||||
pluginpath=$(BUILD_DIR)/bootstrap/etc/yum-plugins
|
|
||||||
pluginconfpath=$(BUILD_DIR)/bootstrap/etc/yum/pluginconf.d
|
|
||||||
reposdir=$(BUILD_DIR)/bootstrap/etc/yum.repos.d
|
|
||||||
endef
|
|
||||||
|
|
||||||
#FIXME Partial-Bug: #1403088
|
|
||||||
YUM:=sudo yum -c $(BUILD_DIR)/bootstrap/etc/yum.conf --exclude=ruby-2.1.1 --exclude=ruby21 --installroot=$(INITRAMROOT) -y --nogpgcheck
|
|
||||||
|
|
||||||
KERNEL_PATTERN:=kernel-3.10.0*
|
|
||||||
KERNEL_FIRMWARE_PATTERN:=linux-firmware*
|
|
||||||
|
|
||||||
clean: clean-bootstrap
|
|
||||||
|
|
||||||
clean-bootstrap:
|
|
||||||
sudo rm -rf $(INITRAMROOT)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/initramfs.img: \
|
|
||||||
$(BUILD_DIR)/bootstrap/customize-initram-root.done
|
|
||||||
sudo sh -c "cd $(INITRAMROOT) && find . -xdev | cpio --create \
|
|
||||||
--format='newc' | gzip -9 > $(BUILD_DIR)/bootstrap/initramfs.img"
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/linux: $(BUILD_DIR)/mirror/centos/build.done
|
|
||||||
mkdir -p $(BUILD_DIR)/bootstrap
|
|
||||||
find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name '$(KERNEL_PATTERN)' | xargs rpm2cpio | \
|
|
||||||
(cd $(BUILD_DIR)/bootstrap/; cpio -imd './boot/vmlinuz*')
|
|
||||||
mv $(BUILD_DIR)/bootstrap/boot/vmlinuz* $(BUILD_DIR)/bootstrap/linux
|
|
||||||
rm -r $(BUILD_DIR)/bootstrap/boot
|
|
||||||
touch $(BUILD_DIR)/bootstrap/linux
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/extra.repo: $(call depv,EXTRA_RPM_REPOS)
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/extra.repo: \
|
|
||||||
export contents:=$(foreach repo,$(EXTRA_RPM_REPOS),\n$(call yum_local_extra_repo,$(repo))\n)
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/extra.repo:
|
|
||||||
@mkdir -p $(@D)
|
|
||||||
/bin/echo -e "$${contents}" > $@
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.conf: export contents:=$(bootstrap_yum_conf)
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/base.repo: export contents:=$(yum_local_repo)
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.conf $(BUILD_DIR)/bootstrap/etc/yum.repos.d/base.repo: $(BUILD_DIR)/bootstrap/etc/yum.repos.d/extra.repo
|
|
||||||
mkdir -p $(@D)
|
|
||||||
/bin/echo -e "$${contents}" > $@
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/customize-initram-root.done: $(call depv,BOOTSTRAP_RPMS_CUSTOM)
|
|
||||||
$(BUILD_DIR)/bootstrap/customize-initram-root.done: \
|
|
||||||
$(BUILD_DIR)/packages/rpm/build.done \
|
|
||||||
$(BUILD_DIR)/bootstrap/prepare-initram-root.done \
|
|
||||||
$(call find-files,$(SOURCE_DIR)/bootstrap/sync) \
|
|
||||||
$(BUILD_DIR)/repos/fuel-nailgun.done \
|
|
||||||
$(call find-files,$(BUILD_DIR)/repos/fuel-nailgun/bin/send2syslog.py) \
|
|
||||||
$(SOURCE_DIR)/bootstrap/ssh/id_rsa.pub \
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.conf \
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/base.repo
|
|
||||||
|
|
||||||
# Rebuilding rpmdb
|
|
||||||
sudo rpm --root=$(INITRAMROOT) --rebuilddb
|
|
||||||
|
|
||||||
# Installing custom rpms
|
|
||||||
$(YUM) install $(BOOTSTRAP_RPMS_CUSTOM)
|
|
||||||
|
|
||||||
# Copying custom files
|
|
||||||
sudo rsync -rlptDK $(SOURCE_DIR)/bootstrap/sync/ $(INITRAMROOT)
|
|
||||||
sudo cp -r $(BUILD_DIR)/repos/fuel-nailgun/bin/send2syslog.py $(INITRAMROOT)/usr/bin
|
|
||||||
|
|
||||||
# Enable ntpd service
|
|
||||||
sudo ln -snf /etc/systemd/system/ntpd.service $(INITRAMROOT)/etc/systemd/system/default.target.wants/ntpd.service
|
|
||||||
sudo ln -snf /usr/lib/systemd/system/ntpdate.service $(INITRAMROOT)/etc/systemd/system/default.target.wants/ntpdate.service
|
|
||||||
|
|
||||||
# Enabling pre-init boot interface discovery
|
|
||||||
#sudo chroot $(INITRAMROOT) chkconfig setup-bootdev on
|
|
||||||
# Make the network script dependent on the setup-bootdev for correst network starting
|
|
||||||
sudo sed -i -e 's|\(^# Should-Start:.*\)|\1 setup-bootdev|' $(INITRAMROOT)/etc/init.d/network
|
|
||||||
|
|
||||||
# Setting root password into r00tme
|
|
||||||
sudo sed -i -e '/^root/c\root:$$6$$oC7haQNQ$$LtVf6AI.QKn9Jb89r83PtQN9fBqpHT9bAFLzy.YVxTLiFgsoqlPY3awKvbuSgtxYHx4RUcpUqMotp.WZ0Hwoj.:15441:0:99999:7:::' $(INITRAMROOT)/etc/shadow
|
|
||||||
|
|
||||||
# Copying rsa key.
|
|
||||||
sudo mkdir -p $(INITRAMROOT)/root/.ssh
|
|
||||||
sudo cp $(SOURCE_DIR)/bootstrap/ssh/id_rsa.pub $(INITRAMROOT)/root/.ssh/authorized_keys
|
|
||||||
sudo chmod 700 $(INITRAMROOT)/root/.ssh
|
|
||||||
sudo chmod 600 $(INITRAMROOT)/root/.ssh/authorized_keys
|
|
||||||
|
|
||||||
# Copying bash init files
|
|
||||||
sudo cp -f $(INITRAMROOT)/etc/skel/.bash* $(INITRAMROOT)/root/
|
|
||||||
|
|
||||||
# Removing garbage
|
|
||||||
sudo rm -rf $(INITRAMROOT)/home/*
|
|
||||||
sudo rm -rf \
|
|
||||||
$(INITRAMROOT)/var/cache/yum \
|
|
||||||
$(INITRAMROOT)/var/lib/yum \
|
|
||||||
$(INITRAMROOT)/usr/share/doc \
|
|
||||||
$(INITRAMROOT)/usr/share/locale \
|
|
||||||
sudo rm -rf $(INITRAMROOT)/tmp/*
|
|
||||||
|
|
||||||
$(ACTION.TOUCH)
|
|
||||||
|
|
||||||
$(BUILD_DIR)/bootstrap/prepare-initram-root.done: $(call depv,BOOTSTRAP_RPMS)
|
|
||||||
$(BUILD_DIR)/bootstrap/prepare-initram-root.done: \
|
|
||||||
$(BUILD_DIR)/mirror/centos/build.done \
|
|
||||||
$(BUILD_DIR)/packages/rpm/build.done \
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.conf \
|
|
||||||
$(BUILD_DIR)/bootstrap/etc/yum.repos.d/base.repo
|
|
||||||
|
|
||||||
# Installing centos-release package
|
|
||||||
sudo rpm -i --root=$(INITRAMROOT) \
|
|
||||||
`find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name "centos-release*rpm" | head -1` || \
|
|
||||||
echo "centos-release already installed"
|
|
||||||
|
|
||||||
# Removing default repositories (centos-release package provides them)
|
|
||||||
sudo rm -f $(INITRAMROOT)/etc/yum.repos.d/Cent*
|
|
||||||
|
|
||||||
# Rebuilding rpmdb
|
|
||||||
sudo rpm --root=$(INITRAMROOT) --rebuilddb
|
|
||||||
|
|
||||||
# Creating some necessary directories
|
|
||||||
sudo mkdir -p $(INITRAMROOT)/proc
|
|
||||||
sudo mkdir -p $(INITRAMROOT)/dev
|
|
||||||
sudo mkdir -p $(INITRAMROOT)/var/lib/rpm
|
|
||||||
|
|
||||||
# Installing rpms
|
|
||||||
$(YUM) install $(BOOTSTRAP_RPMS)
|
|
||||||
|
|
||||||
# Disabling mail server (it have been installed as a dependency)
|
|
||||||
-sudo chroot $(INITRAMROOT) chkconfig exim off
|
|
||||||
-sudo chroot $(INITRAMROOT) chkconfig postfix off
|
|
||||||
-sudo chroot $(INITRAMROOT) chown smmsp:smmsp /var/spool/clientmqueue
|
|
||||||
|
|
||||||
# FIXME (vparakhin): there's no single RPM repo anymore, therefore
|
|
||||||
# source mirrors for kernel, modules and libs are specified explicitly.
|
|
||||||
# Perhaps this stuff should be moved to global config.mk
|
|
||||||
|
|
||||||
# Installing kernel modules
|
|
||||||
find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name '$(KERNEL_PATTERN)' | xargs rpm2cpio | \
|
|
||||||
( cd $(INITRAMROOT); sudo cpio -idm './lib/modules/*' './boot/vmlinuz*' )
|
|
||||||
find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name '$(KERNEL_FIRMWARE_PATTERN)' | xargs rpm2cpio | \
|
|
||||||
( cd $(INITRAMROOT); sudo cpio -idm './lib/firmware/*' )
|
|
||||||
find $(LOCAL_MIRROR_CENTOS_OS_BASEURL) -name 'libmlx4*' | xargs rpm2cpio | \
|
|
||||||
( cd $(INITRAMROOT); sudo cpio -idm './etc/*' './usr/lib64/*' )
|
|
||||||
for version in `ls -1 $(INITRAMROOT)/lib/modules`; do \
|
|
||||||
sudo depmod -b $(INITRAMROOT) $$version; \
|
|
||||||
done
|
|
||||||
|
|
||||||
# Some extra actions
|
|
||||||
sudo touch $(INITRAMROOT)/etc/fstab
|
|
||||||
sudo cp $(INITRAMROOT)/sbin/init $(INITRAMROOT)/init
|
|
||||||
|
|
||||||
$(ACTION.TOUCH)
|
|
|
@ -1 +0,0 @@
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtrVTSM8tGd4E8khJn2gfN/2fymnX/0YKAGSVZTWDNIcYL5zXTlSwrccn/8EgmnNsJNxucJRT+oWqrDGaFaehuwlY/IBqm50KJVaUr5QYzOUpqVpFIpoX3UwETCxcSB1LiQYbCvrJcqOPQ4Zu9fMhMGKaAX1ohzOumn4czuLDYIvCnPnoU5RDWt7g1GaFFlzGU3JFooj7/aWFJMqJLinvay3vr2vFpBvO1y29nKu+zgpZkzzJCc0ndoVqvB+W9DY6QtgTSWfd3ZE/8vg4h8QV8H+xxqL/uWCxDkv2Y3rviAHivR/V+1YCSQH0NBJrNSkRjd+1roLhcEGT7/YEnbgVV nailgun@bootstrap
|
|
|
@ -1,16 +0,0 @@
|
||||||
[options]
|
|
||||||
broken_system_clock = true
|
|
||||||
|
|
||||||
[problems]
|
|
||||||
|
|
||||||
# Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
|
|
||||||
0x000031 = {
|
|
||||||
preen_ok = true
|
|
||||||
preen_nomessage = true
|
|
||||||
}
|
|
||||||
|
|
||||||
# Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).
|
|
||||||
0x000032 = {
|
|
||||||
preen_ok = true
|
|
||||||
preen_nomessage = true
|
|
||||||
}
|
|
|
@ -1,152 +0,0 @@
|
||||||
#! /bin/bash
|
|
||||||
#
|
|
||||||
# setup-bootdev Setup necessary network interface to DHCP
|
|
||||||
#
|
|
||||||
# chkconfig: 2345 05 90
|
|
||||||
# description: Setup necessary network interface to DHCP.
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: $(setup-bootdev)
|
|
||||||
# Short-Description: Setup necessary network interface to DHCP
|
|
||||||
# Description: Setup necessary network interface to DHCP
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
# Source function library.
|
|
||||||
. /etc/init.d/functions
|
|
||||||
|
|
||||||
cd /etc/sysconfig/network-scripts
|
|
||||||
. ./network-functions
|
|
||||||
|
|
||||||
|
|
||||||
get_bootdev() {
|
|
||||||
local ethdevice_timeout=$(sed -rne 's/^.*\s*\<ethdevice_timeout=([0-9]+)\s*.*$/\1/p' /proc/cmdline)
|
|
||||||
ethdevice_timeout="${ethdevice_timeout:-120}"
|
|
||||||
local wait4dev_interval=5
|
|
||||||
local max_attempts=$((ethdevice_timeout/wait4dev_interval))
|
|
||||||
local attempt=0
|
|
||||||
if [ $max_attempts -lt 2 ]; then
|
|
||||||
max_attempts=2
|
|
||||||
fi
|
|
||||||
|
|
||||||
bootaddr=$(ruby -e \
|
|
||||||
'File.open("/proc/cmdline") { |fo|
|
|
||||||
l = fo.read
|
|
||||||
m = l.match( /BOOTIF=([0-9A-Fa-f]{2}(-[0-9A-Fa-f]{2})+)/ )
|
|
||||||
print m[1].split("-")[-6..-1].join(":")
|
|
||||||
}' 2> /dev/null)
|
|
||||||
|
|
||||||
if [ -z "$bootaddr" ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
while [ $attempt -lt $max_attempts ]; do
|
|
||||||
dev=$(get_device_by_hwaddr $bootaddr)
|
|
||||||
if [ -n "$dev" ]; then
|
|
||||||
break
|
|
||||||
else
|
|
||||||
attempt=$((attempt+1))
|
|
||||||
echo "Failed to find boot NIC (mac $bootaddr), retrying in $wait4dev_interval sec." >&2
|
|
||||||
sleep $wait4dev_interval
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ -z "$dev" ]; then
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo $dev
|
|
||||||
}
|
|
||||||
|
|
||||||
get_alldevs() {
|
|
||||||
# Take all not virtual network devices given by links (to omit files)
|
|
||||||
# Choose ethernet, but exclude wireless, bond, vlan, loopback, tunnels ...
|
|
||||||
for DEV in /sys/class/net/* ; do
|
|
||||||
# Take only links into account, skip files
|
|
||||||
if test ! -L $DEV ; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
DEVPATH=$(readlink -f $DEV)
|
|
||||||
# Drop virtual devices like loopback, tunnels, bonding, vlans ...
|
|
||||||
case $DEVPATH in
|
|
||||||
*/virtual/*)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
IF=${DEVPATH##*/}
|
|
||||||
# Check ethernet only
|
|
||||||
case "`cat $DEV/type`" in
|
|
||||||
1)
|
|
||||||
# TYPE=1 is ethernet, may also be wireless
|
|
||||||
# Virtual (lo, bound, vlan, tunnel ...) have been skipped before
|
|
||||||
if test -d $DEV/wireless -o -L $DEV/phy80211 ;
|
|
||||||
then
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
# Catch ethernet non-virtual device
|
|
||||||
echo $IF
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*) continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
set_interfaces_up_when_booted() {
|
|
||||||
devs=$(get_alldevs)
|
|
||||||
for name in $devs; do
|
|
||||||
content="DEVICE=$name\nBOOTPROTO=none\nONBOOT=yes\nLINKDELAY=30"
|
|
||||||
echo -e "$content" > "./ifcfg-$name"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# See how we were called.
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
echo -n "Waiting for network hardware to initialize..."
|
|
||||||
udevadm trigger --subsystem-match=net
|
|
||||||
udevadm settle
|
|
||||||
echo -n "Configure all interfaces as active..."
|
|
||||||
set_interfaces_up_when_booted
|
|
||||||
echo "ok."
|
|
||||||
echo -n "Obtain boot interface name..."
|
|
||||||
dev=$(get_bootdev)
|
|
||||||
rc=$?
|
|
||||||
|
|
||||||
if [ $rc -ne 0 ]; then
|
|
||||||
echo "failed."
|
|
||||||
echo -en "Obtain all eth interfaces..."
|
|
||||||
dev=$(get_alldevs)
|
|
||||||
if [ -z "$dev" ]; then
|
|
||||||
rc=1
|
|
||||||
echo "failed."
|
|
||||||
else
|
|
||||||
rc=0
|
|
||||||
dev_str=$(echo "$dev"|tr "\n" " "|sed 's/ *$//')
|
|
||||||
echo "ok ($dev_str)."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "ok ($dev)."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $rc -eq 0 ]; then
|
|
||||||
for name in $dev; do
|
|
||||||
# sometimes shell is very picky about tabs and spaces
|
|
||||||
# tabs used here to make here-document work
|
|
||||||
cat > "./ifcfg-${name}" <<-EOF
|
|
||||||
DEVICE=$name
|
|
||||||
BOOTPROTO=dhcp
|
|
||||||
ONBOOT=yes
|
|
||||||
LINKDELAY=30
|
|
||||||
PERSISTENT_DHCLIENT=yes
|
|
||||||
EOF
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
action $"Update network interfaces settings: " [ $rc -eq 0 ]
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
rc=0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $rc
|
|
|
@ -1,9 +0,0 @@
|
||||||
# tty - getty
|
|
||||||
#
|
|
||||||
# This service maintains a getty on the specified device.
|
|
||||||
|
|
||||||
stop on runlevel [S016]
|
|
||||||
|
|
||||||
respawn
|
|
||||||
instance $TTY
|
|
||||||
exec /sbin/mingetty --noclear $TTY
|
|
Binary file not shown.
|
@ -1,28 +0,0 @@
|
||||||
/var/log/cron
|
|
||||||
/var/log/maillog
|
|
||||||
/var/log/messages
|
|
||||||
/var/log/secure
|
|
||||||
/var/log/spooler
|
|
||||||
/var/log/mcollective.log
|
|
||||||
/var/log/nailgun-agent.log
|
|
||||||
{
|
|
||||||
# This file is used for daily log rotations, do not use size options here
|
|
||||||
sharedscripts
|
|
||||||
daily
|
|
||||||
# rotate only if 30M size or bigger
|
|
||||||
minsize 30M
|
|
||||||
maxsize 50M
|
|
||||||
# truncate file, do not delete & recreate
|
|
||||||
copytruncate
|
|
||||||
# keep logs for XXX rotations
|
|
||||||
rotate 3
|
|
||||||
# compression will be postponed to the next rotation, if uncommented
|
|
||||||
compress
|
|
||||||
# ignore missing files
|
|
||||||
missingok
|
|
||||||
# do not rotate empty files
|
|
||||||
notifempty
|
|
||||||
postrotate
|
|
||||||
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
|
|
||||||
endscript
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
main_collective = mcollective
|
|
||||||
collectives = mcollective
|
|
||||||
libdir = /usr/libexec/mcollective
|
|
||||||
logfile = /var/log/mcollective.log
|
|
||||||
loglevel = debug
|
|
||||||
direct_addressing = 1
|
|
||||||
daemonize = 1
|
|
||||||
|
|
||||||
# Set TTL to 1.5 hours
|
|
||||||
ttl = 5400
|
|
||||||
|
|
||||||
# Plugins
|
|
||||||
securityprovider = psk
|
|
||||||
plugin.psk = unset
|
|
||||||
|
|
||||||
connector = rabbitmq
|
|
||||||
plugin.rabbitmq.vhost = mcollective
|
|
||||||
plugin.rabbitmq.pool.size = 1
|
|
||||||
plugin.rabbitmq.pool.1.host =
|
|
||||||
plugin.rabbitmq.pool.1.port = 61613
|
|
||||||
plugin.rabbitmq.pool.1.user = mcollective
|
|
||||||
plugin.rabbitmq.pool.1.password = marionette
|
|
||||||
plugin.rabbitmq.heartbeat_interval = 30
|
|
||||||
|
|
||||||
# Facts
|
|
||||||
factsource = yaml
|
|
||||||
plugin.yaml = /etc/mcollective/facts.yaml
|
|
|
@ -1 +0,0 @@
|
||||||
blacklist i2c_piix4
|
|
|
@ -1 +0,0 @@
|
||||||
options mlx4_core port_type_array=2,2
|
|
|
@ -1 +0,0 @@
|
||||||
bootstrap
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/sh -e
|
|
||||||
|
|
||||||
mountpoint -q /dev/pts || mount -t devpts devpts /dev/pts
|
|
||||||
|
|
||||||
# FIXME(dteselkin) workaround for broken yajl package
|
|
||||||
ln -nfs /usr/lib64/libyajl.so.2 /usr/lib64/libyajl.so
|
|
||||||
|
|
||||||
touch /var/lock/subsys/local
|
|
|
@ -1,6 +0,0 @@
|
||||||
# Log all messages with this template
|
|
||||||
$template CustomLog, "%$NOW%T%TIMESTAMP:8:$%Z %syslogseverity-text% %syslogtag% %msg%\n"
|
|
||||||
|
|
||||||
$ActionFileDefaultTemplate CustomLog
|
|
||||||
|
|
||||||
user.debug /var/log/messages
|
|
|
@ -1,20 +0,0 @@
|
||||||
Protocol 2
|
|
||||||
SyslogFacility AUTHPRIV
|
|
||||||
PasswordAuthentication no
|
|
||||||
PubkeyAuthentication yes
|
|
||||||
ChallengeResponseAuthentication no
|
|
||||||
GSSAPIAuthentication no
|
|
||||||
UsePAM no
|
|
||||||
UseDNS no
|
|
||||||
|
|
||||||
# Accept locale-related environment variables
|
|
||||||
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
|
|
||||||
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
|
|
||||||
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
|
|
||||||
AcceptEnv XMODIFIERS
|
|
||||||
|
|
||||||
Subsystem sftp /usr/libexec/openssh/sftp-server
|
|
||||||
|
|
||||||
# Secure Ciphers and MACs
|
|
||||||
Ciphers aes256-ctr,aes192-ctr,aes128-ctr,arcfour256,arcfour128
|
|
||||||
MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,hmac-sha1
|
|
|
@ -1 +0,0 @@
|
||||||
ZONE="UTC"
|
|
|
@ -1,3 +0,0 @@
|
||||||
HOSTNAME=bootstrap
|
|
||||||
NETWORKING=yes
|
|
||||||
VLAN=yes
|
|
|
@ -1,11 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Name=Send to syslog
|
|
||||||
ConditionFileExecutable=/usr/bin/send2syslog.py
|
|
||||||
ConditionPathExists=/etc/send2syslog.conf
|
|
||||||
After=rc-local.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/bin/send2syslog.py -c /etc/send2syslog.conf -n
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,15 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Name=Setup boot device
|
|
||||||
ConditionFileExecutable=/usr/bin/setup-bootdev
|
|
||||||
ConditionPathExists=/etc/sysconfig/network-scripts/network-functions
|
|
||||||
Before=network.service mcollective.service ntpdate.service ntpd.service
|
|
||||||
After=sysinit.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/usr/bin/setup-bootdev
|
|
||||||
ExecStartPost=-/usr/bin/fix-configs-on-startup
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,11 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Network Time Service
|
|
||||||
After=syslog.target ntpdate.service sntp.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=forking
|
|
||||||
EnvironmentFile=-/etc/sysconfig/ntpd
|
|
||||||
ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,60 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
masternode_ip=$(sed -rn 's/^.*url=http:\/\/(([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/ p' /proc/cmdline)
|
|
||||||
mco_user=$(sed 's/\ /\n/g' /proc/cmdline | grep mco_user | awk -F\= '{print $2}')
|
|
||||||
mco_pass=$(sed 's/\ /\n/g' /proc/cmdline | grep mco_pass | awk -F\= '{print $2}')
|
|
||||||
[ -z "$mco_user" ] && mco_user="mcollective"
|
|
||||||
[ -z "$mco_pass" ] && mco_pass="marionette"
|
|
||||||
|
|
||||||
# Send logs to master node.
|
|
||||||
cat > /etc/send2syslog.conf <<EOF
|
|
||||||
{
|
|
||||||
"watchlist": [
|
|
||||||
{"servers": [ {"host": "$masternode_ip"} ],
|
|
||||||
"watchfiles": [
|
|
||||||
{"tag": "bootstrap/dmesg", "files": ["/var/log/dmesg"]},
|
|
||||||
{"tag": "bootstrap/secure", "files": ["/var/log/secure"]},
|
|
||||||
{"tag": "bootstrap/messages", "files": ["/var/log/messages"]},
|
|
||||||
{"tag": "bootstrap/fuel-agent", "files": ["/var/log/fuel-agent.log"]},
|
|
||||||
{"tag": "bootstrap/mcollective", "log_type": "ruby",
|
|
||||||
"files": ["/var/log/mcollective.log"]},
|
|
||||||
{"tag": "bootstrap/agent", "log_type": "ruby",
|
|
||||||
"files": ["/var/log/nailgun-agent.log"]},
|
|
||||||
{"tag": "bootstrap/netprobe_sender", "log_type": "netprobe",
|
|
||||||
"files": ["/var/log/netprobe_sender.log"]},
|
|
||||||
{"tag": "bootstrap/netprobe_listener", "log_type": "netprobe",
|
|
||||||
"files": ["/var/log/netprobe_listener.log"]}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
/usr/bin/send2syslog.py -i < /etc/send2syslog.conf
|
|
||||||
#
|
|
||||||
# Set up NTP
|
|
||||||
#
|
|
||||||
# Disable panic about huge clock offset
|
|
||||||
#
|
|
||||||
sed -i '/^\s*tinker panic/ d' /etc/ntp.conf
|
|
||||||
sed -i '1 i tinker panic 0' /etc/ntp.conf
|
|
||||||
|
|
||||||
# Create default drift file
|
|
||||||
#
|
|
||||||
mkdir -p /var/lib/ntp
|
|
||||||
chown ntp: /var/lib/ntp
|
|
||||||
echo 0 > /var/lib/ntp/drift
|
|
||||||
chown ntp: /var/lib/ntp/drift
|
|
||||||
|
|
||||||
# Sync clock with master node
|
|
||||||
#
|
|
||||||
sed -i "/^\s*server\b/ d" /etc/ntp.conf
|
|
||||||
echo "server $masternode_ip burst iburst" >> /etc/ntp.conf
|
|
||||||
test -f /etc/ntp/step-tickers && echo $masternode_ip > /etc/ntp/step-tickers
|
|
||||||
|
|
||||||
#
|
|
||||||
# Update mcollective config
|
|
||||||
#
|
|
||||||
sed -i "s/^plugin.rabbitmq.pool.1.host\b.*$/plugin.rabbitmq.pool.1.host = $masternode_ip/" /etc/mcollective/server.cfg
|
|
||||||
sed -i "s/^plugin.rabbitmq.pool.1.user\b.*$/plugin.rabbitmq.pool.1.user = $mco_user/" /etc/mcollective/server.cfg
|
|
||||||
sed -i "s/^plugin.rabbitmq.pool.1.password\b.*$/plugin.rabbitmq.pool.1.password= $mco_pass/" /etc/mcollective/server.cfg
|
|
|
@ -1,155 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
service_try_count=15
|
|
||||||
service_sleep_time=1
|
|
||||||
while [ 0 -lt ${service_try_count} ]; do
|
|
||||||
_stat=$(systemctl show systemd-udev-trigger -p SubState)
|
|
||||||
if [[ "${_stat##*=}" != "exited" ]]; then
|
|
||||||
echo "Waiting for udev exited (${service_try_count})"
|
|
||||||
sleep ${service_sleep_time}
|
|
||||||
service_try_count=$(expr ${service_try_count} - 1)
|
|
||||||
else
|
|
||||||
echo "Udev is exited, continue to setup boot device"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
source /etc/sysconfig/network-scripts/network-functions
|
|
||||||
|
|
||||||
get_bootdev() {
|
|
||||||
local bootaddr
|
|
||||||
local ethdevice_timeout
|
|
||||||
local wait4dev_interval=5
|
|
||||||
local max_attempts
|
|
||||||
local attempt=0
|
|
||||||
|
|
||||||
ethdevice_timeout=$(sed -rne 's/^.*\s*\<ethdevice_timeout=([0-9]+)\s*.*$/\1/p' /proc/cmdline)
|
|
||||||
ethdevice_timeout="${ethdevice_timeout:-120}"
|
|
||||||
max_attempts=$((ethdevice_timeout/wait4dev_interval))
|
|
||||||
if [ $max_attempts -lt 2 ]; then
|
|
||||||
max_attempts=2
|
|
||||||
fi
|
|
||||||
|
|
||||||
bootaddr=$(ruby -e \
|
|
||||||
'File.open("/proc/cmdline") { |fo|
|
|
||||||
l = fo.read
|
|
||||||
m = l.match( /BOOTIF=([0-9A-Fa-f]{2}(-[0-9A-Fa-f]{2})+)/ )
|
|
||||||
print m[1].split("-")[-6..-1].join(":")
|
|
||||||
}' 2> /dev/null)
|
|
||||||
|
|
||||||
if [ -z "$bootaddr" ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
while [ $attempt -lt $max_attempts ]; do
|
|
||||||
dev=$(get_device_by_hwaddr $bootaddr)
|
|
||||||
if [ -n "$dev" ]; then
|
|
||||||
break
|
|
||||||
else
|
|
||||||
attempt=$((attempt+1))
|
|
||||||
echo "Failed to find boot NIC (mac $bootaddr), retrying in $wait4dev_interval sec." >&2
|
|
||||||
sleep $wait4dev_interval
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "$dev" ]; then
|
|
||||||
return 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo $dev
|
|
||||||
}
|
|
||||||
|
|
||||||
get_all_devices() {
|
|
||||||
# Take all not virtual network devices given by links (to omit files)
|
|
||||||
# Choose ethernet, but exclude wireless, bond, vlan, loopback, tunnels ...
|
|
||||||
for DEV in /sys/class/net/* ; do
|
|
||||||
# Take only links into account, skip files
|
|
||||||
if [ ! -L $DEV ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
DEVPATH=$(readlink -f $DEV)
|
|
||||||
# Drop virtual devices like loopback, tunnels, bonding, vlans ...
|
|
||||||
case $DEVPATH in
|
|
||||||
*/virtual/*)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
IF=${DEVPATH##*/}
|
|
||||||
# Check ethernet only
|
|
||||||
case "$(cat $DEV/type)" in
|
|
||||||
1)
|
|
||||||
# TYPE=1 is ethernet, may also be wireless
|
|
||||||
# Virtual (lo, bound, vlan, tunnel ...) have been skipped before
|
|
||||||
if [ -d $DEV/wireless -o -L $DEV/phy80211 ]; then
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
# Catch ethernet non-virtual device
|
|
||||||
echo $IF
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
set_interfaces_up_when_booted() {
|
|
||||||
for name in $(get_all_devices); do
|
|
||||||
cat > "./ifcfg-${name}" <<EOF
|
|
||||||
DEVICE=$name
|
|
||||||
BOOTPROTO=none
|
|
||||||
ONBOOT=yes
|
|
||||||
LINKDELAY=30
|
|
||||||
EOF
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
cd /etc/sysconfig/network-scripts/
|
|
||||||
echo -n "Waiting for network hardware to initialize..."
|
|
||||||
udevadm trigger --subsystem-match=net
|
|
||||||
udevadm settle
|
|
||||||
|
|
||||||
echo -n "Configure all interfaces as active..."
|
|
||||||
set_interfaces_up_when_booted
|
|
||||||
echo "ok."
|
|
||||||
|
|
||||||
echo -n "Obtaining boot interface name..."
|
|
||||||
dev=$(get_bootdev)
|
|
||||||
rc=$?
|
|
||||||
|
|
||||||
if [ $rc -ne 0 ]; then
|
|
||||||
echo "failed."
|
|
||||||
echo -en "Obtaining all eth interfaces..."
|
|
||||||
dev=$(get_all_devices)
|
|
||||||
if [ -z "$dev" ]; then
|
|
||||||
rc=1
|
|
||||||
echo "failed."
|
|
||||||
else
|
|
||||||
rc=0
|
|
||||||
dev_str=$(echo "$dev"|tr "\n" " "|sed 's/ *$//')
|
|
||||||
echo "ok ($dev_str)."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "ok ($dev)."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $rc -eq 0 ]; then
|
|
||||||
for name in $dev; do
|
|
||||||
# sometimes shell is very picky about tabs and spaces
|
|
||||||
# tabs used here to make here-document work
|
|
||||||
cat > "./ifcfg-${name}" <<EOF
|
|
||||||
DEVICE=$name
|
|
||||||
BOOTPROTO=dhcp
|
|
||||||
ONBOOT=yes
|
|
||||||
LINKDELAY=30
|
|
||||||
PERSISTENT_DHCLIENT=yes
|
|
||||||
EOF
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit $rc
|
|
||||||
|
|
|
@ -34,9 +34,6 @@ crontabs
|
||||||
dhcp
|
dhcp
|
||||||
docker
|
docker
|
||||||
fuel-bootstrap-cli
|
fuel-bootstrap-cli
|
||||||
fuel-bootstrap-image
|
|
||||||
# NOTE(kozhukalov): We don't need target centos images in 8.0
|
|
||||||
# fuel-target-centos-images{{CENTOS_RELEASE}}
|
|
||||||
fuelmenu
|
fuelmenu
|
||||||
fuel-mirror
|
fuel-mirror
|
||||||
fuel-openstack-metadata
|
fuel-openstack-metadata
|
||||||
|
|
|
@ -72,7 +72,7 @@ $(eval $(call prepare_git_source,fuel-agent,fuel-agent-$(PACKAGE_VERSION).tar.gz
|
||||||
#FUEL_NAILGUN_AGENT_PKGS
|
#FUEL_NAILGUN_AGENT_PKGS
|
||||||
$(eval $(call prepare_git_source,fuel-nailgun-agent,fuel-nailgun-agent-$(PACKAGE_VERSION).tar.gz,$(BUILD_DIR)/repos/fuel-nailgun-agent,HEAD,$(FUEL_NAILGUN_AGENT_GERRIT_COMMIT)))
|
$(eval $(call prepare_git_source,fuel-nailgun-agent,fuel-nailgun-agent-$(PACKAGE_VERSION).tar.gz,$(BUILD_DIR)/repos/fuel-nailgun-agent,HEAD,$(FUEL_NAILGUN_AGENT_GERRIT_COMMIT)))
|
||||||
#FUEL-IMAGE PKGS
|
#FUEL-IMAGE PKGS
|
||||||
$(eval $(call prepare_git_source,fuel-main,fuel-main-$(PACKAGE_VERSION).tar.gz,$(BUILD_DIR)/repos/fuel-main,HEAD,$(FUELMAIN_GERRIT_COMMIT)))
|
$(eval $(call prepare_git_source,fuel-main,fuel-$(PACKAGE_VERSION).tar.gz,$(BUILD_DIR)/repos/fuel-main,HEAD,$(FUELMAIN_GERRIT_COMMIT)))
|
||||||
#FUEL-MIRROR PKGS
|
#FUEL-MIRROR PKGS
|
||||||
$(eval $(call prepare_git_source,fuel-mirror,fuel-mirror-$(PACKAGE_VERSION).tar.gz,$(BUILD_DIR)/repos/fuel-mirror,HEAD,$(FUEL_MIRROR_GERRIT_COMMIT)))
|
$(eval $(call prepare_git_source,fuel-mirror,fuel-mirror-$(PACKAGE_VERSION).tar.gz,$(BUILD_DIR)/repos/fuel-mirror,HEAD,$(FUEL_MIRROR_GERRIT_COMMIT)))
|
||||||
#FUEL-MENU PKGS
|
#FUEL-MENU PKGS
|
||||||
|
@ -105,20 +105,13 @@ packages-deb: $(BUILD_DIR)/packages/deb/build.done
|
||||||
#### LATE PACKAGES ################
|
#### LATE PACKAGES ################
|
||||||
###################################
|
###################################
|
||||||
|
|
||||||
# fuel-bootstrap-image sources
|
.PHONY: packages-late
|
||||||
$(eval $(call prepare_file_source,fuel-bootstrap-image,linux,$(BUILD_DIR)/bootstrap/linux,$(BUILD_DIR)/bootstrap/linux))
|
|
||||||
$(eval $(call prepare_file_source,fuel-bootstrap-image,initramfs.img,$(BUILD_DIR)/bootstrap/initramfs.img,$(BUILD_DIR)/bootstrap/initramfs.img))
|
|
||||||
$(eval $(call prepare_file_source,fuel-bootstrap-image,bootstrap.rsa,$(SOURCE_DIR)/bootstrap/ssh/id_rsa,$(SOURCE_DIR)/bootstrap/ssh/id_rsa))
|
|
||||||
|
|
||||||
.PHONY: packages-late packages-rpm-late
|
|
||||||
|
|
||||||
$(BUILD_DIR)/packages/build-late.done: \
|
$(BUILD_DIR)/packages/build-late.done: \
|
||||||
$(BUILD_DIR)/packages/rpm/build-late.done \
|
|
||||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done
|
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done
|
||||||
$(ACTION.TOUCH)
|
$(ACTION.TOUCH)
|
||||||
|
|
||||||
packages-late: $(BUILD_DIR)/packages/build-late.done
|
packages-late: $(BUILD_DIR)/packages/build-late.done
|
||||||
packages-rpm-late: $(BUILD_DIR)/packages/rpm/build-late.done
|
|
||||||
|
|
||||||
.PHONY: sources
|
.PHONY: sources
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,6 @@ $(BUILD_DIR)/packages/rpm/fuel-docker-images.done: export SANDBOX_DOWN:=$(SANDBO
|
||||||
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done: \
|
$(BUILD_DIR)/packages/rpm/fuel-docker-images.done: \
|
||||||
$(BUILD_DIR)/repos/repos.done \
|
$(BUILD_DIR)/repos/repos.done \
|
||||||
$(BUILD_DIR)/packages/rpm/buildd.tar.gz \
|
$(BUILD_DIR)/packages/rpm/buildd.tar.gz \
|
||||||
$(BUILD_DIR)/packages/rpm/repo-late.done \
|
|
||||||
$(BUILD_DIR)/docker/build.done
|
$(BUILD_DIR)/docker/build.done
|
||||||
python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete
|
python $(SOURCE_DIR)/packages/rpm/genpkgnames.py $(SPECFILE) | xargs -I{} sudo find $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages -regex '.*/{}-[^-]+-[^-]+' -delete
|
||||||
mkdir -p $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
mkdir -p $(BUILD_DIR)/packages/rpm/RPMS/x86_64
|
||||||
|
@ -131,33 +130,3 @@ ifeq (1,$(strip $(BUILD_PACKAGES)))
|
||||||
$(BUILD_DIR)/packages/rpm/build.done: $(BUILD_DIR)/packages/rpm/repo.done
|
$(BUILD_DIR)/packages/rpm/build.done: $(BUILD_DIR)/packages/rpm/repo.done
|
||||||
endif
|
endif
|
||||||
$(ACTION.TOUCH)
|
$(ACTION.TOUCH)
|
||||||
|
|
||||||
#######################################
|
|
||||||
# This section is for building container
|
|
||||||
# packages that depend on other packages.
|
|
||||||
# For example, bootstrap image package
|
|
||||||
# assumes passing through the following build stages
|
|
||||||
# 1) upstream mirror
|
|
||||||
# 2) fuel packages
|
|
||||||
# 3) bootstrap image (depends on 1 and 2)
|
|
||||||
# 4) bootstrap image package (depends on 3)
|
|
||||||
#######################################
|
|
||||||
|
|
||||||
fuel_rpm_packages_late:=\
|
|
||||||
fuel-bootstrap-image
|
|
||||||
|
|
||||||
$(eval $(foreach pkg,$(fuel_rpm_packages_late),$(call build_rpm,$(pkg),-late)$(NEWLINE)))
|
|
||||||
|
|
||||||
# BUILD_PACKAGES=0 - for late packages we need to be sure that centos mirror is ready
|
|
||||||
# BUILD_PACKAGES=1 - for late packages we need to be sure that fuel-* packages was build beforehand
|
|
||||||
$(BUILD_DIR)/packages/rpm/repo-late.done: $(BUILD_DIR)/mirror/centos/repo.done
|
|
||||||
ifeq (1,$(strip $(BUILD_PACKAGES)))
|
|
||||||
$(BUILD_DIR)/packages/rpm/repo-late.done: $(BUILD_DIR)/packages/rpm/repo.done
|
|
||||||
endif
|
|
||||||
find $(BUILD_DIR)/packages/rpm/RPMS -name '*.rpm' -exec cp -u --target-directory $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)/Packages {} +
|
|
||||||
createrepo -g $(LOCAL_MIRROR_MOS_CENTOS)/comps.xml \
|
|
||||||
-o $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL) $(LOCAL_MIRROR_MOS_CENTOS_OS_BASEURL)
|
|
||||||
$(ACTION.TOUCH)
|
|
||||||
|
|
||||||
$(BUILD_DIR)/packages/rpm/build-late.done: $(BUILD_DIR)/packages/rpm/repo-late.done
|
|
||||||
$(ACTION.TOUCH)
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
%define name fuel-bootstrap-image
|
|
||||||
%{!?version: %define version 9.0.0}
|
|
||||||
%{!?release: %define release 1}
|
|
||||||
|
|
||||||
Summary: Fuel bootstrap image package
|
|
||||||
Name: %{name}
|
|
||||||
Version: %{version}
|
|
||||||
Release: %{release}
|
|
||||||
URL: http://mirantis.com
|
|
||||||
Source0: linux
|
|
||||||
Source1: initramfs.img
|
|
||||||
Source2: bootstrap.rsa
|
|
||||||
License: Apache
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
|
|
||||||
Prefix: %{_prefix}
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%description
|
|
||||||
Fuel bootstrap image package
|
|
||||||
|
|
||||||
%prep
|
|
||||||
|
|
||||||
%build
|
|
||||||
|
|
||||||
%install
|
|
||||||
install -p -D -m 644 %{SOURCE0} %{buildroot}/var/www/nailgun/bootstrap/linux
|
|
||||||
install -p -D -m 644 %{SOURCE1} %{buildroot}/var/www/nailgun/bootstrap/initramfs.img
|
|
||||||
install -D -m 700 -d %{buildroot}/root/.ssh
|
|
||||||
install -p -m 600 %{SOURCE2} %{buildroot}/root/.ssh/bootstrap.rsa
|
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-,root,root)
|
|
||||||
/var/www/nailgun/bootstrap/linux
|
|
||||||
/var/www/nailgun/bootstrap/initramfs.img
|
|
||||||
/root/.ssh/bootstrap.rsa
|
|
|
@ -2,7 +2,6 @@ fencing-agent
|
||||||
fuel
|
fuel
|
||||||
fuel-agent
|
fuel-agent
|
||||||
fuel-bootstrap-cli
|
fuel-bootstrap-cli
|
||||||
fuel-bootstrap-image
|
|
||||||
fuel-dockerctl
|
fuel-dockerctl
|
||||||
fuel-docker-images
|
fuel-docker-images
|
||||||
fuel-ha-utils
|
fuel-ha-utils
|
||||||
|
|
|
@ -11,11 +11,11 @@ Summary: Fuel for OpenStack
|
||||||
URL: http://mirantis.com
|
URL: http://mirantis.com
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
Release: %{release}
|
Release: %{release}
|
||||||
|
Source0: %{name}-%{version}.tar.gz
|
||||||
License: Apache
|
License: Apache
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
|
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
|
||||||
Prefix: %{_prefix}
|
Prefix: %{_prefix}
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: fuel-bootstrap-image >= %{version}
|
|
||||||
Requires: fuel-library9.0
|
Requires: fuel-library9.0
|
||||||
Requires: fuelmenu >= %{version}
|
Requires: fuelmenu >= %{version}
|
||||||
Requires: fuel-provisioning-scripts >= %{version}
|
Requires: fuel-provisioning-scripts >= %{version}
|
||||||
|
@ -30,12 +30,24 @@ Requires: yum
|
||||||
Fuel for OpenStack is a lifecycle management utility for
|
Fuel for OpenStack is a lifecycle management utility for
|
||||||
managing OpenStack.
|
managing OpenStack.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -cq -n %{name}-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
rm -rf %{buildroot}
|
||||||
mkdir -p %{buildroot}/etc
|
mkdir -p %{buildroot}/etc
|
||||||
echo %{fuel_release} > %{buildroot}%{_sysconfdir}/fuel_release
|
echo %{fuel_release} > %{buildroot}%{_sysconfdir}/fuel_release
|
||||||
|
install -D -m 700 -d %{buildroot}/root/.ssh
|
||||||
|
install -p -m 600 %{_builddir}/%{name}-%{version}/bootstrap/ssh/id_rsa %{buildroot}/root/.ssh/bootstrap.rsa
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
|
/root/.ssh/bootstrap.rsa
|
||||||
|
|
||||||
%package -n fuel-release
|
%package -n fuel-release
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue