Output of gitlab-ctl promote-db is misleading when there is nothing to do

When running through Promoting a secondary node with multiple servers I reran the promote-db command for a second time to ensure everything had run correctly, the output presented to the user suggests that something is wrong, when in reality the command just has nothing to do.

Ideally we should be able to tell that the command has already run and present a message that shows there is nothing to do without a stack trace.

The error could not change directory to "/root": Permission denied is not part of this issue and is handled by #225865 (closed)

root@geo-3k-repmgr-secondary-postgres-1:~# gitlab-ctl promote-db

Promoting the PostgreSQL read-only replica to primary...

could not change directory to "/root": Permission denied
pg_ctl: cannot promote server; server is not in standby mode
Traceback (most recent call last):
	8: from /opt/gitlab/embedded/bin/omnibus-ctl:23:in `<main>'
	7: from /opt/gitlab/embedded/bin/omnibus-ctl:23:in `load'
	6: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/omnibus-ctl-0.6.0/bin/omnibus-ctl:31:in `<top (required)>'
	5: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/omnibus-ctl-0.6.0/lib/omnibus-ctl.rb:746:in `run'
	4: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/omnibus-ctl-0.6.0/lib/omnibus-ctl.rb:204:in `block in add_command_under_category'
	3: from /opt/gitlab/embedded/service/omnibus-ctl-ee/promote_db.rb:21:in `block in load_file'
	2: from /opt/gitlab/embedded/service/omnibus-ctl-ee/lib/geo/promote_db.rb:23:in `execute'
	1: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/mixlib-shellout-3.2.2/lib/mixlib/shellout.rb:287:in `error!'
/opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/mixlib-shellout-3.2.2/lib/mixlib/shellout.rb:300:in `invalid!': Expected process to exit with [0], but received '1' (Mixlib::ShellOut::ShellCommandFailed)
---- Begin output of /opt/gitlab/embedded/bin/gitlab-pg-ctl promote ----
STDOUT:
STDERR: could not change directory to "/root": Permission denied
pg_ctl: cannot promote server; server is not in standby mode
---- End output of /opt/gitlab/embedded/bin/gitlab-pg-ctl promote ----
Ran /opt/gitlab/embedded/bin/gitlab-pg-ctl promote returned 1