Make system for upgrades backport to 5.0.X
Squashed from: 1. Build tarballs for upgrade Usage: make fuel-upgrade - create upgrade for master node (without openstack patches) make openstack-upgrade - create upgrade for openstack make upgrade - create full upgrade orig.Change-Id: I1a0b003d9efd5d85cdae7a41bbbea3eb8415a7b5 2. Add config.yaml to upgrade tarball, update package structure orig.Change-Id: I596d10833c979cd8941c4771e9f5fdeebe4c9948 blueprint upgrade-to-5-0-1 Change-Id: I0f8d8b8393eba9d9438382395bc6602660f1a1a4
This commit is contained in:
parent
6ff703ae9e
commit
c3873f0153
1
Makefile
1
Makefile
@ -72,4 +72,5 @@ include $(SOURCE_DIR)/packages/module.mk
|
||||
include $(SOURCE_DIR)/docker/module.mk
|
||||
include $(SOURCE_DIR)/bootstrap/module.mk
|
||||
include $(SOURCE_DIR)/iso/module.mk
|
||||
include $(SOURCE_DIR)/upgrade/module.mk
|
||||
include $(SOURCE_DIR)/fuelweb_test/module.mk
|
||||
|
@ -375,13 +375,11 @@ chmod 600 /root/.ssh/bootstrap.rsa
|
||||
|
||||
# Unpacking puppet manifests for master and slave
|
||||
cp ${SOURCE}/puppet-slave.tgz ${repodir}/
|
||||
#mkdir -p /opt/nailgun_puppet
|
||||
#tar zxf ${SOURCE}/puppet-nailgun.tgz -C /opt/nailgun_puppet
|
||||
tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/modules
|
||||
mkdir -p /etc/puppet/manifests/
|
||||
cp /etc/puppet/modules/osnailyfacter/examples/site.pp /etc/puppet/manifests/site.pp
|
||||
cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/manifests/
|
||||
cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
|
||||
#ln -s /etc/puppet/modules/mcollective /etc/puppet/modules/nailgun /etc/puppet/modules/osnailyfacter /etc/puppet/modules/stdlib /etc/puppet/modules/rabbitmq /etc/puppet/modules/puppetdb/ /etc/puppet/modules/postgresql/ /etc/puppet/modules/inifile/ /etc/puppet/modules/sysctl/ /opt/nailgun_puppet/
|
||||
mkdir -p /var/lib/hiera
|
||||
touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
|
||||
|
||||
|
@ -43,6 +43,8 @@ $(BUILD_DIR)/iso/isoroot-files.done: \
|
||||
$(ISOROOT)/bootstrap_admin_node.conf \
|
||||
$(ISOROOT)/send2syslog.py \
|
||||
$(ISOROOT)/version.yaml \
|
||||
$(ISOROOT)/centos-versions.yaml \
|
||||
$(ISOROOT)/ubuntu-versions.yaml \
|
||||
$(ISOROOT)/puppet-slave.tgz
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
@ -81,6 +83,14 @@ endif
|
||||
cat $(BUILD_DIR)/repos/version.yaml >> $@
|
||||
|
||||
|
||||
$(ISOROOT)/centos-versions.yaml: \
|
||||
$(BUILD_DIR)/packages/build.done
|
||||
rpm -qi -p $(LOCAL_MIRROR)/centos/os/x86_64/Packages/*.rpm | $(SOURCE_DIR)/iso/pkg-versions.awk > $@
|
||||
|
||||
$(ISOROOT)/ubuntu-versions.yaml: \
|
||||
$(BUILD_DIR)/packages/build.done
|
||||
cat $(LOCAL_MIRROR)/ubuntu/dists/precise/main/binary-amd64/Packages | $(SOURCE_DIR)/iso/pkg-versions.awk > $@
|
||||
|
||||
$(ISOROOT)/puppet-slave.tgz: \
|
||||
$(BUILD_DIR)/repos/fuellib.done \
|
||||
$(call find-files,$(BUILD_DIR)/repos/fuellib/deployment/puppet)
|
||||
|
11
iso/pkg-versions.awk
Executable file
11
iso/pkg-versions.awk
Executable file
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/awk -f
|
||||
|
||||
# Parse repos databases and generate versions.yaml files for patching
|
||||
# Usage:
|
||||
# rpm -qi -p /path/to/repo/Packages/*.rpm | versions.awk > centos-versions.yaml
|
||||
# cat /path/to/repo/dists/precise/main/binary-amd64/Packages | versions.awk > ubuntu-version.yaml
|
||||
/^Name /{ name=$3}
|
||||
/^Version /{ version=$3}
|
||||
/^Release /{ print name ": \"" version "-" $3 "\""}
|
||||
/^Package:/{ name=$2 }
|
||||
/^Version:/{ print name ": \"" $2 "\""}
|
71
upgrade/module.mk
Normal file
71
upgrade/module.mk
Normal file
@ -0,0 +1,71 @@
|
||||
.PHONY: upgrade fuel-upgrade openstack-upgrade
|
||||
|
||||
upgrade: $(BUILD_DIR)/upgrade/upgrade.done
|
||||
|
||||
fuel-upgrade: $(BUILD_DIR)/upgrade/fuel.done
|
||||
|
||||
openstack-upgrade: $(BUILD_DIR)/upgrade/openstack.done
|
||||
|
||||
$(BUILD_DIR)/upgrade/upgrade.done: \
|
||||
$(BUILD_DIR)/upgrade/openstack-part.done \
|
||||
$(BUILD_DIR)/upgrade/fuel-part.done \
|
||||
$(BUILD_DIR)/upgrade/common-part.done
|
||||
rm -f $(BUILD_DIR)/upgrade/fuel-$(PRODUCT_VERSION)-upgrade.tar
|
||||
tar Af $(BUILD_DIR)/upgrade/fuel-$(PRODUCT_VERSION)-upgrade.tar \
|
||||
$(BUILD_DIR)/upgrade/fuel-part.tar
|
||||
tar Af $(BUILD_DIR)/upgrade/fuel-$(PRODUCT_VERSION)-upgrade.tar \
|
||||
$(BUILD_DIR)/upgrade/openstack-part.tar
|
||||
tar Af $(BUILD_DIR)/upgrade/fuel-$(PRODUCT_VERSION)-upgrade.tar \
|
||||
$(BUILD_DIR)/upgrade/common-part.tar
|
||||
# Looks like gzip is useless here
|
||||
# gzip $(BUILD_DIR)/upgrade/fuel-$(PRODUCT_VERSION)-upgrade.tar
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/upgrade/common-part.done: \
|
||||
$(BUILD_DIR)/iso/iso.done
|
||||
rm -f $(BUILD_DIR)/upgrade/common-part.tar
|
||||
mkdir -p $(BUILD_DIR)/upgrade/venv
|
||||
tar cf $(BUILD_DIR)/upgrade/common-part.tar -C $(BUILD_DIR)/repos/fuellib/deployment --xform s:^puppet:upgrade/puppet/modules: puppet
|
||||
tar rf $(BUILD_DIR)/upgrade/common-part.tar -C $(BUILD_DIR)/repos/fuellib/deployment/puppet/osnailyfacter/examples --xform s:^:upgrade/puppet/manifests/: site.pp
|
||||
# Requires virtualenv, pip, python-dev packages
|
||||
virtualenv $(BUILD_DIR)/upgrade/venv
|
||||
$(BUILD_DIR)/upgrade/venv/bin/pip install -r $(BUILD_DIR)/repos/nailgun/fuel_upgrade_system/fuel_upgrade/requirements.txt
|
||||
$(BUILD_DIR)/upgrade/venv/bin/pip install $(BUILD_DIR)/repos/nailgun/fuel_upgrade_system/fuel_upgrade
|
||||
tar rf $(BUILD_DIR)/upgrade/common-part.tar -C $(BUILD_DIR)/upgrade/venv/lib/python* --xform s:^:upgrade/: site-packages
|
||||
tar rf $(BUILD_DIR)/upgrade/common-part.tar -C $(BUILD_DIR)/upgrade/venv --xform s:^:upgrade/: bin/fuel-upgrade
|
||||
tar rf $(BUILD_DIR)/upgrade/common-part.tar --mode=755 -C $(SOURCE_DIR)/upgrade upgrade.sh
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/upgrade/fuel-part.done: \
|
||||
$(BUILD_DIR)/iso/iso.done
|
||||
mkdir -p $(BUILD_DIR)/upgrade
|
||||
rm -f $(BUILD_DIR)/upgrade/fuel-part.tar
|
||||
tar cf $(BUILD_DIR)/upgrade/fuel-part.tar -C $(ISOROOT)/docker/images --xform s:^:upgrade/images/: fuel-images.tar.lrz
|
||||
tar rf $(BUILD_DIR)/upgrade/fuel-part.tar -C $(BUILD_DIR)/iso/isoroot --xform s:^:upgrade/config/: version.yaml
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/upgrade/openstack-part.done: \
|
||||
$(BUILD_DIR)/iso/iso.done
|
||||
mkdir -p $(BUILD_DIR)/upgrade
|
||||
rm -f $(BUILD_DIR)/upgrade/openstack-part.tar
|
||||
tar cf $(BUILD_DIR)/upgrade/openstack-part.tar -C $(LOCAL_MIRROR) --xform s:^centos/os/x86_64:upgrade/repos/centos/x86_64: centos/os/x86_64
|
||||
tar rf $(BUILD_DIR)/upgrade/openstack-part.tar -C $(LOCAL_MIRROR) --xform s:^ubuntu:upgrade/repos/ubuntu/x86_64: ubuntu
|
||||
tar rf $(BUILD_DIR)/upgrade/openstack-part.tar -C $(BUILD_DIR)/repos/nailgun/nailgun/nailgun/fixtures --xform s:^:upgrade/config/: openstack.yaml
|
||||
tar rf $(BUILD_DIR)/upgrade/openstack-part.tar -C $(ISOROOT) --xform s:^:upgrade/puppet/manifests/: centos-versions.yaml ubuntu-versions.yaml
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/upgrade/fuel.done: \
|
||||
$(BUILD_DIR)/upgrade/common-part.done \
|
||||
$(BUILD_DIR)/upgrade/fuel-part.done
|
||||
rm -f $(BUILD_DIR)/upgrade/master-upgrade-$(PRODUCT_VERSION).tar
|
||||
tar Af $(BUILD_DIR)/upgrade/master-upgrade-$(PRODUCT_VERSION).tar $(BUILD_DIR)/upgrade/fuel-part.tar
|
||||
tar Af $(BUILD_DIR)/upgrade/master-upgrade-$(PRODUCT_VERSION).tar $(BUILD_DIR)/upgrade/common-part.tar
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/upgrade/openstack.done: \
|
||||
$(BUILD_DIR)/upgrade/common-part.done \
|
||||
$(BUILD_DIR)/upgrade/openstack-part.done
|
||||
rm -f $(BUILD_DIR)/upgrade/openstack-upgrade-$(PRODUCT_VERSION).tar
|
||||
tar Af $(BUILD_DIR)/upgrade/openstack-upgrade-$(PRODUCT_VERSION).tar $(BUILD_DIR)/upgrade/openstack-part.tar
|
||||
tar Af $(BUILD_DIR)/upgrade/openstack-upgrade-$(PRODUCT_VERSION).tar $(BUILD_DIR)/upgrade/common-part.tar
|
||||
$(ACTION.TOUCH)
|
20
upgrade/upgrade.sh
Executable file
20
upgrade/upgrade.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_PATH=$(dirname $(readlink -e $0))
|
||||
UPGRADE_PATH=$SCRIPT_PATH/upgrade
|
||||
|
||||
function prepare_upgrade_files {
|
||||
DOCKER_IMAGES_DIR_PATH=$UPGRADE_PATH/images
|
||||
DOCKER_IMAGES_ARCHIVE_PATH=$DOCKER_IMAGES_DIR_PATH/fuel-images.tar.lrz
|
||||
|
||||
pushd $DOCKER_IMAGES_DIR_PATH
|
||||
lrzuntar -f $DOCKER_IMAGES_ARCHIVE_PATH
|
||||
popd
|
||||
}
|
||||
|
||||
function run_upgrade {
|
||||
PYTHONPATH=$UPGRADE_PATH/site-packages python $UPGRADE_PATH/bin/fuel-upgrade --src $UPGRADE_PATH docker
|
||||
}
|
||||
|
||||
prepare_upgrade_files
|
||||
run_upgrade
|
Loading…
Reference in New Issue
Block a user