Thank you Alex It's definitely getting better, but I ended up still voting -1, mainly due to the -h regression. Which is first in the list below.
Thanks to your changing the version strings in the URL to match, I continued to develop a personal script that can be used to verify the download, signature and functionality of the tar archive. Since there was discussion earlier that such scripts can be shared, I've done so in a PR: https://github.com/apache/otava/pull/98 I can also make it into a gist, if we don't want to keep it in the repository. If we decide to keep it in the repository, I would encourage others to share similar scripts too. It seems against the spirit of the ASF release process to have one "official" script only. Issues with rc3: 1) otava -h raises NotImplementedError. This is a regression compared to 0.6.1 release. I think it happens at 484aaef8493a076b42d1b0e92679d9edb87fb043 although reading the diff I don't quite see why, and would find it easier to believe if it was the previous commit. Our introduction of our own NestedYAMLConfigFileParser subclass in any case seems to be the source of this issue. I'll also note the plain `otava` still works, and also something like `otava analyze -h` works. But I didn't find that we would have added a pytest for either of these. So please add for all three. 2) GETTING_STARTED.md still refers to and essentially requires the file `resources/otava.yml` but a directory called resources does not exist in the tar file nor in the git repo. The following I would not have considered alone as blocking issues, but listing them here for completeness. 3) Related to #2, I was hoping the introduction of ConfigArgParse would bring us to a place where you could execute simple examples of otava without needing a config file at all. In practice this could be supported for the CSV type, so that you don't depend on a database connection before you can test otava the first time. We seem to not be quite there yet, as below examples demonstrate. But I wanted to spell this out explicitly so that others can either disagree or help achieve it. I realize historically Hunter did never work without a config file. 4) Specifically, 484aaef8493a076b42d1b0e92679d9edb87fb043 seems to omit CSV data type completely, so that I can no longer provide CSV related options from the command line. Hence this fails because the --test option is ignored: uv run otava --config-file examples/csv/config/otava.yaml --tests-local.sample-file=examples/csv/data/local_sample.csv analyze local.sample uv run otava --config-file examples/csv/config/otava.yaml analyze --tests-local.sample-file=examples/csv/data/local_sample.csv local.sample Acknowledging that I reviewed that commit myself... There seems to be an asymmetry here, where database connection parameters have config options like --postgres-hostname, yet there is no --csv-filename, rather the filename is embedded in the definition of the test itself, and is therefore ignored after this commit, because it is under --tests-* namespace. 5) ArgParse / ConfigArgParse should also fail if I provide a command line option (or yaml option, for that matter) that it doesn't recognize. The above is silently ignored, the failure is then what happens later because it doesn't find the file /data/local.sample. (Which is why I tried to provide another path via CLI.) 6) otava then prints an error message, but doesn't exit(1), rather returns with 0 as the return value. 7) `otava analyze -h` doesn't print any of the database connection options. So it is left unclear whether they should be provided as `otava --postgres-hostname... analyze` or `otava analyze --postgres` For reference, plain `otava` lists them and presumably `otava -h` would explain them if it worked: usage: otava [-h] [--config-file CONFIG_FILE] [--graphite-url GRAPHITE_URL] [--grafana-url GRAFANA_URL] [--grafana-user GRAFANA_USER] [--grafana-password GRAFANA_PASSWORD] [--slack-token SLACK_TOKEN] [--postgres-hostname POSTGRES_HOSTNAME] [--postgres-port POSTGRES_PORT] [--postgres-username POSTGRES_USERNAME] [--postgres-password POSTGRES_PASSWORD] [--postgres-database POSTGRES_DATABASE] [--bigquery-project-id BIGQUERY_PROJECT_ID] [--bigquery-dataset BIGQUERY_DATASET] [--bigquery-credentials BIGQUERY_CREDENTIALS] {list-tests,list-metrics,list-groups,analyze,regressions,remove-annotations,validate} ... I'll end this email by saying that I think we agreed that 0.7.0 is still attempting to be a reasonably polished, but first and foremost a backward compatible release of the legacy Otava code, so it's still python 3.8, and so on. Fixing above points 3-7 might very well require rethinking the structure of the config files, so if that's the only way, then let's do it after 0.7.0. After all, the above does work as documented. But it could be a lot nicer. henrik On Thu, Nov 13, 2025 at 9:40 AM Alexander Sorokoumov < [email protected]> wrote: > Hello everyone, > > Please review and vote for the releasing Apache Otava 0.7.0-incubating-rc3. > > Changelog for this release candidate > > https://github.com/apache/otava/compare/0.6.1-incubating...0.7.0-incubating-rc3 > . > The official Apache source release has been deployed to > https://dist.apache.org/repos/dist/dev/incubator/otava/0.7.0-incubating-rc3 > . > GH tag for release > https://github.com/apache/otava/releases/tag/0.7.0-incubating-rc3. > The artifacts have been signed with Key [ E81152E1F17593C0949A9D235E > 2C934B6C5147A0 ], corresponding to [email protected] available here > https://dist.apache.org/repos/dist/release/incubator/otava/KEYS. > Please download, verify, and test. > > Please vote on releasing this candidate by replying with: > [ ] +1 Release this package > [ ] 0 No opinion > [ ] -1 Do not release (please provide reason) > > To learn more about Apache Otava, please see https://otava.apache.org. > > This vote will be open for at least 72 hours. > > Checklist for reference: > [ ] Download links are valid. > [ ] Checksums and signatures. > [ ] LICENSE/NOTICE files exist. > [ ] No unexpected binary files. > [ ] All source files have ASF headers. > [ ] Can install from source. > [ ] Can run examples using all supported Python versions. > > Best, > Alex > -- *nyrkio.com <http://nyrkio.com/>* ~ *git blame for performance* Henrik Ingo, CEO [email protected] LinkedIn: www.linkedin.com/in/heingo +358 40 569 7354 Twitter: twitter.com/h_ingo
