contraband / autopilot

cf plugin for hands-off, zero downtime application deploys
Apache License 2.0
130 stars 42 forks source link

Venerable app is not deleted #37

Open tay1orjones opened 7 years ago

tay1orjones commented 7 years ago

In a similar vein to #12 - the renamed (venerable) app is not being deleted for me. The initial deploy does not appear to be successful, but instead simply hangs without an error. Below is what I see in the console, hanging at the last line with no resolution.

$ cf zero-downtime-push "MyApp" -f ./manifest.yml
Renaming app MyApp to MyApp-venerable in org MyOrg / space MySpace as MyEmailAddress...
OK
Using manifest file ./manifest.yml

Creating app MyApp in org MyOrg / space MySpace as MyEmailAddress...
OK

Using route MyApp.mybluemix.net
Binding MyApp.mybluemix.net to MyApp...
OK

Uploading MyApp...
Uploading app files from: /MyProjectPath
Uploading 40.2K, 23 files
Done uploading
OK

Starting app MyApp in org MyOrg / space MySpace as MyEmailAddress...
Downloading swift_buildpack_v2_0_2-20161118-1326...
Downloading go_buildpack...
Downloading binary_buildpack...
Downloading python_buildpack...
Downloading liberty-for-java_v3_5-20161114-1152...
Downloaded binary_buildpack
Downloading sdk-for-nodejs_v3_8-20161006-1211...
Downloaded python_buildpack
Downloaded go_buildpack
Downloaded swift_buildpack_v2_0_2-20161118-1326
Downloading java_buildpack...
Downloaded liberty-for-java_v3_5-20161114-1152
Downloading liberty-for-java...
Downloaded liberty-for-java_v3_4_1-20161030-2241
Downloading sdk-for-nodejs...
Downloaded dotnet-core_v1_0_1-20161005-1225
Downloaded java_buildpack
Downloading swift_buildpack...
Downloaded sdk-for-nodejs_v3_8-20161006-1211
Downloading noop-buildpack...
Downloaded liberty-for-java
Downloading php_buildpack...
Downloaded sdk-for-nodejs
Downloading xpages_buildpack...
Downloaded dotnet-core
Downloading ruby_buildpack...
Downloaded swift_buildpack
Downloading staticfile_buildpack...
Downloaded php_buildpack
Downloading xpages_buildpack_v1_2_1-20160913-103...
Downloaded noop-buildpack
Downloading nodejs_buildpack...
Downloaded xpages_buildpack
Downloaded ruby_buildpack
Downloaded nodejs_buildpack
Downloaded xpages_buildpack_v1_2_1-20160913-103
Downloaded staticfile_buildpack
Creating container
Downloading liberty-for-java_v3_4_1-20161030-2241...
Successfully created container
Downloading app package...
Downloaded app package (26.7K)
Staging...
-----> IBM SDK for Node.js Buildpack v3.9-20161128-1327
       Based on Cloud Foundry Node.js Buildpack v1.5.20
-----> Creating runtime environment

       NPM_CONFIG_PRODUCTION=true
       NODE_ENV=production
       NODE_MODULES_CACHE=true
-----> Installing binaries
       engines.node (package.json):  6.2.1
       engines.npm (package.json):   3.9.3

       Downloading and installing node 6.2.1...
       npm 3.9.3 already installed with node
       Skipping cache restore (new runtime signature)
-----> Building dependencies
       Installing node modules (package.json)

       > dtrace-provider@0.7.1 install /tmp/app/node_modules/dtrace-provider
       > node scripts/install.js

       > dtrace-provider@0.8.0 install /tmp/app/node_modules/bunyan/node_modules/dtrace-provider
       > node scripts/install.js

       ├─┬ babel-cli@6.18.0
       │ ├─┬ babel-core@6.21.0
       │ │ ├─┬ babel-code-frame@6.20.0
       │ │ │ ├─┬ chalk@1.1.3
       │ │ │ │ ├── ansi-styles@2.2.1
       │ │ │ │ ├── escape-string-regexp@1.0.5
       │ │ │ │ ├─┬ has-ansi@2.0.0
       │ │ │ │ │ └── ansi-regex@2.0.0
       │ │ │ │ ├── strip-ansi@3.0.1
       │ │ │ │ └── supports-color@2.0.0
       │ │ │ ├── esutils@2.0.2
       │ │ │ └── js-tokens@2.0.0
       │ │ ├─┬ babel-generator@6.21.0
       │ │ │ ├─┬ detect-indent@4.0.0
       │ │ │ │ └─┬ repeating@2.0.1
       │ │ │ │   └─┬ is-finite@1.0.2
       │ │ │ │     └── number-is-nan@1.0.1
       │ │ │ └── jsesc@1.3.0
       │ │ ├── babel-helpers@6.16.0
       │ │ ├── babel-messages@6.8.0
       │ │ ├── babel-template@6.16.0
       │ │ ├─┬ babel-traverse@6.21.0
       │ │ │ ├── globals@9.14.0
       │ │ │ └─┬ invariant@2.2.2
       │ │ │   └── loose-envify@1.3.0
       │ │ ├─┬ babel-types@6.21.0
       │ │ │ └── to-fast-properties@1.0.2
       │ │ ├── babylon@6.15.0
       │ │ │ └── ms@0.7.2
       │ │ ├── json5@0.5.1
       │ │ ├─┬ minimatch@3.0.3
       │ │ │ └─┬ brace-expansion@1.1.6
       │ │ │   ├── balanced-match@0.4.2
       │ │ │   └── concat-map@0.0.1
       │ ├─┬ babel-polyfill@6.20.0
       │ │ ├── core-js@2.4.1
       │ │ └── regenerator-runtime@0.10.1
       │ ├─┬ babel-register@6.18.0
       │ │ ├─┬ home-or-tmp@2.0.0
       │ │ │ ├── os-homedir@1.0.2
       │ │ │ └── os-tmpdir@1.0.2
       │ │ ├─┬ mkdirp@0.5.1
       │ │ │ └── minimist@0.0.8
       │ │ └── source-map-support@0.4.8
       │ │ │ ├── arrify@1.0.1
       │ ├─┬ chokidar@1.6.1
       │ │ ├─┬ anymatch@1.3.0
       │ │ │ └─┬ micromatch@2.3.11
       │ │ │   ├─┬ arr-diff@2.0.0
       │ │ │   │ └── arr-flatten@1.0.1
       │ │ │   ├── array-unique@0.2.1
       │ │ │   ├─┬ braces@1.8.5
       │ │ │   │ ├─┬ expand-range@1.8.2
       │ │ │   │ │ └─┬ fill-range@2.2.3
       │ │ │   │ │   ├── is-number@2.1.0
       │ │ │   │ │   ├── isobject@2.1.0
       │ │ │   │ │   ├── randomatic@1.1.6
       │ │ │   │ │   └── repeat-string@1.6.1
       │ │ │   │ ├── preserve@0.2.0
       │ │ │   │ └── repeat-element@1.1.2
       │ │ │   ├─┬ expand-brackets@0.1.5
       │ │ │   │ └── is-posix-bracket@0.1.1
       │ │ │   ├── extglob@0.3.2
       │ │ │   ├── filename-regex@2.0.0
       │ │ │   ├─┬ kind-of@3.1.0
       │ │ │   │ └── is-buffer@1.1.4
       │ │ │   ├── normalize-path@2.0.1
       │ │ │   ├─┬ object.omit@2.0.1
       │ │ │   │ ├─┬ for-own@0.1.4
       │ │ │   │ │ └── for-in@0.1.6
       │ │ │   │ └── is-extendable@0.1.1
       │ │ │   ├─┬ parse-glob@3.0.4
       │ │ │   │ ├── glob-base@0.3.0
       │ │ │   │ └── is-dotfile@1.0.2
       │ │ │   └─┬ regex-cache@0.4.3
       │ │ │     ├── is-equal-shallow@0.1.3
       │ │ │     └── is-primitive@2.0.0
       │ │ ├── async-each@1.0.1
       │ │ ├── glob-parent@2.0.0
       │ │ ├── inherits@2.0.3
       │ │ ├─┬ is-binary-path@1.0.1
       │ │ │ └── binary-extensions@1.8.0
       │ │ ├─┬ is-glob@2.0.1
       │ │ │ └── is-extglob@1.0.0
       │ │ └─┬ readdirp@2.1.0
       │ │   ├─┬ readable-stream@2.2.2
       │ │   │ ├── buffer-shims@1.0.0
       │ │   │ ├── isarray@1.0.0
       │ │   │ ├── process-nextick-args@1.0.7
       │ │   │ ├── string_decoder@0.10.31
       │ │   │ └── util-deprecate@1.0.2
       │ │   └── set-immediate-shim@1.0.1
       │ ├─┬ commander@2.9.0
       │ │ └── graceful-readlink@1.0.1
       │ ├── convert-source-map@1.3.0
       │ ├─┬ glob@5.0.15
       │ │ └── inflight@1.0.6
       │ ├── lodash@4.17.4
       │ ├─┬ output-file-sync@1.1.2
       │ │ ├── graceful-fs@4.1.11
       │ │ └── object-assign@4.1.0
       │ ├── slash@1.0.0
       │ ├── source-map@0.5.6
       │ └─┬ v8flags@2.0.11
       │   └── user-home@1.1.1
       ├─┬ babel-preset-es2015@6.18.0
       │ ├── babel-plugin-check-es2015-constants@6.8.0
       │ ├── babel-plugin-transform-es2015-arrow-functions@6.8.0
       │ ├── babel-plugin-transform-es2015-block-scoped-functions@6.8.0
       │ ├── babel-plugin-transform-es2015-block-scoping@6.21.0
       │ ├─┬ babel-plugin-transform-es2015-classes@6.18.0
       │ │ ├── babel-helper-define-map@6.18.0
       │ │ ├── babel-helper-function-name@6.18.0
       │ │ ├── babel-helper-optimise-call-expression@6.18.0
       │ │ └── babel-helper-replace-supers@6.18.0
       │ ├── babel-plugin-transform-es2015-computed-properties@6.8.0
       │ ├── babel-plugin-transform-es2015-destructuring@6.19.0
       │ ├── babel-plugin-transform-es2015-duplicate-keys@6.8.0
       │ ├── babel-plugin-transform-es2015-for-of@6.18.0
       │ ├── babel-plugin-transform-es2015-literals@6.8.0
       │ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.18.0
       │ │ └── babel-plugin-transform-strict-mode@6.18.0
       │ ├─┬ babel-plugin-transform-es2015-modules-systemjs@6.19.0
       │ │ └── babel-helper-hoist-variables@6.18.0
       │ ├── babel-plugin-transform-es2015-modules-umd@6.18.0
       │ ├── babel-plugin-transform-es2015-object-super@6.8.0
       │ ├─┬ babel-plugin-transform-es2015-parameters@6.21.0
       │ │ ├── babel-helper-call-delegate@6.18.0
       │ ├── babel-plugin-transform-es2015-shorthand-properties@6.18.0
       │ ├── babel-plugin-transform-es2015-spread@6.8.0
       │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.8.0
       │ │ └── babel-helper-regex@6.18.0
       │ ├── babel-plugin-transform-es2015-template-literals@6.8.0
       │ ├── babel-plugin-transform-es2015-typeof-symbol@6.18.0
       │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.11.0
       │ │ └─┬ regexpu-core@2.0.0
       │ │   ├── regjsgen@0.2.0
       │ │   └─┬ regjsparser@0.1.5
       │ │     └── jsesc@0.5.0
       │ └─┬ babel-plugin-transform-regenerator@6.21.0
       │   └── regenerator-transform@0.9.8
       ├─┬ babel-preset-react@6.16.0
       │ ├── babel-plugin-syntax-flow@6.18.0
       │ ├── babel-plugin-syntax-jsx@6.18.0
       │ ├── babel-plugin-transform-flow-strip-types@6.21.0
       │ ├── babel-plugin-transform-react-display-name@6.8.0
       │ ├─┬ babel-plugin-transform-react-jsx@6.8.0
       │ │ └── babel-helper-builder-react-jsx@6.21.1
       │ ├── babel-plugin-transform-react-jsx-self@6.11.0
       │ └── babel-plugin-transform-react-jsx-source@6.9.0
       ├─┬ body-parser@1.15.2
       │ ├── bytes@2.4.0
       │ ├── content-type@1.0.2
       │ ├─┬ debug@2.2.0
       │ │ └── ms@0.7.1
       │ ├── depd@1.1.0
       │ ├─┬ http-errors@1.5.1
       │ │ └── statuses@1.3.1
       │ ├── iconv-lite@0.4.13
       │ ├─┬ on-finished@2.3.0
       │ │ └── ee-first@1.1.1
       │ ├── qs@6.2.0
       │ ├─┬ raw-body@2.1.7
       │ │ └── unpipe@1.0.0
       │   ├── media-typer@0.3.0
       │   └── mime-types@2.1.13
       ├─┬ compression@1.6.2
       │ ├── bytes@2.3.0
       │ ├─┬ compressible@2.0.9
       │ └── vary@1.1.0
       │ ├── content-disposition@0.5.1
       │ └─┬ type-is@1.6.14
       │ │ └── negotiator@0.6.1
       │ │ └── mime-db@1.25.0
       │ │ └── ms@0.7.1
       │ ├── on-headers@1.0.1
       ├─┬ config@1.24.0
       │ └── json5@0.4.0
       ├─┬ express@4.13.4
       │ ├─┬ accepts@1.2.13
       │ ├── array-flatten@1.1.1
       │ ├── cookie-signature@1.0.6
       │ ├─┬ debug@2.2.0
       │ │ └─┬ debug@2.2.0
       │ ├── parseurl@1.3.1
       │ ├── cookie@0.1.5
       │ │ └── ms@0.7.1
       │ ├── escape-html@1.0.3
       │ ├── etag@1.7.0
       │ │   └── ms@0.7.1
       │ ├── fresh@0.3.0
       │ ├── merge-descriptors@1.0.1
       │ ├── methods@1.1.2
       │ ├── path-to-regexp@0.1.7
       │ ├─┬ proxy-addr@1.0.10
       │ │ ├── forwarded@0.1.0
       │ │ └── ipaddr.js@1.0.5
       │ ├── qs@4.0.0
       │ ├── range-parser@1.0.3
       │ ├─┬ send@0.13.1
       │ │ ├── debug@2.2.0
       │ │ ├── http-errors@1.3.1
       │ │ ├── mime@1.3.4
       │ │ ├── ms@0.7.1
       │ │ └── statuses@1.2.1
       │ ├─┬ serve-static@1.10.3
       │ │ └─┬ send@0.13.2
       │ │   ├── debug@2.2.0
       │ │   ├── http-errors@1.3.1
       │ │   ├── ms@0.7.1
       │ │   └── statuses@1.2.1
       │ ├── utils-merge@1.0.0
       │ └── vary@1.0.1
       ├─┬ express-session@1.14.2
       │ ├── cookie@0.3.1
       │ ├── crc@3.4.1
       │ ├─┬ debug@2.2.0
       │ │ └── ms@0.7.1
       │ └─┬ uid-safe@2.1.3
       │   ├── base64-url@1.3.3
       │   └── random-bytes@1.0.0
       ├─┬ ldapjs@1.0.1
       │ ├── asn1@0.2.3
       │ ├─┬ backoff@2.5.0
       │ │ └── precond@0.2.3
       │ ├─┬ bunyan@1.8.5
       │ │ ├── moment@2.17.1
       │ │ ├─┬ mv@2.1.1
       │ │ │ ├── ncp@2.0.0
       │ │ │ └─┬ rimraf@2.4.5
       │ │ │   └── glob@6.0.4
       │ │ └── safe-json-stringify@1.0.3
       │ ├── dashdash@1.14.1
       │ ├─┬ dtrace-provider@0.7.1
       │ │ └── nan@2.5.0
       │ ├─┬ ldap-filter@0.2.2
       │ │ └── assert-plus@0.1.5
       │ ├─┬ once@1.4.0
       │ │ └── wrappy@1.0.2
       │ ├─┬ vasync@1.6.4
       │ │ └── verror@1.6.0
       │ └─┬ verror@1.9.0
       │   └── extsprintf@1.2.0
       ├─┬ morgan@1.7.0
       │ ├── basic-auth@1.0.4
       │   └── ms@0.7.1
       ├─┬ passport@0.3.2
       │ ├── passport-strategy@1.0.0
       │ └── pause@0.0.1
       ├─┬ passport-saml@0.15.0
       │ ├── q@1.1.2
       │ ├─┬ xml-crypto@0.8.5
       │ │ ├── xmldom@0.1.19
       │ │ └── xpath.js@1.0.7
       │ ├─┬ xml-encryption@0.7.4
       │ │ ├── async@0.2.10
       │ │ ├── ejs@0.8.8
       │ │ ├── node-forge@0.2.24
       │ │ └── xpath@0.0.5
       │ ├─┬ xml2js@0.4.17
       │ │ ├── sax@1.2.1
       │ │ └── xmlbuilder@4.2.1
       │ └─┬ xmlbuilder@2.5.2
       │   └── lodash@3.2.0
       ├── xmldom@0.1.27
       └── xpath@0.0.23

-----> Installing App Management
       WARN: App Management cannot be installed because the start script cannot be found.
       To install App Management utilities, specify your 'node' start script in 'package.json' or 'Procfile'.
-----> Caching build
       Clearing previous node cache
       Saving 2 cacheDirectories (default):
       - node_modules
       │ ├── assert-plus@1.0.0
       │ ├─┬ debug@2.2.0
       │ │ └── negotiator@0.5.3
       │   ├── core-util-is@1.0.2
       - bower_components (nothing to cache)
-----> Build succeeded!
       ├── babel-cli@6.18.0
       ├── babel-preset-es2015@6.18.0
       ├── babel-preset-react@6.16.0
       ├── body-parser@1.15.2
       ├── compression@1.6.2
       ├── config@1.24.0
       ├── express@4.13.4
       ├── express-session@1.14.2
       ├── ldapjs@1.0.1
       ├── morgan@1.7.0
       ├── passport@0.3.2
       ├── passport-saml@0.15.0
       ├── xmldom@0.1.27
       └── xpath@0.0.23

Exit status 0
Staging complete
Uploading droplet, build artifacts cache...
Uploading build artifacts cache...
Uploading droplet...
Uploaded build artifacts cache (4.6M)
Uploaded droplet (17.2M)
Uploading complete
Destroying container
Successfully destroyed container

At this point both apps, new and venerable, still visible in my Bluemix console. Not sure on how to debug further. Suggestions?

seejamescode commented 7 years ago

Was the new app running successfully?

hellobrian commented 7 years ago

I'm having the same issue. Otherwise, it works great.

update: I've used this 3 times now, and one time it worked as intended where venerable app was deleted after deploying the new app.

afeld commented 7 years ago

Might be nice for autopilot to handle some edge cases, such as both the regular and venerable apps existing when you try and deploy, or just the venerable. In those cases, it could either give an error and some guidance, or just Do The Right Thing.