So, I'm pretty sure that I shouldn't be seeing these errors during an upgrade to 9.0.3. This should probably go into a bug report.
/opt/splunk/bin/splunk btool check --debug
1.
Checking: /opt/splunk/etc/apps/search/local/alert_actions.conf
Invalid key in stanza [email] in /opt/splunk/etc/apps/search/local/alert_actions.conf, line 2: show_password (value: True).
Did you mean 'sendcsv'?
Did you mean 'sendpdf'?
Did you mean 'sendresults'?
Did you mean 'sslAltNameToCheck'?
Did you mean 'sslCommonNameToCheck'?
Did you mean 'sslVerifyServerCert'?
Did you mean 'sslVerifyServerName'?
Did you mean 'sslVersions'?
Did you mean 'subject'?
Did you mean 'subject.alert'?
Did you mean 'subject.report'?
2.
Invalid key in stanza [instrumentation.usage.tlsBestPractices] in /opt/splunk/etc/apps/splunk_instrumentation/default/savedsearches.conf, line 451: | append [| rest /services/configs/conf-pythonSslClientConfig | eval sslVerifyServerCert (value: if(isnull(sslVerifyServerCert),"unset",sslVerifyServerCert), splunk_server=sha256(splunk_server) | stats values(eai:acl.app) as python_configuredApp values(sslVerifyServerCert) as python_sslVerifyServerCert by splunk_server | eval python_configuredSystem=if(python_configuredApp="system","true","false") | fields python_sslVerifyServerCert, splunk_server, python_configuredSystem]
| append [| rest /services/configs/conf-web/settings | eval mgmtHostPort=if(isnull(mgmtHostPort),"unset",mgmtHostPort), splunk_server=sha256(splunk_server) | stats values(eai:acl.app) as fwdrMgmtHostPort_configuredApp values(mgmtHostPort) as fwdr_mgmtHostPort by splunk_server | eval fwdrMgmtHostPort_configuredSystem=if(fwdrMgmtHostPort_configuredApp="system","true","false") | fields fwdrMgmtHostPort_sslVerifyServerCert, splunk_server, fwdrMgmtHostPort_configuredSystem]
| append [| rest /services/configs/conf-server/sslConfig | eval cliVerifyServerName=if(isnull(cliVerifyServerName),"feature",cliVerifyServerName), splunk_server=sha256(splunk_server) | stats values(cliVerifyServerName) as servername_cliVerifyServerName values(eai:acl.app) as servername_configuredApp by splunk_server | eval cli_configuredSystem=if(cli_configuredApp="system","true","false") | fields cli_sslVerifyServerCert, splunk_server, cli_configuredSystem]
The installer also leaves the Splunk Essentials for Cloud and Enterprise app from the previous version and just installs the new version for the upgraded release.