Bug 1997730

Summary: Review Request: rust-resctl-bench - Whole system resource control benchmarks with realistic scenarios
Product: [Fedora] Fedora Reporter: Davide Cavalca <davide>
Component: Package ReviewAssignee: Neal Gompa <ngompa13>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ngompa13, package-review
Target Milestone: ---Flags: ngompa13: fedora-review+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rust-resctl-bench-2.1.2-1.fc36 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-22 16:18:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1990502, 1990906, 1990911, 1990927, 1990930, 1993498    
Bug Blocks:    

Description Davide Cavalca 2021-08-25 17:35:07 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/rust-resctl-bench/rust-resctl-bench.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/rust-resctl-bench/rust-resctl-bench-2.1.1-1.fc36.src.rpm

Description:
resctl-bench is a collection of whole-system benchmarks to evaluate resource
control and hardware behaviors using realistic simulated workloads.

Comprehensive resource control involves the whole system. Furthermore, testing
resource control end-to-end requires scenarios involving realistic workloads
and monitoring their interactions. The combination makes benchmarking resource
control challenging and error-prone. It's easy to slip up on a configuration
and testing with real workloads can be tedious and unreliable.

resctl-bench encapsulates the whole process so that resource control benchmarks
can be performed easily and reliably. It verifies and updates system
configurations, reproduces resource contention scenarios with a realistic
latency-sensitive workload simulator and other secondary workloads, analyzes
the resulting system and workload behaviors, and generates easily
understandable reports.

Fedora Account System Username: dcavalca

Comment 1 Davide Cavalca 2021-10-21 20:00:10 UTC
Effective license calculation:
(0BSD or MIT or ASL 2.0) and ASL 2.0 and (ASL 2.0 or Boost) and (ASL 2.0 or MIT) and BSD and MIT and (MIT or ASL 2.0) and (MIT or ASL 2.0 or zlib) and (Unlicense or MIT) and zlib and (zlib or ASL 2.0 or MIT) = ASL 2.0 and BSD and MIT and zlib

Full list:
# 0BSD or MIT or ASL 2.0: rust-adler 1.0.2
# ASL 2.0 or Boost: rust-ryu 1.0.5
# ASL 2.0 or MIT: rust-addr2line 0.16.0
# ASL 2.0 or MIT: rust-autocfg 1.0.1
# ASL 2.0 or MIT: rust-gimli 0.25.0
# ASL 2.0 or MIT: rust-object 0.26.2
# ASL 2.0 or MIT: rust-rayon 1.5.1
# ASL 2.0 or MIT: rust-rayon-core 1.9.1
# ASL 2.0 or MIT: rust-svg 0.10.0
# ASL 2.0: rust-approx 0.5.0
# ASL 2.0: rust-nalgebra-macros 0.1.0
# ASL 2.0: rust-rd-agent-intf 2.1.2
# ASL 2.0: rust-rd-hashd-intf 2.1.2
# ASL 2.0: rust-rd-util 2.1.2
# ASL 2.0: rust-resctl-bench-intf 2.1.2
# ASL 2.0: rust-simba 0.6.0
# BSD: rust-nalgebra 0.29.0
# MIT or ASL 2.0 or zlib: rust-tinyvec_macros 0.1.0
# MIT or ASL 2.0: rust-anyhow 1.0.44
# MIT or ASL 2.0: rust-backtrace 0.3.61
# MIT or ASL 2.0: rust-bitflags 1.3.2
# MIT or ASL 2.0: rust-cc 1.0.71
# MIT or ASL 2.0: rust-cfg-if 1.0.0
# MIT or ASL 2.0: rust-chrono 0.4.19
# MIT or ASL 2.0: rust-crc32fast 1.2.1
# MIT or ASL 2.0: rust-crossbeam 0.8.1
# MIT or ASL 2.0: rust-crossbeam-channel 0.5.1
# MIT or ASL 2.0: rust-crossbeam-deque 0.8.1
# MIT or ASL 2.0: rust-crossbeam-epoch 0.9.5
# MIT or ASL 2.0: rust-crossbeam-queue 0.3.2
# MIT or ASL 2.0: rust-crossbeam-utils 0.8.5
# MIT or ASL 2.0: rust-ctrlc 3.2.0
# MIT or ASL 2.0: rust-displaydoc 0.2.3
# MIT or ASL 2.0: rust-either 1.6.1
# MIT or ASL 2.0: rust-env_logger 0.8.4
# MIT or ASL 2.0: rust-err-derive 0.2.4
# MIT or ASL 2.0: rust-failure 0.1.8
# MIT or ASL 2.0: rust-failure_derive 0.1.8
# MIT or ASL 2.0: rust-filetime 0.2.15
# MIT or ASL 2.0: rust-form_urlencoded 1.0.1
# MIT or ASL 2.0: rust-getrandom 0.2.3
# MIT or ASL 2.0: rust-git2 0.13.20
# MIT or ASL 2.0: rust-glob 0.3.0
# MIT or ASL 2.0: rust-humantime 2.1.0
# MIT or ASL 2.0: rust-idna 0.2.3
# MIT or ASL 2.0: rust-itoa 0.4.8
# MIT or ASL 2.0: rust-jobserver 0.1.24
# MIT or ASL 2.0: rust-json 0.12.4
# MIT or ASL 2.0: rust-lazy_static 1.4.0
# MIT or ASL 2.0: rust-libc 0.2.103
# MIT or ASL 2.0: rust-libgit2-sys 0.12.21
# MIT or ASL 2.0: rust-libm 0.2.1
# MIT or ASL 2.0: rust-libz-sys 1.1.3
# MIT or ASL 2.0: rust-log 0.4.14
# MIT or ASL 2.0: rust-matrixmultiply 0.3.1
# MIT or ASL 2.0: rust-num 0.4.0
# MIT or ASL 2.0: rust-num-bigint 0.4.2
# MIT or ASL 2.0: rust-num-bigint0.3 0.3.3
# MIT or ASL 2.0: rust-num-complex 0.4.0
# MIT or ASL 2.0: rust-num-complex0.3 0.3.1
# MIT or ASL 2.0: rust-num-integer 0.1.44
# MIT or ASL 2.0: rust-num-iter 0.1.42
# MIT or ASL 2.0: rust-num-rational 0.4.0
# MIT or ASL 2.0: rust-num-rational0.3 0.3.2
# MIT or ASL 2.0: rust-num-traits 0.2.14
# MIT or ASL 2.0: rust-num0.3 0.3.1
# MIT or ASL 2.0: rust-num_cpus 1.13.0
# MIT or ASL 2.0: rust-once_cell 1.8.0
# MIT or ASL 2.0: rust-page_size 0.4.2
# MIT or ASL 2.0: rust-paste 1.0.5
# MIT or ASL 2.0: rust-percent-encoding 2.1.0
# MIT or ASL 2.0: rust-pkg-config 0.3.20
# MIT or ASL 2.0: rust-ppv-lite86 0.2.10
# MIT or ASL 2.0: rust-proc-macro-error 1.0.4
# MIT or ASL 2.0: rust-proc-macro-error-attr 1.0.4
# MIT or ASL 2.0: rust-proc-macro2 1.0.29
# MIT or ASL 2.0: rust-quote 1.0.10
# MIT or ASL 2.0: rust-rand 0.8.4
# MIT or ASL 2.0: rust-rand0.6 0.6.5
# MIT or ASL 2.0: rust-rand_chacha 0.3.1
# MIT or ASL 2.0: rust-rand_chacha0.1 0.1.1
# MIT or ASL 2.0: rust-rand_core 0.6.3
# MIT or ASL 2.0: rust-rand_core0.3 0.3.1
# MIT or ASL 2.0: rust-rand_core0.4 0.4.2
# MIT or ASL 2.0: rust-rand_distr 0.4.2
# MIT or ASL 2.0: rust-rand_hc0.1 0.1.0
# MIT or ASL 2.0: rust-rand_isaac0.1 0.1.1
# MIT or ASL 2.0: rust-rand_jitter0.1 0.1.4
# MIT or ASL 2.0: rust-rand_os0.1 0.1.3
# MIT or ASL 2.0: rust-rand_pcg0.1 0.1.2
# MIT or ASL 2.0: rust-rand_xorshift0.1 0.1.1
# MIT or ASL 2.0: rust-rawpointer 0.2.1
# MIT or ASL 2.0: rust-regex 1.5.4
# MIT or ASL 2.0: rust-regex-syntax 0.6.25
# MIT or ASL 2.0: rust-remove_dir_all 0.7.0
# MIT or ASL 2.0: rust-rle-decode-fast 1.0.1
# MIT or ASL 2.0: rust-rustc-demangle 0.1.21
# MIT or ASL 2.0: rust-rustc_version 0.4.0
# MIT or ASL 2.0: rust-rustversion 1.0.5
# MIT or ASL 2.0: rust-scopeguard 1.1.0
# MIT or ASL 2.0: rust-semver 1.0.4
# MIT or ASL 2.0: rust-serde 1.0.130
# MIT or ASL 2.0: rust-serde_derive 1.0.130
# MIT or ASL 2.0: rust-serde_json 1.0.68
# MIT or ASL 2.0: rust-simplelog 0.10.2
# MIT or ASL 2.0: rust-syn 1.0.77
# MIT or ASL 2.0: rust-tar 0.4.37
# MIT or ASL 2.0: rust-tempfile 3.2.0
# MIT or ASL 2.0: rust-term_size 0.3.2
# MIT or ASL 2.0: rust-terminal_size 0.1.17
# MIT or ASL 2.0: rust-thiserror 1.0.29
# MIT or ASL 2.0: rust-thiserror-impl 1.0.29
# MIT or ASL 2.0: rust-time0.1 0.1.44
# MIT or ASL 2.0: rust-typenum 1.14.0
# MIT or ASL 2.0: rust-unicode-bidi 0.3.6
# MIT or ASL 2.0: rust-unicode-normalization 0.1.19
# MIT or ASL 2.0: rust-unicode-width 0.1.9
# MIT or ASL 2.0: rust-unicode-xid 0.2.2
# MIT or ASL 2.0: rust-url 2.2.2
# MIT or ASL 2.0: rust-vec_map 0.8.2
# MIT or ASL 2.0: rust-vergen 5.1.15
# MIT or ASL 2.0: rust-version_check 0.9.3
# MIT or ASL 2.0: rust-xattr 0.2.2
# MIT or zlib or ASL 2.0: rust-miniz_oxide 0.4.4
# MIT: rust-ansi_term0.11 0.11.0
# MIT: rust-atty 0.2.14
# MIT: rust-clap2 2.33.3
# MIT: rust-console 0.14.1
# MIT: rust-doc-comment 0.3.3
# MIT: rust-enum-iterator 0.6.0
# MIT: rust-enum-iterator-derive 0.6.0
# MIT: rust-getset 0.1.1
# MIT: rust-indicatif 0.15.0
# MIT: rust-libflate 1.1.1
# MIT: rust-libflate_lz77 1.1.0
# MIT: rust-linreg 0.2.0
# MIT: rust-matches 0.1.9
# MIT: rust-memoffset 0.6.4
# MIT: rust-nix 0.22.1
# MIT: rust-number_prefix 0.4.0
# MIT: rust-partition-identity 0.2.8
# MIT: rust-plotlib 0.5.1
# MIT: rust-proc-mounts 0.2.4
# MIT: rust-quantiles 0.7.1
# MIT: rust-rustbus 0.17.0
# MIT: rust-rustbus_derive 0.4.0
# MIT: rust-scan_fmt 0.2.6
# MIT: rust-statistical 1.0.0
# MIT: rust-statrs 0.15.0
# MIT: rust-strsim 0.10.0
# MIT: rust-synstructure 0.12.5
# MIT: rust-sysinfo 0.19.2
# MIT: rust-textwrap0.11 0.11.0
# Unlicense or MIT: rust-aho-corasick 0.7.18
# Unlicense or MIT: rust-memchr 2.4.1
# Unlicense or MIT: rust-termcolor 1.1.2
# zlib or ASL 2.0 or MIT: rust-bytemuck 1.7.0
# zlib or ASL 2.0 or MIT: rust-safe_arch 0.6.0
# zlib or ASL 2.0 or MIT: rust-tinyvec 1.5.0
# zlib or ASL 2.0 or MIT: rust-wide 0.7.1
# zlib: rust-adler32 1.2.0

Comment 3 Davide Cavalca 2021-10-21 21:45:56 UTC
Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=77631355

Comment 4 Neal Gompa 2021-10-21 23:21:37 UTC
Package was generated through rust2rpm, simplifying the review considerably.

- Conforms to packaging guidelines (rust2rpm generated spec)
- license correct and valid
- only executables produced, so no devel packages included
- builds and installs

PACKAGE APPROVED.

Comment 5 Davide Cavalca 2021-10-21 23:25:43 UTC
Thanks!

$ fedpkg request-repo rust-resctl-bench 1997730
https://pagure.io/releng/fedora-scm-requests/issue/37291

Comment 6 Gwyn Ciesla 2021-10-22 13:16:46 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-resctl-bench