Pivotal Knowledge Base

Follow

Help! My app push yesterday and it's failing to push today.

Symptoms

You have an application that you previously pushed to PWS successfully.  You are now trying to push that same application (no changes to the source code or dependencies) to PWS but it's failing.

Cause

While there have been no changes to your application's source code and dependencies, that's only part of what is necessary to make your application run on PWS.  The other part is the software that the PWS build packs install.  This includes things like language runtimes (Java, Ruby, Python, etc...) and server software (Apache Tomcat, Apache HTTPD, Nginx, etc..).  

Even if your application does not change, it's likely that the software installed by the build packs has changed since you last deployed (we're constantly keeping this software up-to-date), and this can sometimes cause incompatibilities.  One example of this is can be seen when deploying Ruby applications (Python and Node.js are similar).  The application asks for version 2.2.1 of Ruby, which was the latest and greatest at the time the app was originally deployed, but because the build pack has been updated and no longer contains version 2.2.1 (build packs only contain the latest two releases) the application will fail to stage.

Other similar issues can be see as Pivotal updates and evolves the Cloud Foundry platform.  An example of this can be seen with the release of Diego on PWS.  Most applications should make the transition to Diego fine, but in some cases the behavior of the system has changed and applications will need to be updated to continue to run on PWS. For cases like this, Pivotal will provide as much as advance notice as possible and a migration guide to document the changes and provide advise on upgrading your apps.

Resolution

Pivotal recommends that you check the supported software versions of your build pack prior to deploying production upgrades.  You can check to see what languages and runtimes are supported by the current build packs by following the instructions in this KB article.  

Pivotal also recommends that you upgrade and test your application locally with the latest language runtimes regularly.  Since the build packs track the latest releases of the languages, runtimes & servers required to run your apps, this will give you confidence that your application running locally will run fine on PWS.

Pivotal also recommends that you follow the practice of blue / green deployment.  This allows you to push upgrades and test this without taking down your site.  If you follow this practice, it will minimize the impact of a problem, should one occur.

Impact / Risks

Not following the practices outlined in this KB and the referenced KB articles can result in downtime for your applications when pushing updates.

 

 

Comments

Powered by Zendesk