Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions