From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by sourceware.org (Postfix) with ESMTPS id 1388D388B003 for ; Sun, 14 Jun 2020 17:03:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1388D388B003 Received: by mail-wm1-x330.google.com with SMTP id o8so2901078wmh.4 for ; Sun, 14 Jun 2020 10:03:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=FYY6GdsSHFLotA7GnUrNqU7EqjHLpToxSp2T0uUPGJ4=; b=rFzELLLfXNFeJ1c37ayqg8FbRSXbZ1OHZotnrG5qkhRLki/+aQOfejY1ZuZWxpVhdF Ldz2sGAz1FKLgaR74QhfIWVm1bv/Q6hs9axsyJdtl/yygH9/9FW8M0x9OlCuxgA0G9dI vLbs/U9jZkE9rKNJnCG4+D4lGrzVP264gxZ+V1pQHrJfAkVC1P88y2mUUlNobAGgCvK8 01zdPPpM3N3tAIKPA7GwnF7tKX2FgjIT/ojxg/4IZucRmyULDeFPQnJ8x49NuoknyFQ5 WGU2wyKvm3jtqQC3UdBJNQp/b9lK3I759eiJHeWmQ/O3/JX0X+gEbQpg9e98TMSKCwre QjwQ== X-Gm-Message-State: AOAM532wLWPTrlMdK2GaBXwGm2qsunaHXKIqj2G91AbcAf0NliZ08Tbt Uny5EpSYiKG0swfeod4hp1LhhXcG X-Google-Smtp-Source: ABdhPJxxd1iOCYo5lrpkLR3ZZUAOnw1/aZiqVWBmHs6BkCd1Ozp5Vs0v5wnLCDdCX4Fk5RzrK4L9bQ== X-Received: by 2002:a1c:808d:: with SMTP id b135mr8905333wmd.94.1592154234876; Sun, 14 Jun 2020 10:03:54 -0700 (PDT) Received: from ?IPv6:2003:cc:9f39:6a5b:584e:39f5:5579:a788? (p200300cc9f396a5b584e39f55579a788.dip0.t-ipconnect.de. [2003:cc:9f39:6a5b:584e:39f5:5579:a788]) by smtp.gmail.com with ESMTPSA id a15sm20364754wra.86.2020.06.14.10.03.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Jun 2020 10:03:54 -0700 (PDT) Subject: Re: "kubectl exec" in Cygwin gets "Upgrade request required", but not in cmd shell To: David Karr Cc: The Cygwin Mailing List References: From: Marco Atzeri Message-ID: <04fd4a0b-96a7-cdfe-e74f-bb146b283ce8@gmail.com> Date: Sun, 14 Jun 2020 19:03:53 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: it Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2020 17:03:57 -0000 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 > " -H "X-Stream-Protocol-Version: > v3.channel.k8s.io " -H > "X-Stream-Protocol-Version: v2.channel.k8s.io > " -H "X-Stream-Protocol-Version: > 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