Skip to content
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

Support disk.count hw requirement for mrack #2790

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

skycastlelily
Copy link
Collaborator

Pull Request Checklist

  • implement the feature
  • write the documentation
  • extend the test coverage
  • update the specification
  • adjust plugin docstring
  • modify the json schema
  • mention the version
  • include a release note

@happz
Copy link
Collaborator

happz commented Mar 26, 2024

Okay, we try to allow user to request a given number of disks (#2536), and also allow user to speak about the whole set of disks (#2721). So far, we have the following proposals in these tickets:

# This is what we have, a list of dictionaries, spelling requirements of each disk:
disk:
  # One disk must have at least 20 GB...
  - size: ">= 20 GB"
  # ... and the other at least 40 GB
  - size: ">= 40 GB"

# Let's say we allow special keys under `disk` (or `network`). One of the keys, `count`,
# would tell tmt to request the right number of disks, no matter their other attributes:
disk:
  # Request a guest with 4 or more disks
  count: ">= 4"

# Another key, `all`, would accept all keys normally accepted by `disk` entry, but apply
# them to all disks:
disk:
  # All disks must be at least 20 GB & by WD
  all:
    size: ">= 20 GB:
    model-name: "~ WD.*"

# We can combine, of course: a guest with at least 4 disks, all disks NVMe SSDs, and one of
# them must be at least 40 GB.
and:
  - disk:
      all:
        driver: "~ nvme.*"
      count: ">= 4"
  - disk:
      - size: ">= 40 GB"

So, if we go this way, we'd document special keys, provide examples for disks as items and disks as collections, and parse them in _parse_disk into more fitting constraints. I think we will start a new kind of constraint for these collections, disk[1].count would not make much sense - disk.count would.

@psss @lukaszachy @therazix what do you think? We don't have this in Artemis either, and there's obvious interest by users, all we need is to find a way to express it in tmt. Easy :)

@lukaszachy lukaszachy added the status | discuss Needs more discussion before closing label Apr 9, 2024
@lukaszachy lukaszachy added this to the 1.33 milestone Apr 9, 2024
@happz happz modified the milestones: 1.33, 1.34 Apr 30, 2024
@happz happz removed this from the 1.34 milestone Jun 4, 2024
@happz
Copy link
Collaborator

happz commented Jun 4, 2024

Dropping from the milestone, we need to review the idea and implement what has been discussed in the hacking meeting.

@martinhoyer martinhoyer added status | blocked The merging of PR is blocked on some other issue area | hardware Implementation of hardware requirements labels Dec 13, 2024
@happz
Copy link
Collaborator

happz commented Dec 13, 2024

Blocked by #2721

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area | hardware Implementation of hardware requirements status | blocked The merging of PR is blocked on some other issue status | discuss Needs more discussion before closing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants