Replace OBS with another build system

Registered by Roman Vyalov

We faced a number of challenges with OBS during last year.
- OBS builds packages in its own way which is different from upstream.
It causes an issues when upstream package can't be rebuilt without
changing packages sources.
- OBS rebuilds package when its build dependency changed (and doesn't
update revision number of such package)
- OBS uses base upstream packages for target in the building stage.
Every change in the target causes rebuilding of each package which
was built with this target.
- OBS doesn't support publishing udeb binary packages. This is due to
the fact that it uses plain debian repository structure. But deb and
udeb packages should not be published in one repository.
- Our current OBS version (2.4) doesn't support debian python:any
dependencies. That's why we decided to create new OBS (2.6) instance.
We can't update current version because it totally breaks supporting
previously shipped releases.
- OBS doesn't support signing with predefined key. Only OBS
auto generated keys can be used. Every OBS project has it's own key.
Such keys can't be exported from OBS.
- It's quite hard to reproduce our CI due to OBS. Every MOS OBS
project based on previously shipped project. (e.g. 6.1 and 6.0.1 based
on 6.0 release, 6.0 based on 5.1 and so on). So if you need to
reproduce our CI for 6.1 release, you need to rebuild all packages for
all shipped releases since 3.2.

Blueprint information

Roman Vyalov
Roman Vyalov
Dmitry Burmistrov
Series goal:
Accepted for 7.0.x
Milestone target:
milestone icon 7.0
Started by
Roman Vyalov
Completed by
Roman Vyalov

Related branches



Implementation currently track in: (branch feature/new-build-system)
Jenkins jobs:

Related design document:

Gerrit topic:,topic:bp/replace-obs,n,z

Addressed by:
    Blueprint: replace-obs

Addressed by:
    Move repository from OBS to Perestroika based packages

Addressed by:
    Add Perestroika DEB repository as packages source

Addressed by:
    Adjust deb sandbox repos with perestroika repo structure

Addressed by:
    [RN 7.0] [New Features] MOS Packages signature

Addressed by:
    [fuel-web] Perestroika buils system description


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.


No subscribers.