From 548d8f33ba08eaf08d369400f7285a3dbe2f6791 Mon Sep 17 00:00:00 2001 From: Jeff Morgan Date: Fri, 29 Aug 2014 00:59:30 -0700 Subject: [PATCH] fixing installer --- meteor/client/lib/virtualbox.js | 32 ++++++----- .../views/dashboard/setup/setup-install.html | 9 +++- .../views/dashboard/setup/setup-install.js | 51 ++++++++++++------ meteor/public/step_failed.png | Bin 0 -> 4112 bytes meteor/public/step_failed@2x.png | Bin 0 -> 5829 bytes resources/install | 9 +--- 6 files changed, 64 insertions(+), 37 deletions(-) create mode 100644 meteor/public/step_failed.png create mode 100644 meteor/public/step_failed@2x.png diff --git a/meteor/client/lib/virtualbox.js b/meteor/client/lib/virtualbox.js index 4000289978..6d362492a9 100644 --- a/meteor/client/lib/virtualbox.js +++ b/meteor/client/lib/virtualbox.js @@ -1,5 +1,5 @@ var fs = require('fs'); -var exec = require('exec'); +var child_process = require('child_process'); var path = require('path'); isVirtualBoxInstalled = function (callback) { @@ -24,22 +24,15 @@ isResolverSetup = function (callback) { }); }; -setupVirtualBoxAndResolver = function (skipVirtualBox, callback) { +setupResolver = function (callback) { var installFile = path.join(getBinDir(), 'install'); var cocoaSudo = path.join(getBinDir(), 'cocoasudo'); var execCommand = cocoaSudo + ' --prompt="Kitematic Setup wants to make changes. Type your password to allow this." ' + installFile; - console.log(execCommand); - var env = { - VIRTUALBOX_PKG_PATH: path.join(getBinDir(), 'virtualbox-4.3.12.pkg') - }; - if (!skipVirtualBox) { - env.INSTALL_VIRTUALBOX = true; - } - exec(execCommand, {env: env}, function (err, stdout) { + child_process.exec(execCommand, function (error, stdout, stderr) { console.log(stdout); - if (err) { - console.log(err); - callback(err); + if (error) { + console.log(error); + callback(error); return; } console.log('Virtualbox Installation & Resolver config complete.'); @@ -47,3 +40,16 @@ setupVirtualBoxAndResolver = function (skipVirtualBox, callback) { }); }; +setupVirtualBox = function (callback) { + child_process.exec('open -W ' + path.join(getBinDir(), 'virtualbox-4.3.12.pkg'), function (error, stdout, stderr) { + console.log(stdout); + if (error) { + console.log(error); + callback(error); + return; + } + console.log('Virtualbox Installation running.'); + callback(); + }); +}; + diff --git a/meteor/client/views/dashboard/setup/setup-install.html b/meteor/client/views/dashboard/setup/setup-install.html index 62f666f6fa..b179a4f7d2 100644 --- a/meteor/client/views/dashboard/setup/setup-install.html +++ b/meteor/client/views/dashboard/setup/setup-install.html @@ -21,10 +21,17 @@ {{/if}} {{#if $eq this.index currentInstallStep}} - {{> spinner}} + {{#if $eq this.index failedStep}} + + {{else}} + {{> spinner}} + {{/if}}
{{this.message}} + {{#if $eq this.index failedStep}} +

{{failedError}}

+ {{/if}}
{{/if}} diff --git a/meteor/client/views/dashboard/setup/setup-install.js b/meteor/client/views/dashboard/setup/setup-install.js index 5ff517fa80..af562d2b91 100644 --- a/meteor/client/views/dashboard/setup/setup-install.js +++ b/meteor/client/views/dashboard/setup/setup-install.js @@ -8,13 +8,18 @@ var async = require('async'); // - imperativeMessage: Message to show before running var steps = [ - // Step 0, set up VirtualBox + // Set up VirtualBox { install: function (callback) { isVirtualBoxInstalled(function (err, virtualBoxInstalled) { - setupVirtualBoxAndResolver(virtualBoxInstalled, function () { + var installedYet = false; + if (!virtualBoxInstalled) { + setupVirtualBox(function (err) { + callback(err); + }); + } else { callback(); - }); + } }); }, pastMessage: 'VirtualBox installed', @@ -22,7 +27,19 @@ var steps = [ imperativeMessage: 'Install VirtualBox if necessary' }, - // Step 1: Set up the VM for running Kitematic apps + // Set up the routing. + { + install: function (callback) { + setupResolver(function (err) { + callback(err); + }); + }, + pastMessage: 'Container routing set up (root required).', + message: 'Setting up container routing (root required).', + imperativeMessage: 'Set up container routing to VM (root required).' + }, + + // Set up the VM for running Kitematic apps { install: function (callback) { console.log('Checking if vm exists...'); @@ -49,7 +66,7 @@ var steps = [ imperativeMessage: 'Set up the Kitematic VM' }, - // Step 2: Start the Kitematic VM + // Start the Kitematic VM { install: function (callback) { startBoot2Docker(function (err) { @@ -61,7 +78,7 @@ var steps = [ imperativeMessage: 'Start the Kitematic VM' }, - // Step 3: Set up the default Kitematic images + // Set up the default Kitematic images { install: function (callback) { Meteor.call('reloadDefaultContainers', function (err) { @@ -93,8 +110,10 @@ runSetup = function (callback) { }, function (err) { if (err) { // if any of the steps fail - console.log('Kitematic setup failed at step' + currentStep); + console.log('Kitematic setup failed at step ' + currentStep); console.log(err); + Session.set('failedStep', currentStep); + Session.set('failedError', err); callback(err); } else { // Setup Finished @@ -121,10 +140,6 @@ Template.setup_install.rendered = function() { } }; -Template.setup_install.events({ - -}); - Template.setup_install.steps = function () { return steps.map(function (step, index) { step.index = index; @@ -135,11 +150,15 @@ Template.setup_install.steps = function () { Template.setup_install.helpers({ currentInstallStep: function () { return Session.get('currentInstallStep'); + }, + installComplete: function () { + return Session.get('currentInstallStep') === steps.length; + }, + failedStep: function () { + return Session.get('failedStep'); + }, + failedError: function () { + return Session.get('failedError'); } }); -Template.setup_install.helpers({ - installComplete: function () { - return Session.get('currentInstallStep') === steps.length; - } -}); diff --git a/meteor/public/step_failed.png b/meteor/public/step_failed.png new file mode 100644 index 0000000000000000000000000000000000000000..d8b8fb64bbe6ee010647d1a3ff44fc8c6908e836 GIT binary patch literal 4112 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 /etc/resolver/dev -# Install virtualbox -if [ -n "$INSTALL_VIRTUALBOX" ]; then - /usr/sbin/installer -pkg $VIRTUALBOX_PKG_PATH -target / -fi +DIR=$(dirname "$0") +USER=`w -h | sort -u -t' ' -k1,1 | awk '{print $1}'` /bin/rm -rf /Library/LaunchAgents/com.kitematic.route.plist @@ -37,9 +35,6 @@ echo ' ' > /Library/LaunchAgents/com.kitematic.route.plist -DIR=$(dirname "$0") -USER=`w -h | sort -u -t' ' -k1,1 | awk '{print $1}'` - sudo -u $USER $DIR/boot2docker init --lowerip=192.168.59.103 --upperip=192.168.59.103 # Add entries to routing table for Kitematic VM