Installer doesn't recognize documented options

I am trying to install foreman/katello and it seems even though options are present in help output, installer doesn’t recognize them:

foreman-installer --scenario katello --full-help|egrep "colors|automatic"
    --[no-]colors                                                                Use color output on STDOUT (default: true)
    --foreman-plugin-tasks-automatic-cleanup                                     Enable automatic task cleanup using a cron job (current: false)
ERROR: Unrecognised option '--no-colors --foreman-plugin-tasks-automatic-cleanup'

Also, a typo in Unrecognized

Is help out of date or a bug?

What’s interesting, if I add the same options after first foreman-installer invocation, they are recognized.
Some components must be missing after installing foreman-installer-katello

How are you running the command? I’m getting the impression it’s interpreted as a single option instead of 2.

I run the command in bash, you can check on an instance where only foreman-installer-katello was installed, installer doesn’t understand the commands. Execute installer without these commands, add them again, they would be accepted this time.

Another option that also become available second time around, but not on initial run is --lock-package-versions

I’m pretty sure that was written by a British English speaker.

I can’t reproduce this on EL9:

dnf install https://yum.theforeman.org/releases/3.10/el9/x86_64/foreman-release.rpm https://yum.puppet.com/puppet7-release-el-9.noarch.rpm
dnf install foreman-installer-katello
foreman-installer --scenario katello --no-colors --foreman-plugin-tasks-automatic-cleanup

Then it does fail because I forgot to set up the Katello repositories, but at that point it has recognized the option. Are you sure you’re not quoting both options so it’s interpreted as one? Can you share the exact command?

I apologize for the noise. It turns out my new replacement of Evernote decided to put an UTF symbol inside the code fragment.

–lock-package-versions though still seems unavailable on initial run

That probably is because it’s automatically detected whether the feature is supported. I suspect that foreman-maintain is not yet available on initial installation.

You can try running foreman-maintain packages -h before running the installer and see if that works.

That’s the problem, foreman-maintain command is not available,
it is part of rubygem-foreman_maintain. Maybe this should be a dependency for installer?

@evgeni @ehelms should we make foreman-installer-katello hard depend on (or recommend) foreman_maintain?

Hmm. Maybe. katello does require it, so the installer could too.

Good point, I didn’t realize that katello and foreman-proxy-content both already pull it in, so in effect it’s not any different for users.