Time  Nick        Message
13:49 pdurbin     "Because we need a decent human readable format that maps to a hash and the YAML spec is like 80 pages long and gives me rage. No, JSON doesn't count. You know why." -- https://github.com/mojombo/toml
14:19 larsks      From Twitter: "So I can't really tell if TOML is a joke. All I can say is that I really hope it is..." (@samkottler)
14:28 pdurbin     :)
14:46 pdurbin     I'd like to figure out a way to automate login to a DVN. i.e. https://dvn-demo.iq.harvard.edu/dvn/faces/login/LoginPage.xhtml ... Browsers don't seem to offer to save my username/password. Thinking about trying greasemonkey or selenium. In practice this for my dev evironment: http://localhost:8080/dvn/
14:46 pdurbin     ... where I want to log in as networkAdmin/networkAdmin for testing
17:14 pdurbin     whoa... that's surprising... I figured out why firefox wasn't remembering the password... it's because I wasn't clicking "Log in" with my mouse... I was just hitting Return on my keyboard. crazy
17:16 jimi_c_     pdurbin: toml looks interesting, like ini but an actual spec
17:24 pdurbin     ok, something with our app (DVN)... on github I can use enter and firefox prompts me to remember the password. no need for a mouse
17:25 pdurbin     jimi_c_: yeah, i'm happy enough with yaml for configs though, i guess
17:25 pdurbin     SEJeff_work: is salt gonna switch to toml? ;)
17:28 jimi_c_     one area I ran into with yaml was trying to manage it with augeas - if the spacing of array items/etc are off the default augeas filter does not handle it and you end up with a corrupted yaml file
17:28 jimi_c_     one problem rather
17:29 jimi_c_     i would consider toml for cobbler, since we already use an ini-like syntax for our modules.conf file, switching our main settings file over to be similar would be nice
17:29 jimi_c_     right now /etc/cobbler/settings is a yaml file
17:30 jimi_c_     i have kicked around the idea of converting it to json for a while
17:31 pdurbin     pump.io uses json for config: https://github.com/e14n/pump.io#configuration
17:31 larsks      NO! BAD! STOP! Don't use JSON for user-editable configuration files.  Pretty please?
17:32 larsks      Sure, it's a (big) step up from XML, but neither is it as easy or readable as YAML.
17:32 pdurbin     larsks: tell it to evan p :)
17:32 jimi_c_     larsks: not sure why that's any worse than yaml, but i haven't done it :)
17:32 jimi_c_     pretty-printed json to me is very readable
17:32 pdurbin     json doesn't allow comments
17:33 larsks      Because like XML JSON makes you worry about "quotes" and { brackets } that you don't typically worry about with YAML.
17:33 larsks      ANd it doesn't allow comments, right.
17:33 larsks      It's designed for machines to exchange information.
17:33 jimi_c_     comments is the one big downside
17:34 SEJeff_work pdurbin, writing a toml renderer would likely be trivial
17:34 SEJeff_work That is all pluggable
17:34 jimi_c_     but the reason i wanted to do json is because i want settings to be managed through the cli command, so hand-editing the config or relying on comments there should not be required
17:35 SEJeff_work jimi_c_, For 1 massive thing... no comments in json
17:35 jimi_c_     and the reason i had to use augeas to manage the yaml was to preserve the comments - otherwise i would have just rewritten the file which would have been a lot easier
17:35 SEJeff_work comments are no problem with yaml or any ini syntax like thing
17:35 SEJeff_work Put a comment in a json file and you just broken it
17:36 SEJeff_work s/broken/broke/
17:36 jimi_c_     which is also why i tried to start documenting settings much better: http://cobbler.github.com/manuals/2.4.0/4/3/2_-_Complete_Settings_List.html rather than rely on comments in the config
17:36 semiosis    larsks: worrying about "quotes" and {brackets} is the editor's job
17:36 larsks      semiosis: it shouldn'
17:36 larsks      shouldn't be *anybody's* job.
17:36 semiosis    well that's python i guess
17:37 larsks      We shouldn't be using machine-exchange formats in places where people are expected to produce and consume the information.
17:37 jimi_c_     larsks: that's my point, i'd rather have the program manage the file than a user hand-edit it
17:37 jimi_c_     in that case, a machine-centric format is better
17:37 SEJeff_work jimi_c_, Makes config management much more difficult
17:37 SEJeff_work and abnoxious
17:37 larsks      jimi_c_: But people *are* going to hand edit it, right?  If not, store it in a binary blob and be done with it.  Then you don't need to parse anything.
17:37 SEJeff_work my spelling is horrible today. Sorry
17:37 SEJeff_work larsks, ++
17:38 larsks      Command-based editing makes it hard to manage things with e.g. puppet or chef.
17:38 jimi_c_     SEJeff_work: if it's text, config management shouldn't be an issue, just deploy the file
17:38 SEJeff_work which makes it much harder to deploy said app at scale
17:38 jimi_c_     i totally disagree with that
17:38 SEJeff_work jimi_c_, Just wanted to voice my opinion. json is very crappy for config files.
17:38 jimi_c_     a file is a file, if you're automating it the format doesn't matter
17:38 SEJeff_work <larsks> Command-based editing makes it hard to manage things with e.g. puppet or chef.
17:39 SEJeff_work a file is a file. I agree on that
17:39 jimi_c_     i would agree with that if the commands resulted in a database being updated, something centralized for instance
17:39 SEJeff_work but for a config file, json is a lousy format. The cobbler system records are not meant to be hand edited ever. Those make perfect sense in json for instance
17:39 SEJeff_work or msgpack :D
17:39 jimi_c_     heh, well people still hand-edit those too...
17:39 jimi_c_     they did when they were yaml too
17:39 SEJeff_work jimi_c_, Well there is no way to rename an interface
17:40 SEJeff_work so the only sane option is to run set and restart cobblerd
17:40 jimi_c_     i know, that drives me nuts
17:40 SEJeff_work or delete the interface and add it again
17:40 jimi_c_     i'll fix that soon
17:40 SEJeff_work Yes me too
17:40 SEJeff_work jimi_c_, I'd buy you a beer for that one
17:40 * jimi_c_   continues to blame mdehaan
17:40 jimi_c_     :)
17:40 SEJeff_work Have used cobbler professionally almost 5 years now
17:40 SEJeff_work Totally a love/hate relationship
17:40 jimi_c_     what's the workflow for delete/re-add?
17:41 jimi_c_     and feel free to move this to #cobbler since we're off-topic here now :)
17:42 SEJeff_work This is #crimsonfu, sysadmins who code
17:42 SEJeff_work All things systems related are ontopic
17:42 SEJeff_work But that works
17:44 pdurbin     jimi_c: are you logging #cobbler yet?
17:44 jimi_c      no
17:44 pdurbin     might as well keep talking here :)
17:44 jimi_c      i might reconsider that now that i work at a job where i wouldn't catch shit for being on irc during the work day :)
17:45 larsks      ++log all the channels.
17:46 SEJeff_work jimi_c, You left scottrade
17:46 SEJeff_work ?
17:46 jimi_c      yep
17:46 pdurbin     jimi_c: how to run your own log bot: https://github.com/dvn/iqirclog-vagrant
17:46 SEJeff_work jimi_c, Where are you at now?
17:47 jimi_c      pdurbin: thanks
17:47 jimi_c      SEJeff_work: went back to Savvis
17:47 SEJeff_work Nice
17:47 jimi_c      now Savvis/Century Link
17:47 SEJeff_work Are they going to use cobbler you think?
17:48 jimi_c      a few people on the team mentioned they had looked at it a while back, we may end up using it to manage vmware templates and things of that nature
17:48 jimi_c      going back to the non-self promoting part, I am staying out of their decision making process :)
17:48 SEJeff_work Ha
17:48 jimi_c      i'm obviously biased
17:48 SEJeff_work I was hired to this company largely in part because of salt and we still don't use it. Not yet anyways :)
17:49 SEJeff_work But yeah, I get it.
17:50 jimi_c      so what is the workflow for deleting and then readding an interface to a system?
17:50 jimi_c      i don't understand why you wouldn't just edit it
17:50 SEJeff_work jimi_c, cobbler system edit --system foo --interface blah --delete-interface
17:50 SEJeff_work which is awesome (sarcasm), because it always defaults to eth0 if you forget to specify the interface
17:51 jimi_c      a patch for that was actually submitted recently
17:51 jimi_c      if there's only one interface, it will delete that, if there's more than one it errors
17:51 SEJeff_work A rename interface or something flag would be nice
17:51 SEJeff_work That makes perfect sense
17:52 jimi_c      https://github.com/cobbler/cobbler/pull/370
17:52 jimi_c      ^ maybe that was for editing only
17:52 jimi_c      i think it would work as well for delete
17:52 * jimi_c    needs to test that
17:53 SEJeff_work Thats really nice that was added for edit though
17:53 SEJeff_work I've messed that up so many times as we named our interfaces using descriptive verbs
17:53 jimi_c      no, now it seems that if you do --delete-interface without specifying it just doesn't do anything...
17:54 SEJeff_work We would dhcp, xmlrpc connect to the local cobblerd to get a list of the interfaces, generate /etc/iftab, and then rename all of the interfaces on boot
17:54 SEJeff_work Should probably complain
17:54 SEJeff_work And cobbler's xmlrpc api isn't too bad
17:54 SEJeff_work With newer cobbler at least
17:54 jimi_c      yeah, it should complain
17:56 SEJeff_work How is the database backend code?
17:56 SEJeff_work Relatively mature?
17:56 SEJeff_work backing a central cobblerd with redis or mysql is quite appealing
17:56 SEJeff_work As it can get slow after you have several thousand systems in it even with json. With yaml it is unbearable
17:56 jimi_c      it's been there for a while, but I don't know how many people use it, it's one of the things I plan on testing via jenkins more - i'd still consider it beta at best
17:57 jimi_c      but it's so simplistic you shouldn't have many issues with it
17:57 jimi_c      just basically using mysql as a key/value store with a blob of json
17:57 jimi_c      total bastardization
17:57 SEJeff_work Ha
17:57 SEJeff_work As much as I hate it, perhaps postgres is a better fit?
17:57 jimi_c      the redis/mongo backends are better
17:57 SEJeff_work As it has a native json type
17:57 jimi_c      i plan on looking at that for sure
17:57 SEJeff_work You can make redis back to disk and be "durable" right?
17:57 jimi_c      was waiting for it to be released, and that was like a year ago
17:57 SEJeff_work Sounds like a perfect fit
17:58 SEJeff_work We are about to build a very large cobbler infra
17:58 jimi_c      yes, and mongo is disk-based as well, though of course by default it only writes to disk once a minute
17:58 jimi_c      unless they've changed that
17:58 SEJeff_work bigger than chjohnst and I did at the last gig
17:58 jimi_c      so it's durable-ish
17:58 SEJeff_work Ok perfect. That should be configurable
17:58 jimi_c      that'll be interesting
17:58 jimi_c      you already had one of the larger installs that I knew of
17:58 SEJeff_work We had 1 central cobbler server with ~40+ remote cobbler "highly available" pairs
17:59 SEJeff_work Yeah
17:59 SEJeff_work This one will be bigger :D
17:59 * jimi_c    needs to start selling support contracts...
17:59 jimi_c      :D
17:59 SEJeff_work heh
17:59 SEJeff_work jimi_c, Where are you based out of?
17:59 jimi_c      STL, MO
17:59 SEJeff_work Interested in relocating?
18:00 SEJeff_work ;)
18:00 jimi_c      i was last year, wife's preggo with twins right now so that kind of changed our plans
18:01 jimi_c      i interviewed up in boston, and at google in CA
18:03 pdurbin     jimi_c: due date?
18:04 jimi_c      Original was May 13th, but with twins 38 weeks is term so that'd put us at Apr 29th. With twins though, it's a bit of a crap shoot - only 50% of women make it past 36 weeks
18:05 jimi_c      we just hit 29 weeks yesterday
18:05 jimi_c      SEJeff_work: https://github.com/cobbler/cobbler/issues/415
18:05 jimi_c      ^ i'll get that in 2.4.0
18:06 * pdurbin   puts it in his calendar
18:12 SEJeff_work jimi_c, Thanks
19:51 * johnmorr  waves.
19:54 pdurbin     johnmorr: hmm, i think i'm following you: https://twitter.com/johnmorr
19:55 johnmorr    pdurbin: yeah, i started at fasrc a couple months ago, i think we met super briefly once or twice
20:21 pdurbin     i meant to say hi at the going away party for james at the queenshead
20:25 StripeyType going away party for James?
20:25 StripeyType oh James Cuff.
20:25 StripeyType I was very confused.
20:57 jimi_c      SEJeff_work: http://pastebin.com/Kzsh3NGu
21:00 jimi_c      now for the gui...
21:04 SEJeff_work jimi_c, Yup it is settled. I owe you another beer
21:05 SEJeff_work Thanks much. That will be very appreciated
21:43 jimi_c      SEJeff_work: was trying to come up with a decent syntax, hopefully that works
21:43 jimi_c      rather than add yet another field
21:43 SEJeff_work jimi_c, Yeah. having used cobbler for awhile (and never used the webui), that is as expected
21:43 SEJeff_work The cli is verbose, but very scriptable, so I don't mind
21:44 SEJeff_work jimi_c, So our design will involve 2 central cobbler servers clustered with pacemaker
21:44 SEJeff_work We might attempt to put redis on those
21:44 SEJeff_work Then replicate that out to the various sites, but for each site, only replicate the records that the local instance is master for
21:44 SEJeff_work we do that based on hostname globs
21:45 SEJeff_work Each local cobbler clustered pair would only manage a few hundred hosts tops
21:45 SEJeff_work But we'd make most changes on the central cobblerd instances. Due to the large number of hosts, redis very well might make sense. Does that sound conceptually doable?
22:23 jimi_c      redis would make sense if you have the HA pair with pacemaker, so you'd have a transparent failover, i don't think it'd be necessary when using replication
22:35 jimi_c      webui done now too :)
22:42 SEJeff_work Very very cool