#713 investigate using koji dist-repo
Opened 6 years ago by dustymabe. Modified 6 years ago

We should investigate the use of koji dist-repo for use with pungi when we initially create our first global and arch specific repos during a pungi run.


Tests in stage:

  • I created /mnt/koji/repos-dist and made it owned by apache
# koji -p compose_koji dist-repo --allow-missing-signatures f26 64dab85d
Creating dist repo for tag f26
Watching tasks (this may be safely interrupted)...
90134556 distRepo (f26): free
90134556 distRepo (f26): free -> open (buildvm-02.stg.phx2.fedoraproject.org)
  90134557 createdistrepo (9000013, aarch64): open (buildvm-02.stg.phx2.fedoraproject.org)
  90134562 createdistrepo (9000013, ppc64): free
  90134561 createdistrepo (9000013, x86_64): free
  90134558 createdistrepo (9000013, i386): free
  90134560 createdistrepo (9000013, ppc64le): free
  90134559 createdistrepo (9000013, armhfp): free
  90134560 createdistrepo (9000013, ppc64le): free -> open (buildvm-01.stg.phx2.fedoraproject.org)
  90134561 createdistrepo (9000013, x86_64): free -> open (buildvm-03.stg.phx2.fedoraproject.org)
  90134562 createdistrepo (9000013, ppc64): free -> open (buildvm-01.stg.phx2.fedoraproject.org)
  90134558 createdistrepo (9000013, i386): free -> open (buildvm-04.stg.phx2.fedoraproject.org)
  90134559 createdistrepo (9000013, armhfp): free -> open (buildvm-03.stg.phx2.fedoraproject.org)
  90134559 createdistrepo (9000013, armhfp): open (buildvm-03.stg.phx2.fedoraproject.org) -> FAILED: GenericError: Packages missing from the filesystem. See missing_files.log.
  0 free  6 open  0 done  1 failed
  90134560 createdistrepo (9000013, ppc64le): open (buildvm-01.stg.phx2.fedoraproject.org) -> canceled
  0 free  5 open  1 done  1 failed
  90134561 createdistrepo (9000013, x86_64): open (buildvm-03.stg.phx2.fedoraproject.org) -> canceled
  0 free  4 open  2 done  1 failed
  90134562 createdistrepo (9000013, ppc64): open (buildvm-01.stg.phx2.fedoraproject.org) -> canceled
  0 free  3 open  3 done  1 failed
90134556 distRepo (f26): open (buildvm-02.stg.phx2.fedoraproject.org) -> FAILED: GenericError: Packages missing from the filesystem. See missing_files.log.
  0 free  2 open  3 done  2 failed
  90134557 createdistrepo (9000013, aarch64): open (buildvm-02.stg.phx2.fedoraproject.org) -> canceled
  0 free  1 open  4 done  2 failed
  90134558 createdistrepo (9000013, i386): open (buildvm-04.stg.phx2.fedoraproject.org) -> canceled
  0 free  0 open  5 done  2 failed

90134556 distRepo (f26) failed

The task fails because signed copies are not on the filesystem. I'm not sure why the --allow-missing-signatures option does not cause it to use unsigned copy. This may be related to the deployment in staging environment.

I can't write the signed copy in stage:

# koji -p compose_koji write-signed-rpm 64dab85d NetworkManager-1.8.0-5.fc26
[1/81] NetworkManager-1.8.0-5.fc26.src
Fault: <Fault 1: "<type 'exceptions.OSError'>: [Errno 30] Read-only file system: '/mnt/koji/vol/prod/packages/NetworkManager/1.8.0/5.fc26/data/signed/64dab85d'">

any more progress on this?

I finally managed to get a successful run in stage. The issue I was encountering before was that the hub believed a particular signed copy should exist on the filesystem, while production hub already deleted that. A workaround is to not specify any valid key and allow unsigned packages.

https://koji.stg.fedoraproject.org/koji/taskinfo?taskID=90919772

$ koji -p compose_koji dist-repo --allow-missing-signatures --noinherit f25 deadbeef  --arch x86_64 --arch i386
$ koji -p compose_koji call getTaskResult 90919772
'Dist repository #9000089 successfully generated'

For time comparison: pkgset phase on the same tag took about 97 minutes (for only x86_64 and i386). I ran the equivalent dist-repo task and it took more than two hours. Most of the time is spent on what I think is copying/linking the packages into the final location.

Next steps:

  • figure out how to configure multilib for the dist-repo
  • find out if we can mount the location of a dist-repo to runroot or if we need to copy the repo into work/ (there might be other reasons why we would want the copy… what's the policy for keeping old dist-repos?)

Login to comment on this ticket.

Metadata