Prewarmed containers count does not match "initialCount" in runtimes.json
- Dominant language
- Scala
- Stars
- 6.8k
- Forks
- 1.2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 2
Description
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:

✅ 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
Contributor guide
Assessment
This issue has not been assessed yet.