-
Notifications
You must be signed in to change notification settings - Fork 666
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
Add Hetzner Cloud driver #1811
Add Hetzner Cloud driver #1811
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
2cb79ed
to
1a429ae
Compare
This comment has been minimized.
This comment has been minimized.
e213648
to
cb59e51
Compare
How to manual test this:
|
This comment has been minimized.
This comment has been minimized.
cb59e51
to
1be3ad7
Compare
This comment has been minimized.
This comment has been minimized.
1be3ad7
to
97eae3b
Compare
This comment has been minimized.
This comment has been minimized.
39d49a3
to
38e4a2a
Compare
38e4a2a
to
228dfb7
Compare
Current status is then: there are endless issues with running the full functional test suite on the CI. SSH connection issues, machines not responding, docker networks randomly failing, incorrect passwords (really unsure how this is happening). And all the while, all the tests pass locally. I think I will abandon this for now. |
Really sad to hear this. @decentral1se is there something we could do to help you finish this? We plan to add more modules to ansible in the near future and also use molecule internal, so we would like to push this forward :) |
@LKaemmerling I'm glad Hetzner intend to use Molecule. I don't use Hetzner Cloud services as I did when I first started this work. So, I have no reason to continue to work on it since I won't use it for the forseeable future. Probably some paid staff from Hetzner can pick up this work and fight the CI issues. |
Also, Hetzner could just pay me. |
@decentral1se would it be possible that you rerun the tests? I guess I have found something. We have set the Temporary Token Service to a max token lifetime of 60min. After this 60min all resources created will be destroyed. This could be a reason because I saw the last run takes ~1h 2 min. (https://travis-ci.com/ansible/molecule/jobs/215355197) |
I propose making a fork and enabling travis with hertzner credentials and running on a daily cron, so we can see it works reliably enough. |
I guess i have found the problem. @decentral1se you said that the tests are working locally. I can confirm this. The tests on the CI fail because of the parallelism from travis. You have something like the instance name ( Because the modules work primarily with the instance name, you will have the following behavior when running the same tests in parallel. Hopefully, I can show it to you with the following sample: Travis CI: As far as I see it, it is not a problem with our Hetzner Cloud, it is rather a problem with the CI and the errors only occur during these tests because we are the first cloud provider where the tests are done in the CI. |
There's our |
@decentral1se what kind of changes are you expecting? I am already scared about the current complexity related to sharding. The reality is that we need to make resources unique for each travis job. Mainly the hertz driver should run even when running with "tox -p auto". |
Perhaps we follow your direction, and a single cron job that runs nightly. We do this "for now" and can at least see what is failing. Then the infrastructure will be in place when more CI resources are available to really lock it down. We keep the API keys and users to rely on real quality Q&A for the driver by keeping it available to use. Later, we get it running rock solid. So, TLDR; an additional build in the cron job to run them all in serial execution. I will use a pytest marker to group them. At the end of the day, all the other drivers don't even run, so we'll be just as good as them. Just thinking out loud ... PS. Note to safe: some fix attempts over at https://github.com/LKaemmerling/molecule/commits/add-hetzner-driver to watch out for. |
dfe8f05
to
38d3e5f
Compare
OK, I've added fixes from @LKaemmerling and enabled the tests on only a single job (due to lack of CI resources. All the tests pass, see https://travis-ci.com/ansible/molecule/jobs/217346476). The CI is very unreliable right now, so I re-running the other jobs which failed for unrelated issues (that's off-topic for this PR). Can I get final reviews and then let's merge this. |
CI failing due to #2177 (unrelated). |
OK, final approach is then to #2191 and get a clean CI build here. |
38d3e5f
to
68ae6c4
Compare
@ssbarnea let's merge this, it's green 🔥 🔥 🔥 |
Closes #1791.