1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-25 06:50:55 +01:00

Fix "daemons running as wrong user" setup issue

Summary:
Fixes T9385. This was accidentally mangled a bit a long time ago by D12797, which was a 1,000-file change which got almost everything right.

Simplify the message and fix all the `%s` conversions and how they map to parameters.

Test Plan: {F1220400}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T9385

Differential Revision: https://secure.phabricator.com/D15722
This commit is contained in:
epriestley 2016-04-15 09:55:26 -07:00
parent 20bad9a4ba
commit cd8491ae93

View file

@ -46,49 +46,40 @@ final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
->addCommand('phabricator/ $ ./bin/phd start'); ->addCommand('phabricator/ $ ./bin/phd start');
} }
$phd_user = PhabricatorEnv::getEnvConfig('phd.user'); $expect_user = PhabricatorEnv::getEnvConfig('phd.user');
if (strlen($expect_user)) {
$all_daemons = id(new PhabricatorDaemonLogQuery()) $all_daemons = id(new PhabricatorDaemonLogQuery())
->setViewer(PhabricatorUser::getOmnipotentUser()) ->setViewer(PhabricatorUser::getOmnipotentUser())
->withStatus(PhabricatorDaemonLogQuery::STATUS_ALIVE) ->withStatus(PhabricatorDaemonLogQuery::STATUS_ALIVE)
->execute(); ->execute();
foreach ($all_daemons as $daemon) { foreach ($all_daemons as $daemon) {
$actual_user = $daemon->getRunningAsUser();
if ($phd_user) { if ($actual_user == $expect_user) {
if ($daemon->getRunningAsUser() != $phd_user) { continue;
$doc_href = PhabricatorEnv::getDocLink('Managing Daemons with phd'); }
$summary = pht( $summary = pht(
'At least one daemon is currently running as a different '. 'At least one daemon is currently running as the wrong user.');
'user than configured in the Phabricator %s setting',
'phd.user');
$message = pht( $message = pht(
'A daemon is running as user %s while the Phabricator config '. 'A daemon is running as user %s, but daemons should be '.
'specifies %s to be %s.'. 'running as %s.'.
"\n\n". "\n\n".
'Either adjust %s to match %s or start '. 'Either adjust the configuration setting %s or restart the '.
'the daemons as the correct user. '. 'daemons. Daemons should attempt to run as the proper user when '.
"\n\n". 'restarted.',
'%s Daemons will try to use %s to start as the configured user. '. phutil_tag('tt', array(), $actual_user),
'Make sure that the user who starts %s has the correct '. phutil_tag('tt', array(), $expect_user),
'sudo permissions to start %s daemons as %s', phutil_tag('tt', array(), 'phd.user'));
'phd.user',
'phd.user',
'phd',
'sudo',
'phd',
'phd',
phutil_tag('tt', array(), $daemon->getRunningAsUser()),
phutil_tag('tt', array(), $phd_user),
phutil_tag('tt', array(), $daemon->getRunningAsUser()),
phutil_tag('tt', array(), $phd_user));
$this->newIssue('daemons.run-as-different-user') $this->newIssue('daemons.run-as-different-user')
->setName(pht('Daemons are running as the wrong user')) ->setName(pht('Daemon Running as Wrong User'))
->setSummary($summary) ->setSummary($summary)
->setMessage($message) ->setMessage($message)
->addPhabricatorConfig('phd.user')
->addCommand('phabricator/ $ ./bin/phd restart'); ->addCommand('phabricator/ $ ./bin/phd restart');
}
break;
} }
} }
} }