ansible-gitlab-runner: Got error on `Assemble new config.toml`

Running with config as described in example got an error FATAL: Near line 26 (last key parsed ‘runners.docker.sysctls’): bare keys cannot contain ‘.’

Message:

ASK [riemers.gitlab-runner : Assemble new config.toml] ************************
fatal: [default]: FAILED! => {"changed": false, "msg": "failed to validate: rc:1 error:Runtime platform                                  \u001b[0;m  arch\u001b[0;m=amd64 os\u001b[0;m=linux pid\u001b[0;m=12602 revision\u001b[0;m=0e5417a3 version\u001b[0;m=12.0.1\nRunning in system-mode.                           \u001b[0;m \n                                                  \u001b[0;m \n\u001b[31;1mFATAL: Near line 26 (last key parsed 'runners.docker.sysctls'): bare keys cannot contain '.'\u001b[0;m \n"}

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 3
  • Comments: 15 (8 by maintainers)

Most upvoted comments

There is workaround. It’s not great solution and might not work in complex cases. That’s why it’s not a PR.

Add quotes to both sides of {{ line }} variable in file line-config-runner.yml in tasks. Changing

    regexp: '^(\s*){{ line|regex_escape }} ='
    line: '{{ "  " * (section.split(".")|length) }}{{ line }} = {{ gitlab_runner.extra_configs[section][line] | to_json }}'

to this

    regexp: '^(\s*)"{{ line|regex_escape }}" ='
    line: '{{ "  " * (section.split(".")|length) }}"{{ line }}" = {{ gitlab_runner.extra_configs[section][line] | to_json }}'

well i presume there are some more, but if nobody needed it before it wasn’t there. It started for me also as a “i need x and y” and now it grew to this size, lots of people create PR’s and i just maintain it for the community. So yes PR’s are always good

@ishkulov sorry to piggyback on your issue.

How does your config look like? From the error looks like you might be using:

extra_configs:
        runners.docker.systcl:

Have you tried?

extra_configs:
        runners.docker:
            systcl: "options"