Add overwriteDns arg to install & clone

this is useful in e2e
This commit is contained in:
Girish Ramakrishnan
2019-09-16 09:31:34 -07:00
parent adbe46d369
commit 00f949f156
3 changed files with 20 additions and 12 deletions

View File

@@ -491,13 +491,15 @@ function downloadImage(manifest, callback) {
// - setup the container (requires image, volumes, addons)
// - setup collectd (requires container id)
// restore is also handled here since restore is just an install with some oldConfig to clean up
function install(app, restoreConfig, progressCallback, callback) {
function install(app, args, progressCallback, callback) {
assert.strictEqual(typeof app, 'object');
assert.strictEqual(typeof restoreConfig, 'object');
assert.strictEqual(typeof args, 'object');
assert.strictEqual(typeof progressCallback, 'function');
assert.strictEqual(typeof callback, 'function');
const isInstalling = app.installationState !== apps.ISTATE_PENDING_RESTORE; // install or clone
const restoreConfig = args.restoreConfig || {};
const overwriteDns = args.overwriteDns;
async.series([
// this protects against the theoretical possibility of an app being marked for install/restore from
@@ -534,7 +536,7 @@ function install(app, restoreConfig, progressCallback, callback) {
downloadIcon.bind(null, app),
progressCallback.bind(null, { percent: 30, message: 'Registering subdomains' }),
registerSubdomains.bind(null, app, !isInstalling /* overwrite */),
registerSubdomains.bind(null, app, overwriteDns),
progressCallback.bind(null, { percent: 40, message: 'Downloading image' }),
downloadImage.bind(null, app.manifest),
@@ -1026,7 +1028,7 @@ function run(appId, args, progressCallback, callback) {
debugApp(app, 'startTask installationState: %s runState: %s', app.installationState, app.runState);
switch (app.installationState) {
case apps.ISTATE_PENDING_INSTALL: return install(app, args.restoreConfig || {}, progressCallback, callback);
case apps.ISTATE_PENDING_INSTALL: return install(app, args, progressCallback, callback);
case apps.ISTATE_PENDING_CONFIGURE: return configure(app, args.oldConfig, progressCallback, callback);
case apps.ISTATE_PENDING_RECREATE_CONTAINER:
case apps.ISTATE_PENDING_RESIZE:
@@ -1035,8 +1037,8 @@ function run(appId, args, progressCallback, callback) {
case apps.ISTATE_PENDING_LOCATION_CHANGE: return changeLocation(app, args, progressCallback, callback);
case apps.ISTATE_PENDING_DATA_DIR_MIGRATION: return migrateDataDir(app, args.oldDataDir, progressCallback, callback);
case apps.ISTATE_PENDING_UNINSTALL: return uninstall(app, progressCallback, callback);
case apps.ISTATE_PENDING_CLONE: return install(app, args.restoreConfig || {}, progressCallback, callback);
case apps.ISTATE_PENDING_RESTORE: return install(app, args.restoreConfig || {}, progressCallback, callback);
case apps.ISTATE_PENDING_CLONE: return install(app, args, progressCallback, callback);
case apps.ISTATE_PENDING_RESTORE: return install(app, args, progressCallback, callback);
case apps.ISTATE_PENDING_UPDATE: return update(app, args.updateConfig, progressCallback, callback);
case apps.ISTATE_PENDING_BACKUP: return backup(app, progressCallback, callback);
case apps.ISTATE_INSTALLED: