fab-user
[Top][All Lists]
Advanced

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

Re: fabric3


From: Jeff Forcier
Subject: Re: fabric3
Date: Mon, 4 Apr 2022 15:28:52 -0400

Thanks Peter - your patience is greatly appreciated! 😂

Depending on what you were waiting on this for & how you deploy
Fabric, feel free to give the branch I linked a spin and let us know
how it goes. I'm personally not using Fab 1 in a serious form any
longer (everything the last couple jobs has been 2.x), so testing it
myself wouldn't kick the whole tire.

On Mon, Apr 4, 2022 at 3:11 PM Peter Sanchez <petersanchez@gmail.com> wrote:
>
> Jeff,
>
> I can't tell you how many times I typed an "Any update here?" email to this 
> thread and then discarded it. I didn't want to be "that guy" but also had no 
> time to contribute to this merge so I chose to wait patiently. Looks like 
> it's paying off.
>
> Just wanted to say thank you for this!
>
> Peter
>
> On Sun, Apr 3, 2022 at 7:45 PM Jeff Forcier <jeff@bitprophet.org> wrote:
>>
>> Pushed a few more updates to that branch this evening (eg metadata
>> updates so it doesn't think of itself as 'fabric3' or submit Mathias
>> to emails from folks slavishly adhering to setup.py fields!).
>>
>> Consider this a standing note to check the actual recent commits for
>> what is changing, and not to treat my list in the previous email as
>> canonical :)
>>
>> On Sun, Apr 3, 2022 at 9:06 PM Jeff Forcier <jeff@bitprophet.org> wrote:
>> >
>> > Hello friends! It's been a couple years since the below chat, but I'm
>> > finally at the point where pulling 'fabric3' back into Fabric's 1.x
>> > branch is blocking my other plans (namely dropping Python 2 support
>> > everywhere else). As I didn't find any actual PR filed about this, I
>> > just soldiered ahead, since it shouldn't be all that much work (famous
>> > last words).
>> >
>> > What I've done so far:
>> >
>> > - Made sure I could still test Fabric-primary's "v1" branch under
>> > Python 2 in a Docker image. Still works! Mostly. Had to post a tiny
>> > test-only fix.
>> > - Made sure the tests passed under Mathias' master branch on
>> > Py2+Py3(.6). Again, mostly! Another test-only fix got us to 100%.
>> > - Merged the head of v1 (which as noted earlier, was just some bits n
>> > bobs from 1.14.1 release) into my copy of Mathias' branch. Still good.
>> > - Gave the result a little CircleCI config since it only takes a
>> > couple minutes and would be a nice "proof of work" besides "works on
>> > my machine".
>> >     - Note that as with my other projects and Fab 2.x, CircleCI only
>> > does Python 3 - not Python 2. But I don't think anybody was TOO
>> > worried about the stability of this line on Python 2...
>> >     - 
>> > https://app.circleci.com/pipelines/github/fabric/fabric/118/workflows/ea65458b-ccf7-40b0-9b8b-d7107001fbc4
>> > - Early steps here helped me discover a Python 3.9 compat issue (think
>> > because they axed the old _dummy_thread allowing 'import thread' to
>> > work) in a test dependency (fudge) - it doesn't look easily worked
>> > around
>> >     - but as it's a test-only dep, I am currently happy just saying
>> > "test on 3.6-3.8", esp since I don't exactly expect us to post many
>> > commits to this line going forwards!
>> >
>> > For ease of viewing (the compare-only page seems a bit "off", eg
>> > doesn't show my recent commits) I made this PR:
>> >
>> >     https://github.com/fabric/fabric/pull/2205
>> >
>> > but I'm expecting to just merge & release it as v1.15 (likely this
>> > coming Friday-ish) unless somebody points out a Serious Problemâ„¢ I'm
>> > not seeing. Let me know what y'all think!
>> >
>> > Kindly yours, 7 years after the fork,
>> > Jeff
>> >
>> > On Tue, Jun 16, 2020 at 12:16 PM Mathias Ertl <mati@er.tl> wrote:
>> > >
>> > > Hi Jeff,
>> > >
>> > > On 6/15/20 9:40 PM, Jeff Forcier wrote:
>> > > > I am definitely willing to merge PRs that add Python 3 compatibility,
>> > >
>> > > That's *really* great news. Thanks!
>> > >
>> > > > though my assumption was that we'd do it as a single PR that
>> > > > approximates the diff between the official repo's v1 branch, and
>> > > > fabric3, and treat it in the changelog/messaging as "were you using
>> > > > fabric3 from PyPI? Fabric 1.15 is now effectively the same thing! come
>> > > > on back!!"
>> > > >
>> > > > Were you intending to follow some other multi-step process or are we in
>> > > > alignment here? Open to whatever, as long as there's a good rationale.
>> > >
>> > > Well, I'm a bit split:
>> > >
>> > > On the one hand, I just cloned my fork again and ran the test suite with
>> > > Python 3.8.3. Only one test fails
>> > > (test_network.TestNetwork.test_connect_does_not_prompt_password_when_ssh_raises_channel_exception),
>> > > and that error seems fixable. So we could do just what you're saying.
>> > >
>> > > On the other hand, Fabric3 did see some usage, but certainly not as much
>> > > as it should. Some parts I used at work, but definitely not all of them.
>> > > My experience from porting software like this to Python3 is to take it
>> > > slow: First fix syntax errors, then fix obvious problems that don't
>> > > break compatibility (e.g. imports via six) and so on.
>> > >
>> > > The advantage of the latter approach is that we have some way cleaner
>> > > commits and PRs where we can make sure that we don't break anything.
>> > >
>> > > So in any case let me know what you want :-)
>> > >
>> > > Mat
>> > >
>> > >
>> > >
>> > > >
>> > > > FYI: I've been intending to migrate our CI from Travis to Circle, which
>> > > > may play into the timing of this; however I'll likely only allow that 
>> > > > to
>> > > > block the merge if the Travis env is broken and needs nontrivial fixes
>> > > > (as it seems a waste to spend more time on Travis if I am planning to
>> > > > leave). I am /hoping/ to look at that this week.
>> > > >
>> > > > Thanks,
>> > > > Jeff
>> > > >
>> > > > On Sun, Jun 14, 2020 at 12:32 PM Mathias Ertl <mati@er.tl
>> > > > <mailto:mati@er.tl>> wrote:
>> > > >
>> > > >     Hi Jeff + mailing list,
>> > > >
>> > > >     This thread unfortunately did not have a follow up that I can see, 
>> > > > so
>> > > >     whats up with making Fabric 1.x Py3 compatible?
>> > > >
>> > > >     If I get a statement from you that you're willing to merge PRs that
>> > > >     start with py3 compatibility, I'm willing to start working on 
>> > > > this, or
>> > > >     of course maybe za3k wants to work with this, I'm willing to help 
>> > > > him
>> > > >     get started (I have ported many older Py2 projects to py3 at my old
>> > > >     job).
>> > > >
>> > > >
>> > > >     Mat
>> > > >
>> > > >     On 5/27/20 5:50 PM, Jeff Forcier wrote:
>> > > >      > Hi all, and thanks for putting this together, Zachary.
>> > > >      >
>> > > >      > Just to chip in with my own context:
>> > > >      >
>> > > >      > - I'd been pondering making this connection myself lately (due 
>> > > > to
>> > > >     the
>> > > >      > delays in getting Fabric 2 to parity and now Python 2's official
>> > > >     EOL). Hi!
>> > > >      > - Fabric 1.15 was IIRC a single small feature-add, so if there
>> > > >     are no
>> > > >      > big changes on the fork besides just the Python 3 compatibility,
>> > > >      > unifying them should still be relatively easy, mechanically 
>> > > > speaking.
>> > > >      > - As stated earlier on the list, my main concern with the Py3
>> > > >     compat is
>> > > >      > that Fabric 1's test suite doesn't have as high a % coverage as
>> > > >     I'd like
>> > > >      > (one of many impetuses for v2) but at this point I'm guessing
>> > > >     fabric3's
>> > > >      > usage has been widespread enough, for long enough, that any
>> > > >     serious bugs
>> > > >      > have already been found.
>> > > >      >    - Curious what, if any, you ran into though - Paramiko went
>> > > >     through
>> > > >      > quite a lot of instability in its own Py3 journey...
>> > > >      > - Re: the fabric3 name on pip - no rush on figuring that out, 
>> > > > for
>> > > >      > multiple reasons.
>> > > >      >    - At the VERY least we would need to wait til stats show most
>> > > >     users
>> > > >      > of fabric3 had migrated to either post-merge fabric1, or 
>> > > > fabric2.
>> > > >     Not in
>> > > >      > a rush to pull the rug out from under anyone.
>> > > >      >    - I'm hoping that Fabric 3.x, 4.x etc will be non full
>> > > >     rewrites and
>> > > >      > thus there will be no need for in place side by side upgrades -
>> > > >     which
>> > > >      > was the only real reason to even need a 'fabric2' on pypi (and,
>> > > >     thus,
>> > > >      > ever a mainstream 'fabric3')
>> > > >      >    - By the time we get there I'd mostly be concerned about user
>> > > >      > confusion (intending to get 'fabric==3.x' but installing 
>> > > > 'fabric3'
>> > > >      > instead) but that is likely a ways off!
>> > > >      >
>> > > >      > Best,
>> > > >      > Jeff
>> > > >      >
>> > > >      > On Tue, May 26, 2020 at 6:02 PM <za3k@za3k.com
>> > > >     <mailto:za3k@za3k.com> <mailto:za3k@za3k.com 
>> > > > <mailto:za3k@za3k.com>>>
>> > > >      > wrote:
>> > > >      >
>> > > >      >     Hi / tag Matthias! I've been talking to the fabric mailing
>> > > >     list (cc'd)
>> > > >      >     and the fabric developer bitprophet (cc'd). The subject is 
>> > > > adding
>> > > >      >     python3 support to fabric 1.x (even though 2.x is the 
>> > > > latest) as
>> > > >      >     part of
>> > > >      >     making an official package.
>> > > >      >
>> > > >      >     bitprophet, the current state is that this is forked off
>> > > >     1.14.0, only
>> > > >      >     one version behind the latest, and I see no feature 
>> > > > additions or
>> > > >      >     changes. It's been marked DEPRECATED for a year because 2.x 
>> > > > added
>> > > >      >     python3 support.
>> > > >      >
>> > > >      >     mathiasertl, I'd like to merge your fabric3 work into 
>> > > > fabric. No
>> > > >      >     issues,
>> > > >      >     right?
>> > > >      >
>> > > >      >     Also, bitprophet has mentioned that might be helpful there
>> > > >     wasn't a
>> > > >      >     pre-existing 'fabric3' pip package out of his control, in 
>> > > > case of
>> > > >      >     future
>> > > >      >     difficulty/confusion with a fabric 3.0 release--I'll leave
>> > > >     ya'll to
>> > > >      >     talk
>> > > >      >     that out.
>> > > >      >
>> > > >      >
>> > > >      >
>> > > >      > --
>> > > >      > Jeff Forcier
>> > > >      > Unix sysadmin; Python engineer
>> > > >      > http://bitprophet.org
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > > Jeff Forcier
>> > > > Unix sysadmin; Python engineer
>> > > > http://bitprophet.org
>> >
>> >
>> >
>> > --
>> > Jeff Forcier
>> > Unix sysadmin; Python engineer
>> > https://bitprophet.org
>>
>>
>>
>> --
>> Jeff Forcier
>> Unix sysadmin; Python engineer
>> https://bitprophet.org
>>


-- 
Jeff Forcier
Unix sysadmin; Python engineer
https://bitprophet.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]