Juju PPA "ppa:juju/stable" latest release "2.7.6"?

I was hoping to be able to run the latest “2.8.1” from the stable PPA channel. However it seems to stop at “2.7.6”. Am I doing something wrong, or does it need to be updated?

We don’t release Juju as a PPA anymore. There’s no need since the client is available as a snap, and the agent binaries are delivered via simplestreams. Building a PPA just to deliver the Juju client didn’t pull its weight in terms of the extra complexity and various build issues encountered.

snap install juju --channel 2.8 will get you started.

I was trying to run the client in a Docker container. I was using the “jujubox” container which was invaluable for my use case. But it is using the PPA. I’ve also heard of a lot of issues trying run “snap” in a container.

What is the proposed method for running the client in a Docker container? It seems providing a package would be the best way to do this.

Interesting, I had not seen jujubox before.
Maybe we could add an Ubuntu amd64 juju client binary to the milestone download. We already have windows and macos and centos clients there.

Especially as we’re building them all the time, would be a case of uploading it as well (probably not that simple though :wink:)

Is the Linux client a stand-alone binary? If so, it seems that it would be a consistent experience to add it to the milestone downloads. That is actually where I was going to go get it from, and found that it was not a binary, but a tar’d directory structure.

That said, is the binary in there somewhere?

Also, I suppose the docs need to be updated here so that it doesn’t mislead others to the PPA like it did me.

Unfortunately the binaries are not publicly available atm.

I suppose that is the root cause and what prompted the topic. I am stuck on this Windows machine and started this journey with the Windows installer, which of course was an easy installation experience. However I think I’ve encountered a bug on that which I think needs some further investigation, but wanted to keep moving forward. So I found the container published under the “jujusolutions” org in Docker Hub and that was very quick and easy to get going. But it only went up to 2.7.6, so I thought I could just modify that to pull in the latest version, and that’s when I found that the PPA stopped at 2.7.6 which is likely why the container is at that state now.

The most ideal situation for me is to fix the Windows client. But I presume that will take some time.

Next in line for ideal for me, is the container because I am running Docker for Windows with the WSL2 back-end (Nope, can’t run snap in WSL2 either). But currently it only supports up to 2.7.6 without a viable way to pull the binary or install the Linux client in a container. (This is what I am doing now because I can move forward, but living with the outdated Juju)

The least ideal and not currently an option is running a Vagrant Ubuntu box on my machine and Snap installing Juju. I don’t have enough horse power on this machine to do that .

So I guess my go forward plan is to run 2.7.6 (in container) until the Windows client is fixed and then I can upgrade at that time. However, having the option to run in a container going forward is also valuable and I think should be available as well. In this case it saved me from being totally blocked.

Is there a way to install the snap artifacts in a non-snap-enabled environment just by unsquasing the snap FS and putting the files in the right spot on the system?

Thanks @zicklag for sending me those snap artifacts. I put the ‘juju’ binary into my /usr/local/bin directory in my WSL2 environment, and I’m able to successfully run the Linux Juju 2.8.1 on my Windows machine!

What’s more is that I was able to successfully bootstrap a new controller. So that likely means that there is a bug in the Windows client with regard to the strict host key check.

I don’t know if I need any of the other files are needed to run the client; but it worked just fine for a bootstrap:

  • juju-metadata
  • jujuc
  • jujud
  • jujud-versions.yaml

So, if I understand what @zicklag did to get those artifacts, I don’t think I can do the same from my Windows box or from inside a container. But if there is a method to extract the binary from the Snap, it seems there should be a relatively easy way to get it published.

The build scripts have been modified so the next Juju 2.8.2 release will publish the amd64 Juju client binary to the milestone.

3 Likes

Excellent! Thanks @wallyworld.