Skip to content

Commit

Permalink
fix: initialize
Browse files Browse the repository at this point in the history
Signed-off-by: lstocchi <[email protected]>
  • Loading branch information
lstocchi committed Oct 1, 2024
1 parent 9dbfced commit 749192b
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/crc-start.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export async function startCrc(
crcStatus.setSetupRunning(false);
}
}
crcLogProvider.startSendingLogs(loggerCallback);
await crcLogProvider.startSendingLogs(loggerCallback);
const result = await commander.start();
if (result.Status === 'Running') {
provider.updateStatus('started');
Expand Down
30 changes: 18 additions & 12 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -218,13 +218,19 @@ function registerProviderConnectionFactory(
extensionContext: extensionApi.ExtensionContext,
telemetryLogger: extensionApi.TelemetryLogger,
): void {
let justInitialized = false;
connectionFactoryDisposable = provider.setKubernetesProviderConnectionFactory(
{
initialize: () => initializeCrc(provider, extensionContext, telemetryLogger),
initialize: async () => {
await initializeCrc(provider, extensionContext, telemetryLogger);
justInitialized = true;
},
create: async (params, logger) => {
justInitialized = false;
await presetChanged(provider, extensionContext, telemetryLogger);
await saveConfig(params);
if (params['crc.factory.start.now']) {
if (params['crc.factory.start.now'] || justInitialized) {
await connectToCrc();
await createCrcVm(provider, extensionContext, telemetryLogger, logger);
}
},
Expand Down Expand Up @@ -261,17 +267,18 @@ async function initializeCrc(
extensionContext: extensionApi.ExtensionContext,
telemetryLogger: extensionApi.TelemetryLogger,
): Promise<void> {
const hasSetupFinished = await setUpCrc(true);
if (!hasSetupFinished) {
throw new Error(`Failed at initializing ${productName}`);
const hasToBeSetup = await needSetup();
if (hasToBeSetup) {
const hasSetupFinished = await setUpCrc(true);
if (!hasSetupFinished) {
throw new Error(`Failed at initializing ${productName}`);
}
}

await needSetup();
await connectToCrc();
await presetChanged(provider, extensionContext, telemetryLogger);
addCommands(telemetryLogger);
await syncPreferences(provider, extensionContext, telemetryLogger);
return presetChanged(provider, extensionContext, telemetryLogger);
await presetChanged(provider, extensionContext, telemetryLogger);
provider.updateStatus('configured');
}

function addCommands(telemetryLogger: extensionApi.TelemetryLogger): void {
Expand All @@ -283,7 +290,7 @@ function addCommands(telemetryLogger: extensionApi.TelemetryLogger): void {

commandManager.addCommand(CRC_PUSH_IMAGE_TO_CLUSTER, image => {
telemetryLogger.logUsage('pushImage');
pushImageToCrcCluster(image);
pushImageToCrcCluster(image).catch((e: unknown) => console.error(String(e)));
});
} catch (e) {
// do nothing
Expand Down Expand Up @@ -333,14 +340,13 @@ function registerOpenShiftLocalCluster(
extensionContext: extensionApi.ExtensionContext,
telemetryLogger: extensionApi.TelemetryLogger,
): void {
const status = () => crcStatus.getConnectionStatus();
const apiURL = 'https://api.crc.testing:6443';
const kubernetesProviderConnection: extensionApi.KubernetesProviderConnection = {
name,
endpoint: {
apiURL,
},
status,
status: () => 'stopped',
};

connectionDisposable = provider.registerKubernetesProviderConnection(kubernetesProviderConnection);
Expand Down

0 comments on commit 749192b

Please sign in to comment.