Commit Graph

233 Commits

Author SHA1 Message Date
Andreas Jaeger 32ca1f64ab Retire repository
Fuel (from openstack namespace) and fuel-ccp (in x namespace)
repositories are unused and ready to retire.

This change removes all content from the repository and adds the usual
README file to point out that the repository is retired following the
process from
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project

See also
http://lists.openstack.org/pipermail/openstack-discuss/2019-December/011647.html

Depends-On: https://review.opendev.org/699362
Change-Id: I274ce8f03b58ad770221219c197336055e263d38
2019-12-18 09:42:48 +01:00
Valeriy Sakharov 00ccb73d2d Add holdback and hotfix repos into custom isos
Into MOS9 Custom ISO included only mos9.0-updates, mos9.0-security
and mos9.0-proposed dists. We should also include mos9.0-holdback
and mos9.0-hotfix, because they are contain packages with fixes for
critical issues.

Change-Id: Ie439f61ec10c45e1ba69767067d7c6716e8df145
Closes-bug: #1657731
(cherry picked from commit 4e4d96c16b)
2017-02-14 12:49:22 +00:00
Valeriy Sakharov 10f5d75a4a Make sure the ISO tracks the latest merged code
After MOS 9.0 release main repositories are now freezed, and the latest
merged code lands into -proposed. Thus to keep development and CI for
stable/mitaka branch packages from proposed should be added to the ISO.

Change-Id: I5f63ec2921e96e7efbb383eb4a92a40e2ab900bd
Closes-bug: #1619309
(cherry picked from commit 7c45cbe613)
2017-02-14 12:18:04 +00:00
Vladimir Kozhukalov 5fd55ab813 Revert "Make sure the ISO tracks the latest merged code"
This reverts commit c6bf2265d2.

Change-Id: Id41834a48af813aeabea223da5981cb454cef75c
2016-09-09 11:37:18 +00:00
Dmitry Teselkin c6bf2265d2 Make sure the ISO tracks the latest merged code
After MOS 9.0 release main repositories are now freezed, and the latest
merged code lands into -proposed. Thus to keep development and CI for
stable/mitaka branch packages from proposed should be added to the ISO.

Closes-bug: #1619309

Change-Id: I8f7cd2fd221e3db5893f7a369696b13f29f83bd5
2016-09-01 17:51:09 +03:00
Jenkins 68b223a8c2 Merge "[Trivial] Remove unnecessary executable privilege" 2016-05-20 10:42:07 +00:00
Sergey Kulanov d27a808ad0 Get rid of Mirantis related links
All related internal mirrors can be re-defined through
the env variables, so we can freely remove them

Change-Id: Iae8bb0fbba8097e67287406a8aaf378283545c5c
Closes-bug: #1582701
2016-05-18 13:33:13 +03:00
ZhiQiang Fan 6c769d689c [Trivial] Remove unnecessary executable privilege
mirror/centos/yum-priorities-plugin.py is a module rather than a
script, there is no need to set +x flag.

Change-Id: I59705c729530fdb90ac59b1855e7bf9ad46a221b
2016-04-29 21:09:56 +08:00
Sergey Kulanov b8ca322f71 Disable yum verify SSL certificates/hosts at all
Disable SSL certificates check since we can have self signed
certs for yum repos

Change-Id: I38067ec3cf4e86b0b2623d716059763308ae0c5b
Closes-bug: #1541934
2016-04-01 11:59:32 +03:00
Nguyen Hung Phuong 735eef25ec Fix typos in Fuel files
TrivialFix

Change-Id: Ie3196a4b09ab46c67ea9316e6c048bbc69a10232
2016-03-28 10:34:59 +07:00
Vladimir Kozhukalov c23c6c7a46 Remove Docker related code
We got rid of using docker containers
on the master node. Now we deploy all
Fuel service directly on the host.

Implements blueprint: get-rid-docker-containers

Change-Id: Ie636d33d091a95fb0ff8fbd71e49cbccf1cb34fa
2016-02-10 19:35:40 +03:00
Vitaly Parakhin 1db49d545b Do not download debug deb packages
According to the separate-mos-from-linux spec, packages
with debug symbols are distributed via public mirrors,
so putting them to the product ISO makes no sense.

This change was introduced in commit 7177b8fcb3
but removed in the next one b715f0b397

Implements: separate-mos-from-linux
Closes-bug: #1531476

Change-Id: I6ddf7965d527ba76a85e560356c6faeabb9e6801
2016-01-06 12:16:00 +00:00
Vitaly Parakhin 80d35d1fef Use temporary yum cache dir during extra repos sync
During an ISO build, the extra repositories are synced by using
reposync utility. This utility should store cached metadata in
a local temporary directory, in order to prevent issues with
stale yum cache.

Change-Id: I58c326fe2bfd4da4cba9daa3343bfe5123e8e560
Closes-Bug: #1529073
2015-12-29 18:05:01 +02:00
Vitaly Parakhin 7e588d6acd Use temporary yum cache dir during MOS repo sync
During an ISO build, the MOS repository is synced by using reposync
utility. This utility should store cached metadata in a local temporary
directory, in order to prevent issues with stale yum cache.

Change-Id: I92573191f6c9b4d4a17b14890d0ab88ceb0a75c0
Closes-Bug: #1529073
2015-12-25 17:30:51 +02:00
Jenkins 713b2d7421 Merge "tuning the indent of commont" 2015-12-17 12:07:16 +00:00
Sergey Kulanov 4580abfe51 Exclude i686 packages for extra CentOS 7 repo
Closes-bug: #1524495

Change-Id: Ic929c46f4a9d34761f2b56253fde64ff162db01d
2015-12-10 12:47:38 +02:00
Dmitry Teselkin 4853b7da21 Fix ISO build process for CentOS7
Existing ISO build scripts can't build CentOS7 based
ISO due to changes in package names, files, and so on.

This review fixes issue have been found, and introduces
several minor improvements.

Blueprint: master-on-centos7

Breaks: centos6

Co-Authored-By: Ivan Suzdal <isuzdal@mirantis.com>

Change-Id: I830ff03aa1051f14f2bdafb16cca1979d38e9ad5
2015-12-04 01:30:17 +03:00
Roman Vyalov 9ddefc6327 Revert "Revert "Separate CentOS from MOS""
Fix the problem with separate repos to support rebuild docker

1. Make a symlink for mos-centos in /var/www/nailgun in iso/ks.template
2. Add mos-repos to the bootstrap_admin_node.sh

This reverts commit 32b1363015.

Closes-bug: #1521551
Change-Id: I8ef58b581f253b26d158b725a9e366d7f1b3706d
2015-12-01 12:44:59 +00:00
Matthew Mosesohn 32b1363015 Revert "Separate CentOS from MOS"
The commit this patch reverts breaks Fuel CI
on docker container rebuilds.

This reverts commit bc9c3117c7.

Change-Id: I18fe16cf8f0be40e30fec6229606d1d69cbfe73d
Closes-Bug: #1521551
2015-12-01 10:52:53 +00:00
Vitaly Parakhin bc9c3117c7 Separate CentOS from MOS
Release ISO must contain only packages that are
modified by MOS team, and CentOS upstream packages
for Fuel node deployment.

MOS repo, as well as the ones specified in the
EXTRA_RPM_REPOS variable, are downloaded and
placed on the ISO as-is.

Blueprint: separate-mos-from-centos

Change-Id: I983f37371a70d2901bdf0ebef122ba1a2f2e44b9
2015-11-24 13:22:10 +02:00
Sergey Kulanov 6e1f632f83 Fix BUILD_PACKAGES flag
Build iso with BUILD_PACKAGES=0:

* Late packages:
  - fuel-bootstrap-image,
  - fuel-docker-images,
  should be always built in spite of  BUILD_PACKAGES flag,
  since they depend on the first level artifacts (packages)
  and are not updated in the mirrors yet;

* Build fuel-bootstrap-image-builder package for astute container

* Update requirements-*.txt file by adding all fuel packages only in case
  BUILD_PACKAGES=0

* Update docker-images spec to support fakeroot rpmbuild approach

Related-bug: #1460480

Change-Id: I00ea15c9df9277d48a294f8379d87352c017becb
2015-11-16 16:28:09 +02:00
Sergey Kulanov 4b1f91ad49 Update mirror list for ISO build
Since we don't have staging mirror process we need to update
mirror lists

Closes-bug: #1511696

Change-Id: I2b1027255c655d51578b0b3ab58189dced911aa7
2015-10-30 17:17:50 +02:00
zhangguoqing b2ad5aefc9 tuning the indent of commont
Change-Id: I701ffe2620180ccc112f6c256f130569eb98899b
2015-10-11 16:08:24 +08:00
Vladimir Kozhukalov 4bcf78a566 Separate extras yum repo from other official repos
Sometimes it is necessary to enable extras yum repository while it is
disabled by default. The most convenient way is to set YUM_REPOS
variable for a particular job. This patch makes it possible.

Change-Id: Icb074474fa4602288aa43129dd1dfc058ebe646b
2015-09-29 17:21:23 +03:00
Jenkins 18cf3a51f7 Merge "Decrease wget verbosity" 2015-09-28 17:56:58 +00:00
Vladimir Kozhukalov fa08b52fbd Switch to perestroika v5 repositories
Perestroika builds both rpm and deb fuel repos.
We use perestroika rpm repository to build fwm
repository which includes fuel packages as well
as those packages which are listed in requirements-rpm.txt.
Deb repository can be used directly.

Closes-Bug: #1479761
Change-Id: I236144759eb38e71977d175226f81772d23de9b3
2015-08-10 14:33:16 +00:00
Sergey Kulanov b87de67f15 Create targets to show repos configuration during ISO build
We can talk about several types of repos configurations:
 * Ubuntu sandbox (make show-ubuntu-sandbox-repos);
 * CentOS:
      - for building local mirror (make show-yum-repos-centos);
      - for using in sandbox (make show-centos-sandbox-repos);

This patch introduces several changes
1. Rename show-apt-source-list target to show-ubuntu-sandbox-repos
   to be closer to centos naming (show-centos-sandbox-repos)
2. Add show-centos-sandbox-repos target, which will show yum
   configuration for centos sandbox
3. Add show-yum-repos-centos, which will show yum configuration
  used while building local centos mirror

Examples:
   -  make show-ubuntu-sandbox-repos
   -  make show-centos-sandbox-repos
   -  USE_MIRROR=none \
       EXTRA_RPM_REPOS=extra,http://my.repo \
       make show-yum-repos-centos

Change-Id: I0b1141f8b7acfa682f7d4c4cc6e2fd09363eb3ca
2015-08-10 11:49:30 +03:00
Jenkins 7a374fbd1f Merge "Remove source packages from fwm yum repo" 2015-07-31 10:55:27 +00:00
Vladimir Kozhukalov 90a8ba6084 Remove source packages from fwm yum repo
Seems we don't need this any more because
perestroika puts source packages on its own.
They are available online for users.
Besides, perestroika has slightly different
repo format than fwm repo and switching
to perestroika  breaks src rpm downloading
for staging mirror job.

Change-Id: Ifef8e37b690dc1d867cad023fa138144637f689e
2015-07-30 23:34:28 +03:00
Igor Gnatenko e29f206159 download pxeboot files as in treeinfo
v2:
    Use temporary file for download

Change-Id: Ic347a2c3b484084d94863fdcac21e682749dd704
Reported-by: Oleksii Kravchenko <okravchenko@mirantis.com>
Closes-Bug: #1396122
Signed-off-by: Igor Gnatenko <ignatenko@mirantis.com>
2015-07-30 15:12:45 +03:00
Max Rasskazov 7ee52b60d4 Decrease wget verbosity
Remove progress bar indicator that produces too much unneeded output

Change-Id: I9b60f0c7b48519cc807a60324debb654802a0739
2015-07-13 16:17:11 +00:00
Jenkins a7e1ae2b74 Merge "Add Perestroika DEB repository as packages source" 2015-07-10 16:43:27 +00:00
Vitaly Parakhin fb6f98a393 Add Perestroika DEB repository as packages source
Implements: blueprint replace-obs
Change-Id: I26f238fe31470c1223a79e69b7f5b1cc601fbcb1
2015-07-09 23:56:26 +03:00
Vladimir Kuklin 32f40f23a6 Added priorities for centos extra repos
We need to be able to download packages from
various repositories taking into account repository
priority. We need this for patching story.

By default priorities are
1) upstream 90
2) proprietary 20
3) DENY_RPM_DOWNGRADE=1 (default: 1), we are
   not allowed to downgrade rpm packages. In some
   cases when we need to be able to use downgraded
   versions this flag should be set to 0:
      DENY_RPM_DOWNGRADE=0

EXTRA_RPM_REPOS is to have the following format
    "name1,url1,pri1 name2,url2,pri2"

In case when pri is not defined it will be set to 10,
for example:
    "name1,url1" is equal to "name1,url1,10"

Closes-Bug: #1446293
Change-Id: I4a26dd005852af60104c39e46384a21c39cce587
2015-06-25 17:18:45 +03:00
Alexei Sheplyakov 95601a3f4d mirror/centos: fail on broken/missing package(s)
Apparently yumdownloader does not raise an error if some packages are
missing or broken (dependencies can not be satisfied). As a result some
packages have silently disappered from the mirror (kmod-openvswitch) and
others have been broken (sheepdog).

Patch yumdownloader so it bails out if some packages are missing or have
broken dependencies. As a side effect yumdownloader raises an error if
some of the packages being downloaded conflict (like kernel-headers vs
kernel-headers-lt), so modify the mirroring code to detect and handle
the conflicting packages.

More strict dependencies check yield some unexpected issues. In
particular a few 32 bit packages are broken due to the upgraded base
packages from Fuel repo being x86_64 only. In particular, 32 bit dmraid
package is broken due to device-mapper-libs:

Package: device-mapper-libs-1.02.79-8.el6.i686 (base)
    Requires: device-mapper = 1.02.79-8.el6
    Available: device-mapper-1.02.79-8.el6.x86_64 (base)
        device-mapper = 1.02.79-8.el6
    Installing: device-mapper-1.02.90-2.mira1.x86_64 (fuel)
        device-mapper = 1.02.90-2.mira1

To solve the problem configure yum to exclude most of i686 packages.
The configuration appeared to be a bit cumbersome since *some* i686
packages are required. In particular syslinux package requires
syslinux-nonlinux (binaries which run in syslinux environment before
booting the OS) which is formally an i686 package.

Closes-Bug: #1457382
Related-Bug: #1456459
Change-Id: I404b662cd3b54ee9d058692bb30177b985871b16
2015-05-25 18:43:11 +03:00
Vladimir Kozhukalov 3dea637b2e Remove differential (diff) repos
We used to create differential Ubuntu and Centos
repositories for new Fuel versions to make them
smaller. However, this technique contradicts
our current upgrade/patching approach. So, this
patch removes this functionality.

Closes-Bug: #1447135
Related-Bug: #1446293

Change-Id: I6c9288e77c6ccc5872056a8119230ec725846bba
2015-04-29 13:51:25 +03:00
Jenkins ea80e2c7df Merge "Fixed errors in packages/deb and mirror/ubuntu" 2015-04-29 10:37:56 +00:00
Vladimir Kozhukalov f3d5199656 Fixed errors in packages/deb and mirror/ubuntu
1) unconditional rebuilding due to
never existent file

repocleanup.done used to depend on PHONY target (sources)
which led to unconditional rebuilding.
This didn't influence ISO builds because CI always cleans
environment.

2) fail when try to rebuild second
time without cleaning environment

repo.done used to consume some config files
created by reprepro.done target. After consuming those files
it used to remove them not touching reprepro.done itself.
Without cleaning build environment this fails the build process.

Change-Id: Ib0de2e5ea94caeb7f93f5bc8d0f06a6f806e3ca6
Closes-Bug: #1448206
2015-04-28 19:44:25 +03:00
Matthew Mosesohn ee112acfdd Prevent filename.rpm.1 downloads
wget defaults to appending ".1" to filenames when
downloading files that already exists. Switching
to timestamp mode (-N) forces wget to replace
existing file only when there is a newer file
on the server. This applies just to downloading
RPM files currently.

Change-Id: Ifc63abb181d53255105e620b26fd9e81611cdc5e
Closes-Bug: #1423874
2015-04-28 15:53:32 +00:00
Vladimir Kuklin b715f0b397 Refactor how we are doing packaging
This commit is a squashed version of commits that
implement packaging of fuel components. In order to
make our packaging process better I had to introduce
some new macros and do additional cleanup.

The main paradigm that we are following with this commit is
the following:

1 GIT REPO -> 1 PACKAGING SPEC -> N PACKAGES

Though it would be ideal to have only one package per git repo,
but this is left for further releases

This change is very essential to make updates process easier
as we provide only one type of artifacts that a user can fetch -
distro-specific package

This particular commit does not introduce new DEB packages
(such as packages of OCF scripts and other binaries that
we currently put onto the slave nodes with puppet instead of
installing them as packages) which will be introduced as
a part of whole packaging initiative a little bit later

1) Add prepare_git_source macro
This change is important to always
checkout the code from git working
or we can end up with garbage getting
into package source code and add
version.txt file to source archives

2) Remove nailgun-redhat-license package
This package is obsolete - we do not need
it.

3) Package fuel-library into RPM package

4) Delete old packages and misc stuff

This change is a little cleanup of python-tasklib
and other leftovers

5) Change RPM sandbox configuration

Change RPM sandbox configuration to use upstream mirrors
to be able to install nailgun build dependencies

6) Alter Nailgun spec

a) Change nailgun spec to use NPM during package
build
b) Switch nailgun to prepare_git_source
c) Package all packages of fuel-web repo using
only nailgun.spec

7) Alter RPM sandbox preparation to install build-deps

8) Package astute and mcagents using astute.spec

9) Include all built RPMs

Include all RPMS that were built inside the sandbox

10) Package fuel-ostf with git-archive

11) Build python-fuelclient using git_archive macro

12) Move specs to particular git repositories

13) Rename fuel-library and ostf to make macros easier
14)Adjust build scripts to fetch specs from particular
fuel repositories

FUEL DEB-packaging related code

15) Restore part of make system code for DEB packages building

16) Nailgun debian spec files for all nailgun-based packages

17) Clean up SANDBOX for Ubuntu generation

18) Clean up some package building scripts

19) Put PACKAGE_VERSION variable into the top config.mk

20) Add dockerctl and change fuel-library tar.tg path

21) Move deb rules to particula repos

22) Allow to rebuild deb repo with reprepro on-the-fly

24) Fix repocleanup stanza to parse source packages metadata

25) Debmirror whole repos in order not to break reprepro

26) Make docker image build depend on late RPM packages
or it may lead to race conditions

27) Clean up old deb packages with one shot instead
of parallel run

Change-Id: I15ae4d0abe51c72b28793e1a1ef30fec0f668b73
Blueprint: package-fuel-components
2015-04-20 18:21:57 +03:00
Vitaly Parakhin 7177b8fcb3 Separate MOS Ubuntu from upstream
1) Change mirroring procedure for Ubuntu:

   - USE_MIRROR=none: rsync the whole mirror from build server
   - USE_MIRROR=<location>: mirror only required MOS distro

Added support for different mirroring methods.

2) Remove procedure of building Fuel deb packages
3) Remove building of deb-based IBP images
4) Remove deb-based chroots
5) Modify creation of Ubuntu diff mirror artifact

Implements: separate-mos-from-linux
Change-Id: Icd10aea6ebddb27976e88ceb930be9afac0241ad
2015-03-24 14:14:06 +02:00
Alexei Sheplyakov 5595953db1 mirror/centos: download the sources faster
Apparently yumdownloader processes conflicting packages just fine if asked
for URLs only (as opposed to downloading the actual packages), hence
src.rpms can be processed in batch (which is much faster).

Speeds up the staging mirror job quite a bit.

Change-Id: Id4209cbad3cbefe4e96b12abf4e83ac6bafcfa2e
2015-03-12 22:26:13 +03:00
Matthew Mosesohn 095f805f6c Download centos base image instead of fuel/centos
CentOS base docker image is a dependency for 
fuel-centos-build container. It was left out
in commit b975019fab.
Change-Id: I822a6bb8c32f6592adc8971c1d67ca80af354e45
Partial-Bug: #1428060
2015-03-10 17:04:52 +00:00
Alexei Sheplyakov 0e45b31db1 mirror/ubuntu: fix sources.list with USE_MIRROR!=none
Pass the USE_MIRROR and MIRROR_UBUNTU_SECURITY variables to submake
so it generates a valid sources.list

Change-Id: I796fa4c8fe0452d975fb57bedbcf332129da0154
2015-03-05 19:49:47 +03:00
Alexei Sheplyakov 3937483ff5 Update to Ubuntu 14.04 LTS
* image/ubuntu:
  - make sure puppet agent is not started during OS boot
  - catch up the new ruby packages naming convention
  - don't install Mellanox related packages (should be reverted
    after rebuilding those packages for Ubuntu 14.04)
* requirements-deb.txt:
  - adapt to the packages' names changes (guestmount -> libguestfs-tools)
  - use the default version of ruby (ruby 1.8 is not available any more),
    catch up the new ruby packages naming convention.
  - dhcp-checker is gone, long live nailgun-net-checker.
  - temporarily skip Mellanox related packages (until they get rebuild
    for Ubuntu 14.04)
* config.mk:
  - use the new OBS APT repository
* packages/deb/specs:
  - nailgun-agent, fencing-agent: depend on ohai, so the custom ruby-ohai
    package (which actually contains the identical code) is not required
    any more
  - temporarily remove nailgun-agent and fencing-agent from requiremets-deb.txt

Implements: blueprint support-ubuntu-trusty
Change-Id: I4300b892c1fbb8d1dfa8bdd18815d56bcabe324d
2015-03-05 00:23:06 +01:00
Alexei Sheplyakov a13549635b Faster calculation or RPM dependencies
Apparently yumdownloader handles conflicting packages just fine if asked
for download URLs only.

Change-Id: Ib949091866621c3e229ce7a69c4fdaf423872d4d
2015-02-27 19:18:03 +03:00
Alexei Sheplyakov 9d8c3a603a mirror/ubuntu: speed up downloading the packages
Create an alternative APT config/state instead of making a chroot.
Guess the set of nonconflicting packages and process them in a batch.
Figure out the set of udebs to download using apt-cache instead of
parsing APT repository meta-data with shell code.

blueprint support-ubuntu-trusty

Change-Id: I6f3694c714bbaa488894857ce3a6d5c753197db7
2015-02-27 19:18:03 +03:00
Sergey Kulanov df602b1a4c Clean docker containers and images
Clean:
 * all containers
 * all fuel|<none> images

Change-Id: If3b4f543447f39e64e51c143306a9851f1b4bfef
Closes-bug: #1423482
2015-02-23 20:59:05 +02:00
Dmitry Pyzhov 2f0d6a3b82 Revert "mirror/ubuntu: speed up downloading the packages"
It brokes master

This reverts commit 4b21d952c0.

Change-Id: I3973aad0754642ea702f704428f442c4a527645b
2015-02-18 15:40:52 +00:00
Alexei Sheplyakov 4b21d952c0 mirror/ubuntu: speed up downloading the packages
Create an alternative APT config/state instead of making a chroot.
Calculate packages' dependencies in parallel.

blueprint support-ubuntu-trusty
Change-Id: I27545b9f3bc1393803b953919ea7f077c23f3245
2015-02-18 15:57:02 +03:00