Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why a new tool? Why not add new functionality to sxconsole? #9

Closed
ryran opened this issue Sep 11, 2012 · 1 comment
Closed

Why a new tool? Why not add new functionality to sxconsole? #9

ryran opened this issue Sep 11, 2012 · 1 comment
Assignees
Labels

Comments

@ryran
Copy link
Owner

ryran commented Sep 11, 2012

This is a common question when people first hear about xsos -- at least for people that work at Red Hat like I do.

@ghost ghost assigned ryran Sep 11, 2012
@ryran
Copy link
Owner Author

ryran commented Sep 11, 2012

I'm not trying to replace sx; I'm aiming for something quite different with xsos. While I love Python (see Pyrite for my coding style) and consider sxconsole to be an indispensable cluster diagnostic tool, neither python nor sxconsole fit for the goals I have in mind with this particular project. BASH (+gawk & friends) was clearly the tool for the job.

_xsos Design Goals_

  • Ease of use: I want anyone to be able to pick up xsos and run it with no options or args and immediately get meaningful output about localhost on their screen. I want it to be equally trivial to run xsos on an extracted sosreport dir (one tool for one task; I have no interest in making xsos manage sosreport-extraction) and immediately get meaningful output on their screen. I want anyone to be able to pass it a simple file containing /proc/meminfo or output from ip/dmidecode, etc and get meaningful output. Aside on reports: Printing to stdout is, well.. standard. The first time I run something, I expect to get output and I expect to be able to redirect output elsewhere when I want to.
  • Ease of updating: I've been using RHEL & Fedora for years now, so I'm all about yum; however, in this particular case, I want it to be trivial for people to update xsos on the fly as I'm constantly improving it. As xsos is only one file (and will be for the foreseeable future), there's no need for it to be managed by rpm. Run it with -U and a couple keystrokes later xsos replaces itself with the latest version from github.
  • Ease of development: I chose bash over python because ... well, because I knew it was doable for me to produce something with bash + awk quickly. I threw this together in the last couple months. There's no way I could have done that with python. I don't know how to do half of what xsos does in python. Furthermore, shell as the base just made the most sense to me -- by virtue of its purpose, xsos is reading in a new file virtually every other line. It would be such a mess to implement this in python ... and if it WASN'T a mess, it would take ages and ages [to write it in a way that follows PEP20].

@ryran ryran closed this as completed Sep 11, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant