From 300aa6d78b59eddf735f6006bdccfac544903533 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sun, 8 Mar 2015 20:44:54 -0400 Subject: [PATCH 1/4] Only regenerate certs if the machine isn't running --- src/SetupStore.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SetupStore.js b/src/SetupStore.js index a0116a3ff9..b91770fff9 100644 --- a/src/SetupStore.js +++ b/src/SetupStore.js @@ -85,8 +85,11 @@ var _steps = [{ yield machine.stop(); yield machine.upgrade(); } - yield machine.start(); - yield machine.regenerateCerts(); + var state = yield machine.state(); + if (state !== 'Running') { + yield machine.start(); + yield machine.regenerateCerts(); + } }) }]; From 59cdda668bb4bedd968efeb9a0c394edb80e883a Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sun, 8 Mar 2015 21:10:29 -0400 Subject: [PATCH 2/4] Fixing tests, regencerts only on Stopped and Saved VMs --- __tests__/SetupStore-test.js | 4 ++-- src/SetupStore.js | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/__tests__/SetupStore-test.js b/__tests__/SetupStore-test.js index 8b5052e699..1410a883b0 100644 --- a/__tests__/SetupStore-test.js +++ b/__tests__/SetupStore-test.js @@ -73,7 +73,7 @@ describe('SetupStore', function () { pit('upgrades the vm if it exists and is out of date', function () { machine.exists.mockReturnValue(Promise.resolve(true)); - machine.state.mockReturnValue(Promise.resolve('Running')); + machine.state.mockReturnValue(Promise.resolve('Stopped')); machine.isoversion.mockReturnValue('1.0'); machine.stop.mockReturnValue(Promise.resolve()); machine.start.mockReturnValue(Promise.resolve()); @@ -88,9 +88,9 @@ describe('SetupStore', function () { return setupStore.steps().init.run(() => {}).then(() => { expect(machine.create).not.toBeCalled(); expect(machine.stop).toBeCalled(); + expect(machine.upgrade).toBeCalled(); expect(machine.regenerateCerts).toBeCalled(); expect(machine.start).toBeCalled(); - expect(machine.upgrade).toBeCalled(); }); }); }); diff --git a/src/SetupStore.js b/src/SetupStore.js index b91770fff9..8adec813fe 100644 --- a/src/SetupStore.js +++ b/src/SetupStore.js @@ -75,8 +75,6 @@ var _steps = [{ yield machine.create(); } return; - } else if (exists && (yield machine.state()) === 'Saved') { - yield virtualBox.wake(machine.name()); } var isoversion = machine.isoversion(); @@ -86,7 +84,10 @@ var _steps = [{ yield machine.upgrade(); } var state = yield machine.state(); - if (state !== 'Running') { + if (state === 'Saved') { + yield virtualBox.wake(machine.name()); + yield machine.regenerateCerts(); + } else if (state !== 'Running') { yield machine.start(); yield machine.regenerateCerts(); } From 699f9bfe8c96b0e7c13b56b9bce007367fa7ab9b Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sun, 8 Mar 2015 21:39:36 -0400 Subject: [PATCH 3/4] Don't region certs for saved machines --- src/SetupStore.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SetupStore.js b/src/SetupStore.js index 8adec813fe..10d8745d79 100644 --- a/src/SetupStore.js +++ b/src/SetupStore.js @@ -86,7 +86,6 @@ var _steps = [{ var state = yield machine.state(); if (state === 'Saved') { yield virtualBox.wake(machine.name()); - yield machine.regenerateCerts(); } else if (state !== 'Running') { yield machine.start(); yield machine.regenerateCerts(); From 838b71fa514b7e4a13d1c48fee6ac569497f384d Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sun, 8 Mar 2015 21:43:55 -0400 Subject: [PATCH 4/4] Make upgrade work with saved vms --- src/SetupStore.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/SetupStore.js b/src/SetupStore.js index 10d8745d79..bf7e9eadde 100644 --- a/src/SetupStore.js +++ b/src/SetupStore.js @@ -77,16 +77,17 @@ var _steps = [{ return; } + if ((yield machine.state()) === 'Saved') { + yield virtualBox.wake(machine.name()); + } + var isoversion = machine.isoversion(); var packagejson = util.packagejson(); if (!isoversion || setupUtil.compareVersions(isoversion, packagejson['docker-version']) < 0) { yield machine.stop(); yield machine.upgrade(); } - var state = yield machine.state(); - if (state === 'Saved') { - yield virtualBox.wake(machine.name()); - } else if (state !== 'Running') { + if ((yield machine.state()) !== 'Running') { yield machine.start(); yield machine.regenerateCerts(); }