-
-
Notifications
You must be signed in to change notification settings - Fork 363
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
Linode support for NixOps. #721
Conversation
I think current practice (followed by the |
I thought it might be something like that. I've made a change to not store the Linode personal API key in the database. Instead it will look first in deployment.linode.personalAPIKey, and then in env variable LINODE_PERSONAL_API_KEY. To make this work, the MachineState has to call |
Is this ready for testing? |
domenkozar: it works for me at the moment if you want to try it out. |
I will run the tests today on my linode account and merge if everything is working. |
See #820 to discuss |
Also now waits when provisioning and starting up, since I was getting 'API not ready' errors.
I don't really understand test_send_keys_sends_keys.py. single_machine_secret_key.nix defines a key, but says The first thing the test does after deployment is check if that key is stored on the machine using Can anyone explain? |
Getting the following stack trace when running tests:
Any idea why? get_types() seems to return False |
Hi rbvermaa, sorry my fault for not mentioning. This is because it currently also depends on this change to nixpkgs NixOS/nixpkgs#33928 Linode changed the behaviour of the HTTP endpoint for their API, breaking the previous version. |
Status update: Linode have released their final set of breaking changes to their HTTP API. I'm waiting for them to update their Python library that calls that API, then I'll finish this up. |
I tested this PR running nixops master on NixOS 18.03. I used the linode-api package from the nixos-unstable channel which is at version 4.1.8b1 of the upstream linode-api for Python. I was able to create the single-node webserver network from the beginning of the nixops manual. I tried create, deploy, check, ssh, destroy, and delete. It all worked pretty well and I was able to browse to the webserver after deploying. I noticed 2 minor issues compared to running the webserver tutorial with the virtualbox backend. One is that some parts of the deployment seemed to be pulling from 17.09 instead of 18.03. The other is that This looks very promising and I hope it can be merged soon. I'm already finding it useful. |
Anything that needs to be tested? |
Hello, I was curious about this feature and came across your PR. Is there still a chance this will be merged? |
Hi attente, the answer is 'maybe', depending on whether I can find some time to do the work needed to finish it. The Linode API looks like it has settled down a bit now, so what I need to do is:
|
I have used this work a bit, and there doesn't seem to be a lot left to do.
It would be nice to get this over the finish line. I'd like to help, but I'm pretty new to both nixops internals and linode, so I don't really know how to test it comprehensively. |
Hello! Thank you for this PR. In the past several months, some major changes have taken place in
This is all accumulating in to what I hope will be a NixOps 2.0 My hope is that by adding types and more thorough automated testing, However, because of the major changes, it has become likely that this If you would like to see this merge, please bring it up to date with Thank you again for the work you've done here, I am sorry to be Graham |
To be fair, I should've finished this thing 2 years ago. I guess I'm going to be spending some time at home for a while, so maybe I can look at redoing this for the new plugin architecture. |
Linode support. Fixes #198.
It works as follows:
Current Status According to Me
Not ready for merge:
Tests
I have run the tests on Linux using python2 tests.py -A linode. To run them you need to set your personal API key, which you can do in one of two ways:
The tests take a lot of time to run.