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

consul: 0.9.3 -> 1.0.6 #35602

Closed

Conversation

ryantm
Copy link
Member

@ryantm ryantm commented Feb 26, 2018

Semi-automatic update. These checks were performed:

  • built on NixOS
  • ran /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul -h got 0 exit code
  • ran /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul --help got 0 exit code
  • ran /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul -v and found version 1.0.6
  • ran /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul --version and found version 1.0.6
  • ran /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul version and found version 1.0.6
  • found 1.0.6 with grep in /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin
  • found 1.0.6 in filename of file in /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin

Semi-automatic update. These checks were performed:

- built on NixOS
- ran `/nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul -h` got 0 exit code
- ran `/nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul --help` got 0 exit code
- ran `/nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul -v` and found version 1.0.6
- ran `/nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul --version` and found version 1.0.6
- ran `/nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin/bin/consul version` and found version 1.0.6
- found 1.0.6 with grep in /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin
- found 1.0.6 in filename of file in /nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin
@ryantm
Copy link
Member Author

ryantm commented Feb 26, 2018

@GrahamcOfBorg build consul

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)

/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/golang.org/x/sys/unix/mkall.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/golang.org/x/sys/unix/mkerrors.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/hashicorp/go-discover/provider/digitalocean/vendor/google.golang.org/appengine/internal/regen.sh: interpreter directive changed from "/bin/bash -e" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash -e"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/hashicorp/go-discover/provider/gce/vendor/google.golang.org/grpc/codegen.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/hashicorp/go-discover/provider/gce/vendor/google.golang.org/grpc/coverage.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/hashicorp/go-discover/provider/gce/vendor/google.golang.org/appengine/internal/regen.sh: interpreter directive changed from "/bin/bash -e" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash -e"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/hashicorp/memberlist/tag.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/golang/protobuf/ptypes/regen.sh: interpreter directive changed from "/bin/bash -e" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash -e"
/nix/store/71wbnia2cd886pm7h0jjzjxbdhh363v5-consul-1.0.6/share/go/src/github.com/hashicorp/consul/vendor/github.com/posener/complete/test.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/bash"
/nix/store/9174xp5imvrsz87x0ba76z3935gaxswd-consul-1.0.6-bin

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/terraform/openstack/scripts/server.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/terraform/openstack/scripts/service.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/terraform/shared/scripts/service.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/test/bin/cluster.bash: interpreter directive changed from "/bin/bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/test/ca/generate.sh: interpreter directive changed from "/bin/bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/test/hostname/generate.sh: interpreter directive changed from "/bin/bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/ui/scripts/dist.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
/nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6/share/go/src/github.com/hashicorp/consul/website/scripts/deploy.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/bash"
checking for references to /build in /nix/store/dgb832gm0j5nx2kk3y28vassxl0i5sl2-consul-1.0.6...
/nix/store/dv0q8ad6rnp5rg47mfcdwgqhqlh9bl19-consul-1.0.6-bin

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/dist_build.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/ui_build.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/ui.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/build.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/dist.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/vagrant-linux-priv-go.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/scripts/fixup_times.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
/nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6/share/go/src/github.com/hashicorp/consul/website/scripts/deploy.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/bash"
checking for references to /tmp/nix-build-consul-1.0.6.drv-0 in /nix/store/fg2166g06nwjhgm4mwxyhl39f970d2kj-consul-1.0.6...
/nix/store/xf97nh84m71qq46s1mqgra1gspszfamb-consul-1.0.6-bin

@andrew-d
Copy link
Contributor

Worth noting that upgrading to Consul 1.0+ means a collection of breaking changes.

@nlewo
Copy link
Member

nlewo commented Feb 26, 2018

I also think it's not a trivial update.

@pradeepchhetri @nh2 what is your point of view?

@nh2
Copy link
Contributor

nh2 commented Feb 26, 2018

In my own nixpkgs I am already using this (because it promises to fix big issues that take Consul down until restart, like this one), and it's working fine.

It does break some things, espeially the strict enforcement of HTTP verbs (e.g. PUT vs GET); in particularly it breaks the version of the Python consul package that nix has packaged (pythonPackages.consul), for which an upstream PR that fixes it has not been merged for 3 months without activity. I patched my nixpkgs to use the version in the PR.

We may want to do the same in nixpkgs, switching to the version in the PR until it's merged upstream.

Here's my commit:

commit e38b5292a3def39c044fffd33bac28792a3f13a8 (origin/nixos-17.09-benaco)
Author: Niklas Hambüchen <mail@nh2.me>
Date:   Wed Feb 14 18:45:34 2018 +0100

    consul: 0.9.3 -> 1.0.6; also upgrade python-consul to a PR that can handle Consul >= 1.0

diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index d2ad5d0bd8..7230233908 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "consul-${version}";
-  version = "0.9.3";
+  version = "1.0.6";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/consul";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "consul";
     inherit rev;
-    sha256 = "1176frp7kimpycsmz9wrbizf46jgxr8jq7hz5w4q1x90lswvrxv3";
+    sha256 = "06isx7y6nc3305d9bw61738jfmyyh0czshgfdn8dvhdhvxjs5pp2";
   };
 
   # Keep consul.ui for backward compatability
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4bf6d17f2c..0189ab7c6d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3078,11 +3078,12 @@ in {
 
 
   consul = buildPythonPackage (rec {
-    name = "python-consul-0.7.0";
+    name = "python-consul-0.7.0-custom-consul-1.0";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-consul/${name}.tar.gz";
-      sha256 = "18gs5myk9wkkq5zvj0n0s68ngj3mrbdcifshxfj1j0bgb1km0wpm";
+    src = pkgs.fetchgit {
+      url = "https://github.com/matusvalo/python-consul.git";
+      rev = "6e30e947725fdf88afa0a0a58b7cd8d7d29485f5";
+      sha256 = "1ipazwafw418a6gclzayzzdhyjlkrscj4fjmvjrp04zpb4y4v1pr";
     };
 
     buildInputs = with self; [ requests six pytest ];

I didn't have to adjust the consul service in nixpkgs, that one worked out of the box (at least with the settings I use).

I haven't checked other languages' bindings in nixpkgs yet. I think it makes sense to ping the maintainers / people involved in other consul bindings and give them a week.

In general I'm very much in favour of doing this upgrade, but let's ping all involved binding users and give them a week to respond. I'll do that in a moment.

@nh2
Copy link
Contributor

nh2 commented Feb 26, 2018

The following packages depending on Consul have to be checked for compatibility with Consul 1.0:

Let's wait a week for the projects persons pinged here to respond before we go ahead with the upgrade.

Also

@zimbatm
Copy link
Member

zimbatm commented Feb 26, 2018

the terraform plugin is stuck to 0.6.3 on upstream: https://github.com/terraform-providers/terraform-provider-consul/blob/master/vendor/vendor.json#L251

@zimbatm
Copy link
Member

zimbatm commented Feb 26, 2018

I think the older version will have to be kept around for b/c

@joachifm
Copy link
Contributor

Any progress on this?

@nh2
Copy link
Contributor

nh2 commented Mar 14, 2018

I've ticked off the projects that have confirmed compatibility.

A big remaining problem for me is python-consul/python-consul#182. I'd be fine to go ahead without more info from the other ones.

Would you be OK with using a patched version of python-consul in nixpkgs, @desiderius @FRidh @martijnvermaat @mimadrid?

@martijnvermaat
Copy link
Contributor

@nh2 I'm not currently using nixpkgs with Consul or python-consul anymore (but I would most probably be OK with that).

@FRidh
Copy link
Member

FRidh commented Mar 18, 2018

@nh2 yep, as long as it is documented.

@takeda
Copy link
Contributor

takeda commented Apr 30, 2018

FYI Consul 1.0.7 was released in the meantime, with another breaking change: hashicorp/consul#3890

Perhaps nixpkgs should list multiple consul versions?

@nh2
Copy link
Contributor

nh2 commented May 17, 2018

python-consul/python-consul#182 was merged, we just have to upgrade it in nixpkgs now. With that, my personal blockers would be gone.

There is a list of software which the active contributors do not use in production so an update with breaking change (or keeping an outdated version) would be unnoticed for long time.

I guess consul is one of them.

I use that but I use nixpkgs stable releases, with fixes cherry-picked on top, not master, so I'd notice breaking changes outside of my own cherry-picks only when upgrading to the next nixpkgs release. But I usually follow upstream quite closely with the cherry-picks.

@jbboehr jbboehr mentioned this pull request May 30, 2018
8 tasks
@nh2
Copy link
Contributor

nh2 commented May 30, 2018

#41239 (comment) explains how to update the Ruby dependencies, which is apparently necessary on current nixpkgs

nh2 added a commit to nh2/nixpkgs that referenced this pull request May 30, 2018
... to a version that can handle Consul >= 1.0.

See NixOS#35602 (comment)

Upgrading consul also requires upgrading the Ruby deps, see
NixOS#41239 (comment)

Also add instructions on how to do that, and a small patch
to improve the error message when it is forgotten.

I had to manually bump the Ruby `json` dependency from the generated
`1.8.2` to `1.8.5` to work around the
  ‘rb_cFixnum’ undeclared
problem as shown on
https://community.bitnami.com/t/gem-file-dependencies/50552.
@xeji xeji mentioned this pull request Aug 19, 2018
9 tasks
@xeji
Copy link
Contributor

xeji commented Aug 28, 2018

Closing in favor of #44192

@xeji xeji closed this Aug 28, 2018
@ryantm ryantm deleted the auto-update/consul-0.9.3-to-1.0.6 branch August 29, 2018 04:34
@c0bw3b c0bw3b mentioned this pull request Oct 19, 2018
9 tasks
nh2 added a commit to nh2/nixpkgs that referenced this pull request Nov 3, 2018
Removes the old UI build tooling; it is no longer necessary
because as of 1.2.0 it's bundled into the server binary.
It doesn't even need to have JS built, because it's bundled into
the release commit's source tree (see NixOS#48714).

The UI is enabled by default, so the NixOS service is
updated to directly use `ui = webUi;` now.

Fixes NixOS#48714.
Fixes NixOS#44192.
Fixes NixOS#41243.
Fixes NixOS#35602.

Signed-off-by: Niklas Hambüchen <mail@nh2.me>
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.

None yet