Fix for diff upgrade tarball

Implements: blueprint reduce-tarball-size
Change-Id: I0456a06d675e7e1a535669475a6216009be73430
This commit is contained in:
Vladimir Kozhukalov 2014-11-05 20:43:54 +03:00
parent 60a96423ef
commit a215367aec
2 changed files with 23 additions and 41 deletions

View File

@ -36,7 +36,7 @@ $(BUILD_DIR)/mirror/centos_repo_current.done: \
endif
$(BUILD_DIR)/mirror/$(DIFF_CENTOS_REPO_ART_NAME): BASEDIR=$(BUILD_DIR)/mirror/$(BASE_VERSION)/centos-repo/Packages
$(BUILD_DIR)/mirror/$(DIFF_CENTOS_REPO_ART_NAME): DIFFDIR=$(DIFF_MIRROR_CENTOS_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION)/os/$(CENTOS_ARCH)/Packages
$(BUILD_DIR)/mirror/$(DIFF_CENTOS_REPO_ART_NAME): DIFFDIR=$(DIFF_MIRROR_CENTOS_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION)/Packages
$(BUILD_DIR)/mirror/$(DIFF_CENTOS_REPO_ART_NAME): | $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/comps.xml
# unpacking old version centos mirror
mkdir -p $(BUILD_DIR)/mirror/$(BASE_VERSION)

View File

@ -121,49 +121,38 @@ endif
$(BUILD_DIR)/upgrade/openstack_version_$1: $$(ARTS_DIR_$1)/$(OPENSTACK_YAML_ART_NAME)
python -c "import yaml; print filter(lambda r: r['fields'].get('name'), yaml.load(open('$$(ARTS_DIR_$1)/$(OPENSTACK_YAML_ART_NAME)')))[0]['fields']['version']" > $$@
ifneq ($2,)
CENTOS_REPO_ART:=$(DIFF_CENTOS_REPO_ART_BASE)-$1-$2.tar
CENTOS_REPO_ART_TOPDIR:=centos_updates-$1-$2
UBUNTU_REPO_ART:=$(DIFF_UBUNTU_REPO_ART_BASE)-$1-$2.tar
UBUNTU_REPO_ART_TOPDIR:=ubuntu_updates-$1-$2
$(BUILD_DIR)/upgrade/openstack_version_$2: $(DEPS_DIR)/$2/$(OPENSTACK_YAML_ART_NAME)
python -c "import yaml; print filter(lambda r: r['fields'].get('name'), yaml.load(open('$(DEPS_DIR)/$2/$(OPENSTACK_YAML_ART_NAME)')))[0]['fields']['version']" > $$@
else
CENTOS_REPO_ART:=$(CENTOS_REPO_ART_NAME)
CENTOS_REPO_ART_TOPDIR:=centos-repo
UBUNTU_REPO_ART:=$(UBUNTU_REPO_ART_NAME)
UBUNTU_REPO_ART_TOPDIR:=ubuntu-repo
endif
CENTOS_REPO_ART_DEP_FILE:=$$(call find-files,$(DEPS_DIR)/$1/$$(CENTOS_REPO_ART))
UBUNTU_REPO_ART_DEP_FILE:=$$(call find-files,$(DEPS_DIR)/$1/$$(UBUNTU_REPO_ART))
$(BUILD_DIR)/upgrade/openstack-part.done: $(BUILD_DIR)/upgrade/openstack-$1-part.done
.DELETE_ON_ERROR: $(BUILD_DIR)/upgrade/openstack-part.tar
ifneq ($2,)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: CENTOS_REPO_ART=$(DIFF_CENTOS_REPO_ART_BASE)-$1-$2.tar
$(BUILD_DIR)/upgrade/openstack-$1-part.done: CENTOS_REPO_ART_TOPDIR=centos_updates-$1-$2
$(BUILD_DIR)/upgrade/openstack-$1-part.done: UBUNTU_REPO_ART=$(DIFF_UBUNTU_REPO_ART_BASE)-$1-$2.tar
$(BUILD_DIR)/upgrade/openstack-$1-part.done: UBUNTU_REPO_ART_TOPDIR=ubuntu_updates-$1-$2
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $(BUILD_DIR)/upgrade/openstack_version_$2
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(ARTS_DIR_$1)/$(DIFF_CENTOS_REPO_ART_BASE)-$1-$2.tar
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(ARTS_DIR_$1)/$(DIFF_UBUNTU_REPO_ART_BASE)-$1-$2.tar
else
$(BUILD_DIR)/upgrade/openstack-$1-part.done: CENTOS_REPO_ART=$(CENTOS_REPO_ART_NAME)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: CENTOS_REPO_ART_TOPDIR=centos-repo
$(BUILD_DIR)/upgrade/openstack-$1-part.done: UBUNTU_REPO_ART=$(UBUNTU_REPO_ART_NAME)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: UBUNTU_REPO_ART_TOPDIR=ubuntu-repo
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(ARTS_DIR_$1)/$(CENTOS_REPO_ART_NAME)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(ARTS_DIR_$1)/$(UBUNTU_REPO_ART_NAME)
endif
$(BUILD_DIR)/upgrade/openstack-$1-part.done: BASE=$(BUILD_DIR)/upgrade/openstack-$1-part
$(BUILD_DIR)/upgrade/openstack-$1-part.done: OPENSTACK_VERSION=$$(shell cat $(BUILD_DIR)/upgrade/openstack_version_$1)
ifneq ($2,)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $(BUILD_DIR)/upgrade/openstack_version_$2
endif
$(BUILD_DIR)/upgrade/openstack-$1-part.done: CENTOS_BASE=$$(BASE)/upgrade/repos/$$(OPENSTACK_VERSION)/centos/x86_64
$(BUILD_DIR)/upgrade/openstack-$1-part.done: UBUNTU_BASE=$$(BASE)/upgrade/repos/$$(OPENSTACK_VERSION)/ubuntu/x86_64
$(BUILD_DIR)/upgrade/openstack-$1-part.done: PUPPET_BASE=$$(BASE)/upgrade/puppet/$$(OPENSTACK_VERSION)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: RELEASES_BASE=$$(BASE)/upgrade/releases
$(BUILD_DIR)/upgrade/openstack-$1-part.done: RELEASE_VERSIONS_BASE=$$(BASE)/upgrade/release_versions
ifneq ($$(CENTOS_REPO_ART_DEP_FILE),)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(CENTOS_REPO_ART_DEP_FILE)
else
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(ARTS_DIR_$1)/$$(CENTOS_REPO_ART)
endif
ifneq ($$(UBUNTU_REPO_ART_DEP_FILE),)
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(UBUNTU_REPO_ART_DEP_FILE)
else
$(BUILD_DIR)/upgrade/openstack-$1-part.done: $$(ARTS_DIR_$1)/$$(UBUNTU_REPO_ART)
endif
$(BUILD_DIR)/upgrade/openstack-$1-part.done: \
$(BUILD_DIR)/upgrade/openstack_version_$1 \
$$(ARTS_DIR_$1)/$(OPENSTACK_YAML_ART_NAME) \
@ -171,23 +160,12 @@ $(BUILD_DIR)/upgrade/openstack-$1-part.done: \
$$(ARTS_DIR_$1)/$(PUPPET_ART_NAME)
rm -f $$@
mkdir -p $$(@D)
# CENTOS REPO
mkdir -p $$(CENTOS_BASE)
ifneq ($$(CENTOS_REPO_ART_DEP_FILE),)
tar xf $$(CENTOS_REPO_ART_DEP_FILE) -C $$(CENTOS_BASE) --xform s:^$$(CENTOS_REPO_ART_TOPDIR)/::
else
tar xf $$(ARTS_DIR_$1)/$$(CENTOS_REPO_ART) -C $$(CENTOS_BASE) --xform s:^$$(CENTOS_REPO_ART_TOPDIR)/::
endif
# UBUNTU REPO
mkdir -p $$(UBUNTU_BASE)
ifneq ($$(UBUNTU_REPO_ART_DEP_FILE),)
tar xf $$(UBUNTU_REPO_ART_DEP_FILE) -C $$(UBUNTU_BASE) --xform s:^$$(UBUNTU_REPO_ART_TOPDIR)/::
else
tar xf $$(ARTS_DIR_$1)/$$(UBUNTU_REPO_ART) -C $$(UBUNTU_BASE) --xform s:^$$(UBUNTU_REPO_ART_TOPDIR)/::
endif
# PUPPET MODULES
mkdir -p $$(PUPPET_BASE)/modules
tar zxf $$(ARTS_DIR_$1)/$(PUPPET_ART_NAME) -C $$(PUPPET_BASE)/modules --xform s:^puppet/::
@ -200,9 +178,9 @@ endif
mkdir -p $$(RELEASES_BASE)
cp $$(ARTS_DIR_$1)/$(OPENSTACK_YAML_ART_NAME) $$(RELEASES_BASE)/$$(OPENSTACK_VERSION).yaml
# METADATA-YAML
test -e $$(RELEASES_BASE)/metadata.yaml || echo "diff_releases:" > $$(RELEASES_BASE)/metadata.yaml
ifneq ($2,)
echo " $$(OPENSTACK_VERSION): $$(shell cat $(BUILD_DIR)/upgrade/openstack_version_$2)" >> $$(RELEASES_BASE)/metadata.yaml
grep -q "diff_releases:" $(BUILD_DIR)/upgrade/metadata.yaml 2>/dev/null || echo "diff_releases:" > $(BUILD_DIR)/upgrade/metadata.yaml
echo " $$(OPENSTACK_VERSION): $$(shell cat $(BUILD_DIR)/upgrade/openstack_version_$2)" >> $(BUILD_DIR)/upgrade/metadata.yaml
endif
# VERSION-YAML
mkdir -p $$(RELEASE_VERSIONS_BASE)
@ -213,7 +191,11 @@ endif
touch $$@
endef
$(foreach diff,$(UPGRADE_VERSIONS),$(eval $(call build_openstack_part,$(shell echo $(diff) | awk -F':' '{print $$1}'),$(shell echo $(diff) | awk -F':' '{print $$2}'))))
$(BUILD_DIR)/upgrade/openstack-part.done:
grep -q "diff_releases:" $(BUILD_DIR)/upgrade/metadata.yaml 2>/dev/null || echo "diff_releases: {}" > $(BUILD_DIR)/upgrade/metadata.yaml
tar rf $(BUILD_DIR)/upgrade/openstack-part.tar -C $(BUILD_DIR)/upgrade/ metadata.yaml --xform s:^:upgrade/releases/:
$(ACTION.TOUCH)