public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Marco Atzeri <marco.atzeri@gmail.com>
To: David Karr <davidmichaelkarr@gmail.com>
Cc: The Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: "kubectl exec" in Cygwin gets "Upgrade request required", but not in cmd shell
Date: Sun, 14 Jun 2020 19:03:53 +0200	[thread overview]
Message-ID: <04fd4a0b-96a7-cdfe-e74f-bb146b283ce8@gmail.com> (raw)
In-Reply-To: <CAA5t8Vpanxxop9THkbod115y_Xd2Q2QvYDXvBYOA7N9BqQw-Bw@mail.gmail.com>

On 14.06.2020 17:38, David Karr wrote:
> 
> On Sun, Jun 14, 2020 at 2:25 AM Marco Atzeri wrote:
> 
>     On 14.06.2020 08:12, David Karr wrote:
>      >
>      >
>      > On Sat, Jun 13, 2020 at 10:31 PM Marco Atzeri via Cygwin wrote:
>      >
>      >     On 13.06.2020 20:53, David Karr via Cygwin wrote:
>      >      > I've been using kubectl in Cygwin on Windows 10 for quite
>     a while, to
>      >      > communicate to our in-house k8s clusters. I often use "kubectl
>      >     exec" to
>      >      > open a shell in a container or directly execute a shell
>     command.
>      >     This has
>      >      > worked perfectly fine for a long time.
>      >      >
>      >      > A couple of days ago, I discovered that all of these attempts
>      >     were failing
>      >      > with "Upgrade request required".  I hadn't upgraded kubectl or
>      >     Cygwin in
>      >      > quite a while. I doubt our clusters had a k8s upgrade, but
>     it's
>      >     entirely
>      >      > possible.
>      >      >
>      >      > A colleague of mine has a very similar desktop configuration
>      >     (Windows 10,
>      >      > Cygwin), and he's not seeing this symptom.
>      >      >
>      >      > I noticed that when I ran "kubectl exec" with max
>     verbosity, it
>      >     shows the
>      >      > resulting "curl" command that it runs. I tried that resulting
>      >     command, and
>      >      > it results in the same response. I then tried updating my
>     Cygwin
>      >     tools and
>      >      > retesting, no change.
>      >      >
>      >      > I then took the entire resulting "kubectl exec" command
>     line and
>      >     ran it in
>      >      > a "cmd" shell.  No problem at all.  No error.
>      >      >
>      >      > I know I haven't provided much useful information yet. I
>     wanted
>      >     to get an
>      >      > initial response before I started providing those
>     diagnostics. Is
>      >     there a
>      >      > clear issue here that I'm not aware of?
>      >      > --
>      >
>      >     from where is kubectl coming from ?
>      >
>      >     In cygwin I found only a kubectl.py in the ansible package
>      >
>      >
>      > It's from here:
>      >
>     https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-windows
> 
>      > .
> 
>     so it is NOT a cygwin program.
> 
>     If the warning is coming about curl, it is likely
>     that using from cygwin you are using the cygwin curl
>     and from CMD the windows one
> 
> 
>     $ which -a curl
>     /usr/bin/curl
>     /cygdrive/c/WINDOWS/system32/curl

>     the support Forum https://discuss.kubernetes.io/
>     is probably the most indicate place for guidance
> 
>     Regards
>     Marco
> 
> 
> I thought it was obvious that it was not working because it was calling 
> the Cygwin curl. I wouldn't have posted here if that wasn't obvious to me.

Obvious not so much to me, evidently ;-)

> And since I'm well aware of the k8s community, I already posted 
> questions about this in the appropriate place, before I posted here.
> 
> What I was hoping to get here was some indication or thoughts on why a 
> process using Windows curl doesn't have a problem, but does have a 
> problem when using Cygwin Curl. This isn't likely something that Cygwin 
> curl is doing "wrong", it's just that it's doing something different.

the Cygwin curl was changed last time on 18 Sep 2019.
So it is not something directly depending from the package, maybe from
the dependencing libraries.

Comparing the help and version outputs the cygwin one is coming from a 
more recent version and has more features than the windows one ;
the only major difference I see is that the windows version
produces output with CRLF termination.

It is possible that kubectl is doing a version check and it misleading
reports a different version as older one.

> If it matters, the following is an elided version of the resulting curl 
> command:
> 
>      curl -k -v -XPOST  -H "User-Agent: kubectl.exe/v1.18.0 
> (windows/amd64) kubernetes/9e99141" -H "Authorization: Bearer ..." -H 
> "X-Stream-Protocol-Version: v4.channel.k8s.io 
> <http://v4.channel.k8s.io>" -H "X-Stream-Protocol-Version: 
> v3.channel.k8s.io <http://v3.channel.k8s.io>" -H 
> "X-Stream-Protocol-Version: v2.channel.k8s.io 
> <http://v2.channel.k8s.io>" -H "X-Stream-Protocol-Version: 
> channel.k8s.io <http://channel.k8s.io>" 
> 'https://.../api/v1/namespaces/.../pods/.../exec?command=%2Fbin%2Fls&container=...&stderr=true&stdin=true&stdout=true'
> 
> I can't tell from the logging what request body it sent. It's possible 
> it didn't send any.

all the options used are basic and present in both versions.
May be CRLF vs LF is present also on POST method

Regards
Marco

  reply	other threads:[~2020-06-14 17:03 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-13 18:53 David Karr
2020-06-14  5:30 ` Marco Atzeri
2020-06-14  6:12   ` David Karr
2020-06-14  9:25     ` Marco Atzeri
2020-06-14 15:38       ` David Karr
2020-06-14 17:03         ` Marco Atzeri [this message]
2020-06-14 17:19         ` Brian Inglis
2020-06-14 18:16           ` David Karr
2020-06-14 19:08             ` Brian Inglis
2020-06-14 19:32               ` David Karr
2020-06-15 16:10                 ` David Karr
2020-06-17 16:39                   ` David Karr
2020-06-18  0:27                     ` Brian Inglis
2020-06-18 17:53                       ` David Karr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=04fd4a0b-96a7-cdfe-e74f-bb146b283ce8@gmail.com \
    --to=marco.atzeri@gmail.com \
    --cc=cygwin@cygwin.com \
    --cc=davidmichaelkarr@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).