Commit e835e3ef authored by Emiliano Balbuena's avatar Emiliano Balbuena

(fix): Installer should not fail by default

1 merge request!457WIP: Local infrastructure provisioner (engine)
Pipeline #117011385 failed with stages
in 2 minutes and 46 seconds
......@@ -64,7 +64,8 @@ class Install extends Cli\Controller implements Interfaces\CliControllerInterfac
if ($installType == "all" || $installType == "cassandra") {
$this->out('- Provisioning Cassandra:', $this::OUTPUT_INLINE);
$isCleanCassandra = $this->getopt("cleanCassandra") != null;
$provisioner->provisionCassandra(null, $isCleanCassandra);
$exitOnFailure = (bool) $this->getopt("exitOnFailure");
$provisioner->provisionCassandra(null, $isCleanCassandra, $exitOnFailure);
$this->out('OK');
$this->out('- Emptying Cassandra pool:', $this::OUTPUT_INLINE);
......
......@@ -237,10 +237,11 @@ class Installer
public function provisionCassandra(
Provisioners\ProvisionerInterface $cassandraStorage = null,
$cleanData = false
$cleanData = false,
$exitOnFailure = false
) {
$cassandraStorage = $cassandraStorage ?: new Provisioners\CassandraProvisioner();
$cassandraStorage->provision($cleanData);
$cassandraStorage->provision($cleanData, $exitOnFailure);
}
public function reloadStorage()
......
......@@ -18,7 +18,7 @@ class CassandraProvisioner implements ProvisionerInterface
$this->client = $client ?: null; // Should be created on-the-fly at provision()
}
public function provision(bool $cleanData)
public function provision(bool $cleanData, bool $exitOnFailure = false)
{
// TODO: Add cleanData to provisioner.
$config = $this->config->get('cassandra');
......@@ -39,7 +39,9 @@ class CassandraProvisioner implements ProvisionerInterface
}
} catch (\Exception $e) {
error_log("Error provisioning cassandra: " . $e->getMessage());
exit(1);
if ($exitOnFailure) {
exit(1);
}
}
return true;
......
......@@ -5,5 +5,5 @@ use Minds\Core\Provisioner\Tasks\TaskInterface;
interface ProvisionerInterface
{
public function provision(bool $cleanData);
public function provision(bool $cleanData, bool $exitOnFailure);
}
......@@ -21,4 +21,5 @@ php /var/www/Minds/engine/cli.php install \
--email-public-key=/.dev/minds.pub \
--phone-number-private-key=/.dev/minds.pem \
--phone-number-public-key=/.dev/minds.pub \
--cassandra-server=cassandra
--cassandra-server=cassandra \
--exitOnFailure=1
Please register or to comment