#7409 Unable to checkout repository in staging dist-git
Opened a year ago by mizdebsk. Modified a month ago

  • Describe what you need us to do:
    rpms/atinject repository in staging dist-git cannot be checked out:
$ fedpkg-stage clone atinject
Cloning into 'atinject'...
remote: Welcome to repoSpanner 0.3+19.4de0303739e95661cc7a1b4324d2f91d12005d90.el7, node fedora01.rpms.stg.fedoraproject.org
remote: Building packfile
remote: Packfile built, sending
remote: Packfile sent
Receiving objects: 100% (121/121), 70.93 KiB | 92.00 KiB/s, done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.

$ git --git-dir atinject/.git log
fatal: your current branch 'master' does not have any commits yet
  • When do you need this? (YYYY/MM/DD)
    Earliest convenience.

  • When is this no longer needed or useful? (YYYY/MM/DD)
    N/A

  • If we cannot complete your request, what is the impact?
    I will have to use production environment for testing.


I guess we'll need input from @puiterwijk on this one

Metadata Update from @pingou:
- Issue priority set to: Waiting on Assignee (was: Needs Review)

a year ago

This might be caused by the out of space on pkgs01.stg, but it still seems to be happening after I fixed that.

It might be that repospanner needs to catch up on it's syncing before this repo is back to normal...

This is the cause of a disrepancy in symref updates between various repoSpanner builds.
I'm now adding symref updating to it, so that we can make sure all repos have the correct symrefs.

Note that a temporary workaround would be to just do a "git checkout master" (or any other ref) after the cloning.
The actual issue is just that Git isn't told what the standard ref is.

Status report: This is waiting some changes in the repoSpanner code and then working out a coordination time with CentOS to roll out the changes on both sides.

Time to check back: 2019-03-01

Metadata Update from @kevin:
- Issue tagged with: repoSpanner

11 months ago

This is fixed in repoSpanner, waiting on our pagure 5.3 upgrade then we will update this. Hopefully in the next few weeks.

So, this now behaves a bit differently:

Cloning into 'atinject'...
remote: Welcome to repoSpanner 0.4+1.f38383546f7ce0e88ec7b9c5bf7959521af2c941.el7.infra, node fedora01.rpms.stg.fedoraproject.org
remote: Building packfile
remote: Packfile built, sending
remote: Packfile sent
Receiving objects: 100% (121/121), 70.93 KiB | 115.00 KiB/s, done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.

But then checking out any branch after that works fine.

@kevin With the new repoSpanner, we can fix this, from the server-side.
If we're sure that the entire cluster is 0.4 or higher, edit the symref of the repo.

It seems like all forks are behaving this way now. Can we mass fix the existing ones and fix it so new ones don't have the issue?

@bowlofeggs Any ideas on this one? as patrick mentioned there is a server side command to fix these, but I am not sure what it is... should we use that or try and fix this in repospanner?

Yeah, I think so...

sadly, a simple try doesn't work:

[root@pkgs01 ~][STG]# repospanner admin repo edit rpms/atinject HEAD=refs/heads/master
panic: No admin URL configured

goroutine 1 [running]:
repospanner.org/repospanner/server/cmd.getAdminClient(0xba26e0)
/builddir/build/BUILD/repoSpanner-0.5/server/cmd/admin.go:127 +0x609
repospanner.org/repospanner/server/cmd.runAdminEditRepo(0x141ad20, 0xc00000c4c0, 0x2, 0x2)
/builddir/build/BUILD/repoSpanner-0.5/server/cmd/admin-repo-edit.go:116 +0x34c
github.com/spf13/cobra.(Command).execute(0x141ad20, 0xc00000c480, 0x2, 0x2, 0x141ad20, 0xc00000c480)
/builddir/build/BUILD/repoSpanner-0.5/vendor/github.com/spf13/cobra/command.go:766 +0x2cc
github.com/spf13/cobra.(
Command).ExecuteC(0x141c020, 0xc0001e4e00, 0xc8e6d1, 0x20)
/builddir/build/BUILD/repoSpanner-0.5/vendor/github.com/spf13/cobra/command.go:852 +0x2fd
github.com/spf13/cobra.(*Command).Execute(0x141c020, 0xc0001f4c00, 0xc78e15)
/builddir/build/BUILD/repoSpanner-0.5/vendor/github.com/spf13/cobra/command.go:800 +0x2b
repospanner.org/repospanner/server/cmd.Execute()
/builddir/build/BUILD/repoSpanner-0.5/server/cmd/root.go:22 +0x2d
main.main()
/builddir/build/BUILD/repoSpanner-0.5/cmd/repospanner/main.go:17 +0x3b

@kevin,

Looking through the code, that error message seems to indicate that the pkgs01.stg host doesn't have an admin['url'] setting defined in its config file. Here's an example of that setting:

https://github.com/repoSpanner/repoSpanner/blob/06ae75f75be7cb7b540e4e60bb0ceb807f35cc83/config.yml.example#L4-L5

Indeed, I do not see one in roles/repospanner/server/templates/repoSpanner.yml

What should we add there? something like the default using a localhost?

@kevin to be honest, I'm not completely sure what that setting does, but I am guessing it is used to decide which URL to use for the client to talk to an admin API. So I think you could probably put the host name of any node there, but again, not 100% sure.

Login to comment on this ticket.

Metadata