Skip to content

Support returning java_buildpack version from droplets api #812

@xyloman

Description

@xyloman

In order to determine if an application needs to restage due to a new java_buildpack the buildpack version associated to the droplet should be included.

▶ cf curl /v3/droplets/cd6b4027-e906-43f5-91d0-9520a41456d2
{
   "guid": "cd6b4027-e906-43f5-91d0-9520a41456d2",
   "state": "STAGED",
   "error": null,
   "lifecycle": {
      "type": "buildpack",
      "data": {}
   },
   "checksum": {
      "type": "sha256",
      "value": "33f3d86eeb9ca116640d640835fca32b2de8755355a717097622b57db041a29e"
   },
   "buildpacks": [
      {
         "name": "dotnet_core_buildpack",
         "detect_output": "dotnet-core",
         "buildpack_name": "dotnet-core",
         "version": "2.3.7"
      }
   ],
   "stack": "cflinuxfs3",
   "image": null,
   "execution_metadata": "",
   "process_types": {
      "web": "cd ${HOME} && exec ./SampleApp --server.urls http://0.0.0.0:${PORT}"
   },
   "created_at": "2020-04-20T21:49:23Z",
   "updated_at": "2020-04-20T21:49:31Z",
   "relationships": {
      "app": {
         "data": {
            "guid": "1963c827-f37e-4b39-a3c5-10a60750835c"
         }
      }
   },
   "links": {
      "self": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/droplets/cd6b4027-e906-43f5-91d0-9520a41456d2"
      },
      "app": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/apps/1963c827-f37e-4b39-a3c5-10a60750835c"
      },
      "assign_current_droplet": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/apps/1963c827-f37e-4b39-a3c5-10a60750835c/relationships/current_droplet",
         "method": "PATCH"
      },
      "package": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/packages/942e37ad-d458-4f3a-8061-3f56ebdb484c"
      }
   },
   "metadata": {
      "labels": {},
      "annotations": {}
   }
}
 
▶ cf curl /v3/droplets/746491bf-afb9-4533-b3c3-91c4f5564e9d
{
   "guid": "746491bf-afb9-4533-b3c3-91c4f5564e9d",
   "state": "STAGED",
   "error": null,
   "lifecycle": {
      "type": "buildpack",
      "data": {}
   },
   "checksum": {
      "type": "sha256",
      "value": "cb351a2300dd0744d95c07732b24c31d7c1252022eb8a63bc71e446ade8f54d4"
   },
   "buildpacks": [
      {
         "name": "java_buildpack_offline",
         "detect_output": "",
         "buildpack_name": "",
         "version": null
      }
   ],
   "stack": "cflinuxfs3",
   "image": null,
   "execution_metadata": "",
   "process_types": {
      "task": "JAVA_OPTS=\"-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1 -Djava.io.tmpdir=$TMPDIR -XX:ActiveProcessorCount=$(nproc) -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext -Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS\" && CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE -totMemory=$MEMORY_LIMIT -loadedClasses=12485 -poolType=metaspace -stackThreads=250 -vmOptions=\"$JAVA_OPTS\") && echo JVM Memory Configuration: $CALCULATED_MEMORY && JAVA_OPTS=\"$JAVA_OPTS $CALCULATED_MEMORY\" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher",
      "web": "JAVA_OPTS=\"-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1 -Djava.io.tmpdir=$TMPDIR -XX:ActiveProcessorCount=$(nproc) -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext -Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS\" && CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE -totMemory=$MEMORY_LIMIT -loadedClasses=12485 -poolType=metaspace -stackThreads=250 -vmOptions=\"$JAVA_OPTS\") && echo JVM Memory Configuration: $CALCULATED_MEMORY && JAVA_OPTS=\"$JAVA_OPTS $CALCULATED_MEMORY\" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher"
   },
   "created_at": "2020-04-20T21:48:31Z",
   "updated_at": "2020-04-20T21:48:36Z",
   "relationships": {
      "app": {
         "data": {
            "guid": "7bf1e72d-ec90-4ec5-99e3-21f94535fc73"
         }
      }
   },
   "links": {
      "self": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/droplets/746491bf-afb9-4533-b3c3-91c4f5564e9d"
      },
      "app": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/apps/7bf1e72d-ec90-4ec5-99e3-21f94535fc73"
      },
      "assign_current_droplet": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/apps/7bf1e72d-ec90-4ec5-99e3-21f94535fc73/relationships/current_droplet",
         "method": "PATCH"
      },
      "package": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/packages/03e68633-6966-45d7-819e-367dd20c085d"
      }
   },
   "metadata": {
      "labels": {},
      "annotations": {}
   }
}

▶ cf buildpacks
Getting buildpacks...

buildpack                      position   enabled   locked   filename                                             stack
appmetrics_nodejs8_buildpack   1          true      false    nodejs-buildpack-cflinuxfs3-v1.7.8.zip               cflinuxfs3
hwc_buildpack                  2          true      false    hwc_buildpack-cached-windows-v3.1.6.zip              windows
hwc_buildpack                  3          true      false    hwc_buildpack-cached-windows2016-v3.1.6.zip          windows2016
hwc_buildpack                  4          true      false    hwc_buildpack-cached-windows2012R2-v3.1.6.zip        windows2012R2
binary_buildpack               5          true      false    binary_buildpack-cached-windows2012R2-v1.0.36.zip    windows2012R2
binary_buildpack               6          true      false    binary_buildpack-cached-windows2016-v1.0.36.zip      windows2016
staticfile_buildpack           7          true      false    staticfile_buildpack-cached-cflinuxfs3-v1.5.5.zip    cflinuxfs3
java_buildpack_offline         8          true      false    java-buildpack-offline-cflinuxfs3-v4.29.1.zip        cflinuxfs3
ruby_buildpack                 9          true      false    ruby_buildpack-cached-cflinuxfs3-v1.8.14.zip         cflinuxfs3
nodejs_buildpack               10         true      false    nodejs_buildpack-cached-cflinuxfs3-v1.7.15.zip       cflinuxfs3
go_buildpack                   11         true      false    go_buildpack-cached-cflinuxfs3-v1.9.8.zip            cflinuxfs3
python_buildpack               12         true      false    python_buildpack-cached-cflinuxfs3-v1.7.10.zip       cflinuxfs3
php_buildpack                  13         true      false    php_buildpack-cached-cflinuxfs3-v4.4.9.zip           cflinuxfs3
dotnet_core_buildpack          14         true      false    dotnet-core_buildpack-cached-cflinuxfs3-v2.3.7.zip   cflinuxfs3
binary_buildpack               15         true      false    binary_buildpack-cached-cflinuxfs3-v1.0.36.zip       cflinuxfs3
binary_buildpack               16         true      false    binary_buildpack-cached-windows-v1.0.36.zip          windows
nginx_buildpack                17         true      false    nginx_buildpack-cached-cflinuxfs3-v1.1.6.zip         cflinuxfs3
r_buildpack                    18         true      false    r_buildpack-cached-cflinuxfs3-v1.1.2.zip             cflinuxfs3

Documents/workspace-spring-tool-suite-4-4.4.0.RELEASE/kaizen-doozer  master ✗                                                                                                                     5d ⚑ ✚ ◒  
▶ cf curl /v3/droplets/746491bf-afb9-4533-b3c3-91c4f5564e9d
{
   "guid": "746491bf-afb9-4533-b3c3-91c4f5564e9d",
   "state": "STAGED",
   "error": null,
   "lifecycle": {
      "type": "buildpack",
      "data": {}
   },
   "checksum": {
      "type": "sha256",
      "value": "cb351a2300dd0744d95c07732b24c31d7c1252022eb8a63bc71e446ade8f54d4"
   },
   "buildpacks": [
      {
         "name": "java_buildpack_offline",
         "detect_output": "",
         "buildpack_name": "",
         "version": null
      }
   ],
   "stack": "cflinuxfs3",
   "image": null,
   "execution_metadata": "",
   "process_types": {
      "task": "JAVA_OPTS=\"-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1 -Djava.io.tmpdir=$TMPDIR -XX:ActiveProcessorCount=$(nproc) -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext -Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS\" && CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE -totMemory=$MEMORY_LIMIT -loadedClasses=12485 -poolType=metaspace -stackThreads=250 -vmOptions=\"$JAVA_OPTS\") && echo JVM Memory Configuration: $CALCULATED_MEMORY && JAVA_OPTS=\"$JAVA_OPTS $CALCULATED_MEMORY\" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher",
      "web": "JAVA_OPTS=\"-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1 -Djava.io.tmpdir=$TMPDIR -XX:ActiveProcessorCount=$(nproc) -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext -Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS\" && CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE -totMemory=$MEMORY_LIMIT -loadedClasses=12485 -poolType=metaspace -stackThreads=250 -vmOptions=\"$JAVA_OPTS\") && echo JVM Memory Configuration: $CALCULATED_MEMORY && JAVA_OPTS=\"$JAVA_OPTS $CALCULATED_MEMORY\" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher"
   },
   "created_at": "2020-04-20T21:48:31Z",
   "updated_at": "2020-04-20T21:48:36Z",
   "relationships": {
      "app": {
         "data": {
            "guid": "7bf1e72d-ec90-4ec5-99e3-21f94535fc73"
         }
      }
   },
   "links": {
      "self": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/droplets/746491bf-afb9-4533-b3c3-91c4f5564e9d"
      },
      "app": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/apps/7bf1e72d-ec90-4ec5-99e3-21f94535fc73"
      },
      "assign_current_droplet": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/apps/7bf1e72d-ec90-4ec5-99e3-21f94535fc73/relationships/current_droplet",
         "method": "PATCH"
      },
      "package": {
         "href": "https://api.sys.test.region.iaas.foundation.io/v3/packages/03e68633-6966-45d7-819e-367dd20c085d"
      }
   },
   "metadata": {
      "labels": {},
      "annotations": {}
   }
}

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions