New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sanity_check_repodata() fails on modular repos #2631

Closed
bowlofeggs opened this Issue Oct 2, 2018 · 4 comments

Comments

Projects
None yet
2 participants
@bowlofeggs
Member

bowlofeggs commented Oct 2, 2018

Production has been failing on modular repos with this exception:

[2018-10-01 23:26:36][fedmsg.consumers   ERROR]f29-modular-updates-testing ComposerThread failed. Transaction rolled back.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/bodhi/server/consumers/masher.py", line 339, in run 
    self.work()
  File "/usr/lib/python2.7/site-packages/bodhi/server/consumers/masher.py", line 410, in work
    self._compose_updates()
  File "/usr/lib/python2.7/site-packages/bodhi/server/consumers/masher.py", line 950, in _compose_updates
    self._sanity_check_repo()
  File "/usr/lib/python2.7/site-packages/bodhi/server/consumers/masher.py", line 1155, in _sanity_check_repo
    sanity_check_repodata(repodata, source=False)
  File "/usr/lib/python2.7/site-packages/bodhi/server/util.py", line 290, in sanity_check_repodata
    raise RepodataException('Required part not in repomd.xml')
RepodataException: Required part not in repomd.xml
[2018-10-01 23:26:36][fedmsg.consumers    INFO]f29-modular-updates-testing Released semaphore
[2018-10-01 23:26:36][fedmsg.consumers    INFO]PoolThread-twisted.internet.reactor-1 Push complete!  Summary follows:
[2018-10-01 23:26:36][fedmsg.consumers    INFO]PoolThread-twisted.internet.reactor-1   name:  f29-modular-updates-testing  success:  False

I don't think this code was intended to be run on modular repos, so we should probably just fix it by making sure it only runs on yum repos.

@bowlofeggs

This comment has been minimized.

Show comment
Hide comment
@bowlofeggs

bowlofeggs Oct 2, 2018

Member

I will hotfix production by adding this method to ModuleComposerThread:

def _sanity_check_repo(self):
    pass

This will prevent the sanity check code from running on modular repos and will at least let the process finish. Then we can take out time to decide how/if we want to properly sanity check module repos.

Member

bowlofeggs commented Oct 2, 2018

I will hotfix production by adding this method to ModuleComposerThread:

def _sanity_check_repo(self):
    pass

This will prevent the sanity check code from running on modular repos and will at least let the process finish. Then we can take out time to decide how/if we want to properly sanity check module repos.

@bowlofeggs bowlofeggs self-assigned this Oct 2, 2018

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 2, 2018

Move _sanity_check_repo() to the RPMComposerThread subclass.
_sanity_check_repo() was designed to check Yum repositories, but
it was in the PungiComposerThread class which caused it to be run
on modular repositories as well. This commit moves it to the
RPMComposerThread class so that it is only run on Yum repositories
and provides a no-op method on the superclass so that the module
composing class can add a module sanity check later if desired.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 2, 2018

Move _sanity_check_repo() to the RPMComposerThread subclass.
_sanity_check_repo() was designed to check Yum repositories, but
it was in the PungiComposerThread class which caused it to be run
on modular repositories as well. This commit moves it to the
RPMComposerThread class so that it is only run on Yum repositories
and provides a no-op method on the superclass so that the module
composing class can add a module sanity check later if desired.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 2, 2018

Move _sanity_check_repo() to the RPMComposerThread subclass.
_sanity_check_repo() was designed to check Yum repositories, but
it was in the PungiComposerThread class which caused it to be run
on modular repositories as well. This commit moves it to the
RPMComposerThread class so that it is only run on Yum repositories
and provides a no-op method on the superclass so that the module
composing class can add a module sanity check later if desired.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 2, 2018

Move _sanity_check_repo() to the RPMComposerThread subclass
_sanity_check_repo() was designed to check Yum repositories, but
it was in the PungiComposerThread class which caused it to be run
on modular repositories as well. This commit moves it to the
RPMComposerThread class so that it is only run on Yum repositories
and provides a no-op method on the superclass so that the module
composing class can add a module sanity check later if desired.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
@puiterwijk

This comment has been minimized.

Show comment
Hide comment
@puiterwijk

puiterwijk Oct 3, 2018

Member

@bowlofeggs it IS intended to run on modular repos, they just need a slightly different set of required elements.

Member

puiterwijk commented Oct 3, 2018

@bowlofeggs it IS intended to run on modular repos, they just need a slightly different set of required elements.

@puiterwijk

This comment has been minimized.

Show comment
Hide comment
@puiterwijk

puiterwijk Oct 3, 2018

Member

The set of fields modular repos need in their repomd:

  • primary
  • filelists
  • other
  • modules
  • updateinfo
Member

puiterwijk commented Oct 3, 2018

The set of fields modular repos need in their repomd:

  • primary
  • filelists
  • other
  • modules
  • updateinfo

@bowlofeggs bowlofeggs changed the title from sanity_check_repodata() is being run on modular repos and fails to sanity_check_repodata() fails on modular repos Oct 5, 2018

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 5, 2018

_sanity_check_repo() now supports modular repositories.
There was a crash in _sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 5, 2018

_sanity_check_repo() now supports modular repositories.
There was a crash in _sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 5, 2018

_sanity_check_repo() now supports modular repositories.
There was a crash in _sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

@bowlofeggs bowlofeggs added the Hotfixed label Oct 5, 2018

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 5, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 8, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
@bowlofeggs

This comment has been minimized.

Show comment
Hide comment
@bowlofeggs

bowlofeggs Oct 8, 2018

Member

I have now hotfixed production with the current contents of #2632. If it works, I will make a 3.10.1 release with it.

Member

bowlofeggs commented Oct 8, 2018

I have now hotfixed production with the current contents of #2632. If it works, I will make a 3.10.1 release with it.

bowlofeggs added a commit to bowlofeggs/bodhi that referenced this issue Oct 9, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes fedora-infra#2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

@mergify mergify bot closed this in #2632 Oct 9, 2018

mergify bot added a commit that referenced this issue Oct 9, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes #2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>

mergify bot pushed a commit that referenced this issue Oct 9, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes #2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
(cherry picked from commit d964341)

# Conflicts:
#	docs/user/release_notes.rst

bowlofeggs added a commit that referenced this issue Oct 9, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes #2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
(cherry picked from commit d964341)

bowlofeggs added a commit that referenced this issue Oct 9, 2018

sanity_check_repo() now supports modular repositories.
There was a crash in sanity_check_repo() as it expected to find
elements that were not present. This commit adjusts it to look for
the appropriate elements for modular repositories.

fixes #2631

Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
(cherry picked from commit d964341)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment