[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: problem with oc tag



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:b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886 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:b70b03830f84b7ac51c064db2bccdd85188b1ca9e1e22787015b5d752ce71886 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 <tdudgeon ml gmail com> 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
users lists openshift redhat com
http://lists.openshift.redhat.com/openshiftmm/listinfo/users


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]