diff --git a/.gitreview b/.gitreview new file mode 100644 index 0000000..af41fda --- /dev/null +++ b/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=review.openstack.org +port=29418 +project=stackforge/fuel-mirror.git diff --git a/config/common.cfg b/config/common.cfg index 910cb1a..eeaf048 100644 --- a/config/common.cfg +++ b/config/common.cfg @@ -9,7 +9,7 @@ MIRROR_ROOT="/var/www/nailgun" # Format: # MIRROR_{DISTRO}_HOST - mirror hostname, i.e. "archive.ubuntu.com" # MIRROR_{DISTRO}_DIR - source directory (rsync module name), i.e. "ubuntu" -# MIRROR_{DISTRO}_HTTPDIR - HTTP URL of mirror (usually equals to MIRROR_{DISTRO}_DIR) +# MIRROR_{DISTRO}_HTTPDIR - HTTP URL of mirror (usually equals to MIRROR_{DISTRO}_DIR) # {DISTRO} - could be one of: UBUNTU, MOS_UBUNTU # Upstream Ubuntu packages @@ -20,7 +20,7 @@ MIRROR_UBUNTU_HTTPDIR=$MIRROR_UBUNTU_DIR # MOS Ubuntu packages MIRROR_MOS_UBUNTU_HOST="mirror.fuel-infra.org" MIRROR_MOS_UBUNTU_DIR="mirror/mos/ubuntu" -MIRROR_MOS_UBUNTU_HTTPDIR="mos/ubuntu" +MIRROR_MOS_UBUNTU_HTTPDIR="mos-repos/ubuntu/7.0" # Configure repository paths # Format: diff --git a/config/config.mk b/config/config.mk index f373203..c6c01f0 100644 --- a/config/config.mk +++ b/config/config.mk @@ -19,7 +19,7 @@ LOCAL_MIRROR:=$(abspath $(LOCAL_MIRROR)) DEPS_DIR?=$(TOP_DIR)/deps DEPS_DIR:=$(abspath $(DEPS_DIR)) -PRODUCT_VERSION:=6.1 +PRODUCT_VERSION:=7.0 # This variable is used for naming of auxillary objects # related to product: repositories, mirrors etc @@ -33,7 +33,7 @@ PRODUCT_NAME:=mos # to come from DEPS_DIR "as is" CURRENT_VERSION:=$(PRODUCT_VERSION) -PACKAGE_VERSION=6.1.0 +PACKAGE_VERSION=$(PRODUCT_VERSION).0 UPGRADE_VERSIONS?=$(CURRENT_VERSION) # Path to pre-built artifacts @@ -52,14 +52,12 @@ CENTOS_REPO_ART_NAME?=centos-repo.tar UBUNTU_REPO_ART_NAME?=ubuntu-repo.tar PUPPET_ART_NAME?=puppet.tgz OPENSTACK_YAML_ART_NAME?=openstack.yaml -TARGET_UBUNTU_IMG_ART_NAME?=ubuntu_target_images.tar TARGET_CENTOS_IMG_ART_NAME?=centos_target_images.tar # Where we put artifacts ISO_PATH:=$(ARTS_DIR)/$(ISO_NAME).iso -IMG_PATH:=$(ARTS_DIR)/$(ISO_NAME).img UPGRADE_TARBALL_PATH:=$(ARTS_DIR)/$(UPGRADE_TARBALL_NAME).tar VBOX_SCRIPTS_PATH:=$(ARTS_DIR)/$(VBOX_SCRIPTS_NAME).zip @@ -69,7 +67,7 @@ MASTER_NETMASK?=255.255.255.0 MASTER_GW?=10.20.0.1 CENTOS_MAJOR:=6 -CENTOS_MINOR:=5 +CENTOS_MINOR:=6 CENTOS_RELEASE:=$(CENTOS_MAJOR).$(CENTOS_MINOR) CENTOS_ARCH:=x86_64 CENTOS_IMAGE_RELEASE:=$(CENTOS_MAJOR)$(CENTOS_MINOR) @@ -86,41 +84,27 @@ SEPARATE_IMAGES?=/boot,ext2 /,ext4 # Rebuld packages locally (do not use upstream versions) BUILD_PACKAGES?=1 -# Build OpenStack packages from external sources (do not use prepackaged versions) -# Enter the comma-separated list of OpenStack packages to build, or '0' otherwise. -# Example: BUILD_OPENSTACK_PACKAGES=neutron,keystone -BUILD_OPENSTACK_PACKAGES?=0 +# by default we are not allowed to downgrade rpm packages, +# setting this flag to 0 will cause to use repo priorities only (!) +DENY_RPM_DOWNGRADE?=1 # Do not compress javascript and css files NO_UI_OPTIMIZE:=0 -# Define a set of defaults for each OpenStack package -# For each component defined in BUILD_OPENSTACK_PACKAGES variable, this routine will set -# the following variables (i.e. for 'BUILD_OPENSTACK_PACKAGES=neutron'): -# NEUTRON_REPO, NEUTRON_COMMIT, NEUTRON_SPEC_REPO, NEUTRON_SPEC_COMMIT, -# NEUTRON_GERRIT_URL, NEUTRON_GERRIT_COMMIT, NEUTRON_GERRIT_URL, -# NEUTRON_SPEC_GERRIT_URL, NEUTRON_SPEC_GERRIT_COMMIT -define set_vars - $(call uc,$(1))_REPO?=https://github.com/openstack/$(1).git - $(call uc,$(1))_COMMIT?=master - $(call uc,$(1))_SPEC_REPO?=https://review.fuel-infra.org/openstack-build/$(1)-build.git - $(call uc,$(1))_SPEC_COMMIT?=master - $(call uc,$(1))_GERRIT_URL?=https://review.openstack.org/openstack/$(1).git - $(call uc,$(1))_GERRIT_COMMIT?=none - $(call uc,$(1))_SPEC_GERRIT_URL?=https://review.fuel-infra.org/openstack-build/$(1)-build.git - $(call uc,$(1))_SPEC_GERRIT_COMMIT?=none -endef - # Repos and versions FUELLIB_COMMIT?=master NAILGUN_COMMIT?=master PYTHON_FUELCLIENT_COMMIT?=master +FUEL_AGENT_COMMIT?=master +FUEL_NAILGUN_AGENT_COMMIT?=master ASTUTE_COMMIT?=master OSTF_COMMIT?=master FUELLIB_REPO?=https://github.com/stackforge/fuel-library.git NAILGUN_REPO?=https://github.com/stackforge/fuel-web.git PYTHON_FUELCLIENT_REPO?=https://github.com/stackforge/python-fuelclient.git +FUEL_AGENT_REPO?=https://github.com/stackforge/fuel-agent.git +FUEL_NAILGUN_AGENT_REPO?=https://github.com/stackforge/fuel-nailgun-agent.git ASTUTE_REPO?=https://github.com/stackforge/fuel-astute.git OSTF_REPO?=https://github.com/stackforge/fuel-ostf.git @@ -128,12 +112,16 @@ OSTF_REPO?=https://github.com/stackforge/fuel-ostf.git FUELLIB_GERRIT_URL?=https://review.openstack.org/stackforge/fuel-library NAILGUN_GERRIT_URL?=https://review.openstack.org/stackforge/fuel-web PYTHON_FUELCLIENT_GERRIT_URL?=https://review.openstack.org/stackforge/python-fuelclient +FUEL_AGENT_GERRIT_URL?=https://review.openstack.org/stackforge/fuel-agent +FUEL_NAILGUN_AGENT_GERRIT_URL?=https://review.openstack.org/stackforge/fuel-nailgun-agent ASTUTE_GERRIT_URL?=https://review.openstack.org/stackforge/fuel-astute OSTF_GERRIT_URL?=https://review.openstack.org/stackforge/fuel-ostf FUELLIB_GERRIT_COMMIT?=none NAILGUN_GERRIT_COMMIT?=none PYTHON_FUELCLIENT_GERRIT_COMMIT?=none +FUEL_AGENT_GERRIT_COMMIT?=none +FUEL_NAILGUN_AGENT_GERRIT_COMMIT?=none ASTUTE_GERRIT_COMMIT?=none OSTF_GERRIT_COMMIT?=none FUELMAIN_GERRIT_COMMIT?=none @@ -146,122 +134,97 @@ LOCAL_MIRROR_DOCKER:=$(LOCAL_MIRROR)/docker LOCAL_MIRROR_DOCKER_BASEURL:=$(LOCAL_MIRROR_DOCKER) # Use download.mirantis.com mirror by default. Other possible values are -# 'msk', 'srt', 'usa', 'hrk'. +# 'msk', 'srt', 'usa', 'hrk', 'cz' # Setting any other value or removing of this variable will cause # download of all the packages directly from internet USE_MIRROR?=ext + ifeq ($(USE_MIRROR),ext) YUM_REPOS?=proprietary -MIRROR_BASE?=http://mirror.fuel-infra.org/fwm/$(PRODUCT_VERSION) -MIRROR_CENTOS?=$(MIRROR_BASE)/centos -MIRROR_UBUNTU?=mirror.fuel-infra.org -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_CENTOS?=http://mirror.fuel-infra.org/fwm/$(PRODUCT_VERSION)/centos MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS) SANDBOX_MIRROR_CENTOS_UPSTREAM?=http://vault.centos.org/$(CENTOS_RELEASE) +MIRROR_UBUNTU?=mirror.fuel-infra.org +MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=http://mirror.fuel-infra.org/fwm/$(PRODUCT_VERSION)/docker endif + ifeq ($(USE_MIRROR),srt) YUM_REPOS?=proprietary -MIRROR_BASE?=http://osci-mirror-srt.srt.mirantis.net/fwm/$(PRODUCT_VERSION) -MIRROR_CENTOS?=$(MIRROR_BASE)/centos -MIRROR_UBUNTU?=osci-mirror-srt.srt.mirantis.net -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_CENTOS?=http://osci-mirror-srt.srt.mirantis.net/fwm/$(PRODUCT_VERSION)/centos MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS) +MIRROR_UBUNTU?=osci-mirror-srt.srt.mirantis.net +MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=http://osci-mirror-srt.srt.mirantis.net/fwm/$(PRODUCT_VERSION)/docker endif + ifeq ($(USE_MIRROR),msk) YUM_REPOS?=proprietary -MIRROR_BASE?=http://osci-mirror-msk.msk.mirantis.net/fwm/$(PRODUCT_VERSION) -MIRROR_CENTOS?=$(MIRROR_BASE)/centos -MIRROR_UBUNTU?=osci-mirror-msk.msk.mirantis.net -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_CENTOS?=http://osci-mirror-msk.msk.mirantis.net/fwm/$(PRODUCT_VERSION)/centos MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS) +MIRROR_UBUNTU?=osci-mirror-msk.msk.mirantis.net +MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=http://osci-mirror-msk.msk.mirantis.net/fwm/$(PRODUCT_VERSION)/docker endif + ifeq ($(USE_MIRROR),hrk) YUM_REPOS?=proprietary -MIRROR_BASE?=http://osci-mirror-kha.kha.mirantis.net/fwm/$(PRODUCT_VERSION) -MIRROR_CENTOS?=$(MIRROR_BASE)/centos -MIRROR_UBUNTU?=osci-mirror-kha.kha.mirantis.net -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_CENTOS?=http://osci-mirror-kha.kha.mirantis.net/fwm/$(PRODUCT_VERSION)/centos MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS) +MIRROR_UBUNTU?=osci-mirror-kha.kha.mirantis.net +MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=http://osci-mirror-kha.kha.mirantis.net/fwm/$(PRODUCT_VERSION)/docker endif + ifeq ($(USE_MIRROR),usa) YUM_REPOS?=proprietary -MIRROR_BASE?=http://mirror.seed-us1.fuel-infra.org/fwm/$(PRODUCT_VERSION) -MIRROR_CENTOS?=$(MIRROR_BASE)/centos -MIRROR_UBUNTU?=mirror.seed-us1.fuel-infra.org -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_CENTOS?=http://mirror.seed-us1.fuel-infra.org/fwm/$(PRODUCT_VERSION)/centos MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS) +MIRROR_UBUNTU?=mirror.seed-us1.fuel-infra.org +MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=http://mirror.seed-us1.fuel-infra.org/fwm/$(PRODUCT_VERSION)/docker endif + ifeq ($(USE_MIRROR),cz) YUM_REPOS?=proprietary -MIRROR_BASE?=http://mirror.seed-cz1.fuel-infra.org/fwm/$(PRODUCT_VERSION) -MIRROR_CENTOS?=$(MIRROR_BASE)/centos -MIRROR_UBUNTU?=mirror.seed-cz1.fuel-infra.org -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=$(MIRROR_BASE)/docker +MIRROR_CENTOS?=http://mirror.seed-cz1.fuel-infra.org/fwm/$(PRODUCT_VERSION)/centos MIRROR_CENTOS_KERNEL?=$(MIRROR_CENTOS) +MIRROR_UBUNTU?=mirror.seed-cz1.fuel-infra.org +MIRROR_MOS_UBUNTU?=$(MIRROR_UBUNTU) +MIRROR_DOCKER?=http://mirror.seed-cz1.fuel-infra.org/fwm/$(PRODUCT_VERSION)/docker endif - -#This suffix is used to generate path -#to ubuntu mirror inside mirror -#DocumentRoot - -MIRROR_UBUNTU_SUFFIX?=/pkgs/ubuntu - -YUM_DOWNLOAD_SRC?= - -MIRROR_CENTOS?=http://mirrors-local-msk.msk.mirantis.net/centos-$(PRODUCT_VERSION)/$(CENTOS_RELEASE) -MIRROR_CENTOS_KERNEL?=http://mirror.centos.org/centos-6/6.6/ -MIRROR_CENTOS_OS_BASEURL:=$(MIRROR_CENTOS)/os/$(CENTOS_ARCH) -MIRROR_CENTOS_KERNEL_BASEURL?=$(MIRROR_CENTOS_KERNEL)/os/$(CENTOS_ARCH) -MIRROR_UBUNTU?=osci-mirror-msk.msk.mirantis.net -MIRROR_UBUNTU_OS_BASEURL:=$(MIRROR_UBUNTU) -MIRROR_UBUNTU_METHOD?=http -MIRROR_UBUNTU_ROOT?=/$(PRODUCT_NAME)/ubuntu/ -MIRROR_UBUNTU_SECTION?=main,restricted -MIRROR_DOCKER?=http://mirror.fuel-infra.org/fwm/$(PRODUCT_VERSION)/docker -MIRROR_DOCKER_BASEURL:=$(MIRROR_DOCKER) -# MIRROR_FUEL option is valid only for 'fuel' YUM_REPOS section -# and ignored in other cases -MIRROR_POSTFIX?=stable -MIRROR_FUEL?=http://osci-obs.vm.mirantis.net:82/centos-fuel-$(PRODUCT_VERSION)-$(MIRROR_POSTFIX)/centos/ -ifeq (precise,$(strip $(UBUNTU_RELEASE))) -MIRROR_FUEL_UBUNTU?=http://osci-obs.vm.mirantis.net:82/ubuntu-fuel-$(PRODUCT_VERSION)-$(MIRROR_POSTFIX)/reprepro -else -MIRROR_FUEL_UBUNTU?=obs-1.mirantis.com -endif - -REQUIRED_RPMS:=$(shell grep -v "^\\s*\#" $(SOURCE_DIR)/requirements-rpm.txt) -REQUIRED_DEBS:=$(shell grep -v "^\\s*\#" $(SOURCE_DIR)/requirements-deb.txt) - # Which repositories to use for making local centos mirror. # Possible values you can find out from mirror/centos/yum_repos.mk file. -# The actual name will be constracted wich prepending "yum_repo_" prefix. +# The actual name will be constracted prepending "yum_repo_" prefix. # Example: YUM_REPOS?=official epel => yum_repo_official and yum_repo_epel # will be used. YUM_REPOS?=official fuel subscr_manager +MIRROR_CENTOS?=http://mirrors-local-msk.msk.mirantis.net/centos-$(PRODUCT_VERSION)/$(CENTOS_RELEASE) +MIRROR_CENTOS_KERNEL?=http://mirror.centos.org/centos-6/6.6/ +SANDBOX_MIRROR_CENTOS_UPSTREAM?=http://mirrors-local-msk.msk.mirantis.net/centos-$(PRODUCT_VERSION)/$(CENTOS_RELEASE) +SANDBOX_MIRROR_EPEL?=http://mirror.yandex.ru/epel/ +MIRROR_UBUNTU_METHOD?=http +MIRROR_UBUNTU?=osci-mirror-msk.msk.mirantis.net +MIRROR_UBUNTU_ROOT?=/pkgs/ubuntu/ +MIRROR_UBUNTU_SUITE?=$(UBUNTU_RELEASE) +MIRROR_UBUNTU_SECTION?=main universe multiverse restricted +MIRROR_MOS_UBUNTU_METHOD?=http +MIRROR_MOS_UBUNTU?=perestroika-repo-tst.infra.mirantis.net +MIRROR_MOS_UBUNTU_ROOT?=/mos-repos/ubuntu/7.0 +MIRROR_MOS_UBUNTU_SUITE?=$(PRODUCT_NAME)$(PRODUCT_VERSION) +MIRROR_MOS_UBUNTU_SECTION?=main restricted +MIRROR_DOCKER?=http://mirror.fuel-infra.org/fwm/$(PRODUCT_VERSION)/docker + +# MIRROR_FUEL affects build process only if YUM_REPOS variable contains 'fuel'. +# Otherwise it is ignored entirely. +# MIRROR_FUEL?=http://perestroika-repo-tst.infra.mirantis.net/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos6-fuel/os/x86_64 +MIRROR_FUEL?=http://perestroika-repo-tst.infra.mirantis.net/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos6-fuel/os/x86_64 # Additional CentOS repos. # Each repo must be comma separated tuple with repo-name and repo-path. # Repos must be separated by space. -# Example: EXTRA_RPM_REPOS="lolo,http://my.cool.repo/rpm bar,ftp://repo.foo" +# Example: EXTRA_RPM_REPOS="lolo,http://my.cool.repo/rpm,priority bar,ftp://repo.foo,priority" EXTRA_RPM_REPOS?= # Comma or space separated list. Available feature groups: @@ -271,26 +234,12 @@ FEATURE_GROUPS?=experimental comma:=, FEATURE_GROUPS:=$(subst $(comma), ,$(FEATURE_GROUPS)) -# INTEGRATION TEST CONFIG -NOFORWARD:=1 - # Path to yaml configuration file to build ISO ks.cfg KSYAML?=$(SOURCE_DIR)/iso/ks.yaml -# Docker prebuilt containers. Default is to build containers during ISO build -DOCKER_PREBUILT?=0 - -# Source of docker prebuilt containers archive. Works only if DOCKER_PREBUILT=true -# Examples: -# DOCKER_PREBUILT_SOURCE=http://srv11-msk.msk.mirantis.net/docker-test/fuel-images.tar.lrz -# DOCKER_PREBUILT_SOURCE=/var/fuel-images.tar.lrz make docker -DOCKER_PREBUILT_SOURCE?=http://srv11-msk.msk.mirantis.net/docker-test/fuel-images.tar.lrz - # Production variable (prod, dev, docker) PRODUCTION?=docker -SANDBOX_MIRROR_CENTOS_UPSTREAM?=http://mirrors-local-msk.msk.mirantis.net/centos-$(PRODUCT_VERSION)/$(CENTOS_RELEASE) -SANDBOX_MIRROR_CENTOS_UPSTREAM_OS_BASEURL:=$(SANDBOX_MIRROR_CENTOS_UPSTREAM)/os/$(CENTOS_ARCH)/ -SANDBOX_MIRROR_CENTOS_UPDATES_OS_BASEURL:=$(SANDBOX_MIRROR_CENTOS_UPSTREAM)/updates/$(CENTOS_ARCH)/ -SANDBOX_MIRROR_EPEL?=http://mirror.yandex.ru/epel/ -SANDBOX_MIRROR_EPEL_OS_BASEURL:=$(SANDBOX_MIRROR_EPEL)/$(CENTOS_MAJOR)/$(CENTOS_ARCH)/ +# Copy local /etc/ssl certs inside SANDBOX, which used for build deb mirror and packages. +# This option should be enabled, in case you have to pass https repos for Ubuntu. +SANDBOX_COPY_CERTS?=0 diff --git a/config/fuel.cfg b/config/fuel.cfg index a65b4c9..6f9373f 100644 --- a/config/fuel.cfg +++ b/config/fuel.cfg @@ -3,7 +3,7 @@ if ! hash fuel2 2>/dev/null; then # working outside of Fuel node, set Fuel parameters manually -FUEL_VERSION=6.1 +FUEL_VERSION=7.0 FUEL_SERVER="" # -------------------------------------- diff --git a/config/requirements-deb.txt b/config/requirements-deb.txt index 6ae59e6..441dbad 100644 --- a/config/requirements-deb.txt +++ b/config/requirements-deb.txt @@ -95,6 +95,7 @@ mysql-client mysql-server-wsrep-5.6 nailgun-mcagents nailgun-net-check +neutron-common neutron-dhcp-agent neutron-l3-agent neutron-lbaas-agent @@ -104,7 +105,6 @@ neutron-plugin-bigswitch neutron-plugin-bigswitch-agent neutron-plugin-brocade neutron-plugin-cisco -neutron-plugin-hyperv neutron-plugin-ibm neutron-plugin-ibm-agent neutron-plugin-linuxbridge @@ -118,16 +118,15 @@ neutron-plugin-mlnx-agent neutron-plugin-nec neutron-plugin-nec-agent neutron-plugin-nicira +neutron-plugin-nuage neutron-plugin-oneconvergence neutron-plugin-oneconvergence-agent -neutron-plugin-openflow-agent +neutron-plugin-opencontrail neutron-plugin-openvswitch neutron-plugin-openvswitch-agent neutron-plugin-plumgrid -neutron-plugin-ryu -neutron-plugin-ryu-agent +neutron-plugin-sriov-agent neutron-plugin-vmware -neutron-plugin-vpn-agent neutron-server neutron-vpn-agent nfs-common @@ -182,6 +181,9 @@ python-muranoclient python-mysqldb python-netifaces python-neutron +python-neutron-fwaas +python-neutron-lbaas +python-neutron-vpnaas python-nose python-novnc python-openid @@ -194,6 +196,7 @@ python-pycurl python-pylibmc python-pyudev python-rabbit +python-sahara python-saharaclient python-scapy python-scgi @@ -209,6 +212,7 @@ rabbitmq-server radosgw ruby ruby-cstruct +ruby-deep-merge ruby-dev ruby-httpclient ruby-i18n @@ -218,7 +222,9 @@ ruby-netaddr ruby-openstack ruby-rethtool ruby-stomp -sahara +sahara-api +sahara-common +sahara-engine screen sheepdog socat diff --git a/deb-mirror b/deb-mirror index 76e9536..25cf60d 100755 --- a/deb-mirror +++ b/deb-mirror @@ -513,6 +513,9 @@ rsync --verbose --out-format="%i %n" --stats \ --bwlimit=5192 \ "${UPSTREAM}::${UPSTREAM_DIR}/" "$LOCAL_DIR" | tee "$rsync_log" +# fix directory permissions for pool files +find "$LOCAL_DIR" -type d -exec chmod 755 {} \; + # --files-from="$files_to_dl_list" \--block-size=8192 #--max-delete=40000 --delay-updates --delete --delete-after \ # Check if rsync was ok diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..a0ba3c6 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,43 @@ +fuel-createmirror (7.0-1) experimental; urgency=low + + * Fri Aug 07 2015 skulanov + + - Bump version to 7.0. Update code from upstream + + -- skulanov Fri, 07 Aug 2015 17:25:49 +0300 + +fuel-createmirror (6.1-14) experimental; urgency=low + + * Fri Jul 24 2015 aschultz + + - Fixing permisions after rsync of pool data + + -- aschultz Fri, 24 Jul 2015 13:45:00 -0600 + +fuel-createmirror (6.1-13) experimental; urgency=low + + * Thu Jun 11 2015 vparakhin + + - Add sysfsutils package to requirements-deb.txt + + * Fri Jun 5 2015 vparakhin + + - Fix release ID hardcoded in fuel-createmirror + + * Thu Jun 4 2015 vparakhin + + - Change netboot installer path for partial mirror + + * Tue Jun 2 2015 vparakhin + + - Bypass http proxy while accessing Fuel Master node + + * Tue Jun 2 2015 mmosesohn + + - Added proxy info to help + + * Converted from .rpm format to .deb + + - Added fuel-package-updates integration + + -- vparakhin Fri, 22 May 2015 14:58:48 +0300 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/conffiles b/debian/conffiles new file mode 100644 index 0000000..b71e9dc --- /dev/null +++ b/debian/conffiles @@ -0,0 +1,7 @@ +/config/common.cfg +/config/config.mk +/config/fuel.cfg +/config/mos-ubuntu-updatesonly.cfg +/config/mos-ubuntu.cfg +/config/requirements-deb.txt +/config/ubuntu.cfg diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..3b35ecc --- /dev/null +++ b/debian/control @@ -0,0 +1,14 @@ +Source: fuel-createmirror +Section: admin +Priority: optional +Maintainer: Mirantis Product +Build-Depends: debhelper (>= 7) +Standards-Version: 3.9.2 + +Package: fuel-createmirror +Architecture: all +Depends: ${shlibs:Depends},python,dpkg-dev,openssl,rsync +Description: CLI script for MOS/upstream mirroring + **fuel-createmirror -- utility for creating local mirrors of MOS and + upstream OS repositories + . diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..ddf1060 --- /dev/null +++ b/debian/copyright @@ -0,0 +1 @@ +Copyright: GPLv2 \ No newline at end of file diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..3caff52 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,3 @@ +#!/bin/bash +ln -sf /opt/fuel-createmirror-7.0/fuel-createmirror /usr/bin/ +ln -sf /opt/fuel-createmirror-7.0/config /etc/fuel-createmirror \ No newline at end of file diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..c30498a --- /dev/null +++ b/debian/postrm @@ -0,0 +1,10 @@ +#!/bin/bash +if [ "$1" = "1" ]; then + rm -f /usr/bin/fuel-createmirror + rm -f /etc/fuel-createmirror + ln -sf /opt/fuel-createmirror-7.0/fuel-createmirror /usr/bin/ + ln -sf /opt/fuel-createmirror-7.0/config /etc/fuel-createmirror +else + rm -f /usr/bin/fuel-createmirror + rm -f /etc/fuel-createmirror +fi \ No newline at end of file diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..8916fde --- /dev/null +++ b/debian/rules @@ -0,0 +1,46 @@ +#!/usr/bin/make -f + +PACKAGE=$(shell dh_listpackages) + +build: + dh_testdir + +clean: + dh_testdir + dh_testroot + dh_clean -d + +binary-indep: build + +binary-arch: build + dh_testdir + dh_testroot + dh_prep + dh_installdirs + + dh_installdocs + dh_installchangelogs + +# Copy the packages's files. + find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \ + xargs -0 -r -i cp -a {} debian/$(PACKAGE) + +# +# If you need to move files around in debian/$(PACKAGE) or do some +# binary patching, do it here +# + + +# This has been known to break on some wacky binaries. +# dh_strip + dh_compress +# dh_fixperms + dh_makeshlibs + dh_installdeb + -dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary diff --git a/specs/fuel-createmirror.spec b/specs/fuel-createmirror.spec new file mode 100644 index 0000000..b443a38 --- /dev/null +++ b/specs/fuel-createmirror.spec @@ -0,0 +1,103 @@ +%define name fuel-createmirror +%{!?version: %define version 7.0} +%{!?release: %define release 1} + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +Summary: CLI script for MOS/upstream mirroring +URL: http://mirantis.com + +Group: Development/Tools +License: GPLv2 +Source0: %{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot +BuildArch: noarch + +Requires: bash +Requires: docker-io +Requires: dpkg-devel +Requires: fuel-dockerctl +Requires: openssl +Requires: python +Requires: rsync + +%description + **fuel-createmirror -- utility for creating local mirrors of MOS and + upstream OS repositories + +%prep +rm -rf %{name}-%{version} +mkdir %{name}-%{version} +tar xzvf %{SOURCE0} -C %{name}-%{version} +rm -rf %{name}-%{version}/{debian,specs} + +%build + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}/opt/%{name}-%{version} +cp -R %{name}-%{version}/* %{buildroot}/opt/%{name}-%{version} +rm -f %{buildroot}/opt/%{name}-%{version}/version.txt + +%clean +rm -rf %{buildroot} + +%post +ln -sf /opt/%{name}-%{version}/%{name} %{_bindir} +ln -sf /opt/%{name}-%{version}/config %{_sysconfdir}/%{name} + +%postun +if [ "$1" = "1" ]; then + rm -f %{_bindir}/%{name} + rm -f %{_sysconfdir}/%{name} + ln -sf /opt/%{name}-%{version}/%{name} %{_bindir} + ln -sf /opt/%{name}-%{version}/config %{_sysconfdir}/%{name} +else + rm -f %{_bindir}/%{name} + rm -f %{_sysconfdir}/%{name} +fi + +%files +%defattr(-,root,root) +%dir /opt/%{name}-%{version}/ +/opt/%{name}-%{version}/%{name} +/opt/%{name}-%{version}/deb-mirror +/opt/%{name}-%{version}/util/ +%config /opt/%{name}-%{version}/config/ +/opt/%{name}-%{version}/LICENSE +/opt/%{name}-%{version}/README.md + +%changelog +* Fri Aug 07 2015 Sergey Kulanov +- Bump version to 7.0. Update code from upstream + +* Fri Jul 24 2015 Alex Schultz +- Fixing permisions after rsync of pool data + +* Thu Jun 11 2015 vparakhin +- Add sysfsutils package to requirements + +* Fri Jun 5 2015 vparakhin +- Fix release ID hardcoded in fuel-createmirror + +* Thu Jun 4 2015 vparakhin +- Change netboot installer path for partial mirror + +* Tue Jun 2 2015 vparakhin +- Bypass http proxy while accessing Fuel Master node + +* Tue Jun 2 2015 mmosesohn +- Added proxy info to help + +* Tue May 12 2015 vparakhin +- Added fuel-package-updates integration + +* Thu Apr 30 2015 vparakhin +- Added instructions on repositories setup in Fuel UI + +* Tue Apr 28 2015 vparakhin +- Script name changed to fuel-createmirror + +* Thu Apr 23 2015 vparakhin +- Initial release diff --git a/util/checksum.sh b/util/checksum.sh index 4d81aad..5de185a 100644 --- a/util/checksum.sh +++ b/util/checksum.sh @@ -1,5 +1,5 @@ check_file() -{ +{ checksum_file=$1 root=$2 file_to_check=$3 diff --git a/util/dpkg.patch b/util/dpkg.patch index 8e3e8ef..4b3ba853 100644 --- a/util/dpkg.patch +++ b/util/dpkg.patch @@ -33,7 +33,7 @@ index 9a3d59c..3d6724b 100755 @@ -143,7 +143,12 @@ sub load_override_extra s/\s+$//; next unless $_; - + - my ($p, $field, $value) = split(/\s+/, $_, 3); + my ($pr, $field, $value) = split(/\s+/, $_, 3); + @@ -41,9 +41,9 @@ index 9a3d59c..3d6724b 100755 + if (defined($options{arch}) and defined($parch)) { + next unless ($options{arch} eq $parch); + } - + next unless defined($packages{$p}); - --- + +-- 1.8.5.5 diff --git a/util/dpkg.sh b/util/dpkg.sh index 0dda3f9..01b6874 100644 --- a/util/dpkg.sh +++ b/util/dpkg.sh @@ -26,12 +26,12 @@ guess_filename() # Determines if file is compressed, and uncompresses into stdout # $1 -- file too cat -# $2=false -- Try to guess filename +# $2=false -- Try to guess filename read_file() { local file="$1" local try_to_guess="${2:-'false'}" - if [[ ! -f "$file" ]]; then + if [[ ! -f "$file" ]]; then if [[ "$try_to_guess" = "false" ]]; then return else @@ -91,7 +91,7 @@ get_dist_architectures() local dist_arches=( `read_file "$1"| egrep "^Architectures: "| cut -d' ' -f'2-'` ) local user_arches=( $* ) local to_return="" - # Filter out arches that not listed in 'ARCHs' global variable + # Filter out arches that not listed in 'ARCHs' global variable for arch in ${user_arches[@]}; do if contains "$arch" "${dist_arches[@]}"; then to_return="${to_return} $arch" diff --git a/util/msgs.sh b/util/msgs.sh index ae9bfd2..e8b9eac 100644 --- a/util/msgs.sh +++ b/util/msgs.sh @@ -5,7 +5,7 @@ DEBUG=${DEBUG:-"no"} QUIET=${QUIET:-"no"} # If no LOG_FILE set, discard log output -LOG_FILE=${LOG_FILE:-"/dev/null"} +LOG_FILE=${LOG_FILE:-"/dev/null"} ################################################################################ # Magic FD manipulations diff --git a/util/parsePackages.py b/util/parsePackages.py index a039ecd..ce2ff81 100755 --- a/util/parsePackages.py +++ b/util/parsePackages.py @@ -5,9 +5,9 @@ import re import sys -# Regex to parse -regex=re.compile("^(?P[a-z0-9]+): (?P.*)$", re.IGNORECASE) - +# Regex to parse +regex=re.compile("^(?P[a-z0-9]+): (?P.*)$", re.IGNORECASE) + for pkgfile in sys.argv[1:]: if pkgfile.endswith(".gz"): import gzip @@ -18,9 +18,9 @@ for pkgfile in sys.argv[1:]: else: file = open(pkgfile) - # Current package + # Current package pkg={} - + for line in file: # If we have a blank line - it's means that we're on package separator # Print the information about current package and clear current package info @@ -29,7 +29,7 @@ for pkgfile in sys.argv[1:]: if "md5sum" in pkg: sys.stderr.write("MD5 " + pkg["md5sum"] + " " + pkg["filename"] + "\n") pkg={} - + m = regex.match(line) if m: pkg[m.group("param").lower()] = m.group("value") diff --git a/util/parseSources.py b/util/parseSources.py index 5942773..c22663f 100755 --- a/util/parseSources.py +++ b/util/parseSources.py @@ -5,10 +5,10 @@ import re import sys -# Regex to parse -regex=re.compile("^(?P[a-zA-Z0-9_-]+):\s?(?P.*)$") -files_regex=re.compile("(?P[a-f0-9]{32}) [0-9]+ (?P.*)") - +# Regex to parse +regex=re.compile("^(?P[a-zA-Z0-9_-]+):\s?(?P.*)$") +files_regex=re.compile("(?P[a-f0-9]{32}) [0-9]+ (?P.*)") + for pkgfile in sys.argv[1:]: if pkgfile.endswith(".gz"): import gzip