From: Alan McKinnon <alan.mckinnon@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Re: Lowest common denominator compile
Date: Tue, 5 Sep 2017 17:07:10 +0200 [thread overview]
Message-ID: <3f1815c1-556c-177f-75ae-9a725998b235@gmail.com> (raw)
In-Reply-To: <CAN0CFw1QvDHGpX9xGKY1n8WfjegYS+_mU=HngdTbwK=Q72v+tw@mail.gmail.com>
On 05/09/2017 02:01, Grant wrote:
>>>> This is exactly the use-case ansible was designed for: declarative,
>>>> idempotent, predictable management of a fleet of machines that may or
>>>> may not be around when you feel like updating something (so it catches
>>>> up later), and needs only sshd and python to do it's magic :-)
>>>
>>> ansible does sound pretty cool. I'll check it out if I outgrow my
>>> script but as long as I can keep using Dell XPS 13 laptops I don't
>>> think it will have any trouble scaling.
>>
>>
>> Allow me a few moments to convince you more :-)
>>
>> Maybe you don't need it right this minute, but your current method will
>> become less and less workable with time, and when you feel that maybe
>> you ought to do it differently, you might remember this conversation.
>>
>> ansible works like you do - ssh's into a host, and does what needs
>> doing. It figures out what to do the same way you do, by having a clear
>> picture of what should be and making the host that way. It's very much
>> like a proxy for you.
>>
>> The difference comes in when you observe that with ansible you don't
>> have to deal with the details of HOW to do something (the shipped
>> modules already deal with all of that), you only concern yourself with
>> WHAT you want to accomplish.
>>
>> If you only use ansible to basically run ssh in a for loop, then it's a
>> waste of the setup effort. But let's say Dell retire or change those
>> XPS13s dramatically. 4 of yours wear out, and you buy 8 Precisions.
>> Bugger, they have different hardware and the chipset running the SSDs
>> has a different drive. The GPU, the wifi NIC, these things all drift
>> with time. Then you figure you want 2 management Precisions, plus
>> your's, the wife's and the workshop manager's laptops need extra stuff;
>> and the plebs can stay the same on the XPS.
>>
>> And your script gets out of hand real quick (we've all been there). How
>> do you detect that some is a Precision and do appropriate actions in a
>> nasty script? It's not easy.
>> Ansible does all that for you upfront out the box. It always knows what
>> it's working on (thanks to a module called setup) and catering for
>> inevitable differences is trivial to handle. With none of the downsides
>> to copying entire tree structures around (like copying way too many
>> files you didn't intend to. Like /var/run...)
>
>
> It truly sounds great but the devil is in the details in my particular
> environment. If I feel like I'm outgrowing my script (and maybe even
> if I don't) I'll dig into ansible. How big of a duty is the
> implementation?
Implementation is easy, it's just another Python app with a config file.
Then there's some associated work around getting your SSH setup the way
you want it with the correct users and passwords and keys and enough
access control that you feel safe. Nothing new there, you likely already
have all that already. If not, well ssh isn't exactly new to you :-)
The bulk of the work is in thinking and planning what you want to
achieve. You have to have a very clear picture of the end goal so you
can build towards it; this part is exactly like thinking your way
through code you intend to write. This part depends on how complex your
stuff is and how many exceptions you have to the rule.
You're the only one that knows if the result will be worth while, so
like all new toys I suppose the best approach is to tinker with it a
bit, see if you like it, then decide if you think it worthwhile to proceed.
--
Alan McKinnon
alan.mckinnon@gmail.com
next prev parent reply other threads:[~2017-09-05 15:12 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-04 19:39 [gentoo-user] Lowest common denominator compile Grant
2017-09-04 20:16 ` [gentoo-user] " Grant
2017-09-04 20:27 ` Alan McKinnon
2017-09-04 20:55 ` Grant
2017-09-04 21:20 ` Alan McKinnon
2017-09-05 0:01 ` Grant
2017-09-05 15:07 ` Alan McKinnon [this message]
2017-09-06 3:31 ` Grant
2017-09-05 1:54 ` Ian Zimmerman
2017-09-05 13:54 ` Grant
2017-09-05 14:39 ` Ian Zimmerman
2017-09-05 0:53 ` R0b0t1
2017-09-05 8:37 ` [gentoo-user] " Walter Dnes
2017-09-05 13:53 ` Grant
2017-09-06 3:28 ` Grant
2017-09-06 3:37 ` R0b0t1
2017-09-06 3:43 ` Grant
2017-09-06 4:32 ` R0b0t1
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=3f1815c1-556c-177f-75ae-9a725998b235@gmail.com \
--to=alan.mckinnon@gmail.com \
--cc=gentoo-user@lists.gentoo.org \
/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