Project

Profile

Help

Story #8741

closed

Full support for "static_context" in modulemd documents

Added by dalley almost 3 years ago. Updated over 2 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
No
Tags:
Sprint:
Sprint 111
Quarter:
Q4-2021

Description

In libmodulemd, it is planned to introduce an extension to version 2 of modulemd documents which differ slightly from the current v2. A new, optional field is added, called "static_context", described thusly:

    # context:
    # Module context flag
    # The context flag serves to distinguish module builds with the
    # same name, stream and version and plays an important role in
    # automatic module stream name expansion.
    #
    # If 'static_context' is unset or equal to FALSE:
    #   Filled in by the buildsystem.  A short hash of the module's name,
    #   stream, version and its expanded runtime dependencies. The exact
    #   mechanism for generating the hash is unspecified.
    #
    #   Type: AUTOMATIC
    #
    #   Mandatory for module metadata in a yum/dnf repository.
    #
    # If 'static_context' is set to True:
    #   The context flag is a string of up to thirteen [a-zA-Z0-9_] characters
    #   representing a build and runtime configuration for this stream. This
    #   string is arbitrary but must be unique in this module stream.
    #
    #   Type: MANDATORY
    static_context: false
    context: c0ffee43

Source: https://github.com/fedora-modularity/libmodulemd/commit/2000e88d48a7b8d9fba1f7866d3709035dd2b957#diff-f693f5c1bd57e7782999ed7d59a4e2cdb1548c6d5e2e4663265f2165a949effeR81-R96

(see that commit also for document examples, and the names of libmodulmd functions)

See also: https://github.com/fedora-modularity/libmodulemd/commit/0132015b5729b6077d49fc5beb2c662a563c6e6d#diff-f693f5c1bd57e7782999ed7d59a4e2cdb1548c6d5e2e4663265f2165a949effe

Basic support is added in a previous issue (linked).

For full support, we need to analyze the impacts of this new flag on dependency solving, and ensure that we do the correct thing, and potentially implement the new behavior


Related issues

Copied from RPM Support - Story #8638: Basic support for "static_context" in modulemd documentsCLOSED - CURRENTRELEASEggainey

Actions
Actions #1

Updated by dalley almost 3 years ago

  • Copied from Story #8638: Basic support for "static_context" in modulemd documents added
Actions #2

Updated by rchan almost 3 years ago

  • Sprint changed from Sprint 96 to Sprint 97
Actions #3

Updated by rchan almost 3 years ago

  • Sprint changed from Sprint 97 to Sprint 98
Actions #4

Updated by dalley almost 3 years ago

  • Quarter set to Q3-2021
Actions #5

Updated by rchan almost 3 years ago

  • Sprint changed from Sprint 98 to Sprint 99
Actions #6

Updated by rchan almost 3 years ago

  • Sprint changed from Sprint 99 to Sprint 100
Actions #7

Updated by rchan almost 3 years ago

  • Sprint changed from Sprint 100 to Sprint 101
Actions #8

Updated by ipanova@redhat.com over 2 years ago

  • Sprint changed from Sprint 101 to Sprint 102
Actions #9

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 102 to Sprint 103
Actions #10

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 103 to Sprint 104
Actions #11

Updated by dalley over 2 years ago

  • Sprint deleted (Sprint 104)
  • Quarter changed from Q3-2021 to Q4-2021
Actions #12

Updated by dalley over 2 years ago

  • Sprint set to Sprint 108
Actions #13

Updated by ggainey over 2 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to ggainey
Actions #14

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 108 to Sprint 109
Actions #15

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 109 to Sprint 110
Actions #16

Updated by rchan over 2 years ago

  • Sprint changed from Sprint 110 to Sprint 111
Actions #17

Updated by ggainey over 2 years ago

  • Status changed from ASSIGNED to CLOSED - CURRENTRELEASE

Proving a negative ("prove static_context does NOT break Pulp3....somehow") is Hard.

After a lot of discussion among and between the Pulp team and the Modularity Gang, the implications of "static_context=True" should have no further impacts on Pulp3. I've done a lot of manual/ad-hoc testing using the released RHEL9-beta-appstream as a source, and have not seen any failures involving depsolving and modules.

You can see examples of the scripts I've been using here:

I'm going to close this issue as CURRENTRELEASE. If static_context causes us a specific problem, that should get its own specific issue.

Also available in: Atom PDF