Skip to content

Conversation

@portante
Copy link
Member

Fixes #2142.

We need to support a minimum version of an RPM in addition to an exact version. We use the rpmdev-vercmp from the rpmdevtools RPM in order to perform the matching.


This is a proper squash of the borked merge of PR #2210.

@portante portante added this to the v0.71 milestone Apr 20, 2021
@portante portante added Agent enhancement fio pbench-fio benchmark related labels Apr 20, 2021
@portante portante self-assigned this Apr 20, 2021
@portante portante requested review from ndokos and webbnh April 21, 2021 00:00
Copy link
Member

@ndokos ndokos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess I missed these in all the previous reviews :-(

ndokos
ndokos previously approved these changes Apr 21, 2021
webbnh
webbnh previously approved these changes Apr 21, 2021
Copy link
Member

@webbnh webbnh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks OK to merge...unless you want to fix any of the items below.

Fixes distributed-system-analysis#2142.

We need to support a minimum version of an RPM in addition to an exact
version.  We use the `rpmdev-vercmp` from the `rpmdevtools` RPM in order
to perform the matching.

This also fixes a few of the `bench-scripts` to emit proper errors when
the required software is not installed (they were emitting debug logs
prior to this change).
@portante portante requested review from ndokos and webbnh April 21, 2021 21:29
@portante
Copy link
Member Author

Added @webbnh 's code review feedback as another commit to make it easier to review.

Copy link
Member

@webbnh webbnh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for committing this last round separately (I wish I'd noticed before doing my review.... :-} ).

It looks like Mr. Jenkins is not happy with you (perhaps the problem is the one that I mention last, below). The other two comments are your call.

@portante portante marked this pull request as draft April 22, 2021 01:56
@portante portante requested a review from webbnh April 22, 2021 01:56
Copy link
Member

@webbnh webbnh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. My one substantial comment would probably best as a follow-on PR.

@portante portante marked this pull request as ready for review April 22, 2021 15:40
@portante portante merged commit 5794fc1 into distributed-system-analysis:main Apr 22, 2021
portante added a commit to portante/pbench that referenced this pull request May 6, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Secondly, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.
portante added a commit to portante/pbench that referenced this pull request May 6, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Secondly, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.
portante added a commit to portante/pbench that referenced this pull request May 6, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Secondly, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.
portante added a commit to portante/pbench that referenced this pull request May 7, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 7, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 7, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 9, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 12, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 12, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 12, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 13, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 13, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit to portante/pbench that referenced this pull request May 13, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
portante added a commit that referenced this pull request May 13, 2021
This fixes #2289, a bug that was introduced in PR #2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
riya-17 pushed a commit to riya-17/pbench that referenced this pull request Jul 6, 2021
This fixes distributed-system-analysis#2289, a bug that was introduced in PR distributed-system-analysis#2234 (commit
5794fc1).

This is a combination of two main problems.  The first was that we
incorrectly mocked the output of `rpm --query ...`.  It only returns
EVRs, which are version strings, which explicitly don't include the
queried RPM name.  Additionally, we were not formatting the output with
a new line, so for RPMs that have multiple versions installed, the
code would not work correctly.

The second problem was that our `pbench-sysstat` requirement was for
`12.0.3`, but the RPMs we have built publicly have version `12.0.3-1`,
which won't match exactly.

We have also corrected the `rpm` mock for the bench-scripts to behave
more closely to, but not exactly as, the actual `rpm` behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Agent enhancement fio pbench-fio benchmark related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Need to allow pbench-fio to match newer versions rather than exact

4 participants