Merge pull request #218 from kitematic/setup-fixes

Fix error would sleeping machine vms would break kitematic
This commit is contained in:
Jeffrey Morgan 2015-03-04 22:07:41 -05:00
commit 65b19570fc
5 changed files with 11 additions and 14 deletions

View File

@ -42,10 +42,9 @@
"docker-version": "1.5.0",
"docker-machine-version": "0.1.0",
"atom-shell-version": "0.21.2",
"virtualbox-version": "4.3.22",
"virtualbox-version": "4.3.24",
"virtualbox-filename": "VirtualBox-4.3.22.pkg",
"virtualbox-checksum": "4a7dff25bdeef0d112e16ac11bee6d52e856d36bb412aa75576036ba560082eb",
"virtualbox-required-version": "4.3.0",
"dependencies": {
"ansi-to-html": "0.3.0",
"async": "^0.9.0",

View File

@ -153,14 +153,6 @@ var DockerMachine = {
});
});
},
waitWhileState: Promise.coroutine(function* (status) {
while (true) {
var current = yield DockerMachine.state();
if (status !== current.trim()) {
return;
}
}
}),
dockerTerminal: function () {
var terminal = path.join(process.cwd(), 'resources', 'terminal');
this.info().then(machine => {

View File

@ -48,7 +48,7 @@ bugsnag.metaData = {
};
bugsnag.beforeNotify = function(payload) {
var re = new RegExp(process.cwd().replace(/\s+/g, '\\s+').replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\//g, '\\/'), 'g');
var re = new RegExp(util.home().replace(/\s+/g, '\\s+'), 'g');
payload.stacktrace = payload.stacktrace.replace(/%20/g, ' ').replace(re, '<redacted codedir>');
payload.context = payload.context.replace(/%20/g, ' ').replace(re, '<redacted codedir>');
payload.file = payload.file.replace(/%20/g, ' ').replace(re, '<redacted codedir>');
@ -81,8 +81,6 @@ setInterval(function () {
router.run(Handler => React.render(<Handler/>, document.body));
SetupStore.setup().then(machine => {
console.log('setup complete');
console.log(machine);
docker.setup(machine.url, machine.name);
Menu.setApplicationMenu(Menu.buildFromTemplate(template()));
ContainerStore.on(ContainerStore.SERVER_ERROR_EVENT, (err) => {
@ -92,7 +90,8 @@ SetupStore.setup().then(machine => {
if (err) {
console.log(err);
bugsnag.notify('ContainerStoreError', 'Could not init containerstore', {
error: err
error: err,
machine: machine
});
}
router.transitionTo('containers');

View File

@ -74,6 +74,8 @@ var _steps = [{
yield machine.create();
}
return;
} else if (exists && (yield machine.state()) === 'Saved') {
yield virtualBox.wake(machine.name());
}
var isoversion = machine.isoversion();
@ -147,6 +149,8 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), {
var exists = yield machine.exists();
if (isoversion && setupUtil.compareVersions(isoversion, packagejson['docker-version']) < 0) {
this.steps().init.seconds = 33;
} else if (exists && (yield machine.state()) === 'Saved') {
this.steps().init.seconds = 8;
} else if (exists && (yield machine.state()) !== 'Error') {
this.steps().init.seconds = 23;
}

View File

@ -35,6 +35,9 @@ var VirtualBox = {
});
},
wake: function (name) {
return util.exec([this.command(), 'startvm', name, '--type', 'headless']);
},
vmstate: function (name) {
return new Promise((resolve, reject) => {
util.exec([this.command(), 'showvminfo', name, '--machinereadable']).then(stdout => {