Affected Puppet, Ruby, OS and module versions/distributions
puppet-agent-7.15.0-1.el8.x86_64
puppetserver-7.6.1-1.el7.noarch
How to reproduce (e.g Puppet code you use)
Puppet manifest:
# Resource ordering THIS DOESN'T ORDER PROPERLY
Class['gitlab'] -> Class['gitlab_ci_runner']
include ::gitlab
# Install Gitlab CI Runners
include ::gitlab_ci_runner
Hiera data:
gitlab_ci_runner::concurrent: 4
gitlab_ci_runner::check_interval: 4
gitlab_ci_runner::metrics_server: "localhost:8888"
gitlab_ci_runner::manage_docker: true
gitlab_ci_runner::config_path: "/etc/gitlab-runner/config.toml"
gitlab_ci_runner::runners:
ubi8:
ensure: present
url: "http://10.10.10.10/"
registration-token: "token"
tag-list: "aws,docker,example-tag"
executor: "docker"
docker:
image: "ubi/ubi8:minimal"
alpine:
ensure: present
url: "http://10.10.10.10/"
registration-token: "token"
tag-list: "alpine"
executor: "docker"
docker:
image: "alpine:latest"
gitlab_ci_runner::runner_defaults:
url: "https://localhost/ci"
registration-token: "token"
executor: "docker"
docker:
image: "ubi/ubi7:minimal"
What are you seeing
When running the puppet manifest, the gitlab_ci_runner https://github.com/voxpupuli/puppet-gitlab_ci_runner/blob/master/manifests/init.pp#L139 tries to connect to the local machine before gitlab is installed from the include ::gitlab code.
What behaviour did you expect instead
I expected Gitlab class module to run and install Gitlab CE and then the gitlab_ci_runner class module register the runners.
Output log
Info: Using environment '23_create_gitlab_ce_role_profile_for_installing_and_managing_gitlabce'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Failed to apply catalog: Failed to open TCP connection to 10.100.100.10:80 (Connection refused - connect(2) for "10.100.100.119" port 80)
Any additional information you'd like to impart
Of course, since Gitlab isn't installed there's no way to configure the runners.
I've been out of the Puppet world for about four years so I'm rusty. I'm not familiar with Deferred Functions.
Is the resource ordering above not correct? Is there a way in the puppet module to ensure that the runners are registered later/last?
Affected Puppet, Ruby, OS and module versions/distributions
puppet-agent-7.15.0-1.el8.x86_64
puppetserver-7.6.1-1.el7.noarch
Ruby:
Distribution:
Puppet server: Red Hat Enterprise Linux Server release 7.9 (Maipo)
Puppet agent: Red Hat Enterprise Linux release 8.1 (Ootpa)
Module version:
4.3.0
How to reproduce (e.g Puppet code you use)
Puppet manifest:
Hiera data:
What are you seeing
When running the puppet manifest, the gitlab_ci_runner https://github.com/voxpupuli/puppet-gitlab_ci_runner/blob/master/manifests/init.pp#L139 tries to connect to the local machine before gitlab is installed from the include ::gitlab code.
What behaviour did you expect instead
I expected Gitlab class module to run and install Gitlab CE and then the gitlab_ci_runner class module register the runners.
Output log
Any additional information you'd like to impart
Of course, since Gitlab isn't installed there's no way to configure the runners.
I've been out of the Puppet world for about four years so I'm rusty. I'm not familiar with Deferred Functions.
Is the resource ordering above not correct? Is there a way in the puppet module to ensure that the runners are registered later/last?