#4585 Add the atomic trees to MirrorManager1
Closed: Fixed None Opened 10 years ago by lmacken.

I created a new atomic-composer role in ansible and have our composer.stg box spitting out atomic trees.

Now we need to figure out how to add them to MirrorManager by F21.


So the current rpm-ostree expects the metalink to point to a binary 'summary' file, which I'm currently generating after the compose. Now for MirrorManager1 to handle a binary file instead of a repomd.xml, this change will be required:

{{{

!diff

--- a/server/update-master-directory-list
+++ b/server/update-master-directory-list
@@ -212,10 +212,16 @@ def make_repomd_file_details(diskpath, relativeDName, D, category):
sha256 = hashlib.sha256(repomd).hexdigest()
sha512 = hashlib.sha512(repomd).hexdigest()

  • yumrepo = yum.repoMDObject.RepoMD('repoid', absolutepath)
  • if 'timestamp' not in yumrepo.dict:
  • set_repomd_timestamp(yumrepo)
  • timestamp = yumrepo.timestamp
  • try:
  • yumrepo = yum.repoMDObject.RepoMD('repoid', absolutepath)
  • if 'timestamp' not in yumrepo.dict:
  • set_repomd_timestamp(yumrepo)
  • timestamp = yumrepo.timestamp
  • except yum.Errors.RepoMDError:
  • If the repomd.xml cannot be parsed, take the timestamp from the

  • filesystem

  • timestamp = os.path.getmtime(absolutepath)
    +
    try:
    fd = FileDetail.selectBy(directory=D, filename='repomd.xml', sha1=sha1, md5=md5, sha256=sha256, sha512=sha512,
    timestamp=timestamp, size=size)[0]

}}}

Matt, Dennis, and other mirror gurus: Do you know of any other changes that we'll need to make? I'm guessing we'll have to update the repomap too (https://git.fedorahosted.org/cgit/mirrormanager/diff/server/mirrormanager/repomap.py), but that depends on where we want the trees to live in the directory structure.

Log in to comment on this ticket.

Metadata