Thanks for the thorough review, Henrik! I will get to fixing these issues
around next Tuesday if no one beats me to it.

FWIW let's keep using this thread to discuss issues 1-7 or if we find
anything else in this RC in the meantime.

Best,
Alex

On Sun, Nov 16, 2025 at 1:04 PM Dave Fisher <[email protected]> wrote:

> Here’s a script I use to visually check downloads, signatures, and
> checksums:
>
> #!/bin/bash
>
> export DISTURL='https://dist.apache.org/repos/dist/dev'
> export PROJECT=${1}
> export ARTIFACT=${2}
> export DISTRO=${DISTURL}/${PROJECT}/${ARTIFACT}
>
> echo ${DISTRO}
>
> export TMPDIR=/tmp/${PROJECT}
>
> mkdir -p $TMPDIR
> cd $TMPDIR
> pwd
>
> curl -f -L ${DISTRO} --output ${ARTIFACT}
> curl -f -L ${DISTRO}.asc --output ${ARTIFACT}.asc
> curl -f -L ${DISTRO}.sha256 --output ${ARTIFACT}.sha256
> curl -f -L ${DISTRO}.sha512 --output ${ARTIFACT}.sha512
>
> echo 'Check signature'
> gpg --verify ${ARTIFACT}.asc
> echo 'Compare checksum to sha256'
> cat ${ARTIFACT}.sha256
> shasum -a 256 ${ARTIFACT}
> echo 'Compare checksum to sha512'
> cat ${ARTIFACT}.sha512
> shasum -a 512 ${ARTIFACT}
> echo
>
>
> Best,
> Dave
>
> > On Nov 16, 2025, at 11:38 AM, Henrik Ingo <[email protected]> wrote:
> >
> > 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
>
>

Reply via email to