phacility/phabricator · error · PhutilArgumentUsageException

Repository "%s" is not a cluster repository: it is not bound

Error message

Repository "%s" is not a cluster repository: it is not bound to an Almanac service.

What it means

Error "Repository "%s" is not a cluster repository: it is not bound to an Almanac service." thrown in phacility/phabricator.

Source

Thrown at src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php:210

    foreach ($devices as $device) {
      foreach ($repositories as $repository) {
        $repository_phid = $repository->getPHID();

        $write_lock = PhabricatorRepositoryWorkingCopyVersion::getWriteLock(
          $repository_phid);

        echo tsprintf(
          "%s\n",
          pht(
            'Waiting to acquire write lock for "%s"...',
            $repository->getDisplayName()));

        $write_lock->lock(phutil_units('5 minutes in seconds'));
        try {

          $service = $repository->loadAlmanacService();
          if (!$service) {
            throw new PhutilArgumentUsageException(
              pht(
                'Repository "%s" is not a cluster repository: it is not '.
                'bound to an Almanac service.',
                $repository->getDisplayName()));
          }

          if ($promote) {
            // You can only promote active devices. (You may demote active or
            // inactive devices.)
            $bindings = $service->getActiveBindings();
            $bindings = mpull($bindings, null, 'getDevicePHID');
            if (empty($bindings[$device->getPHID()])) {
              throw new PhutilArgumentUsageException(
                pht(
                  'Repository "%s" has no active binding to device "%s". '.
                  'Only actively bound devices can be promoted.',
                  $repository->getDisplayName(),
                  $device->getName()));

View on GitHub (pinned to 5720a38cfe)

When it happens

Trigger: Thrown at src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php:210 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21). Data as JSON: /api/errors/5ca0a7bdf22ae7b7. Report an issue: GitHub.