Skip to content

Commit 3b3e1c2

Browse files
committed
fix: initialize
Signed-off-by: lstocchi <[email protected]>
1 parent cf76b40 commit 3b3e1c2

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

src/crc-start.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export async function startCrc(
5757
crcStatus.setSetupRunning(false);
5858
}
5959
}
60-
crcLogProvider.startSendingLogs(loggerCallback);
60+
await crcLogProvider.startSendingLogs(loggerCallback);
6161
const result = await commander.start();
6262
if (result.Status === 'Running') {
6363
provider.updateStatus('started');

src/extension.ts

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -218,13 +218,19 @@ function registerProviderConnectionFactory(
218218
extensionContext: extensionApi.ExtensionContext,
219219
telemetryLogger: extensionApi.TelemetryLogger,
220220
): void {
221+
let justInitialized = false;
221222
connectionFactoryDisposable = provider.setKubernetesProviderConnectionFactory(
222223
{
223-
initialize: () => initializeCrc(provider, extensionContext, telemetryLogger),
224+
initialize: async () => {
225+
await initializeCrc(provider, extensionContext, telemetryLogger);
226+
justInitialized = true;
227+
},
224228
create: async (params, logger) => {
229+
justInitialized = false;
225230
await presetChanged(provider, extensionContext, telemetryLogger);
226231
await saveConfig(params);
227-
if (params['crc.factory.start.now']) {
232+
if (params['crc.factory.start.now'] || justInitialized) {
233+
await connectToCrc();
228234
await createCrcVm(provider, extensionContext, telemetryLogger, logger);
229235
}
230236
},
@@ -261,17 +267,18 @@ async function initializeCrc(
261267
extensionContext: extensionApi.ExtensionContext,
262268
telemetryLogger: extensionApi.TelemetryLogger,
263269
): Promise<void> {
264-
const hasSetupFinished = await setUpCrc(true);
265-
if (!hasSetupFinished) {
266-
throw new Error(`Failed at initializing ${productName}`);
270+
const hasToBeSetup = await needSetup();
271+
if (hasToBeSetup) {
272+
const hasSetupFinished = await setUpCrc(true);
273+
if (!hasSetupFinished) {
274+
throw new Error(`Failed at initializing ${productName}`);
275+
}
267276
}
268277

269-
await needSetup();
270-
await connectToCrc();
271-
await presetChanged(provider, extensionContext, telemetryLogger);
272278
addCommands(telemetryLogger);
273279
await syncPreferences(provider, extensionContext, telemetryLogger);
274-
return presetChanged(provider, extensionContext, telemetryLogger);
280+
await presetChanged(provider, extensionContext, telemetryLogger);
281+
provider.updateStatus('configured');
275282
}
276283

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

284291
commandManager.addCommand(CRC_PUSH_IMAGE_TO_CLUSTER, image => {
285292
telemetryLogger.logUsage('pushImage');
286-
pushImageToCrcCluster(image);
293+
pushImageToCrcCluster(image).catch((e: unknown) => console.error(String(e)));
287294
});
288295
} catch (e) {
289296
// do nothing
@@ -333,14 +340,13 @@ function registerOpenShiftLocalCluster(
333340
extensionContext: extensionApi.ExtensionContext,
334341
telemetryLogger: extensionApi.TelemetryLogger,
335342
): void {
336-
const status = () => crcStatus.getConnectionStatus();
337343
const apiURL = 'https://api.crc.testing:6443';
338344
const kubernetesProviderConnection: extensionApi.KubernetesProviderConnection = {
339345
name,
340346
endpoint: {
341347
apiURL,
342348
},
343-
status,
349+
status: () => 'stopped',
344350
};
345351

346352
connectionDisposable = provider.registerKubernetesProviderConnection(kubernetesProviderConnection);

0 commit comments

Comments
 (0)