Image stream tags are relative to a cluster.  You can't specify a registry:

$ oc tag --source=imagestreamtag --insecure
172.30.1.1:5000/development/ruby-ex@sha256:b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886
development/ruby-ex:promote

is REGISTRY/NAMESPACE/NAME, but image stream tags don't deal with
registries and can't currently work across clusters.

$ oc tag --source=imagestreamtag --insecure
development/ruby-ex@sha256:b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886
development/ruby-ex:promote

is NAMESPACE/NAME.

To tag an image from *another* cluster, you'd do:

$ oc tag 
PUBLIC_REGISTRY_URL_FOR_OTHER_CLUSTER/development/ruby-ex@sha256:b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886
development/ruby-ex:promote

Which does the import flow.


On Tue, Jun 6, 2017 at 12:04 PM, Tim Dudgeon <[email protected]> wrote:

> Actually, clearly I don't totally understand. Whilst using the shorter
> syntax works, I had a go using the --source=imagestreamtag and --insecure
> args with the longer syntax, and got the following error:
>
> oc tag --source=imagestreamtag --insecure  172.30.1.1:5000/development/
> ruby-ex@sha256:b70b03830f84b7ac51c064db2bccdd
> 85188b1ca9e1e22787015b5d752ce71886 development/ruby-ex:promote
> error: server in SOURCE is only allowed when providing a Docker image
>
> Only when I used --source=docker did it work (and it could be promoted to
> a different project).
>
> But then doing a oc describe is/ruby-ex the two approaches seem to give
> slightly different outcomes. What's the difference between the two methods?
>
> On 06/06/2017 13:25, Clayton Coleman wrote:
>
> Tag tries to guess at whether you mean an image stream ref or a regular
> image ref.  In your case, it saw the SRC arg as 172.30.1.1 (registry)
> development (namespace) and (name) ruby22-centos7 and assumed you meant a
> docker image (which that is).  However, it then tries to import the image
> and fails because the registry internally is not running over https by
> default.
>
> If you use tag with a short name
>
> oc tag ruby-ex@sha256:b70b03830f84b7ac51c064db2bccdd
> 85188b1ca9e1e22787015b5d752ce71886 development/ruby-ex:promote
>
> It assumes you mean an image stream and should do what you want.  You can
> use the --source=X flag to exactly specify which source to use.  You can
> also use --insecure which would allow the import attempt to succeed, but
> whenever you're promoting images doing so with a direct image stream tag is
> much faster.
>
> In retrospect this has confused many people, but we can't change it
> without breaking backwards compatibility.
>
>
> On Jun 6, 2017, at 7:43 AM, Tim Dudgeon <[email protected]> wrote:
>
> Hi All,
>
> I'm trying to get started with promoting builds across projects, starting
> from the basics.
> This is with OpenShift origin v1.5.1
>
> I build a demo app fine in the development project using:
> oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
>
> The image streams were created:
>
> oc get is
> 172.30.1.1:5000/development/ruby-22-centos7
> 172.30.1.1:5000/development/ruby-ex
>
> Then I try to tag the image:
> oc tag 172.30.1.1:5000/development/ruby-ex@sha256:
> b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886
> development/ruby-ex:promote
>
> It looks OK:
>
> oc get is/ruby-ex
> NAME      DOCKER REPO                           TAGS             UPDATED
> ruby-ex   172.30.1.1:5000/development/ruby-ex   latest,promote   8
> minutes ago
>
> But when I inspect it I see this:
>
> oc describe is/ruby-ex
> Name:            ruby-ex
> Namespace:        development
> Created:        6 minutes ago
> Labels:            app=ruby-ex
> Annotations:        openshift.io/generated-by=OpenShiftNewApp
>             openshift.io/image.dockerRepositoryCheck=2017-06-06T11:26:04Z
> Docker Pull Spec:    172.30.1.1:5000/development/ruby-ex
> Unique Images:        1
> Tags:            2
>
> latest
>   pushed image
>
>   * 172.30.1.1:5000/development/ruby-ex@sha256:
> b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886
>       6 minutes ago
>
> promote
>   tagged from 172.30.1.1:5000/development/ruby-ex@sha256:
> b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886
>
>   ! error: Import failed (InternalError): Internal error occurred: Get
> https://172.30.1.1:5000/v2/: http: server gave HTTP response to HTTPS
> client
>       5 minutes ago
>
> See the error at the bottom.
>
> The consequence is that the development/ruby-ex:promote image cannot be
> accessed from a different project, but development/ruby-ex:latest can.
>
> Any thoughts on what is going wrong? I can write to the repository, but
> not tag anything?
>
> Thanks
> Tim
>
>
>
>
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.openshift.redhat.com/openshiftmm/listinfo/users
>
>
>
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.openshift.redhat.com/openshiftmm/listinfo/users
>
>
_______________________________________________
users mailing list
[email protected]
http://lists.openshift.redhat.com/openshiftmm/listinfo/users

Reply via email to