UX experience cleanup
This commit is contained in:
parent
748a8b42c9
commit
23605d0a36
@ -1,37 +1,58 @@
|
||||
VERSION="6.1"
|
||||
|
||||
# Base directory for mirror
|
||||
# Base directory for mirror
|
||||
MIRROR_ROOT="/var/www/nailgun"
|
||||
|
||||
# Log dir
|
||||
LOG_ROOT="/var/log/mirror-sync"
|
||||
# Configure upstream mirrors
|
||||
# NOTE: only rsync mirrors are supported by the script!
|
||||
# Please refer to https://launchpad.net/ubuntu/+archivemirrors for
|
||||
# official upstream Ubuntu mirrors list
|
||||
#
|
||||
# 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)
|
||||
# {DISTRO} - could be one of: UBUNTU, MOS_UBUNTU
|
||||
|
||||
# In case of working behind http proxy uncomment the following parameters
|
||||
# Note that your proxy configuration must allow proxying to port 873
|
||||
# Upstream Ubuntu packages
|
||||
MIRROR_UBUNTU_HOST="archive.ubuntu.com"
|
||||
MIRROR_UBUNTU_DIR="ubuntu"
|
||||
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"
|
||||
|
||||
# Configure repository paths
|
||||
# Format:
|
||||
# {DISTRO}_PATH=/path
|
||||
# {DISTRO} - could be one of: UBUNTU, MOS_UBUNTU
|
||||
|
||||
UBUNTU_PATH="${MIRROR_ROOT}/ubuntu-part"
|
||||
MOS_UBUNTU_PATH="${MIRROR_ROOT}/mos-ubuntu"
|
||||
|
||||
# Configure upstream packages mirroring mode
|
||||
# PARTIAL_UPSTREAM:
|
||||
# 0 - script will mirror all packages from specified distibutions
|
||||
# and components. Upstream mirror structure will be preserved.
|
||||
# 1 - (default) script will download only packages required for
|
||||
# MOS. For Ubuntu packages script will create partial repository
|
||||
# with the "main" component only, original mirror structure will
|
||||
# not be preserved.
|
||||
# NOTE: This setting affects upstream OS only (MOS mirror is always fetched as-is).
|
||||
|
||||
PARTIAL_UPSTREAM=1
|
||||
|
||||
# In case of working behind http proxy uncomment the following parameters
|
||||
# Note that your proxy configuration must allow proxying to port 873
|
||||
# RSYNC_PROXY=username:password@host:port
|
||||
# export RSYNC_PROXY
|
||||
# http_proxy=http://username:password@host:port/
|
||||
# export http_proxy
|
||||
|
||||
# Attempt to autodetect current Fuel version
|
||||
if hash fuel 2>/dev/null; then
|
||||
# working on Fuel node
|
||||
FUEL_VERSION=`fuel --fuel-version 2>&1 | awk -v sq="'" '/^release:/ { gsub(sq,""); print $2 }'`
|
||||
if ! wget -nv https://raw.githubusercontent.com/stackforge/fuel-main/${FUEL_VERSION}/config.mk -O /dev/null 2>/dev/null; then
|
||||
FUEL_BRANCH=master
|
||||
else
|
||||
FUEL_BRANCH=$FUEL_VERSION
|
||||
fi
|
||||
# On Fuel node we will be using dockerized Ubuntu for dependencies resolving.
|
||||
# Assuming that Docker is up and running.
|
||||
DOCKER_MODE=true
|
||||
FUEL_SERVER=`grep '"ipaddress":' /etc/fuel/astute.yaml | awk '{print $2}' | sed 's/"//g'`
|
||||
FUEL_ADMIN_PASS=`grep -A 2 FUEL_ACCESS /etc/fuel/astute.yaml | grep password | awk '{print $2}' | sed 's/"//g'`
|
||||
FULL_RELEASE=`fuel --fuel-version 2>&1 | grep -A 1 release_versions | tail -1 | cut -d":" -f1`
|
||||
else
|
||||
# working outside Fuel master node, using defaults
|
||||
FUEL_VERSION=6.1
|
||||
FUEL_BRANCH=master
|
||||
DOCKER_MODE=false
|
||||
FUEL_SERVER=FUEL_SERVER
|
||||
fi
|
||||
# On Fuel node (which is running CentOS) we use dockerized Ubuntu for dependencies resolving.
|
||||
# Set this to "true" only if Docker is up and running.
|
||||
# If set to "false", generic apt will be used instead.
|
||||
DOCKER_MODE=true
|
||||
|
||||
# Log dir
|
||||
LOG_ROOT="/var/log/mirror-sync"
|
||||
|
296
config/config.mk
Normal file
296
config/config.mk
Normal file
@ -0,0 +1,296 @@
|
||||
#
|
||||
# Build directives. Can be overrided by environment variables.
|
||||
#
|
||||
|
||||
# Base path for build and mirror directories.
|
||||
# Default value: current directory
|
||||
TOP_DIR?=$(PWD)
|
||||
TOP_DIR:=$(abspath $(TOP_DIR))
|
||||
# Working build directory
|
||||
BUILD_DIR?=$(TOP_DIR)/build
|
||||
BUILD_DIR:=$(abspath $(BUILD_DIR))
|
||||
# Path for build artifacts
|
||||
ARTS_DIR?=$(BUILD_DIR)/artifacts
|
||||
ARTS_DIR:=$(abspath $(ARTS_DIR))
|
||||
# Path for cache of downloaded packages
|
||||
LOCAL_MIRROR?=$(TOP_DIR)/local_mirror
|
||||
LOCAL_MIRROR:=$(abspath $(LOCAL_MIRROR))
|
||||
# Path to pre-built artifacts
|
||||
DEPS_DIR?=$(TOP_DIR)/deps
|
||||
DEPS_DIR:=$(abspath $(DEPS_DIR))
|
||||
|
||||
PRODUCT_VERSION:=6.1
|
||||
|
||||
# This variable is used for naming of auxillary objects
|
||||
# related to product: repositories, mirrors etc
|
||||
PRODUCT_NAME:=mos
|
||||
|
||||
# This variable is used mostly for
|
||||
# keeping things uniform. Some files
|
||||
# contain versions as a part of their paths
|
||||
# but building process for current version differs from
|
||||
# ones for other versions which are supposed
|
||||
# to come from DEPS_DIR "as is"
|
||||
CURRENT_VERSION:=$(PRODUCT_VERSION)
|
||||
|
||||
PACKAGE_VERSION=6.1.0
|
||||
UPGRADE_VERSIONS?=$(CURRENT_VERSION)
|
||||
|
||||
# Path to pre-built artifacts
|
||||
DEPS_DIR_CURRENT?=$(DEPS_DIR)/$(CURRENT_VERSION)
|
||||
DEPS_DIR_CURRENT:=$(abspath $(DEPS_DIR_CURRENT))
|
||||
|
||||
# Artifacts names
|
||||
ISO_NAME?=fuel-$(PRODUCT_VERSION)
|
||||
UPGRADE_TARBALL_NAME?=fuel-$(PRODUCT_VERSION)-upgrade
|
||||
OPENSTACK_PATCH_TARBALL_NAME?=fuel-$(PRODUCT_VERSION)-patch
|
||||
VBOX_SCRIPTS_NAME?=vbox-scripts-$(PRODUCT_VERSION)
|
||||
BOOTSTRAP_ART_NAME?=bootstrap.tar.gz
|
||||
DOCKER_ART_NAME?=fuel-images.tar.lrz
|
||||
VERSION_YAML_ART_NAME?=version.yaml
|
||||
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
|
||||
|
||||
MASTER_IP?=10.20.0.2
|
||||
MASTER_DNS?=10.20.0.1
|
||||
MASTER_NETMASK?=255.255.255.0
|
||||
MASTER_GW?=10.20.0.1
|
||||
|
||||
CENTOS_MAJOR:=6
|
||||
CENTOS_MINOR:=5
|
||||
CENTOS_RELEASE:=$(CENTOS_MAJOR).$(CENTOS_MINOR)
|
||||
CENTOS_ARCH:=x86_64
|
||||
CENTOS_IMAGE_RELEASE:=$(CENTOS_MAJOR)$(CENTOS_MINOR)
|
||||
UBUNTU_RELEASE:=trusty
|
||||
UBUNTU_MAJOR:=14
|
||||
UBUNTU_MINOR:=04
|
||||
UBUNTU_RELEASE_NUMBER:=$(UBUNTU_MAJOR).$(UBUNTU_MINOR)
|
||||
UBUNTU_KERNEL_FLAVOR?=lts-trusty
|
||||
UBUNTU_NETBOOT_FLAVOR?=netboot
|
||||
UBUNTU_ARCH:=amd64
|
||||
UBUNTU_IMAGE_RELEASE:=$(UBUNTU_MAJOR)$(UBUNTU_MINOR)
|
||||
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
|
||||
|
||||
# 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
|
||||
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
|
||||
ASTUTE_REPO?=https://github.com/stackforge/fuel-astute.git
|
||||
OSTF_REPO?=https://github.com/stackforge/fuel-ostf.git
|
||||
|
||||
# Gerrit URLs and commits
|
||||
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
|
||||
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
|
||||
ASTUTE_GERRIT_COMMIT?=none
|
||||
OSTF_GERRIT_COMMIT?=none
|
||||
FUELMAIN_GERRIT_COMMIT?=none
|
||||
|
||||
LOCAL_MIRROR_CENTOS:=$(LOCAL_MIRROR)/centos
|
||||
LOCAL_MIRROR_CENTOS_OS_BASEURL:=$(LOCAL_MIRROR_CENTOS)/os/$(CENTOS_ARCH)
|
||||
LOCAL_MIRROR_UBUNTU:=$(LOCAL_MIRROR)/ubuntu
|
||||
LOCAL_MIRROR_UBUNTU_OS_BASEURL:=$(LOCAL_MIRROR_UBUNTU)
|
||||
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'.
|
||||
# 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_KERNEL?=$(MIRROR_CENTOS)
|
||||
SANDBOX_MIRROR_CENTOS_UPSTREAM?=http://vault.centos.org/$(CENTOS_RELEASE)
|
||||
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_KERNEL?=$(MIRROR_CENTOS)
|
||||
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_KERNEL?=$(MIRROR_CENTOS)
|
||||
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_KERNEL?=$(MIRROR_CENTOS)
|
||||
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_KERNEL?=$(MIRROR_CENTOS)
|
||||
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_KERNEL?=$(MIRROR_CENTOS)
|
||||
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.
|
||||
# Example: YUM_REPOS?=official epel => yum_repo_official and yum_repo_epel
|
||||
# will be used.
|
||||
YUM_REPOS?=official fuel subscr_manager
|
||||
|
||||
# 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"
|
||||
EXTRA_RPM_REPOS?=
|
||||
|
||||
# Comma or space separated list. Available feature groups:
|
||||
# experimental - allow experimental options
|
||||
# mirantis - enable Mirantis logos and support page
|
||||
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)/
|
9
config/fuel.cfg
Normal file
9
config/fuel.cfg
Normal file
@ -0,0 +1,9 @@
|
||||
# Get Fuel settings
|
||||
|
||||
source <( $BINROOT/util/parse_yaml.py /etc/fuel/astute.yaml "FUEL" )
|
||||
source <( $BINROOT/util/parse_yaml.py /etc/nailgun/version.yaml "FUEL" )
|
||||
|
||||
FUEL_VERSION=$FUEL_VERSION_release
|
||||
FUEL_SERVER=$FUEL_ADMIN_NETWORK_ipaddress
|
||||
FUEL_ADMIN_PASS=$FUEL_FUEL_ACCESS_password
|
||||
FULL_RELEASE=$FUEL_VERSION_openstack_version
|
@ -1,17 +1,17 @@
|
||||
# Source common config
|
||||
source "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/common.cfg"
|
||||
source "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/fuel.cfg"
|
||||
|
||||
# Sync source
|
||||
UPSTREAM="mirror.fuel-infra.org"
|
||||
UPSTREAM_DIR="mirror/mos/ubuntu"
|
||||
UPSTREAM=$MIRROR_MOS_UBUNTU_HOST
|
||||
UPSTREAM_DIR=$MIRROR_UBUNTU_DIR
|
||||
UPSTREAM_DIR_HTTP="mos/ubuntu"
|
||||
|
||||
# PARTIAL_UPSTREAM=0 : sync full upstream repository
|
||||
# PARTIAL_UPSTREAM=1 : sync only upstream packages required by MOS
|
||||
# Always sync full MOS mirror
|
||||
PARTIAL_UPSTREAM=0
|
||||
|
||||
# Sync destination
|
||||
LOCAL_DIR="${MIRROR_ROOT:-"/var/www/nailgun"}/mos-ubuntu"
|
||||
LOCAL_DIR=$MOS_UBUNTU_PATH
|
||||
|
||||
# What parts to sync
|
||||
I18Ns=( en ) # Translations, not delete english, it might break repo
|
||||
|
@ -1,17 +1,17 @@
|
||||
# Source common config
|
||||
source "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/common.cfg"
|
||||
source "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/fuel.cfg"
|
||||
|
||||
# Sync source
|
||||
UPSTREAM="mirror.fuel-infra.org"
|
||||
UPSTREAM_DIR="mirror/mos/ubuntu"
|
||||
UPSTREAM=$MIRROR_MOS_UBUNTU_HOST
|
||||
UPSTREAM_DIR=$MIRROR_UBUNTU_DIR
|
||||
UPSTREAM_DIR_HTTP="mos/ubuntu"
|
||||
|
||||
# PARTIAL_UPSTREAM=0 : sync full upstream repository
|
||||
# PARTIAL_UPSTREAM=1 : sync only upstream packages required by MOS
|
||||
# Always sync full MOS mirror
|
||||
PARTIAL_UPSTREAM=0
|
||||
|
||||
# Sync destination
|
||||
LOCAL_DIR="${MIRROR_ROOT:-"/var/www/nailgun"}/mos-ubuntu"
|
||||
LOCAL_DIR=$MOS_UBUNTU_PATH
|
||||
|
||||
# What parts to sync
|
||||
I18Ns=( en ) # Translations, not delete english, it might break repo
|
||||
|
246
config/requirements-deb.txt
Normal file
246
config/requirements-deb.txt
Normal file
@ -0,0 +1,246 @@
|
||||
anacron
|
||||
apache2
|
||||
aptitude
|
||||
atop
|
||||
bc
|
||||
bridge-utils
|
||||
build-essential
|
||||
ceilometer-agent-central
|
||||
ceilometer-agent-compute
|
||||
ceilometer-agent-notification
|
||||
ceilometer-alarm-evaluator
|
||||
ceilometer-alarm-notifier
|
||||
ceilometer-api
|
||||
ceilometer-collector
|
||||
ceilometer-common
|
||||
ceph
|
||||
ceph-deploy
|
||||
ceph-mds
|
||||
cinder-api
|
||||
cinder-backup
|
||||
cinder-scheduler
|
||||
cinder-volume
|
||||
cirros-testvm
|
||||
cirros-testvmware
|
||||
cloud-init
|
||||
conntrackd
|
||||
corosync
|
||||
cpu-checker
|
||||
cpufrequtils
|
||||
curl
|
||||
daemonize
|
||||
debconf-utils
|
||||
debhelper
|
||||
devscripts
|
||||
discover
|
||||
discover-data
|
||||
disktype
|
||||
dkms
|
||||
dnsmasq-base
|
||||
dnsmasq-utils
|
||||
dstat
|
||||
erlang-dev
|
||||
ethtool
|
||||
fence-agents
|
||||
fuel-utils
|
||||
galera
|
||||
git
|
||||
glance-api
|
||||
glance-common
|
||||
glance-registry
|
||||
grub-pc
|
||||
haproxy
|
||||
heat-api
|
||||
heat-api-cfn
|
||||
heat-api-cloudwatch
|
||||
heat-common
|
||||
heat-docker
|
||||
heat-engine
|
||||
hicolor-icon-theme
|
||||
htop
|
||||
ifenslave
|
||||
installation-report
|
||||
intel-microcode
|
||||
iperf
|
||||
iperf3
|
||||
ipmitool
|
||||
iptables-persistent
|
||||
kdump-tools
|
||||
keystone
|
||||
language-pack-en
|
||||
language-pack-en-base
|
||||
language-pack-gnome-en
|
||||
language-pack-gnome-en-base
|
||||
libapache2-mod-fastcgi
|
||||
libapache2-mod-wsgi
|
||||
libguestfs-tools
|
||||
libnss3-tools
|
||||
libssl0.9.8
|
||||
linux-firmware
|
||||
linux-firmware-nonfree
|
||||
lksctp-tools
|
||||
lldpad
|
||||
mc
|
||||
mcelog
|
||||
mcollective
|
||||
mcollective-client
|
||||
mdadm
|
||||
memcached
|
||||
mongodb-clients
|
||||
mongodb-server
|
||||
monit
|
||||
murano
|
||||
murano-dashboard
|
||||
mysql-client
|
||||
mysql-server-wsrep-5.6
|
||||
nailgun-mcagents
|
||||
nailgun-net-check
|
||||
neutron-dhcp-agent
|
||||
neutron-l3-agent
|
||||
neutron-lbaas-agent
|
||||
neutron-metadata-agent
|
||||
neutron-metering-agent
|
||||
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
|
||||
neutron-plugin-linuxbridge-agent
|
||||
neutron-plugin-metaplugin
|
||||
neutron-plugin-metering-agent
|
||||
neutron-plugin-midonet
|
||||
neutron-plugin-ml2
|
||||
neutron-plugin-mlnx
|
||||
neutron-plugin-mlnx-agent
|
||||
neutron-plugin-nec
|
||||
neutron-plugin-nec-agent
|
||||
neutron-plugin-nicira
|
||||
neutron-plugin-oneconvergence
|
||||
neutron-plugin-oneconvergence-agent
|
||||
neutron-plugin-openflow-agent
|
||||
neutron-plugin-openvswitch
|
||||
neutron-plugin-openvswitch-agent
|
||||
neutron-plugin-plumgrid
|
||||
neutron-plugin-ryu
|
||||
neutron-plugin-ryu-agent
|
||||
neutron-plugin-vmware
|
||||
neutron-plugin-vpn-agent
|
||||
neutron-server
|
||||
neutron-vpn-agent
|
||||
nfs-common
|
||||
nginx
|
||||
nmap
|
||||
nodejs
|
||||
node-less
|
||||
nova-api
|
||||
nova-cert
|
||||
nova-compute-kvm
|
||||
nova-compute-qemu
|
||||
nova-conductor
|
||||
nova-consoleauth
|
||||
nova-network
|
||||
nova-novncproxy
|
||||
nova-objectstore
|
||||
nova-scheduler
|
||||
novnc
|
||||
ntp
|
||||
ohai
|
||||
openhpid
|
||||
openssh-server
|
||||
openstack-dashboard
|
||||
openvswitch-switch
|
||||
os-prober
|
||||
pacemaker
|
||||
pcs
|
||||
percona-toolkit
|
||||
percona-xtrabackup
|
||||
pssh
|
||||
puppet
|
||||
python-carrot
|
||||
python-ceilometer
|
||||
python-ceilometerclient
|
||||
python-ceph
|
||||
python-daemon
|
||||
python-daemonize
|
||||
python-dingus
|
||||
python-ethtool
|
||||
python-feedparser
|
||||
python-gflags
|
||||
python-glance
|
||||
python-gobject
|
||||
python-gobject-2
|
||||
python-heatclient
|
||||
python-keyring
|
||||
python-keystone
|
||||
python-ldap
|
||||
python-libxml2
|
||||
python-memcache
|
||||
python-muranoclient
|
||||
python-mysqldb
|
||||
python-netifaces
|
||||
python-neutron
|
||||
python-nose
|
||||
python-novnc
|
||||
python-openid
|
||||
python-openstack-auth
|
||||
python-openstackclient
|
||||
python-passlib
|
||||
python-pastescript
|
||||
python-pexpect
|
||||
python-pycurl
|
||||
python-pylibmc
|
||||
python-pyudev
|
||||
python-rabbit
|
||||
python-saharaclient
|
||||
python-scapy
|
||||
python-scgi
|
||||
python-setuptools-git
|
||||
python-sqlalchemy-ext
|
||||
python-stompy
|
||||
python-swift
|
||||
python-utidylib
|
||||
python-zmq
|
||||
qemu-kvm
|
||||
qemu-utils
|
||||
rabbitmq-server
|
||||
radosgw
|
||||
ruby
|
||||
ruby-cstruct
|
||||
ruby-dev
|
||||
ruby-httpclient
|
||||
ruby-i18n
|
||||
ruby-ipaddress
|
||||
ruby-json
|
||||
ruby-netaddr
|
||||
ruby-openstack
|
||||
ruby-rethtool
|
||||
ruby-stomp
|
||||
sahara
|
||||
screen
|
||||
sheepdog
|
||||
socat
|
||||
swift
|
||||
swift-account
|
||||
swift-container
|
||||
swift-object
|
||||
swift-plugin-s3
|
||||
swift-proxy
|
||||
sysstat
|
||||
tasksel
|
||||
tcptraceroute
|
||||
tmux
|
||||
traceroute
|
||||
ubuntu-minimal
|
||||
ubuntu-standard
|
||||
vgabios
|
||||
vim
|
||||
virt-what
|
||||
vlan
|
||||
xinetd
|
||||
zabbix-agent
|
||||
zabbix-frontend-php
|
||||
zabbix-server-mysql
|
||||
zabbix-server-pgsql
|
@ -1,20 +1,21 @@
|
||||
# Source common config
|
||||
source "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/common.cfg"
|
||||
source "$(dirname $(readlink -f "${BASH_SOURCE[0]}"))/fuel.cfg"
|
||||
|
||||
# Sync source
|
||||
UPSTREAM="archive.ubuntu.com"
|
||||
UPSTREAM_DIR="ubuntu"
|
||||
UPSTREAM_DIR_HTTP=${UPSTREAM_DIR}
|
||||
UPSTREAM=$MIRROR_UBUNTU_HOST
|
||||
UPSTREAM_DIR=$MIRROR_UBUNTU_DIR
|
||||
UPSTREAM_DIR_HTTP=$MIRROR_UBUNTU_HTTPDIR
|
||||
|
||||
PARTIAL_UPSTREAM=$PARTIAL_UPSTREAM
|
||||
|
||||
# Sync destination
|
||||
LOCAL_DIR="${MIRROR_ROOT:-"/var/www/nailgun"}/ubuntu-full"
|
||||
|
||||
# PARTIAL_UPSTREAM=0 : sync full upstream repository
|
||||
# PARTIAL_UPSTREAM=1 : sync only upstream packages required by MOS
|
||||
PARTIAL_UPSTREAM=1
|
||||
|
||||
# Destionation for partial upstream mirror
|
||||
PARTIAL_UPSTREAM_PATH="${MIRROR_ROOT:-"/var/www/mirror"}/ubuntu-part"
|
||||
if [ "$PARTIAL_UPSTREAM" == "1" ]; then
|
||||
LOCAL_DIR="${MIRROR_ROOT:-"/var/www/nailgun"}/ubuntu-full"
|
||||
PARTIAL_UPSTREAM_PATH=$UBUNTU_PATH
|
||||
else
|
||||
LOCAL_DIR=$UBUNTU_PATH
|
||||
fi
|
||||
|
||||
# What parts to sync
|
||||
I18Ns=( en ) # Translations, not delete english, it might break repo
|
||||
|
19
deb-mirror
19
deb-mirror
@ -457,24 +457,20 @@ if [[ "$PARTIAL_UPSTREAM" = "1" ]]; then
|
||||
info "Resolving dependencies for partial mirror"
|
||||
|
||||
# Detect kernel version of debian-installer
|
||||
fuel_config_temp=`mktemp --suffix="-fuel-config-temp"`
|
||||
if ! wget -nv https://raw.githubusercontent.com/stackforge/fuel-main/${FUEL_BRANCH}/config.mk -O $fuel_config_temp; then
|
||||
fatal "Failed to fetch Fuel config"
|
||||
fi
|
||||
export UBUNTU_RELEASE=`awk -F '[:=?]' '/^UBUNTU_RELEASE\>/ {print $NF}' $fuel_config_temp`
|
||||
export UBUNTU_NETBOOT_FLAVOR=`awk -F '[:=?]' '/^UBUNTU_NETBOOT_FLAVOR\>/ {print $NF}' $fuel_config_temp`
|
||||
export UBUNTU_ARCH=`awk -F '[:=?]' '/^UBUNTU_ARCH\>/ {print $NF}' $fuel_config_temp`
|
||||
fuel_config=$BINROOT/config/config.mk
|
||||
export UBUNTU_RELEASE=`awk -F '[:=?]' '/^UBUNTU_RELEASE\>/ {print $NF}' $fuel_config`
|
||||
export UBUNTU_NETBOOT_FLAVOR=`awk -F '[:=?]' '/^UBUNTU_NETBOOT_FLAVOR\>/ {print $NF}' $fuel_config`
|
||||
export UBUNTU_KERNEL_FLAVOR=`awk -F '[:=?]' '/^UBUNTU_KERNEL_FLAVOR\>/ {print $NF}' $fuel_config`
|
||||
export UBUNTU_ARCH=`awk -F '[:=?]' '/^UBUNTU_ARCH\>/ {print $NF}' $fuel_config`
|
||||
|
||||
INITRD_DIR="/dists/${UBUNTU_RELEASE}-updates/main/installer-${UBUNTU_ARCH}/current/images/${UBUNTU_NETBOOT_FLAVOR}/ubuntu-installer/${UBUNTU_ARCH}/"
|
||||
mkdir -p "$LOCAL_DIR/$INITRD_DIR"
|
||||
fetch "/$INITRD_DIR/initrd.gz" "$LOCAL_DIR/$INITRD_DIR"
|
||||
UBUNTU_INSTALLER_KERNEL_VERSION=`zcat "$LOCAL_DIR/$INITRD_DIR/initrd.gz" | cpio --list 'lib/modules/*/kernel' 2>/dev/null | cut -d"/" -f 3`
|
||||
export UBUNTU_INSTALLER_KERNEL_VERSION=`zcat "$LOCAL_DIR/$INITRD_DIR/initrd.gz" | cpio --list 'lib/modules/*/kernel' 2>/dev/null | cut -d"/" -f 3`
|
||||
debug "Detected debian-installer kernel version: "$UBUNTU_INSTALLER_KERNEL_VERSION
|
||||
rm -f "$fuel_config_temp"
|
||||
|
||||
# Generate list of MOS dependencies
|
||||
export apt_altstate=`mktemp -d --suffix="-apt-altstate"`
|
||||
export FUEL_BRANCH
|
||||
export BINROOT
|
||||
|
||||
if [[ "$DOCKER_MODE" = "true" ]]; then
|
||||
@ -482,8 +478,9 @@ if [[ "$DOCKER_MODE" = "true" ]]; then
|
||||
# docker pull ubuntu:latest
|
||||
docker -D run -d --name=fuel-createmirror --net=host -a stdout -a stderr -t \
|
||||
-e UBUNTU_RELEASE=$UBUNTU_RELEASE -e UBUNTU_NETBOOT_FLAVOR=$UBUNTU_NETBOOT_FLAVOR \
|
||||
-e UBUNTU_INSTALLER_KERNEL_VERSION=$UBUNTU_INSTALLER_KERNEL_VERSION -e UBUNTU_KERNEL_FLAVOR=$UBUNTU_KERNEL_FLAVOR \
|
||||
-e RSYNC_PROXY=$RSYNC_PROXY -e http_proxy=$http_proxy \
|
||||
-e UBUNTU_ARCH=$UBUNTU_ARCH -e FUEL_BRANCH=$FUEL_BRANCH -e BINROOT=$BINROOT \
|
||||
-e UBUNTU_ARCH=$UBUNTU_ARCH -e BINROOT=$BINROOT \
|
||||
-e apt_altstate=$apt_altstate -v $BINROOT:$BINROOT:rw -v $apt_altstate:$apt_altstate:rw ubuntu:latest
|
||||
dockerctl shell fuel-createmirror $BINROOT/util/partial_ubuntu.sh || fatal "Cannot calculate list of dependencies"
|
||||
# cleanup ubuntu container
|
||||
|
@ -2,61 +2,51 @@
|
||||
|
||||
# This shell script was written in order to help you to create and maintain your
|
||||
# local mirrors of MOS and/or Ubuntu. You could use this script as a cron job.
|
||||
# Dependencies: rsync, wget, gpg, docker + dpkg-dev (only for partial Ubuntu mirror)
|
||||
# Dependencies: rsync, gpg, docker + dpkg-dev (only for partial Ubuntu mirror)
|
||||
|
||||
usage(){
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: fuel-createmirror [-h|--help] | [mos|ubuntu]
|
||||
Usage: `basename $0` [options]
|
||||
|
||||
Create and update local mirrors of MOS and/or Ubuntu.
|
||||
|
||||
USAGE
|
||||
-----
|
||||
IMPORTANT!
|
||||
If NO parameters specified, this script will:
|
||||
- Create/Update both MOS and Ubuntu local mirrors
|
||||
- Set them as repositories for existing NEW environments in Fuel UI
|
||||
- Set them as DEFAULT repositories for new environments
|
||||
|
||||
-h| --help This help screen.
|
||||
Options:
|
||||
|
||||
Actions could be one of:
|
||||
|
||||
mos Create/Update MOS local mirror only
|
||||
ubuntu Create/Update Ubuntu local mirror only
|
||||
|
||||
If no parameters specified, script will Create/Update both MOS and
|
||||
Ubuntu mirrors.
|
||||
|
||||
Script will print directory names which can be used as respective
|
||||
repository URLs on the "Settings" page of cluster setup, i.e.
|
||||
|
||||
http://FUEL_SERVER:8080/ubuntu-part
|
||||
-h| --help This help screen.
|
||||
-d| --no-default Don't change default repositories for new environments
|
||||
-a| --no-apply Don't apply changes to Fuel environments
|
||||
-M| --mos Create/Update MOS local mirror only
|
||||
-U| --ubuntu Create/Update Ubuntu local mirror only
|
||||
-N| --dry-run Show commands to execute instead of running them
|
||||
|
||||
CUSTOMIZATION
|
||||
-------------
|
||||
The following configuration file could be used to modify the
|
||||
script behavior:
|
||||
|
||||
The following configuration directives could be used to modify the
|
||||
script behavior.
|
||||
/etc/fuel-createmirror/common.cfg
|
||||
|
||||
$BINROOT/conf/common.cfg:
|
||||
|
||||
FUEL_VERSION - set the current Fuel version here. If running on
|
||||
Fuel node, script will autodetect Fuel version,
|
||||
otherwize you should set the version manually.
|
||||
|
||||
$BINROOT/conf/ubuntu.cfg:
|
||||
|
||||
UPSTREAM - hostname of Ubuntu mirror. Only rsync mirrors are
|
||||
supported!
|
||||
|
||||
PARTIAL_UPSTREAM:
|
||||
0 - script will mirror all packages from specified distibutions
|
||||
and components. Upstream mirror structure will be preserved.
|
||||
1 - (default) script will download only packages required for
|
||||
MOS. Script will create partial repository with the "main"
|
||||
component only, original mirror structure will not be preserved.
|
||||
Please refer to the description of parameters in that configuration file.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
usage_short() {
|
||||
echo Usage: `basename $0` [options]
|
||||
echo
|
||||
echo -e Try \``basename $0` --help\' for more options.
|
||||
}
|
||||
|
||||
die() { echo "$@" 1>&2 ; exit 1; }
|
||||
|
||||
print_repositories_ubuntu() {
|
||||
# $1 - directory name of local repository
|
||||
echo -e " * INFO: In order to setup these repositories MANUALLY, you should"
|
||||
echo -e " go to Fuel UI, choose your cluster and go to the 'Settings' tab"
|
||||
if [ "$PARTIAL_UPSTREAM" == "0" ]; then
|
||||
@ -78,50 +68,97 @@ add_repositories_to_nailgun() {
|
||||
# $2 - distro name in fuel-package-updates format
|
||||
# $3 - directory name of local repository
|
||||
echo " * INFO: Attempting to add created repositories to Nailgun..."
|
||||
# find envs with status "new" and with given release_id
|
||||
local release_id=$1
|
||||
local extraopts=""
|
||||
[ "$PARTIAL_UPSTREAM" == "1" ] && extraopts=" --clear-upstream-repos "
|
||||
local clearupstream=" --clear-upstream-repos "
|
||||
local makedefault=" --make-default "
|
||||
local apply=" --apply "
|
||||
[ "$PARTIAL_UPSTREAM" == "0" ] && clearupstream=""
|
||||
[ "$OPT_NO_DEFAULT" == "1" ] && makedefault=""
|
||||
[ "$OPT_NO_APPLY" == "1" ] && apply=""
|
||||
# find envs with status "new" and with given release_id
|
||||
envs=`fuel env 2>&1 | grep -w new | awk -v release_id=$release_id -F'|' '$5 == release_id {print $1}'`
|
||||
for env in ${envs}; do
|
||||
fuel-package-updates -d $2 -r $FULL_RELEASE --no-download --apply --make-default \
|
||||
-s $FUEL_SERVER -p "$FUEL_ADMIN_PASS" -b http://$FUEL_SERVER:8080/$3 -e $env $extraopts 2>/dev/null
|
||||
$EXEC_PREFIX fuel-package-updates -d $2 -r $FULL_RELEASE --no-download $makedefault $apply \
|
||||
-s $FUEL_SERVER -p "$FUEL_ADMIN_PASS" -b http://$FUEL_SERVER:8080/$3 -e $env $clearupstream 2>/dev/null
|
||||
EC_FPU=$?
|
||||
if [[ "$EC_FPU" == "0" ]]; then
|
||||
echo " * INFO: environment id=$env updated successfully, no manual actions is required"
|
||||
[ "$OPT_NO_APPLY" ] || echo " * INFO: environment id=$env updated successfully, no manual actions is required"
|
||||
else
|
||||
echo " * WARNING: Failed to add repositories for environment id=$env to Nailgun, please add them MANUALLY"
|
||||
echo " * INFO: Failed to add repositories for environment id=$env to Nailgun, please add them MANUALLY"
|
||||
EC_ADD=1
|
||||
fi
|
||||
[ "$OPT_NO_DEFAULT" ] && echo " * INFO: Default repositories for new environments were not modified" || echo " * INFO: Created repositories were set as defaults for new environments"
|
||||
done
|
||||
[ "$EC_ADD" == "1" ] && print_repositories_ubuntu $3
|
||||
}
|
||||
|
||||
### BEGIN
|
||||
|
||||
# Set defaults
|
||||
OPT_MOS=1
|
||||
OPT_UBUNTU=1
|
||||
EXEC_PREFIX=""
|
||||
|
||||
# Parse options
|
||||
OPTS=`getopt -o hdaMUN -l help,no-default,no-apply,mos,ubuntu,dry-run -- "$@"`
|
||||
if [ $? != 0 ]; then
|
||||
usage_short
|
||||
exit 1
|
||||
fi
|
||||
|
||||
eval set -- "$OPTS"
|
||||
|
||||
while true ; do
|
||||
case "$1" in
|
||||
-h| --help ) usage ; exit 0;;
|
||||
-d | --no-default ) OPT_NO_DEFAULT=1; shift;;
|
||||
-a | --no-apply ) OPT_NO_APPLY=1; shift;;
|
||||
-N | --dry-run ) EXEC_PREFIX="echo EXEC "; shift;;
|
||||
-M | --mos ) unset OPT_UBUNTU; shift;;
|
||||
-U | --ubuntu ) unset OPT_MOS; shift;;
|
||||
-- ) shift; break;;
|
||||
* ) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ "$@" != "" ]]; then
|
||||
echo "Invalid option -- $@"
|
||||
usage_short
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z $OPT_MOS ] && [ -z $OPT_UBUNTU ]; then
|
||||
echo "The --mos and --ubuntu options are mutually exclusive, aborting..."
|
||||
usage_short
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BINROOT=$(dirname `readlink -f "$0"`)
|
||||
|
||||
if [[ ( "$1" == "--help" ) || ( "$1" == "-h" ) ]]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
. $BINROOT/config/common.cfg
|
||||
. $BINROOT/config/fuel.cfg
|
||||
|
||||
mkdir -p ${MIRROR_ROOT} || die "Cannot create ${MIRROR_ROOT}, exiting."
|
||||
mkdir -p ${LOG_ROOT} || die "Cannot create ${LOG_ROOT}, exiting."
|
||||
if [ -z "${RSYNC_PROXY+x}" ] && [ $http_proxy ]; then
|
||||
export http_proxy
|
||||
export RSYNC_PROXY=$http_proxy
|
||||
fi
|
||||
|
||||
$EXEC_PREFIX mkdir -p ${MIRROR_ROOT} || die "Cannot create ${MIRROR_ROOT}, exiting."
|
||||
$EXEC_PREFIX mkdir -p ${LOG_ROOT} || die "Cannot create ${LOG_ROOT}, exiting."
|
||||
|
||||
EC=0
|
||||
|
||||
if [[ "$1" != "ubuntu" ]]; then
|
||||
$BINROOT/deb-mirror $BINROOT/config/mos-ubuntu-updatesonly.cfg
|
||||
if [[ $OPT_MOS ]]; then
|
||||
$EXEC_PREFIX $BINROOT/deb-mirror $BINROOT/config/mos-ubuntu-updatesonly.cfg
|
||||
EC_MOS=$?
|
||||
fi
|
||||
|
||||
if [[ "$1" != "mos" ]]; then
|
||||
$BINROOT/deb-mirror $BINROOT/config/ubuntu.cfg
|
||||
if [[ $OPT_UBUNTU ]]; then
|
||||
$EXEC_PREFIX $BINROOT/deb-mirror $BINROOT/config/ubuntu.cfg
|
||||
EC_UBUNTU=$?
|
||||
fi
|
||||
|
||||
if [[ "$1" != "ubuntu" ]]; then
|
||||
if [[ $OPT_MOS ]]; then
|
||||
if [[ "$EC_MOS" == "0" ]]; then
|
||||
. $BINROOT/config/mos-ubuntu-updatesonly.cfg
|
||||
echo " * INFO: MOS mirror was created at: $LOCAL_DIR"
|
||||
@ -135,7 +172,7 @@ if [[ "$1" != "ubuntu" ]]; then
|
||||
EC=1
|
||||
fi
|
||||
fi
|
||||
if [[ "$1" != "mos" ]]; then
|
||||
if [[ $OPT_UBUNTU ]]; then
|
||||
if [[ "$EC_UBUNTU" == "0" ]]; then
|
||||
. $BINROOT/config/ubuntu.cfg
|
||||
if [[ $PARTIAL_UPSTREAM = "1" ]]; then
|
||||
|
21
util/dpkg.sh
21
util/dpkg.sh
@ -153,24 +153,3 @@ pkg_file_valid()
|
||||
debug "md5sum = $md5sum, expected $expected_md5sum"
|
||||
return 1
|
||||
}
|
||||
|
||||
# DEPRECATED
|
||||
parse_pkg_file()
|
||||
{
|
||||
local file="$1"
|
||||
local to_return=()
|
||||
|
||||
local line
|
||||
declare -A entry
|
||||
|
||||
read_file "$file" | \
|
||||
while read line; do
|
||||
if [[ -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
param=${line%%:*}
|
||||
entry[$param]=#${line#*: }
|
||||
# #echo "${entry[md5sum]} ${entry[size]} ${entry[filename]}"
|
||||
# entry=()
|
||||
done
|
||||
}
|
||||
|
27
util/parse_yaml.py
Executable file
27
util/parse_yaml.py
Executable file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/python
|
||||
# Enumerate YAML file and produce prefixed output
|
||||
|
||||
import re
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
filename = sys.argv[1]
|
||||
prefix = sys.argv[2]
|
||||
|
||||
def serialize(value, name):
|
||||
if value is None:
|
||||
print('{0}=""'.format(name))
|
||||
elif hasattr(value, 'items'):
|
||||
for key, subvalue in value.items():
|
||||
key = re.sub(r'[\W]', '_', key)
|
||||
serialize(subvalue, name + '_' + key)
|
||||
elif hasattr(value, '__iter__'):
|
||||
print("{0}_len={1}".format(name, len(value)))
|
||||
for i, v in enumerate(value):
|
||||
serialize(v, name + '_' + str(i))
|
||||
else:
|
||||
print('{0}="{1}"'.format(name, value))
|
||||
|
||||
with open(filename, 'r') as yaml_file:
|
||||
data = yaml.load(yaml_file)
|
||||
serialize(data, prefix)
|
@ -1,9 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$FUEL_BRANCH" ]; then
|
||||
echo "`basename $0`: FUEL_BRANCH is not defined!"
|
||||
exit 1
|
||||
fi
|
||||
cp $BINROOT/config/requirements-deb.txt $apt_altstate
|
||||
|
||||
cat >> $apt_altstate/requirements-deb.txt << EOF
|
||||
linux-image-${UBUNTU_INSTALLER_KERNEL_VERSION}
|
||||
linux-headers-${UBUNTU_INSTALLER_KERNEL_VERSION}
|
||||
linux-image-generic-${UBUNTU_KERNEL_FLAVOR}
|
||||
linux-headers-generic-${UBUNTU_KERNEL_FLAVOR}
|
||||
EOF
|
||||
|
||||
requirements_add_essential_pkgs () {
|
||||
# All essential packages are already installed, so ask dpkg for a list
|
||||
dpkg-query -W -f='${Package} ${Essential}\n' > /tmp/essential.pkgs
|
||||
sed -i /tmp/essential.pkgs -n -e 's/\([^ ]\+\).*yes$/\1/p'
|
||||
cat /tmp/essential.pkgs >> $apt_altstate/requirements-deb.txt
|
||||
}
|
||||
|
||||
#apt_altstate=`mktemp -d --suffix="-apt-altstate"`
|
||||
apt_lists_dir="$apt_altstate/var/lib/apt/lists"
|
||||
@ -54,12 +65,7 @@ if ! apt-get $apt_altstate_opts update; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! hash wget 2>/dev/null; then apt-get -y install wget; fi
|
||||
|
||||
if ! wget -nv https://raw.githubusercontent.com/stackforge/fuel-main/${FUEL_BRANCH}/requirements-deb.txt -O $apt_altstate/requirements-deb.txt; then
|
||||
echo "`basename $0`: failed to fetch requirements-deb.txt"
|
||||
exit 1
|
||||
fi
|
||||
requirements_add_essential_pkgs
|
||||
|
||||
echo "Processing Fuel dependencies..."
|
||||
|
||||
@ -91,4 +97,4 @@ for dload in $NETBOOT_FILES; do
|
||||
echo NONE NONE dists/${UBUNTU_RELEASE}-updates/main/installer-${UBUNTU_ARCH}/current/images/${UBUNTU_NETBOOT_FLAVOR}/ubuntu-installer/${UBUNTU_ARCH}/${dload} >> $apt_altstate/netboot_md5.list
|
||||
done
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user