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

custom imageRepo DTR parameter prefixing pulls with "docker" #52

Closed
pjmcquade opened this issue Oct 13, 2020 · 5 comments
Closed

custom imageRepo DTR parameter prefixing pulls with "docker" #52

pjmcquade opened this issue Oct 13, 2020 · 5 comments

Comments

@pjmcquade
Copy link

Hi Folks,

# ./launchpad version
version: 1.0.1
commit: 47d6e89

snippet of dtr yaml segment in cluster.yml:

  dtr:
    version: 2.8.0
    #imageRepo: "docker.io/docker"
    imageRepo: "dtr.example.com/nix"
    replicaConfig: sequential # we install sequentially to adhere to the install primary, then install the replicas pattern
    installFlags:
      - --dtr-external-url dtr.example.com

Executing:

./launchpad --debug --disable-telemetry apply --config cluster.yml | tee launchpad-apply.log

the UCP installation is fine. However, when it attempts to pull the DTR images, I see this (snippet):

INFO[0090] host1.example.com: pulling imagedtr.example.com/nix/docker/dtr-notary-signer:2.8.0
WARN[0090] host1.example.com: failed to pull image dtr.example.com/nix/docker/dtr-garant:2.8.0:
Error response from daemon: pull access denied fordtr.example.com/nix/docker/dtr-garant, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
WARN[0090] host1.example.com: failed to pull image dtr.example.com/nix/docker/dtr-garant:2.8.0 - retrying

See how it's prefixing the image with a "docker/"? It reads:

WARN[0090] host1.example.com: failed to pull image dtr.example.com/nix/docker/dtr-garant:2.8.0:

it should read:

WARN[0090] host1.example.com: failed to pull image dtr.example.com/nix/dtr-garant:2.8.0:

Thoughts?

Thanks!

@pjmcquade
Copy link
Author

pjmcquade commented Oct 14, 2020

More info.

When I was reviewing the debugging log out of launchpad, I noticed this:

^[[37mDEBU^[[0m[0009] loaded UCP images list: [mirantis/ucp-agent:3.3.3 mirantis/ucp-auth-store:3.3.3 mirantis/ucp-auth:3.3.3 mirantis/ucp-azure-ip-allocator:3.3.3 mirantis/ucp-calico-cni:3.3.3 mirantis/ucp-calico-kube-controllers:3.3.3 mirantis/ucp-calico-node:3.3.3 mirantis/ucp-cfssl:3.3.3 mirantis/ucp-compose:3.3.3 mirantis/ucp-containerd-shim-process:3.3.3 mirantis/ucp-controller:3.3.3 mirantis/ucp-coredns:3.3.3 mirantis/ucp-csi-attacher:3.3.3 mirantis/ucp-csi-liveness-probe:3.3.3 mirantis/ucp-csi-node-driver-registrar:3.3.3 mirantis/ucp-csi-provisioner:3.3.3 mirantis/ucp-csi-resizer:3.3.3 mirantis/ucp-csi-snapshotter:3.3.3 mirantis/ucp-dsinfo:3.3.3 mirantis/ucp-etcd:3.3.3 mirantis/ucp-hyperkube:3.3.3 mirantis/ucp-interlock-config:3.3.3 mirantis/ucp-interlock-extension:3.3.3 mirantis/ucp-interlock-proxy:3.3.3 mirantis/ucp-interlock:3.3.3 mirantis/ucp-istio-mixer:3.3.3 mirantis/ucp-istio-node-agent-k8s:3.3.3 mirantis/ucp-istio-pilot:3.3.3 mirantis/ucp-istio-proxyv2:3.3.3 mirantis/ucp-kube-compose-api:3.3.3 mirantis/ucp-kube-compose:3.3.3 mirantis/ucp-kube-gmsa-webhook:3.3.3 mirantis/ucp-metrics:3.3.3 mirantis/ucp-nvidia-device-plugin:3.3.3 mirantis/ucp-openstack-ccm:3.3.3 mirantis/ucp-openstack-cinder-csi-plugin:3.3.3 mirantis/ucp-pause:3.3.3 mirantis/ucp-secureoverlay-agent:3.3.3 mirantis/ucp-secureoverlay-mgr:3.3.3 mirantis/ucp-swarm:3.3.3 mirantis/ucp:3.3.3 mirantis/ucp:3.3.3]

See how the images are simply prefixed with just mirantis?

Here's the same images list for the DTR images:

^[[37mDEBU^[[0m[0060] loaded DTR images list: [docker.io/mirantis/dtr:2.8.3 docker.io/mirantis/dtr-api:2.8.3 docker.io/mirantis/dtr-rethink:2.8.3 docker.io/mirantis/dtr-registry:2.8.3 docker.io/mirantis/dtr-notary-server:2.8.3 docker.io/mirantis/dtr-content-cache:2.8.3 docker.io/mirantis/dtr-nginx:2.8.3 docker.io/mirantis/dtr-postgres:2.8.3 docker.io/mirantis/dtr-garant:2.8.3 docker.io/mirantis/dtr-notary-signer:2.8.3 docker.io/mirantis/dtr-jobrunner:2.8.3]

Why are the images prefixed with docker.io/mirantis/<image>:<tag> and not just mirantis/<image>:<tag>

Thanks!
-Patrick

@53d117460ec63d70
Copy link

I'm having the same issue with:

$ launchpad version
version: 1.1.0-beta5
commit: ee28324

Configuring a different imageRep works for UCP but not DTR. In the apply.log we can see that the DTR images are prefixed by docker.io:

time="19 Oct 20 14:05 BST" level=debug msg="loaded UCP images list: [mirantis/ucp-agent:3.3.3 mirantis/ucp-auth-store:3.3.3 mirantis/ucp-auth:3.3.3 mirantis/ucp-azure-ip-allocator:3.3.3 mirantis/ucp-calico-cni:3.3.3 mirantis/ucp-calico-kube-controllers:3.3.3 mirantis/ucp-calico-node:3.3.3 mirantis/ucp-cfssl:3.3.3 mirantis/ucp-compose:3.3.3 mirantis/ucp-containerd-shim-process:3.3.3 mirantis/ucp-controller:3.3.3 mirantis/ucp-coredns:3.3.3 mirantis/ucp-csi-attacher:3.3.3 mirantis/ucp-csi-liveness-probe:3.3.3 mirantis/ucp-csi-node-driver-registrar:3.3.3 mirantis/ucp-csi-provisioner:3.3.3 mirantis/ucp-csi-resizer:3.3.3 mirantis/ucp-csi-snapshotter:3.3.3 mirantis/ucp-dsinfo:3.3.3 mirantis/ucp-etcd:3.3.3 mirantis/ucp-hyperkube:3.3.3 mirantis/ucp-interlock-config:3.3.3 mirantis/ucp-interlock-extension:3.3.3 mirantis/ucp-interlock-proxy:3.3.3 mirantis/ucp-interlock:3.3.3 mirantis/ucp-istio-mixer:3.3.3 mirantis/ucp-istio-node-agent-k8s:3.3.3 mirantis/ucp-istio-pilot:3.3.3 mirantis/ucp-istio-proxyv2:3.3.3 mirantis/ucp-kube-compose-api:3.3.3 mirantis/ucp-kube-compose:3.3.3 mirantis/ucp-kube-gmsa-webhook:3.3.3 mirantis/ucp-metrics:3.3.3 mirantis/ucp-nvidia-device-plugin:3.3.3 mirantis/ucp-openstack-ccm:3.3.3 mirantis/ucp-openstack-cinder-csi-plugin:3.3.3 mirantis/ucp-pause:3.3.3 mirantis/ucp-secureoverlay-agent:3.3.3 mirantis/ucp-secureoverlay-mgr:3.3.3 mirantis/ucp-swarm:3.3.3 mirantis/ucp:3.3.3 mirantis/ucp:3.3.3]"
time="19 Oct 20 14:05 BST" level=debug msg="loaded DTR images list: [docker.io/mirantis/dtr-garant:2.8.1 docker.io/mirantis/dtr-notary-signer:2.8.1 docker.io/mirantis/dtr-api:2.8.1 docker.io/mirantis/dtr-nginx:2.8.1 docker.io/mirantis/dtr-rethink:2.8.1 docker.io/mirantis/dtr-notary-server:2.8.1 docker.io/mirantis/dtr-content-cache:2.8.1 docker.io/mirantis/dtr-jobrunner:2.8.1 docker.io/mirantis/dtr:2.8.1 docker.io/mirantis/dtr-postgres:2.8.1 docker.io/mirantis/dtr-registry:2.8.1]"

@kke
Copy link
Contributor

kke commented Oct 21, 2020

Seems to be a bug.

When listing the needed UCP images via docker run --rm mirantis/ucp:3.3.3 images --list you get something like:

mirantis/ucp-agent:3.3.3
mirantis/ucp-auth-store:3.3.3
mirantis/ucp-auth:3.3.3
....

And when listing for DTR via docker run --rm mirantis/dtr:2.8.2 images you get something like:

docker.io/mirantis/dtr-nginx:2.8.2
docker.io/mirantis/dtr-notary-server:2.8.2
docker.io/mirantis/dtr-content-cache:2.8.2
...

The replacing is done using fmt.Sprintf("%s%s", repo, image[strings.IndexByte(image, '/'):]) which will replace until the first / while it should be replace all the way to the last.

The default repository is docker.io/docker for the older versions of DTR.

@kke kke closed this as completed Oct 21, 2020
@kke
Copy link
Contributor

kke commented Oct 21, 2020

@pjmcquade
Copy link
Author

Thank you so much for the fix! So far so good; but there's a different issue now. I'll open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants