NixOps - Travis CI test failure on Azure private IP PR

#1

So I’m trying to address https://github.com/NixOS/nixops/issues/767 with https://github.com/NixOS/nixops/pull/1115, but Travis CI keeps kicking back issues similar to https://travis-ci.com/NixOS/nixops/builds/104720382 .

I’ve found a common theme among PRs that pass vs fail is the line:
unpacking source archive /nix/store/0d3y29xjhplqc9bsq10j3ka20k0qyl61-azure-mgmt-network-2.5.1.zip

In builds that succeed, I’m seeing that they point to a location in the nix store corresponding to nixops.

Any way you slice it, hacking on nixops is new to me, so I could use some guidance in getting this PR sorted out. Any advice?

0 Likes

#2

Yup. There is a slew of PRs both in Nixpkgs and NixOps to fix this. Until both sides are fixed, you’ll have that error because the azure library changed.

1 Like

#3

Amine-Chikhaoui said the same (more so that TravisCI is using the unstable branch rather than the 18.09 branch (where I did my hacking)- the unstable branch doesn’t have a working nixops anyway to my knowledge due to a dependency issue).

Just ran python2 tests.py tests.functional -A azure to verify in the interim and all tests passed.

Hoping the PR does some good for anyone needing Azure vm private IPs

0 Likes

#4

The version of the azure library used in NixOps is from 4 years ago.

Until someone feels responsible for bringing it up to date and fixing further issues, I think we should remove Azure support from Nixops.

What do you think?

0 Likes

#5

I’d have to disagree with you there.

My use cases may be limited, but I’m currently able to utilize Azure fairly effectively using NixOps (I always stick to an LTS, like 18.09, tho).

That said, I’m starting to get more involved in the community (I actually pushed a fix for this private IP problem that is a bit too naiive (I’ll be legitimately fixing it shortly now that I’ve legitimately fixed it for GCE as well), so I at least have some familiarity with the code base at this point) and my current employer is a Microsoft partner- so the responsible party you mention may in fact be me (I definitely feel an onus to beef NixOps up for enterprise (I mean hell, this stuff conquered Google Anthos’ territory years ago)).
I definitely have access to an MPN account at the moment and have personally drank the Nix kool-aid all the way down to Disnix… (methinks my only obstacle is my own newb-idity)

1 Like

#6

It’s great to hear that you drank the koolaid and that you’re willing to help :slight_smile:

But as you say, you’re on an older nixpkgs version, so you agree that this issue is blocking updates.

Wouldn’t it therefore make sense to remove Azure support from master, fix it on a branch, and merge it back once it’s ready?

What do we gain by having a broken 19.03 NixOps?

0 Likes

#7

To my understanding, it still /works/ on 19.03 as well. The only broken version is on the unstable branch- I’ll test that out at work to verify, but either way, I guess I don’t see what you mean by “drop support”.

From my own perspective, I want to pull many people into the fold and my employer is a Microsoft partner, so having Azure support is vital to me in getting others on-boarded to Nix.

As long as we can use an LTS to continue to use NixOps in Azure like we currently do, I guess I have no qualms with what you’re suggesting- but my next move after squaring this private IP space nonsense up would then be to update whatever has changed from an Azure API perspective to something modern so that “NixOps doesn’t support Azure” is true for as least amount of time as possible

0 Likes

#8

I don’t think it works, see here.

And even if that were to be merged and backported, it seems to me there could be other problems (although haven’t had time to verify).

0 Likes

#9

Ah- I see.

Still, I hesitate to “drop support” when it’s the platform I’m using with most of my clients and coworkers. I really think we could see a big Nix usage uptick in the US if cloud support were to continue for AWS, GCE, and Azure.

To that end, I’m running a few tests today (I actually think my private IP fix for Azure wasn’t so naiive after all- going to switch my mgmt srvr to gce today and verify) and after that, I’d love to stop us from “dropping support” by immediately grinding away at the updated API issue :salute:

0 Likes

#10

Also, I just verified on my hyper-v instance that I just upgraded to 19.03- you are indeed correct: it is broken there as well as master

0 Likes

#11

I’ve created a PR to disable the Azure backend for now. https://github.com/NixOS/nixops/pull/1131
I’d like to get some feedback on that before merging. I realize that it’s quite unfortunate but if there are other solutions, I’m happy to keep it.

0 Likes