Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modulesync 4.0.0 #93

Closed
wants to merge 7 commits into from
Closed

modulesync 4.0.0 #93

wants to merge 7 commits into from

Conversation

bastelfreak
Copy link
Member

@bastelfreak bastelfreak commented Oct 24, 2020

No description provided.

@ekohl
Copy link
Member

ekohl commented Nov 20, 2020

I mostly got things to work, but it can't reach the gitlab service. I suspect the created beaker container is different network than the service container. I don't see an easy way to change the network for beaker-docker though.

Another issue is the ruby task helper for the unit tests. The relative require doesn't work well.

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs some work.

.msync.yml Outdated Show resolved Hide resolved
Comment on lines 62 to 66
services:
gitlab:
image: gitlab/gitlab-ce
ports:
- 80:80

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Docker health check only waits for the container, it does not check for the API responding on http/80.

https://github.com/voxpupuli/puppet-gitlab_ci_runner/pull/93/checks?check_run_id=1456486776 shows this race condition.

The Travis configuration called the setup-gitlab.sh script which invokes an endless waiting loop.

Probably this can be fixed by adding a new step which calls this script in the steps below, after checking the network settings. cc @bastelfreak

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dnsmichi do you have permissions to push to this PR? If so, it's fine to add commits to this PR. We can always clean them up before we merge.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekohl I'm testing my assumption in a fork currently. Thanks for the poke, I should actually have permissions :)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems I was wrong, it is just the network and the DNS record just not exposed by the services setting in GitHub actions.

According to the docs it should work though: https://docs.github.com/en/free-pro-team@latest/actions/guides/about-service-containers#running-jobs-in-a-container

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was also my impression. The only thing I can think of is that the services and what beaker-docker launches uses different networks. Note that the DNS could not be resolved (I tried without the IP in hosts hack) which may also indicate that they're isolated.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not know that the acceptance tests are run in Docker by beaker, but I just remembered a similar chat with @DavidS about Gitpod, Docker and acceptance tests.

https://github.com/voxpupuli/voxpupuli-acceptance

I'd guess you need to manually start the Docker container for gitlab/gitlab-ce then, and build your own isolated network. Or there is a way to "pre start" the beaker container with GitHub actions.

The docs and community threads advise against docker-compose and own setups though, maybe this scenario won't work with actions and the services setting.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One solution might be to launch a gitlab-ce container via beaker-docker so they end up in the same network, like https://github.com/voxpupuli/puppet-vault_lookup/blob/master/spec/acceptance/nodesets/docker/docker.yml does.

bastelfreak and others added 6 commits June 11, 2021 07:11
The docker module fails on EL7 so the tests started to fail on this.
The latest docker module hard fails on this since it's detected as Red
Hat < 7.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants