Skip to content

bug: K8s Prepare job webhook fails to create a pod for two services that use the same image #139

@DenisPalnitsky

Description

@DenisPalnitsky

Prerequisites

Have Actions Runners Controller with AutoscalingRunnerSet configured in Kubernetes mode

Steps to reproduce

  1. Create workflow
name: CI
on:  
  push:   
  workflow_dispatch:

jobs:
  build:    
    container:
      image: ghcr.io/actions/actions-runner:latest

    services:
      redis:
        image: redis:6.2.5

      redis01:
          image: redis:6.2.5

    runs-on: [MY_ACTIONS_RUNNERSET_NAME]
    steps:
      - run: echo "Hello, world!"
        name: echo

Note that we want to use two redis service one with redis and other redis01 and that's how we want to reach them from workflow.

  1. Run workflow

Expected Result

Workflow executed.

Actual result

Workflow fails on Initialise containers step with error

##[debug]Evaluating condition for step: 'Initialize containers'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Initialize containers
##[debug]Register post job cleanup for stopping/deleting containers.
Run '/home/runner/k8s/index.js'
  shell: /home/runner/externals/node16/bin/node {0}
##[debug]/home/runner/externals/node16/bin/node /home/runner/k8s/index.js
##[debug]Using image 'ghcr.io/actions/actions-runner:latest' for job image
##[debug]Adding service 'redis:6.[2](https://github.com/OWNER/REPO/runs/8066535859/job/22034965318#step:2:2).[5](https://github.com/OWNER/REPO/actions/runs/8066535859/job/22034965318#step:2:5)' to pod definition
##[debug]Adding service 'redis:[6](https://github.com/OWNER/REPO/actions/runs/8066535859/job/22034965318#step:2:6).2.5' to pod definition
Error: Error: failed to create job pod: HttpError: HTTP request failed
Error: Process completed with exit code 1.
Error: Executing the custom container implementation failed. Please contact your self hosted runner administrator.
##[debug]System.Exception: Executing the custom container implementation failed. Please contact your self hosted runner administrator.
##[debug] ---> System.Exception: The hook script at '/home/runner/k[8](https://github.com/OWNER/REPO/actions/runs/8066535859/job/22034965318#step:2:8)s/index.js' running command 'PrepareJob' did not execute successfully
##[debug]   at GitHub.Runner.Worker.Container.ContainerHooks.ContainerHookManager.ExecuteHookScript[T](IExecutionContext context, HookInput input, ActionRunStage stage, String prependPath)
##[debug]   --- End of inner exception stack trace ---
##[debug]   at GitHub.Runner.Worker.Container.ContainerHooks.ContainerHookManager.ExecuteHookScript[T](IExecutionContext context, HookInput input, ActionRunStage stage, String prependPath)
##[debug]   at GitHub.Runner.Worker.Container.ContainerHooks.ContainerHookManager.PrepareJobAsync(IExecutionContext context, List`1 containers)
##[debug]   at GitHub.Runner.Worker.ContainerOperationProvider.StartContainersAsync(IExecutionContext executionContext, Object data)
##[debug]   at GitHub.Runner.Worker.JobExtensionRunner.RunAsync()
##[debug]   at GitHub.Runner.Worker.StepsRunner.RunStepAsync(IStep step, CancellationToken jobCancellationToken)
##[debug]Finishing: Initialize containers

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