Skip to content

Prewarmed containers count does not match "initialCount" in runtimes.json #5540

@Suraez

Description

@Suraez

I'm experiencing an inconsistency between the configured initialCount values for prewarmed containers in runtimes.json and the actual number of prewarmed containers that are started by the system.

Environment Details:

OpenWhisk deployment using Standalone Setup

Checked via docker ps command

DOCKER VERSION: 26.1.3
NODEJS VERSION: 18.19.1
JAVA VERSION: openjdk version "1.8.0_452"

For e.g. here is my runtimes.json file

> {
>     "description": [
>         "This file describes the different languages (aka. managed action runtimes) supported by the system",
>         "as well as blackbox images that support the runtime specification.",
>         "Only actions with runtime families / kinds defined here can be created / read / updated / deleted / invoked.",
>         "Define a list of runtime families (example: 'nodejs') with at least one kind per family (example: 'nodejs:20').",
>         "Each runtime family needs a default kind (default: true).",
>         "When removing or renaming runtime families or runtime kinds from this file, preexisting actions",
>         "with the affected kinds can no longer be read / updated / deleted / invoked. In order to remove or rename",
>         "runtime families or runtime kinds, mark all affected runtime kinds as deprecated (deprecated: true) and",
>         "perform a manual migration of all affected actions.",
>         "",
>         "This file is meant to list all stable runtimes supported by the Apache Openwhisk community."
>     ],
>     "runtimes": {
>         "nodejs": [
>             {
>                 "kind": "nodejs:18",
>                 "default": false,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-nodejs-v18",
>                     "tag": "nightly"
>                 },
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 },
>                 "stemCells": [
>                     {
>                         "initialCount": 2,
>                         "memory": "256 MB"
>                     }
>                 ]
>             }
>         ],
>         "python": [
>             {
>                 "kind": "python:3",
>                 "default": true,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-python-v3.10",
>                     "tag": "nightly"
>                 },
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 },
>                 "stemCells": [
>                     {
>                         "initialCount": 4,
>                         "memory": "256 MB"
>                     }
>                 ]
>             }
>         ],
>         "swift": [
>             {
>                 "kind": "swift:5.3",
>                 "default": true,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-swift-v5.3",
>                     "tag": "nightly"
>                 },
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 },
>                 "stemCells": [
>                     {
>                         "initialCount": 4,
>                         "memory": "256 MB"
>                     }
>                 ]
>             }
>         ],
>         "java": [
>             {
>                 "kind": "java:8",
>                 "default": true,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "java8action",
>                     "tag": "nightly"
>                 },
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 },
>                 "stemCells": [
>                     {
>                         "initialCount": 4,
>                         "memory": "256 MB"
>                     }
>                 ],
>                 "requireMain": true
>             }
>         ],
>         "php": [
>             {
>                 "kind": "php:8.1",
>                 "default": true,
>                 "deprecated": false,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-php-v8.1",
>                     "tag": "nightly"
>                 },
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 }
>             }
>         ],
>         "ruby": [
>             {
>                 "kind": "ruby:2.5",
>                 "default": true,
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 },
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-ruby-v2.5",
>                     "tag": "nightly"
>                 }
>             }
>         ],
>         "go": [
>             {
>                 "kind": "go:1.20",
>                 "default": true,
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 },
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-golang-v1.20",
>                     "tag": "nightly"
>                 }
>             }
>         ],
>         "dotnet": [
>             {
>                 "kind": "dotnet:3.1",
>                 "default": true,
>                 "deprecated": false,
>                 "requireMain": true,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-dotnet-v3.1",
>                     "tag": "nightly"
>                 },
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 }
>             }
>         ],
>         "rust": [
>             {
>                 "kind": "rust:1.34",
>                 "default": true,
>                 "image": {
>                     "prefix": "openwhisk",
>                     "name": "action-rust-v1.34",
>                     "tag": "nightly"
>                 },
>                 "deprecated": false,
>                 "attached": {
>                     "attachmentName": "codefile",
>                     "attachmentType": "text/plain"
>                 }
>             }
>         ]
>     },
>     "blackboxes": [
>         {
>             "prefix": "openwhisk",
>             "name": "dockerskeleton",
>             "tag": "nightly"
>         }
>     ]
> }
> 

Output of docker ps:
Image

✅ Expected:

Java: 4 prewarmed

Node.js: 2 prewarmed

Python: 4 prewarmed

Swift: 4 prewarmed

❌ Actual:

Java: only 2 prewarmed

Node.js: only 2 prewarmed

Python: 0 prewarmed

Swift: 0 prewarmed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions