6 Commits
Author SHA1 Message Date
George T Kramer f35848b8e0 Reduce disk and CPU usage during mash creation
Because the mash script will always need to run on the kojimaster
server, it has local access to RPMs.  Rather than copying the data,
create a symlink to the data.  This reduces disk usage and allows the
mash hosting location to be flexible.

Because the mash is re-generated every time kojira runs and creates a
new koji repository, by nature, the mash is an iterative process.
Existing repository metadata is always available (excpet for the first
run).  Pass this existing metadata to createrepo_c so that it may more
efficiently diff and recalculate the updated metadata in order to reduce
CPU and disk usage.

By reducing disk and CPU usage, this reduces the impact of running this
process on a kojimaster which is a shared system responsible for hosting
many resources.

Signed-off-by: George T Kramer <george.t.kramer@intel.com>
2019-10-24 12:49:33 -07:00
George T Kramer 8e0085e302 Replace mash utility with bash script
The mash utility has not been ported to python3.  There is also no
comparable replacement utility of a similar scope that can do a similar
job.  There is pungi utility, which is the replacement for mash.
However, pungi is Fedora's build process encapsulated into a single tool
and is doing too much for simply creating repos for distribution.

To avoid this complexity, koji does have a dist-repo subcommand.
However, this takes too long to execute at around 15 minutes on powerful
hardware.

In lieu of not wanting to maintain mash any further, write a small bash
script that performs the same function using artifacts for koji on the
disk.

Signed-off-by: George T Kramer <george.t.kramer@intel.com>
2019-09-20 16:36:11 -07:00
George T Kramer ed3f44ba99 Do not have tracing turned on for production 2019-08-08 15:25:25 -07:00
George T Kramer 7aec646ade Update mash.sh script
Do not bother using DNF to get the NVR of packages.  Call out to RPM
directly instead.

More completely parameterize script to allow for sourcing of variables
from parameters.sh sometime in the future.

Signed-off-by: George T Kramer <george.t.kramer@intel.com>
2019-03-04 19:13:19 -08:00
George T Kramer d33200af07 Update copyright for 2019 2019-03-04 17:00:20 -08:00
George T Kramer 9fcbf230a4 Deploy all DevOps services for development
A deployment of a "koji" server consists of additional services that
support development beyond koji itself.  These include
git/cgit/gitolite, a mash containing the current snapshot of the
packages in koji, and an upstreams package sources cache.

Because these are required for integration with a DevOps workflow, they
are not included by default in the ansible playbook.
2019-03-04 17:00:20 -08:00