Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-03-26

| Channels | #salt index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 Corey UtahDave: It was amusing. Where are you this week?
00:00 UtahDave I'm actually home this week and next
00:00 Corey Ooh.
00:00 UtahDave I'll be in SF for a couple weeks in april, though
00:00 Corey San Jose this week, Chicago next, then San Jose again.
00:00 gadams999 joined #salt
00:00 joehh https://github.com/saltstack/salt/issues/11525
00:00 joehh obimod: ^
00:01 joehh that was reported this morning via debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742653
00:01 obimod oo gratzie
00:01 seblu joined #salt
00:01 torrancew @corey when will you be making it back up to SF?
00:02 torrancew ugh, just used hipchat syntax
00:02 * torrancew punishes his muscle memory
00:02 Corey torrancew: Not sure. Some evening when I get bored? :-)
00:02 torrancew haha
00:05 jeddi joined #salt
00:07 KyleG Corey: Do you know any good Python devs in LA looking for a full-time job? My company is looking for 2 Python Devs and a QA Automation Engineer.
00:08 acabrera_ joined #salt
00:09 conan_the_destro joined #salt
00:09 gadams999 has anyone troubleshot salt-minion (or salt-call) state.highstate hangs on starting services?
00:12 allanparsons Kyle what company?
00:12 allanparsons KyleG * what company?
00:12 KyleG allanparsons: www.wiredrie.com
00:12 KyleG w
00:12 KyleG err
00:12 KyleG www.wiredrive.com *
00:13 allanparsons oh sweet
00:13 allanparsons i met Daniel Bondurant at an edgecast event
00:13 KyleG yeah, that's my boss
00:13 allanparsons im based out of venice beach
00:13 KyleG We <3 Edgecast for sure
00:14 allanparsons we ditched them :)
00:14 KyleG Oh nice, that's right around the corner
00:14 allanparsons pushed too much traffic
00:14 allanparsons broke their ftp servers
00:14 KyleG Wow.
00:14 allanparsons we ingest a ton of content
00:14 KyleG We do origin pull, so that hasn't been an issue
00:14 KyleG We push ~60 TB/month through it I believe
00:14 allanparsons yeah, we used to write to their storage.  stupid isilon.
00:14 bhosmer joined #salt
00:14 KyleG lol we use Isilon for our primary storage
00:15 allanparsons a peak we were doing 1PB/mo
00:15 KyleG So they're pulling from our Isilons at origin
00:15 KyleG dayum, that's intense
00:15 KyleG Where are you working allanparsons?
00:15 allanparsons but we have over 5bn objects in storage
00:15 allanparsons and doing any re-transcodes wrecks havoc
00:15 allanparsons viddy.com
00:16 KyleG Oh nice, very beautiful site too
00:16 Corey KyleG: If you're up on teaching idiots python, I may have interest. :-D
00:16 KyleG Corey: I'm with you there lol
00:16 allanparsons the learning curve isnt steep
00:16 allanparsons scopely is a pythin shop
00:17 allanparsons python*
00:17 allanparsons with A LOT of devs
00:17 KyleG I think you applied before Corey, didn't you say that we couldn't afford you? lol
00:17 KyleG I seem to remember you telling me something along those lines
00:18 allanparsons probably
00:18 allanparsons if it came from a recruiter
00:18 allanparsons im a huge dick to recruiters
00:18 allanparsons especially unsolicited
00:18 meteorfox joined #salt
00:18 KyleG anyways, there is the one position for a normal Python dev, but we're also looking for a "Lead" of sorts, someone to help organize the direction we're taking and the dev team and has good knowledge of django and python
00:18 KyleG oh yeah, me too lol
00:18 KyleG I get so many of them -_-
00:18 yomilk joined #salt
00:19 allanparsons who called me from wiredrive?
00:19 allanparsons corey?
00:19 allanparsons lemme search my email :)
00:19 KyleG I don't think anyone from here would've called you…
00:19 allanparsons but "you cant afford me" is definitely something i'd say
00:19 KyleG At least not directly, a contractor might've
00:19 KyleG allanparsons: I was referring to Corey
00:19 allanparsons oh
00:19 allanparsons ha ha
00:20 allanparsons well, that line is one i use regularly for unsolicited recruiters
00:20 allanparsons you might be able to poach from topspin.com
00:20 allanparsons they just got bought by beats
00:20 allanparsons and werent doing well
00:20 KyleG Beats?
00:20 allanparsons beats by dre
00:21 KyleG I thought so, but I wasn't sure lol
00:21 allanparsons err, beats music
00:21 KyleG Beats is a customer of course, funny enough
00:21 KyleG Not sure they'd like us poaching
00:21 allanparsons ha ha
00:21 allanparsons scopely then!
00:21 allanparsons or, hulu
00:21 allanparsons hulu would be low hanging fruit - they dont offer stock
00:22 allanparsons we're a python + .net shop
00:22 allanparsons but you cant poach us
00:22 allanparsons :)
00:22 KyleG lol
00:22 KyleG I figured maybe you guys knew people/had friends looking possibly, I'm not sure i'm up for poaching someone who's currently happy lol
00:22 allanparsons those are the people you want!
00:22 KyleG mm
00:22 adizam I need to poach nodejs developers
00:22 allanparsons actually, i know a guy.
00:23 allanparsons he just left nativo (nativo was converting to python)
00:23 adizam I'll randomly step out of the random conversation I stepped into :p
00:23 allanparsons he's in culver city
00:23 KyleG Culver City is literally one street away from our offices
00:23 KyleG We're in marina del rey
00:23 allanparsons adizam - poach from vevo.
00:23 rome joined #salt
00:23 allanparsons they dont give stock
00:23 allanparsons and they're a node.js shop
00:23 allanparsons jkyle - shoot me an email @gmail.com
00:24 allanparsons i'll intro you guys
00:24 adizam Trying the local meetup route first allan
00:24 adizam Co-sponsoring NodeMN here in the twin cities (minneapolis)
00:24 adizam See if any talent shows up :)
00:24 allanparsons oh god - people only go to meetups for the beer and pizza.
00:24 KyleG so
00:24 KyleG it's your IRC nick @ gmail.com ?
00:24 allanparsons yeah
00:25 adizam Judging by every mini-conf/meetup I've been to since moving here.. you're pretty much dead on accurate
00:25 KyleG k, I'll send one over
00:25 allanparsons k
00:25 allanparsons adizam - you'll also find freeloaders esp in LA
00:25 allanparsons like, bums with access to an apple store
00:25 Corey KyleG, allanparsons: I'd never say "you can't afford me" explicitly. That'd be rude.
00:25 allanparsons they'll go to meetups purely for the food and booze
00:26 KyleG Corey: I've been told "we can't afford you" explicitly before
00:26 allanparsons Corey its ok to be rude to technical recruiters with no discernable technical background
00:26 Corey KyleG: You've *gotta* hire allanparsons. Put him into Special Projects.
00:26 redondos joined #salt
00:26 redondos joined #salt
00:26 KyleG lol Special Project 1: Solve pi
00:26 allanparsons Corey :: i've never heard that one before!
00:27 Corey allanparsons: ...today.
00:27 adizam .. while drunk
00:27 allanparsons will you call it the "Allan Parsons Project" too?
00:27 KyleG We'll just call it
00:27 KyleG Sector 8
00:27 KyleG Mysterious sounding
00:27 KyleG lol
00:27 travisfischer joined #salt
00:27 adizam I wish I had more time for R&D stuff at the office
00:27 Corey Convincing him to come work for you is the Allan Parsons Project.
00:28 redondos_ joined #salt
00:28 allanparsons Sirius-ly  (see what i did there?)
00:29 adizam After stalking you on twitter for a second allan, I've decided you have a love hate relationship with verizon wireless :p
00:29 think-free___ joined #salt
00:29 allanparsons KyleG - you may need a dot between fname +lname @gmail.com  not sure if google got rid of that sendmail dot notation
00:30 redondos joined #salt
00:30 allanparsons it's cool.  i usually buy twitter ads when i dont get good customer service
00:30 allanparsons my shit gets fixed real quick w/ a promoted tweet
00:30 adizam I just did that with comcast
00:30 allanparsons it's usually the best $50 i ever spend.
00:30 KyleG allanparsons: I sent the email, without the dot
00:30 KyleG I think it'll work
00:31 KyleG I know mine works with or without the dot
00:31 redondo__ joined #salt
00:31 KyleG adizam: You bought a promoted tweet?
00:32 adizam no
00:32 adizam https://twitter.com/adizam
00:32 adizam just talked shit on twitter directly at them
00:32 KyleG lol
00:32 adizam ended up getting a DM from someone on their front-end dev team
00:32 KyleG yeah that usually works.
00:32 adizam i sent them a tamper monkey that patched their site
00:32 adizam and asked for a free month of service
00:32 KyleG My twitter is boring now, I'm just bored of it really.
00:32 adizam got a thank you instead :\
00:32 KyleG I used to be on it all the time
00:33 Corey adizam: Uh, you also have 21K followers. That likely helps more.
00:33 Corey "Oh no, a guy with 20 followers is mad at me" doesn't matter as much.
00:33 adizam I like to imagine all 21k are the same person with multiple accounts
00:33 adizam Just some seriously dedicated stalker
00:33 redondos_ joined #salt
00:34 allanparsons oh... i  buy promoted tweets if my issue doesnt get resolved.
00:34 allanparsons i did that with Paychex.
00:34 allanparsons man, they were all over that shit so fast.
00:34 allanparsons i had an issue for like 6 months.  as soon as i bought a promoted tweet, those fuckers got their best man on the phone and fixed the issue in like 3 days.
00:34 Corey adizam: Let's find out!
00:35 adizam Corey: I have no idea who follows me anymore
00:35 redondos joined #salt
00:35 adizam I wrote a blog post about some random skype security issues a long time ago, hit HN front page for a few hours, got a retarded amount of follows, its ~50% of what it was
00:35 Corey adizam: I'm running a report, give me a few.
00:35 googolhash_a joined #salt
00:36 adizam Does that mean I have 21,001 stalkers now?
00:36 adizam :O
00:36 Corey Yup!
00:36 allanparsons KyleG - is that a maserati in your cover photo?
00:36 ajprog_laptop1 joined #salt
00:36 Corey The stupid dog in a bowtie is my signature.
00:37 KyleG allanparsons: Nah I wish. It's my 2013 Scion FR-S
00:37 allanparsons ah
00:37 redondos_ joined #salt
00:37 allanparsons i was gonna say "damn, where do i apply to wiredrive"
00:37 Corey If that is a Maserati, I retract any implication that WireDrive couldn't afford me.
00:37 KyleG lol
00:37 adizam I'd hire you to take me to lunch M-F if you had a Maserati
00:37 KyleG Maserati's sound sooooooooo awesome.
00:37 KyleG ugh
00:37 allanparsons it is LA... even the bums have maseratis
00:37 adizam ever since ari's wife in entourage got one
00:38 allanparsons as my old boss always told me:  you can always live in your car, but you can't drive your house.
00:38 adizam I'm still in the low six figures and I'm terrible at saving. No 100k cars in my future, at least for a while
00:38 adizam Should be able to rent those kind of cars by the hour
00:38 allanparsons it's LA... no one saves!
00:38 Corey adizam: https://followerwonk.com/N8zT
00:39 allanparsons adizam... you can.  there's a place at Pico and Ocean in Santa Monica that rents them by the hour.
00:39 redondo__ joined #salt
00:39 KyleG "low six figures" "no savings" "la"
00:39 KyleG checks out.
00:39 KyleG lol
00:39 adizam Haha
00:39 adizam I'm in Minneapolis actually :P
00:39 Corey "Rent by the hour"
00:39 adizam I almost moved to Cali.. had a few job offers out there
00:40 adizam I'm rather fond of the frozen tundra
00:40 adizam Corey: So what you're trying to say
00:40 adizam Corey: Is that all 4 people in Australia that know what twitter is are following me
00:40 allanparsons one of our VCs ordered a Lyft in LA... 22 year old kid working on a JD picked him up in a Tesla.  With the pink mustache.
00:40 Corey That's a fun question. What does "mid six figures" look like? :-)
00:40 KyleG allanparsons: One of my bosses has the top of the line tesla
00:40 KyleG I'm so jealous
00:40 Corey 400? 200? 600?
00:40 adizam I dunno
00:40 KyleG now now Corey
00:40 KyleG Let's not kill my pride
00:40 KyleG by finding out
00:40 KyleG lo
00:40 KyleG lol*
00:40 adizam I was over 200 at previous job, I'm low 100s now.. I'm not unhappy tho
00:40 redondos joined #salt
00:41 adizam Depends on the project
00:41 adizam plus I don't live in california, so thats huge :p
00:41 Corey adizam: In Miniapolis?!
00:41 allanparsons P85
00:41 Corey Minneapolis, even.
00:41 adizam Yes in mnpls
00:41 Corey mnpls.
00:41 adizam I suppose it depends on the job tho
00:41 andrej Hmm ... if I have a direcotry manged via file.recurse - what do I need to do to have files removed when they disappear from source:// ?
00:41 adizam senior rails pays ~150k in mnpls atm
00:42 kedo39 joined #salt
00:42 ballack joined #salt
00:42 allanparsons run state.highstate again?
00:42 KyleG i don't trust highstate.
00:42 KyleG ever.
00:42 KyleG again.
00:42 redondos joined #salt
00:42 KyleG state.sls from now on in this shop lol
00:43 KyleG There was a recursion bug a couple months ago, wiped out the perms on my entire TFTP boot dir
00:43 KyleG and my SSL certs
00:43 KyleG It was quite the headache. So no more highstates for me.
00:43 allanparsons ha ha.  awesome.
00:43 allanparsons thats why we store nothing on the filesystems
00:43 taion809 joined #salt
00:44 ballack left #salt
00:44 KyleG yup that's smart
00:44 andrej allanparsons - if the highstate was aimed @ me:  that didn't work.
00:44 redondos joined #salt
00:44 andrej I killed a file on the master, ran the state, and it didn't get removed on the minion
00:45 KyleG That's normal andrej.
00:45 KyleG Highstate isn't like git or rsync —delete or anything it just sorta says "Do I need to put a file there? Okay I'll put it there/make sure it's there and matches this MD5 or diff or whatever"
00:45 KyleG Well not highstate itself but file.managed
00:46 andrej KyleG - so it's a one-way road?
00:46 allanparsons andrej - run cmd.run and rm -f the files, then do another file.recurse.
00:46 KyleG ^
00:46 KyleG what allan said is what I do
00:46 KyleG Or you can go through the trouble of adding a file.absent
00:46 andrej Not very elegant :)
00:46 KyleG http://docs.saltstack.com/ref/states/all/salt.states.file.html#salt.states.file.absent
00:46 allanparsons or file.recurse to /stage_dir and then do cmd.wait and run an rsync from /stage_dir to /prod_dir
00:54 allanparsons is there an LA saltstack meetup / users group?
00:54 allanparsons i dont have enough meetings in my social schedule that include pizza and beer.
00:56 KyleG allanparsons: I wanted to start one up regularly, not sure if there's enough interest. I co-hosted one with Hulu and Corey and like 3 other people showed up
00:56 dave_den andrej: clean=True.
00:57 allanparsons aw, darn
00:57 redondos joined #salt
00:57 KyleG but, we could setup something social like just a meetup
00:57 Corey KyleG: Yeah, then I left. :-(
00:57 KyleG That was a hackathon
00:58 andrej dave_den - thanks :)
00:58 dave_den np
00:58 mattbarto joined #salt
00:59 redondos_ joined #salt
00:59 allanparsons Corey where in LA do you work?
01:00 KyleG I am taking off, goodnight gentlemen
01:00 redondo__ joined #salt
01:00 Corey Have fun.
01:00 Corey allanparsons: I don't work in LA> :-)
01:00 Corey Hence "I left."
01:02 redondos joined #salt
01:03 allanparsons ah
01:04 allanparsons good choice.  LA is overrated.
01:04 allanparsons im scheming my escape back to nyc.
01:04 redondos joined #salt
01:04 redondos joined #salt
01:04 MTecknology RandalSchwartz: I do /srv/{salt,reactor,data,pillar} and ext/ under pillar
01:05 MTecknology very delayed response...
01:06 redondos_ joined #salt
01:08 redondo__ joined #salt
01:08 RandalSchwartz how can I ensure that authorized_keys is there, and then file.append my requiredd key
01:08 RandalSchwartz file.append doesn't like the fact that the file isn't there
01:08 RandalSchwartz Oh... file.present
01:09 RandalSchwartz no... wait... how do I create an empty file if it doesn't exist, with the proper permissions and owner, and then file.append my pubkey
01:09 redondos joined #salt
01:10 hotsnow joined #salt
01:11 MTecknology RandalSchwartz: http://docs.saltstack.com/ref/states/all/salt.states.ssh_auth.html
01:11 redondos_ joined #salt
01:11 RandalSchwartz yeah - I see there's a specialized module
01:11 RandalSchwartz but how would I do that in general
01:12 RandalSchwartz ensure a file is present with particular modes
01:12 RandalSchwartz then additionally add some text if it doesn't already exist
01:12 RandalSchwartz file.managed wants to own the entire contents
01:13 redondo__ joined #salt
01:13 hotsnow I can’t start salt on windows server 2003, nssm report GetProcessTimes() failed:
01:14 RandalSchwartz any ideas?
01:15 thayne joined #salt
01:15 Corey allanparsons: Bay area for me.
01:15 allanparsons oh nice.
01:15 allanparsons they print money up there.
01:15 MTecknology RandalSchwartz: I've never seen that request. Maybe a patch to the file state to add that feature? Maybe a patch so you can have s
01:15 Corey Yes we do!
01:15 MTecknology RandalSchwartz: - source: None  ?
01:15 allanparsons what co?
01:16 MTecknology I don't see any states for managing a file permissions without actually managing the file
01:16 RandalSchwartz looks like someone tried to implement it: https://github.com/saltstack/salt/issues/1864
01:16 hotsnow version 2014.01 or 0.17.5 return the same error, but win7 work well
01:17 RandalSchwartz source none would erase the file
01:17 RandalSchwartz I don't want to manage the whole file... just ensure its permissions and owner, and then append to it if the key isn't already there
01:18 andrej Is there some sort of introspection on the salt-master?  What I mean: is there a way to easily determine which IP a minion is coming from via an API?
01:18 MTecknology the ssh_auth module will make sure the file is there
01:18 MTecknology if it's not, that's a bug
01:21 manfred RandalSchwartz: why can't you use file.append?
01:21 manfred RandalSchwartz: it checks to see if your one line is in the file before appending it
01:22 RandalSchwartz because the file might not exist, and append hates that
01:23 MTecknology that bug report you posted says that behaviour has been fixed
01:23 RandalSchwartz how do I write both file.managed and file.append on the same path?
01:23 manfred RandalSchwartz: you want file.append
01:23 manfred just that
01:23 manfred Fix #1864 - Support `makedirs` to `salt.states.file.append()`
01:23 manfred it should work fine
01:24 RandalSchwartz ok - but how do I manage the perm/owner/group too?
01:25 manfred https://github.com/saltstack/salt/blob/develop/salt/states/file.py#L2464
01:25 manfred ugh, it should
01:25 manfred just pass it on to file module but it looks like it does not
01:25 manfred RandalSchwartz: module.run:
01:26 manfred - name: file.touch
01:26 manfred actually that won't work either
01:27 manfred RandalSchwartz: have you just tried using file.managed and not adding a source:
01:27 manfred cause source: is not required
01:27 RandalSchwartz I'm trying to figure out how to add both of those to the same line
01:27 RandalSchwartz I keep getting hashes where I need lists, and vice versa
01:27 manfred do it in a state
01:27 RandalSchwartz yes
01:27 RandalSchwartz I know that
01:28 RandalSchwartz what does the .sls look like?
01:28 xzarth joined #salt
01:28 RandalSchwartz this whole "sometimes it's a list, sometimes it's a hash" is still very confusing
01:28 manfred - means that section is a list
01:28 manfred no - means that section is a dictionary/hash
01:29 manfred it is yaml
01:29 RandalSchwartz I KNOW YAML
01:29 RandalSchwartz what I don't know is what salt wants where
01:29 manfred salt wants a list after the state
01:29 RandalSchwartz "the state"
01:29 manfred yes
01:29 manfred the state file
01:30 RandalSchwartz you mean after "/root/.ssh/authorized_keys:"
01:30 manfred the name is the first portion, then you list a stete function
01:30 manfred then you have the stuff for the state
01:30 manfred RandalSchwartz: here http://ix.io/bgJ
01:30 stanchan joined #salt
01:30 manfred add what you need for file.append
01:31 manfred and make sure that they order correctly
01:31 RandalSchwartz how do I add both file.managed and file.append to the same first line there
01:31 RandalSchwartz that's what I don't get
01:31 manfred i just showed you
01:31 manfred that is one file
01:31 RandalSchwartz no ... what is "keys"
01:31 manfred don't call it from the command line
01:31 RandalSchwartz Not calling it from the command line
01:31 manfred keys is just an abitrary label for that stae
01:32 RandalSchwartz Trying to understand this conceptually though
01:32 manfred then just put the things i put in the paste in a file /srv/salt/keys/init.sls, and call salt '*' state.sls keys
01:32 manfred and it applies the whole state to the servers
01:32 RandalSchwartz can I add both file.managed and file.append to that first line
01:32 manfred no
01:32 manfred because you can only have one file function per state
01:32 manfred because they could also be like this
01:33 RandalSchwartz how come on some others of these, they have multiple thingies per state
01:33 RandalSchwartz is file special?
01:33 manfred no
01:33 manfred you juust can't have multiple functions of the same time in the same state
01:33 manfred http://ix.io/bgK
01:33 RandalSchwartz wait... how does file.append know to work on /root/.ssh/authorized_keys then
01:33 manfred if I put file and apache and pkg all in one
01:33 manfred sure
01:33 manfred RandalSchwartz: http://ix.io/bgK
01:34 manfred check that
01:34 RandalSchwartz don't I need to have the same state at the beginning?
01:34 manfred i fixed it with more information
01:34 manfred no
01:34 manfred it listens to the name:
01:34 manfred name: is autofilled by the state name in the first one
01:34 RandalSchwartz but you're saying without name:, this would be impossible?
01:34 manfred jesus christ
01:34 manfred no
01:34 manfred name: is autofilled in the file.managed with teh state name
01:34 manfred open this one http://ix.io/bgK
01:35 manfred i put the name: thing extra, but the state name is different in the second
01:35 manfred RandalSchwartz: http://docs.saltstack.com/topics/tutorials/starting_states.html
01:35 manfred RandalSchwartz: notice in that how all of the same named functions are in different states
01:35 RandalSchwartz I've been through all the tutorials...
01:35 RandalSchwartz but they have gaps in information
01:35 manfred RandalSchwartz: IT WAS FOR AN EXAMPLE
01:35 RandalSchwartz "you can do it this way..." "or this way..." but then I go "well, why would I choose"
01:35 manfred to show you how they seperated file functions
01:36 redondos joined #salt
01:38 RandalSchwartz so "apache: \n pkg: \n - installed \n service: \n - running .."
01:38 RandalSchwartz that has two things attached to apache
01:38 RandalSchwartz why can I attach those two to apache, but not to this filename>?
01:38 ipalreadytaken joined #salt
01:38 redondos joined #salt
01:39 RandalSchwartz I guess it's never explained why a state needs a hash immediately beneath it
01:39 RandalSchwartz just a lot of examples without full explanation
01:39 RandalSchwartz so is it always state -> hash -> function -> list of args ?
01:40 RandalSchwartz and if so, what is "watch:", which looks like a second-level list
01:40 redondos_ joined #salt
01:40 manfred RandalSchwartz: http://ix.io/bgL
01:41 RandalSchwartz yeah, I've seen things that look like that
01:41 manfred that works
01:41 RandalSchwartz why can't I do this with both file.append and file.managed at the same hash level?
01:41 manfred because you can seperate the file.something into
01:41 manfred file:
01:41 Networkn3rd joined #salt
01:41 manfred - something
01:42 RandalSchwartz so can I go file: - managed, ... - append ?
01:42 manfred but not at the same hash level
01:42 redondo__ joined #salt
01:42 manfred because you then have two dictionary levels in yaml named file
01:43 RandalSchwartz no just one
01:43 seblu joined #salt
01:43 RandalSchwartz { filename: { file: { managed: [ args ], append: [ args] } }
01:43 redondos joined #salt
01:44 RandalSchwartz and if you can't have two levels, how does that httpd conf example work
01:44 manfred http://ix.io/bgM
01:44 RandalSchwartz I see nested hashes
01:44 manfred but it doesn't recognize hashs at that level
01:44 manfred it wants a list
01:44 RandalSchwartz see my example
01:45 RandalSchwartz then maybe this? { filename: { file: [{ managed: [ args ]},{ append: [ args]}] } }
01:45 redondos_ joined #salt
01:45 manfred i do not know if that would work
01:46 manfred RandalSchwartz: http://salt.readthedocs.org/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html
01:47 manfred i would defer to that
01:47 redondo__ joined #salt
01:48 RandalSchwartz ...     No function declared in state "file" in sls root-ssh
01:49 manfred patches welcome!
01:49 manfred but i don't think it does what you want it to do right now
01:49 redondos joined #salt
01:49 redondos joined #salt
01:49 RandalSchwartz not particularly applicable here
01:51 redondos joined #salt
01:52 manfred sure it is, just needs to add permission management to file.append state
01:53 * manfred adds it to his list
01:53 redondos joined #salt
01:53 manfred doesn't solve your whole problem of not being able to have more than one file function in the same state block, but you could solve this one problem
01:53 [diecast] joined #salt
01:54 dimeshake RandalSchwartz: i did something similar in a template with this http://sprunge.us/FGRO
01:54 RandalSchwartz yes - but append doesn't make the file if not present
01:54 RandalSchwartz so I need a file.manage as well
01:55 manfred yes, put it in another state block and require that state
01:55 manfred or as dimeshake did it, file.directory with recurse for user group and mode
01:55 RandalSchwartz so if file_present wants to require directory_present in the same level, what does that look like
01:56 manfred but you have to use a seperate block for the second file function
01:56 redondos_ joined #salt
01:57 mgw joined #salt
01:58 redondos joined #salt
01:58 RandalSchwartz so this sorta works, but how do I get each one to require the one before? http://pastebin.com/aiixCBxb
01:59 RandalSchwartz is there some "require" I can add?
01:59 RandalSchwartz perhaps just - require: directory_present
01:59 manfred RandalSchwartz: http://ix.io/bgP
01:59 manfred err sorry, this
02:00 redondos_ joined #salt
02:00 manfred RandalSchwartz: http://ix.io/bgQ
02:00 manfred so you have the makedirs: for file.append
02:00 manfred which will make the directories
02:00 manfred but then file.directory sets all the permissions
02:00 RandalSchwartz where does it make the file?
02:00 RandalSchwartz the append will fail there
02:00 srage joined #salt
02:00 mpanetta joined #salt
02:00 RandalSchwartz already tried that, many times
02:01 manfred dimeshake: was it failing for you for makeing the file?
02:01 RandalSchwartz yes
02:01 manfred i didn't ask you, i asked the guy that provided the example I edited
02:01 dimeshake yes
02:01 manfred dimeshake: where are you makeing the file then
02:01 dimeshake but i didn't realize it because earlier attempts had created the file already :)
02:01 redondo__ joined #salt
02:02 dimeshake i am adding a silly third state block to do that now
02:02 dimeshake with file.managed absent a source
02:02 rome joined #salt
02:03 RandalSchwartz well { key_present: { file.append: { require: file_present } } doesn't do it
02:03 RandalSchwartz (with the other append args, of course
02:03 redondos joined #salt
02:03 manfred can you try http://ix.io/bgT
02:04 manfred something like that
02:04 RandalSchwartz is there a syntax for "require another state in this same file"?
02:04 Gifflen joined #salt
02:04 manfred the require should just require another state at all
02:05 manfred so if you require a state, and send the server into a highstate, the other state should exist, or you will need to make sure that sls file is included
02:05 redondos_ joined #salt
02:05 RandalSchwartz of course it's included.  it's in the same file.
02:05 manfred right, so just the regular
02:05 manfred require:
02:05 manfred - <statefunc>: <name>
02:06 RandalSchwartz what's the statefunc for "the state in the same file as me"
02:06 manfred file.managed, the actual statefunc/whatever
02:06 manfred is the file
02:06 manfred file: <name>
02:07 RandalSchwartz oooh - that almost makes sense
02:07 manfred RandalSchwartz: http://ix.io/bgU
02:07 redondos joined #salt
02:07 redondos joined #salt
02:07 manfred like the require at the very bottom of that
02:07 RandalSchwartz let's see if it compiles :)
02:09 redondo__ joined #salt
02:09 manfred i am 90% sure you can reference it with the state name, you may be required to reference the thing you over write it with in the name: value of the state
02:10 manfred so this ones example might need to be
02:10 manfred require:
02:10 redondo__ joined #salt
02:10 manfred - file: /home/bob/.ssh/authorized_keys.... that would be the same one in both places
02:10 manfred so idk now
02:12 RandalSchwartz whoa... compiled
02:12 manfred nice
02:12 manfred which did you use for required?
02:12 manfred require*
02:12 RandalSchwartz lemme run it and make sure it runs now
02:13 RandalSchwartz and also make sure it doesn't zero out the file from the file.managed
02:13 RandalSchwartz ugh - I'm in heavy swap
02:13 RandalSchwartz not good on a laptop
02:14 RandalSchwartz so require: { funcname : id }
02:14 RandalSchwartz what if id has more than one funcname
02:14 RandalSchwartz does it run only the one?
02:14 dave_den require:\n  - module: ID dec
02:15 manfred RandalSchwartz: what do you mean?
02:15 manfred oh
02:15 manfred just
02:15 dave_den you can only have one module function per id dec
02:15 manfred RandalSchwartz: require: { pkg: httpd, service: httpd }
02:15 manfred like that?
02:15 RandalSchwartz ahh - so you'd have to spell out both
02:15 RandalSchwartz ok
02:15 manfred where you could have pkg.installed and service.running in the same state block?
02:15 manfred RandalSchwartz: yeah, or chain them
02:16 RandalSchwartz so service requires pkg
02:16 RandalSchwartz for example
02:16 manfred right
02:16 manfred service requires file requires package
02:16 manfred something like that
02:16 dave_den usually you want to use watch with pkgs
02:16 dave_den so that the service restarts when the package is installed
02:17 RandalSchwartz ok - I added a dummy line to auth_keys, and changed its permissions wrong
02:17 RandalSchwartz let's see if this fixes it up again
02:17 RandalSchwartz and doesn't add the key a second time
02:17 manfred or with service, so watch: file: /etc/httpd/conf.d/domain.conf and have it do a service.running with reload: True
02:17 RandalSchwartz Damn.  it worked.
02:17 manfred nice
02:17 manfred huzzah
02:18 manfred http://i.imgur.com/ph1fd.gif
02:18 RandalSchwartz ... http://pastebin.com/J1i0Xua1
02:18 RandalSchwartz and it's even nearly clear!
02:19 manfred clear that it is all magic and witchcraft?
02:19 fllr joined #salt
02:20 dave_den and you've hardly scratched the surface
02:20 dave_den :)
02:21 RandalSchwartz well - once require was actually explained.
02:21 RandalSchwartz I realized I could use my artificial ids
02:22 dave_den id decs are what salt cares about
02:24 RandalSchwartz now let's see if running this salt formula brings a vagrant base box up to include my ssh key
02:26 RandalSchwartz if so... I have only another six hours of work ahead of me, capturing the configs and packages belonging to $client_app :)
02:28 xl1 joined #salt
02:28 RandalSchwartz oooh - an ID has to be unique... I should fix those names to guarantee that
02:28 RandalSchwartz reading http://docs.saltstack.com/ref/states/highstate.html for the first time
02:29 ajw0100 joined #salt
02:30 RandalSchwartz Oh. f'ing yeah.  it worked
02:31 RandalSchwartz I can now configure from a vagrant base box!
02:31 RandalSchwartz thanks for your help guys!
02:31 manfred np
02:31 allanparsons ugh
02:31 allanparsons why do people still use wordpress
02:31 allanparsons such a pain to configure on aws
02:31 yomilk joined #salt
02:32 Corey allanparsons: Yes, and so easy to wind up owned.
02:32 Corey RandalSchwartz: Glad you got it sorted. :-)
02:32 allanparsons corey ha ha
02:32 xl1 joined #salt
02:32 RandalSchwartz well - we needed to get $client's webapp running on his local box
02:32 allanparsons ps, the apache formula in saltstack-formulas is way, way overcomplicated
02:32 Corey allanparsons: Apropos of nothing I worked in a web hosting shop supporting Wordpress whilst RandalSchwartz was consulting there.
02:32 RandalSchwartz and OSX vs FreeBSD is a bit crazy
02:32 Corey ...in Los Angeles.
02:32 allanparsons and the pillar doesnt work out of the box
02:33 RandalSchwartz Culver City you mean?
02:33 Corey RandalSchwartz: That'd be the one.
02:33 allanparsons where in culver city?
02:33 allanparsons what co?
02:33 Corey allanparsons: Oh, it's a GoDaddy company now. :-D
02:33 allanparsons ah
02:33 allanparsons where do you work now corey?
02:33 Corey allanparsons: A consulting group based out of San Jose.
02:33 allanparsons oh nice.
02:34 RandalSchwartz but I bet Danica Patrick was never stopping by :)
02:34 allanparsons it's la... she may have
02:35 yomilk joined #salt
02:35 RandalSchwartz No - not that place
02:35 allanparsons culver city is the bees knees now.  i work in downtown culver city.
02:35 allanparsons and venice.
02:36 RandalSchwartz you're close to where I work then
02:36 RandalSchwartz mostly santa monica on third st
02:36 rome joined #salt
02:37 allanparsons Randal - where?
02:37 allanparsons i live at 4th and Pico
02:37 allanparsons and i work right next to golds gym venice
02:37 allanparsons and i drink at Chez Jay
02:38 RandalSchwartz ZipRecruiter - next to parking lot 5
02:38 allanparsons oh sweet.
02:38 allanparsons Misfit is a legit get-wasted spot.
02:38 RandalSchwartz apple is in the same block
02:38 RandalSchwartz hooters is just around the cornder :)
02:38 allanparsons yeah
02:38 allanparsons you guys in the same building as Ouya or DogVacay?
02:38 RandalSchwartz I have no idea
02:39 RandalSchwartz we're in a part-residence building
02:39 RandalSchwartz adjacent to... lemme think
02:39 RandalSchwartz olympia at 3rd
02:39 RandalSchwartz so we cross olympia to get to the food court
02:40 leah joined #salt
02:40 allanparsons oh yeah yeah yea
02:40 allanparsons dude, you guys are so close to umami
02:40 allanparsons mmmm umami
02:40 RandalSchwartz yeah - we've been there a couple of times
02:40 RandalSchwartz most of the guys keep tryiung to drag me to "healthy" places though
02:41 leah hello i am new here
02:41 RandalSchwartz healthy for conventional wisdom, but not for me
02:41 RandalSchwartz I'm a low-carb high-fat guy
02:41 dave_den hi leah. welcome!
02:41 RandalSchwartz lean meat and veggies don't appeal to me
02:41 RandalSchwartz especially (eek) tofu
02:41 allanparsons Lemonade is good and healthy  (abbott kinney and venice)
02:41 leah hi trying to learn salt :)
02:41 allanparsons actually - True Food is really good.
02:42 RandalSchwartz no it isn't
02:44 dave_den leah: cool. if you have any questions, just ask. if someone knows, they will respond
02:44 RandalSchwartz only about two things I can eat there
02:44 RandalSchwartz the rest is mostly ugly
02:44 allanparsons quinoa pancakes are good
02:44 manfred red meat is where it is at
02:44 RandalSchwartz it's "healthy food" of conventional wisdom
02:44 allanparsons and the veggie crudite is good
02:44 leah Ok i will. I just started a new job as devops
02:44 RandalSchwartz sorry - after having discovered 20 months ago that most of what we were told abiout nutrition is wrong, I can't eat that crap any more
02:44 RandalSchwartz especially soy anything
02:44 manfred RandalSchwartz: brisket is the best
02:44 allanparsons i just work out. :)
02:44 allanparsons then i can eat whatevs.
02:44 RandalSchwartz I had a big hunk of meat tonight
02:44 allanparsons golds venice - i saw mike tyson there last week
02:44 allanparsons and magic johnson
02:44 allanparsons leah god help you.  they dont teach devops in school
02:44 manfred I had 10 wings, and some carrots, I am not a crazy person
02:44 leah no, not at all
02:44 RandalSchwartz boneless wings!
02:44 leah I am a new grad
02:44 RandalSchwartz I don't remember graduating
02:44 RandalSchwartz because I never did
02:44 leah feel wasting a lot time at school
02:44 dave_den heh. me neither
02:45 RandalSchwartz got out of high school 36 years ago
02:45 manfred RandalSchwartz: meh, We found a place near us, it isn't a big one, but it is family owned, the owner is from Buffalo, that man knows how to make wings, he chars them on the grill and has his own hot sauce
02:45 rome joined #salt
02:45 RandalSchwartz gainfully employed since then
02:45 allanparsons <<< graduated HS in 2001
02:45 * RandalSchwartz is old
02:45 allanparsons Randal - Pono Burger is good
02:45 allanparsons it's in an old WW2 bunker
02:46 RandalSchwartz looking that up
02:46 allanparsons http://goo.gl/maps/7n500
02:46 dave_den there's a burger movement going on in CO
02:46 * Eugene munches a room-service Turkey Club loudly
02:46 manfred lol
02:47 manfred now I want more of those wings...
02:47 RandalSchwartz oh geez... the net here is ugly
02:48 manfred http://www.fattboyburgers.com/menu/ that right there is a burger
02:49 Eugene This place seems to have a decent leased line, but as always, it goes to crap in the evenings when porhub usage goes up.
02:49 RandalSchwartz ahh.  pono is a slight bit out of range for lunch
02:49 allanparsons yeah, it's pricey :(
02:49 allanparsons ibring lunch every day.
02:49 allanparsons except fri
02:50 RandalSchwartz for my way of eating, just start pawing back through the authoritynutrition.com blog
02:50 RandalSchwartz that's not my only source, but I resonate with him
02:50 allanparsons i make 1 big ass meal on sundays
02:50 joehh http://www.dietdoctor.com/lchf is also good
02:50 allanparsons and then eat it for lunch throughout the week
02:50 allanparsons they say if you dont go out to lunch, you save $500k over your career
02:50 RandalSchwartz "top 11 biggest lies about vegan diets" :)
02:51 RandalSchwartz and you're also a loner
02:51 RandalSchwartz lunch is about social
02:51 RandalSchwartz if you don't go out, you lose out on the water cooler convo
02:51 allanparsons vegan... have you been to Cafe Gratitude
02:51 allanparsons i feel like its a parody of itself
02:51 RandalSchwartz most socal restaurants are :)
02:52 allanparsons meh, there's 11 people in my office.
02:52 allanparsons it's watercooler convo 24/7
02:52 dave_den you guys are lucky this channel is tangentially food related. less meat, more salt!
02:52 manfred dave_den: needs more pepper
02:52 RandalSchwartz Hey - I just had a breakthrough with salt
02:52 dave_den heh
02:52 RandalSchwartz I'm gonna be able to finish my $client's project tomorrow
02:53 RandalSchwartz I was worried yesterday
02:53 manfred dave_den: http://www.saltlickbbq.com/
02:53 RandalSchwartz vagrant + salt + freebsd + custom freebsd pkg repo
02:53 pydanny joined #salt
02:53 RandalSchwartz saltlick - been there
02:53 RandalSchwartz austin right?
02:53 manfred yes
02:53 RandalSchwartz I went to the one out in the sticks
02:53 dave_den manfred: my bbq obsessed friend actually loves saltlick
02:53 allanparsons best bbq in america:  oklahoma joe's
02:53 allanparsons it's in a gas station in kansas city
02:53 RandalSchwartz no wait... that's the one along the river
02:54 RandalSchwartz near the bat-bridge
02:54 dave_den stubbs?
02:54 manfred RandalSchwartz: i wanna go to Franklin's too, but i need to get a new yard chair and a better cooler for my beer
02:54 manfred the line starts at 6 am, and they open at 11
02:54 allanparsons in LA, your choice is: Baby Blues
02:54 allanparsons (Lincoln Blvd)
02:55 RandalSchwartz ahh - the driftwood saltlicks was my first, I think
02:55 manfred lockhart smokehouse is also delicious
02:55 RandalSchwartz didn't have a smartphone back then... just know I drove for a while
02:55 manfred in dallas
02:55 allanparsons i'll be in dallas next week
02:55 allanparsons lockhart?
02:55 manfred allanparsons: lockhart
02:55 manfred go there
02:55 manfred oh wait
02:55 manfred vegan
02:55 allanparsons ok
02:55 manfred it is just meat
02:55 manfred allanparsons: http://www.lockhartsmokehouse.com/
02:55 RandalSchwartz plants have feelings too!
02:56 manfred the sides aren't bad, but the meat is much much much better
02:56 RandalSchwartz besides... I'm very happy to be nearly at the top of the food chain!
02:56 RandalSchwartz I celebrate it nearly every day
02:56 manfred vim
02:56 manfred ...
02:56 RandalSchwartz I don't eat anything with a face... by the time I get it, that part is long gone. :)
02:57 dave_den RandalSchwartz: until you're cremated or buried. then you start at the bottom of the food chain.
02:57 allanparsons any other places i should eat in Dallas?
02:57 allanparsons or drink?
02:57 manfred no idea, i only went there
02:57 allanparsons my gf is going there for work all next week, too
02:57 manfred we were passing through for a thursday rangers game and then drove back to san antonio
02:57 RandalSchwartz when I'm worm food, I won't care
02:58 allanparsons ah
02:58 allanparsons conan is filming there next week!
02:58 allanparsons (dallas)
02:58 RandalSchwartz I have an .ics feed of where everything is filming :)
02:59 manfred Vegetables are interesting but lack a sense of purpose when unaccompanied by a good cut of meat.
02:59 manfred Fran Lebowitz
02:59 RandalSchwartz was curious about that when I worked in DTLA
02:59 RandalSchwartz vegetables are the food that my food eats
02:59 manfred yes
02:59 RandalSchwartz I have a ron swanson cut-out of that somewhere
02:59 manfred oh
02:59 micko joined #salt
02:59 manfred oh one second
03:00 redondos joined #salt
03:00 redondos joined #salt
03:00 manfred RandalSchwartz: http://nbcparksandrec.tumblr.com/post/73887670896/do-you-know-where-your-bacon-is
03:01 hotsnow when i run salt-ssh on master, it always return: [WARNING ] Unable to bind socket, error: [Errno 98] Address already in use
03:01 RandalSchwartz ROFL
03:01 RandalSchwartz not literally of course
03:01 manfred RandalSchwartz: http://i.imgur.com/ZqGhiUr.gif
03:02 manfred RandalSchwartz: my buddy and I swap ron swanson gifs the morning after new episodes
03:02 manfred RandalSchwartz: http://gtmanfred.com/~daniel/ron.avi
03:03 redondos hey that's not a gif
03:03 hotsnow salt-ssh run on my desktop work well
03:03 manfred it isn't but I never found one with all of the text from that one
03:06 Gifflen joined #salt
03:08 manfred RandalSchwartz: https://www.youtube.com/watch?v=dwGEUGIHS3E
03:10 RandalSchwartz oooh... a #8
03:10 RandalSchwartz "these will not be necessary"
03:11 RandalSchwartz ... https://www.youtube.com/watch?v=bU3Oo3r9b9s
03:11 manfred heh ♥ nick offerman
03:12 manfred everyone in that scene is
03:12 manfred just fantastick
03:18 ipalreadytaken joined #salt
03:18 fllr joined #salt
03:18 RandalSchwartz interviews with Nick Offerman say that the character evolved to be more like him
03:18 RandalSchwartz that's cool
03:20 srage joined #salt
03:20 manfred RandalSchwartz: http://upload.wikimedia.org/wikipedia/commons/4/4f/Nick_Offerman_2012_(cropped).jpg
03:20 fllr joined #salt
03:20 manfred I want some of this ron swanson http://hdwallpappers.com/images/wallpapers/Nick-Offerman-2009-CineVegas-Film-Festival.jpg heh
03:20 RandalSchwartz I have to go back and watch P&R again
03:21 xl1 left #salt
03:25 manfred RandalSchwartz: https://www.youtube.com/watch?v=894eCgouM9s
03:27 manfred > Meat tornados
03:27 l0x3py joined #salt
03:27 rushm0r3 joined #salt
03:28 Outlander joined #salt
03:28 Outlander hey team, anyone know of a good wordpress salt recipe?
03:32 manfred Outlander: i don't know of one, but when I learn different things, I just set up wordpress cause it is easy to do, but can also be made difficult... I use the following for wordpress portion of it http://ix.io/bh8
03:32 djaime joined #salt
03:33 manfred bah
03:33 allanparsons file.copy doesnt support mode/usr/group :(
03:34 manfred Outlander: [root@salt salt]# find /srv/salt/wordpress/ -type f | xargs tail -c +0 | curl -F 'f:1=<-' ix.io
03:34 manfred http://ix.io/bh9
03:34 manfred allanparsons: use file.managed, or directory with recurse, and leave source: blank
03:34 allanparsons i downloaded the wpcli
03:34 allanparsons tested it
03:34 manfred or use file.directory and recurse through
03:34 allanparsons and now i wanna copy it
03:35 RandalSchwartz & sleep
03:36 manfred peace o/
03:36 manfred RandalSchwartz: https://www.youtube.com/watch?v=IImEd__4sGU
03:40 Gifflen joined #salt
03:41 manfred RandalSchwartz: ... i didn't realize he is married to megan mullally, that makes the tammy episodes so much better
03:44 StDiluted joined #salt
03:44 yomilk joined #salt
03:44 snuffeluffegus joined #salt
03:48 jpeach joined #salt
03:48 jpeach http://salt.readthedocs.org/en/latest/faq.html#can-i-run-different-versions-of-salt-on-my-master-and-minion
03:49 jpeach I'm confused .. is it OK to run 2014.1.0 minions with a 0.17.4 master?
03:49 manfred no
03:49 manfred the other way around should be compatible
03:49 justlooks_ joined #salt
03:49 jpeach ah
03:49 justlooks_ hi anyone can help this https://gist.github.com/justlooks/9776675?
03:50 jpeach that's unfortunate, though it probably explains why it doesn't work ;)
03:54 tyler-baker left #salt
03:55 mattbarto joined #salt
03:56 justlooks_ for sample , this https://gist.github.com/justlooks/9776739 ,
03:57 jpeach thanks manfred
04:00 srage joined #salt
04:04 fllr joined #salt
04:06 nmistry_ joined #salt
04:10 fllr joined #salt
04:14 nmistry joined #salt
04:19 seapasulli joined #salt
04:25 alunduil joined #salt
04:28 napper2 joined #salt
04:31 mgw joined #salt
04:34 middleman_ joined #salt
04:47 bhosmer joined #salt
04:48 middleman_ joined #salt
04:49 nmistry joined #salt
05:11 mattbarto joined #salt
05:16 zignig joined #salt
05:17 ravibhure joined #salt
05:20 fllr joined #salt
05:20 zignig has anyone written a reactor script in python rather than sls  ?
05:20 zignig looking for an example but the goog is coming up blank.
05:23 kedo39 have you written a state file in python before?
05:23 kedo39 it looks like haven't made a reactor script before, but it doesn't look too different than the state files
05:23 zignig kedo39: yep , simple ones.
05:23 kedo39 wow, i derped up my sentence pretty hard
05:24 zignig kedo39: DERP ;)
05:25 kedo39 just write a run() function that returns the weird dictionary format
05:26 zignig kedo39: that's what I did , got a weird lowstate Type error.
05:26 zignig kedo39: I'll check my dict.
05:26 kedo39 paste it somewhere?
05:26 zignig kedo39: what i'm tring to do is look up minion names out of a database for accepting keys.
05:29 zignig kedo39: looks like my fail, returning a list rather than a dict.
05:29 kedo39 oh yea, i had that issue a lot
05:30 zignig kedo39: I've nearly have a hands off installer iPXE -> debian -> saltstack  web service.
05:31 kedo39 web service!?
05:31 zignig I just need to hook it in with reactor and I have a network service that can deploy salted debian machines
05:31 adizam joined #salt
05:31 MZAWeb joined #salt
05:31 kedo39 that sounds pretty cool
05:32 zignig kedo39: this is the last loop close , because it can deploy a copy of itself once the key accept is going.
05:32 zignig kedo39: do you have a example rector py script ?
05:33 kedo39 i do not :(
05:33 kedo39 i've only written a py state sls
05:34 kedo39 i'm not sure if it'll help you, but here it is: https://github.com/kennydo/salt-btsync-formula/blob/master/btsync/config.sls
05:35 zignig kedo39: ok , ill keep digging , looks like a return/parse problem. I might have to read the reactor source.
05:35 zignig kedo39: that does , funky nested dictionarys are needed .... ;/
05:36 zignig kedo39: once i have the bootserver serving and installing a syndic master I will be publishing all my code. not long I think.
05:36 justlooks_ anyone can help this ? https://gist.github.com/justlooks/9776739
05:37 kedo39 cool, i'd love to look at how it works
05:37 kedo39 justlooks_: looks like you mispelled directory on line 3
05:37 zignig justlooks_: typo line 3 , direcotry
05:40 fllr joined #salt
05:43 ipalreadytaken joined #salt
05:50 anuvrat joined #salt
06:05 Ryan_Lane joined #salt
06:08 rushm0r3 joined #salt
06:17 ChaosPsyke joined #salt
06:23 meteorfox joined #salt
06:26 Corey joined #salt
07:00 rdorgueil joined #salt
07:00 rushm0r3 joined #salt
07:00 stanchan joined #salt
07:01 hazzadous joined #salt
07:04 fragamus joined #salt
07:07 fllr joined #salt
07:10 justlooks how to use salt to create dir on ftp?
07:19 justlooks joined #salt
07:20 justlooks how can i create dir on ftp using salt?
07:25 justlooks anyone?
07:28 roolo joined #salt
07:30 ChaosPsyke justlooks: Just create a dir as normal in your FTP root.
07:32 yomilk joined #salt
07:32 slav0nic joined #salt
07:32 slav0nic joined #salt
07:33 justlooks ChaosPsyke: after i create a tomcat instance on HOST A ,i want to create a dir on HOST B ,how can i do this? i need maintain the order
07:35 yomilk joined #salt
07:44 rdorgueil joined #salt
07:45 Hipikat joined #salt
07:47 sgviking_ joined #salt
07:57 dman777 joined #salt
08:00 krow joined #salt
08:04 ahammond joined #salt
08:06 martoss joined #salt
08:07 fllr joined #salt
08:09 dRiN joined #salt
08:09 _fllr_ joined #salt
08:10 balboah joined #salt
08:11 rdorgueil joined #salt
08:11 rdorgueil joined #salt
08:12 Kenzor joined #salt
08:12 harobed joined #salt
08:32 yomilk joined #salt
08:32 n8n joined #salt
08:41 Katafalkas joined #salt
08:44 justlooks joined #salt
08:45 justlooks how can i set a variable on my pillar file ,when i run the module i pass a value of the variable to the pillar?
08:53 CeBe joined #salt
08:53 pkruithof joined #salt
08:55 pkruithof this is not so much a Salt-question as it is a security question: I want to set a password for a user, using the user.managed state, however in /etc/shadow I see that my password hash changes each time I set it, even though it's the same password. This is probably due to salt (the other type), but is it wise to put this same hash across multiple servers provisioned with Salt?
08:57 mike25ro joined #salt
09:00 q1x joined #salt
09:02 q1x rlarkin: Thanks, your debconf example saved my day yesterday :)
09:04 giantlock joined #salt
09:04 q1x Now I have another little thing I want to do, I found http://docs.saltstack.com/ref/modules/all/salt.modules.tls.html#salt.modules.tls.create_self_signed_cert
09:05 q1x But I can't seem to find a way I can use that in a state. Basically I want to install apache2, generate a self signed cert and enable https
09:06 q1x does anyone have an example that shows me how to generate a cert from states? (instead of calling the module)
09:07 fllr joined #salt
09:11 topochan joined #salt
09:14 Katafalkas joined #salt
09:18 sdlarsen justlooks: i've successfully used an external pillar to generate dynamic pillar information. Don't know if you can do it from a module
09:20 bhosmer joined #salt
09:24 Ztyx left #salt
09:25 hhenkel balboah: No problem.
09:25 balboah misstype?
09:25 ashb Hmmm so when i use state.show_highstate I get a TemplateNotFound error from a jinja import, but when I run the highstate it works fine.
09:27 hhenkel basepi: If 2014.1.1 is released wouldn't it be a godd idea to update the topic?
09:27 hhenkel balboah: yes, sorry.
09:28 hhenkel basepi: No problem, I'm happy that you reopened the issue.
09:29 ashb there's a 2014.1.1 out?
09:32 babilen ashb: yes, they tried to hide it from the community but some people noticed ;)
09:33 hazzadous joined #salt
09:33 babilen There wasn't an announce on the ML nor was the channel's topic updated and it the release notes were also only released yesterday.
09:33 seblu joined #salt
09:35 swissknife joined #salt
09:39 baffle Maybe they're waiting till all pacakages are built to announcy it fully.
09:39 hhenkel ashb: https://github.com/saltstack/salt/tree/v2014.1.1
09:39 mr_chris joined #salt
09:41 millz0r joined #salt
09:43 TyrfingMjolnir joined #salt
09:45 yota joined #salt
09:47 ChaosPsyke I have something weird happening. I am installing a package from a different repo. Salt installs the package but it still reports it as an error at the end of the highstate command. I tried running the command manually on a fresh server and it installs the package fine, but does not return success or failure. Any ideas?
09:48 kvbik joined #salt
09:53 kvbik joined #salt
09:56 lsc I build Windows executables for 2014.1.1, works fine!
09:56 lsc *built
10:02 ggoZ joined #salt
10:05 jtang1 joined #salt
10:07 fllr joined #salt
10:08 johtso joined #salt
10:13 mike25ro lsc: i haven't played with the windows part... i am interested only in having some service running on the win-minions that lets me run my own scripts there.... would that be a feasible thing?
10:14 lsc mike25ro: that's what I am using it for, it works fine (now that the keepalive is actually working, we're ready to deploy it)
10:14 mike25ro thanks lsc that is quite enough :) to have for a win machine
10:14 mike25ro the possibility to run your own ...stuff
10:15 mike25ro i have most of my scripts done with autoit ... so i just need a way to push EXE to minions and run
10:15 lsc yes, indeed
10:15 lsc deploying NRPE checks, common tools...
10:17 ajw0100 joined #salt
10:22 mike25ro thanks a lot lsc - one more Q : how do you deploy the win minion?
10:25 lsc mike25ro: I manually installed it on every machine once (only RDP access to most machines)
10:25 mike25ro lsc - i thought you did that :) i was aiming for the same solution
10:26 lsc mike25ro: but there's a deployment module somewhere which you use if you can access the RPC service and have remote login privileges
10:26 lsc *you can use
10:26 mike25ro aha lsc good to know
10:26 lsc mike25ro: after having it installed once, you can install updates directly using Salt
10:29 mike25ro of course i can imagine that
10:29 krow joined #salt
10:39 q1x ok, so to solve my cert problem I think I need to just use a module.run state to trigger tls.create_self_signed_cert. It works, but it is ignoring my args... :-(  Does anyone have an example of how to pass args to module.run?
10:41 seblu joined #salt
10:43 Nexpro joined #salt
10:44 carlos_ joined #salt
10:50 martoss left #salt
10:50 Katafalk_ joined #salt
10:52 Katafalkas joined #salt
10:52 TyrfingMjolnir joined #salt
10:54 ravibhure joined #salt
10:54 che-arne joined #salt
10:54 seblu joined #salt
10:55 faldridge joined #salt
10:56 q1x ok, seem to have found it. turns out I didn't have to specify  " - args: " as a list >.<
10:57 millz0r joined #salt
10:58 clemenko joined #salt
10:59 seblu joined #salt
11:07 fllr joined #salt
11:11 diegows joined #salt
11:12 jtang1 joined #salt
11:15 jtang1 joined #salt
11:20 jslatts joined #salt
11:23 jtang1 joined #salt
11:29 MrTango joined #salt
11:30 babilen I am using the following state for an NFS4 mount: http://paste.debian.net/89833/ -- The problem is that the idmapd (well, nfs-common) service isn't restart *before* it is mounted. What am I missing? I don't understand why nfs-var-www-foo is being run before nfs-common-service. Shouldn't the change to nfs-idmapd triggered the service restart immediately? (salt 2014.1.1)
11:33 jrdx joined #salt
11:38 hazzadous joined #salt
11:41 jtang1 joined #salt
11:50 krow1 joined #salt
11:52 Katafalk_ joined #salt
11:52 jtang1 joined #salt
11:54 clemenko left #salt
11:54 foxx joined #salt
11:55 MZAWeb joined #salt
12:06 ChaosPsyke joined #salt
12:06 bastion1704 joined #salt
12:07 fllr joined #salt
12:08 gadams9991 joined #salt
12:08 jtang1 joined #salt
12:14 kvbik joined #salt
12:20 oz_akan_ joined #salt
12:22 fragamus joined #salt
12:25 oz_akan_ joined #salt
12:29 elfixit joined #salt
12:36 ekristen joined #salt
12:36 untamo13 joined #salt
12:43 fllr joined #salt
12:45 fllr joined #salt
12:45 skogen joined #salt
12:46 jeddi joined #salt
12:47 sroegner joined #salt
12:48 swissknife left #salt
12:50 jslatts joined #salt
12:53 timidshark joined #salt
12:54 timidshark left #salt
12:55 srage joined #salt
12:55 mike25ro babilen: i have a similar problem with idmapd... and i don't see how to restart it...
12:55 Fred_ joined #salt
12:56 napper2 joined #salt
12:57 Networkn3rd joined #salt
13:02 mozg joined #salt
13:03 mortis how do you get salt to register custom pillar-modules? tried putting it in saltroots _modules and made an ext_pillar entry in master, but it keeps saying [CRITICAL] Specified ext_pillar interface <something> is unavailable
13:03 mozg hello guys. I am trying to investigate why I get the following error when trying to access virt.* modules, like virt.freecpu. The error I get is: Function virt.freecpu is not available
13:03 mortis also tried to manually copy it to pyshared and stuff, just to see if it worked, but it didnt
13:04 mozg the minion logs do not show anything interesting
13:04 mozg even if I run the comand locally with salt-call -l trace I do not see anything useful about this error
13:04 mozg is there a missing dependency which is not showing up in the logs?
13:05 MTecknology welp... it's time to move salt states to a git server!
13:05 mozg i am trying to run it on kvm host servers
13:06 jgelens Any idea when 2014.1.1 is going to be released?
13:06 MTecknology Can I put pillar data in a git repo as well?
13:06 mortis MTecknology: yeah, ext_pillars
13:06 MTecknology that'll be something I haven't used ext_pillar for yet.
13:07 fllr joined #salt
13:08 mortis MTecknology: oh, but maybe youve made some custom ext_pillars? :)
13:08 rome joined #salt
13:10 srage joined #salt
13:11 MZAWeb joined #salt
13:11 Katafalkas joined #salt
13:14 juicer2 joined #salt
13:15 Gifflen joined #salt
13:16 MTecknology mortis: I have
13:17 skogen mortis, i think you need to add your custom pillar source modules in extmods on your master, _modules etc under saltroots are afaik only for the minions
13:17 mortis extmods?
13:17 mortis hmm
13:18 mortis the module is in /var/cache/salt/minion/extmods/modules i see
13:19 mortis so i have to create one for master?
13:19 mortis exmods
13:19 mortis extmods*
13:20 skogen pillar data is generated on the master, not on the client, so if thats the thing you're after then yes.
13:20 skogen atleast that is my understanding of it, someone will probably correct me later :)
13:21 mortis hmm, there is no extmods folder under master, but i tried creating it and restart master
13:21 mortis but getting the same message
13:22 rome joined #salt
13:22 mortis using locate, i can see where the existing pillar modules are
13:22 mortis copying stuff there doesnt help
13:23 skogen adding it here did not help .../site-packages/salt/pillar ?
13:24 faldridge joined #salt
13:24 mortis no such thing here
13:24 mortis im on debian wheezy
13:24 bastion1704 joined #salt
13:25 skogen /usr/lib/python2.6/site-packages/salt/pillar
13:25 skogen should be there on debian as well ?
13:25 mortis yeah, its there
13:25 mortis its called dist-packages :)
13:26 skogen close enough :P
13:26 mortis yeah :D
13:26 gnugnu9 joined #salt
13:29 rome joined #salt
13:30 skogen oh well, time for my question: Anyone have some execution modules for managing Jetty or WebSphere Application Server?
13:30 MZAWeb joined #salt
13:30 babilen mike25ro: I experimented a lot and am now using: http://paste.debian.net/89851/ -- It looks as if adding the "require: - service: nfs-common-service" to mount.mounted did the trick.
13:30 babilen s/a lot/a bit further/
13:31 mortis got it!
13:31 mortis that lil thing extension_modules:
13:31 mortis must be set in master
13:32 mortis the documentation isnt correct on that one
13:32 mortis it didnt find my module otherwise
13:34 yota hi
13:34 mike25ro babilen: ok, good to know
13:35 yota __salt__[] is the only way to access on own module functions?
13:36 yota s/on/to/
13:36 faldridge joined #salt
13:37 jkolbert left #salt
13:37 yota I've a function F1 in test.py, I want import F1
13:37 timoguin joined #salt
13:37 sandbender1512 joined #salt
13:37 yota Must use __salt__[test.F1] or I can use from XXX import F1?
13:40 ipmb joined #salt
13:41 troyreadyy joined #salt
13:45 timidshark joined #salt
13:45 rome joined #salt
13:45 ajprog_laptop joined #salt
13:46 vejdmn joined #salt
13:47 DavidK joined #salt
13:49 timidshark left #salt
13:50 troyreadyyy joined #salt
13:52 StDiluted joined #salt
13:52 brokebit joined #salt
13:55 musonic joined #salt
13:55 musonic can someone help me with the file module?
13:56 musonic is there a way to copy directories?
13:56 mike25ro musonic: how can we help
13:56 mike25ro musonic: copy within a state?
13:56 musonic yes.
13:56 Whissi joined #salt
13:56 mike25ro or as a cli command?
13:57 musonic i need to copy some apache config stuff from one place to another. I’ll quickly make a gist of how my state looks at the moment
13:57 musonic https://gist.github.com/musonic/7e015841da073ee4f121
13:58 musonic this currently isn’t working...
13:58 mike25ro let me see.. i have to run out for 10 min
13:58 musonic if I just copy over the apache2.conf file it works fine but as soon as try and do more than that it fails.
13:58 musonic thanks mike25ro
13:59 musonic just so you know, I’m provision a VM using salt and vagrant
13:59 mike25ro musonic: ... you want to copy from the salt master to a minion?
13:59 mike25ro ah.. hmm.. never used vagrant...
13:59 musonic yes, i think so?
13:59 musonic the vagrant bit shouldn’t be a problem
13:59 musonic as long as i can get my state right
13:59 mike25ro musonic: why don't you use file.manage?
13:59 musonic i’m running it masterless at the moment
14:00 mike25ro ah...
14:00 mike25ro shit... i never run a masterless thingy
14:00 mike25ro only master+ minions... sorry buddy.. i don
14:00 mike25ro 't know exactly ... what to say
14:00 musonic the files are in a shared directory /src/salt/apache2, but they need to be in /etc/apache2
14:01 musonic I can do it by running bash commands through vagrant, but i’d rather keep all my provisioning under salt
14:01 mike25ro i know what you mean..
14:01 Dave_Kelliher joined #salt
14:01 musonic i kind of hoped that file.copy would work with directories too, but it doesn’t seem to
14:02 musonic do you think i could symlink? would apache still find the config files?
14:03 tyler-baker joined #salt
14:04 gadams9991 left #salt
14:04 kaptk2 joined #salt
14:07 kvbik joined #salt
14:08 jaimed joined #salt
14:10 sandbender1512 anyone around that's making use of - stateful: true in a cmd.run state?
14:11 sandbender1512 I'm having a really hard time getting it to work, ie: nothing I do results in the stateful cmd.run indicating it's making changes
14:12 Katafalk_ joined #salt
14:12 sandbender1512 tried both key=value output of the command as well as json
14:13 mike25ro musonic: can you just trigger a cmd.run ? and cp -r your dir... ?
14:14 rome joined #salt
14:14 GradysGhost joined #salt
14:14 musonic that’s a thought.
14:15 musonic i’m pretty new to salt so haven’t explored the cmd module yet.
14:15 MTecknology I can't seem to get pygit2/libgit2 installed in debian in a way that salt-master will run. :S
14:15 mike25ro musonic: you can use it in your state:
14:16 musonic i’ll check out the docs
14:16 musonic thanks!
14:16 mike25ro http://docs.saltstack.com/ref/states/all/salt.states.cmd.html?highlight=cmd.wait
14:16 quickdry21 joined #salt
14:17 elfixit joined #salt
14:17 musonic cool
14:17 Darnoth joined #salt
14:18 mgw joined #salt
14:19 Gordonz joined #salt
14:20 Gordonz joined #salt
14:25 srage joined #salt
14:25 rallytime joined #salt
14:26 MTecknology Is it not possible to combine file and gitfs backends?
14:28 MTecknology yes it is... I just didn't read well enough.
14:30 mozg anyone have any idea why I am having issues with using virt.* modules?
14:31 rgbkrk joined #salt
14:31 mozg are there any dependencies which need installing perhaps?
14:31 mozg i can't find any errors in the logs
14:33 jeremyBass1 joined #salt
14:34 untamo13 joined #salt
14:34 oznt joined #salt
14:35 oznt hi everyone, I am trying to create a state which verifies that a database exist, and if not it should create it (using mysql).
14:37 oznt can someone look at this: http://paste.debian.net/89862/
14:37 fllr joined #salt
14:37 oznt I managed to create the table from the command line, but not from the state
14:38 MZAWeb oznt: http://docs.saltstack.com/ref/states/all/salt.states.mysql_database.html
14:38 MZAWeb mysql_database.present is what you're looking for
14:38 oznt MZAWeb, if it is not present it should create one?
14:38 MZAWeb indeed
14:39 seblu joined #salt
14:39 oznt I tried that, but I got an error: No function declared in state "mysql_database" in sls webserver.mysql
14:40 oznt MZAWeb, do you have a clue how I can solve this?
14:40 MZAWeb post your state
14:42 oznt I found the problem
14:42 oznt i had the word 'present:' I guess it should be 'present'
14:43 MZAWeb You also need to make sure mysql is running
14:43 MZAWeb - require:
14:43 MZAWeb - service: mysql
14:43 JPuff joined #salt
14:43 JPuff left #salt
14:43 ajprog_laptop1 joined #salt
14:47 oznt MZAWeb, yes of course , i have that. Darn, I love salt.,
14:48 seblu joined #salt
14:48 thedodd joined #salt
14:52 anuvrat joined #salt
14:52 mike25ro we all do oznt
14:54 diegows joined #salt
14:55 mortis how do you list the contents of a pillar.item? read the docs and tried for instance salt "*" pillar.get pkg:apache
14:55 mortis but it returns nothing
14:55 mortis same with pillar.item
14:55 mortis if i run pillar.items, i get the full list
14:55 Networkn3rd joined #salt
14:57 yawniek joined #salt
14:58 oznt so how do I add grants? the example in the documentation just shows:  all privileges
14:58 krow joined #salt
14:59 oznt if I just want "SELECT, INSERT, UPDATE, DELETE, CREATE ..." should I also separate the values in commas in the state file?
15:00 yawniek hmm i havent used salt for about a year and lost my old setup. whats the usual workflow when you want to checkin your salt states etc into github. how should i do the initial setup?
15:01 alunduil joined #salt
15:02 wendall911 joined #salt
15:05 MTecknology yawniek: funny... I'm moving my states, pillars, and ext_pillars into a git server
15:06 MTecknology I got the states moved there - http://docs.saltstack.com/topics/tutorials/gitfs.html
15:06 meteorfox joined #salt
15:06 oznt is there a better way to this? http://paste.debian.net/89870/ I am trying to grant multiple privileges to user
15:07 jeremyfelt joined #salt
15:08 seblu joined #salt
15:08 oznt the documentation can be better here ...
15:09 rushm0r3 joined #salt
15:09 kermit joined #salt
15:09 think-free joined #salt
15:09 kermit joined #salt
15:09 MTecknology oznt: that's gonna cause breaking. The doc is actually pretty clear how you need to add multiple-     The grant priv_type (i.e. select,insert,update OR all privileges)
15:10 oznt MTecknology, I found a better example https://sourcegraph.com/github.com/saltstack/salt/tree/master/salt/states/mysql_grants.py
15:10 bhosmer joined #salt
15:13 UtahDave joined #salt
15:13 yawniek MTecknology: hmm interesting thanks. ill probably use blazing with a post commit hook  ( https://github.com/effkay/blazing )
15:15 StDiluted joined #salt
15:15 krow joined #salt
15:15 timoguin joined #salt
15:15 seapasulli joined #salt
15:17 Mr_N_ I love when Jinja gives me errors on commented lines.
15:17 Mr_N_ # {%       endfor %} # for key_map in key_data    <======================
15:17 Mr_N "Totally useful"
15:18 Mr_N Love it.  I have a state with literally EVERY LINE COMMENTED OUT that still errors.
15:18 mpanetta joined #salt
15:19 babilen What would be a sensible way to generate SSH keys on one host that are then distributed to others? I am not quite sure how to express these "inter-node dependencies"
15:19 Mr_N Use file.managed, potentially babilen
15:20 Gifflen joined #salt
15:21 babilen I don't quite follow .. I have to generate keys on one host and want to add the generated public key to other hosts. Not sure how to do that
15:22 Mr_N Ah, from one minion to another minion?
15:22 babilen yes
15:22 Mr_N In the model I was imagining, you'd generate them on the master, and use file.managed to export them to minions
15:22 Mr_N If you want to do host->host, you might use reactor to trigger a key generation module, and push that module to another targeted machine?
15:22 jeremyfelt joined #salt
15:23 Mr_N You could really write the whole thing basically in python via execution modules
15:23 sijis whiteinge: ping - are you free for pepper talk?
15:23 Mr_N But that's an "awfully big hammer"
15:23 babilen I just want to make sure that I have the private/public key pair on one and distribute the public one to others. Background to this is that a customer is syncing with lsyncd and I have to ensure that lsyncd can scp/sftp to selected minions
15:23 Mr_N You want to put it in ssh auth keys?
15:23 babilen The easier/simple the better
15:24 babilen Mr_N: yes, exactly
15:24 Mr_N Well, there's a state for doing ssh_auth
15:24 Mr_N (called ssh_auth)
15:24 Mr_N doing it from host->host is the only wonky part, and will differ depending on your personal salt workflow
15:24 Mr_N some combination of states using ssh_auth, python execution modules, and pillar, should help you.
15:25 Mr_N Coincidentally, I'm actually hacking on my key deployment mechanisms right now, but a totally different problem :P
15:26 RandalSchwartz if a state requires many packages installed... would I make up a state id, then have both pkg: installed, and names: [.... list of packages... ]
15:26 babilen I am simply not sure how I can generate the keys on, say, minion1 and then tell minion2-minion50 to use the public key for user FOO.
15:26 Mr_N This is where pillar + execution modules come in.
15:26 Mr_N you use pillar to denote what nodes do what
15:26 MTecknology I just hosed my salt server. I tried rebooting it. It went kaBOOOOM! :(
15:26 Mr_N and execution modules to copy the keys appropriately
15:27 Mr_N (again, doing it host->host makes it more difficult, if you can rethink your module to be master centric, that makes it easier)
15:27 babilen Mr_N: I've never used that, but I won't mind reading documentation. But first things first: How do I generate the key?
15:27 Mr_N There may be a more elegent way to do this, (I'm no expert), but as I said, execution modules are basically raw python.
15:27 Mr_N So you can generate from within that.
15:28 mgw joined #salt
15:29 sandbender1512 RandalSchwartz: yes
15:30 RandalSchwartz cool - I think I'm starting to get this.
15:31 RandalSchwartz and other things that depend on that, can just say "require: pkg: my-made-up-id"
15:32 babilen yes
15:32 RandalSchwartz I'm salting an entire server today.  mod_perl, postgresql, perl application with dozens of modules
15:33 babilen RandalSchwartz: Although you might want to consider writing more fine-grained states than that. I consider long lists of packages to be a "code smell" (they don't have to be!)
15:33 bastion1704 joined #salt
15:33 RandalSchwartz well - the app will want many perl packages installed
15:33 RandalSchwartz that's teh one I'm thinking
15:33 spiette joined #salt
15:33 babilen RandalSchwartz: Also take a look at https://github.com/saltstack-formulas for ready-to-use (well, most of them) recipes.
15:33 RandalSchwartz { admin_app: { pkg: installed, names: [many package names here] } }
15:34 RandalSchwartz so I can overall require pkg: admin_app
15:34 meteorfox joined #salt
15:34 RandalSchwartz could I extend that to...
15:35 RandalSchwartz { admin_app: { pkg: installed, names: [many package names here], require: {pkg: apache_mod_perl}} } }
15:35 Linz joined #salt
15:35 RandalSchwartz so that admin_app requires my virtual apache_mod_perl id?
15:35 RandalSchwartz might hvae too many }'s :)
15:36 mpanetta_ joined #salt
15:38 mpanetta_ joined #salt
15:38 utz joined #salt
15:39 Mr_N Hm.  If anyone is better at understanding what Jijna's nonsense errors imply than I am
15:39 Mr_N # {%           set key = key_map['key'] %}
15:39 Mr_N #    - key: {{key}}    <======================
15:40 Mr_N It's saying 'str' object has no attribute 'key'
15:40 Mr_N But more importantly, why the hell does it insist on trying to debug comments.  /must be doing something stupid/...
15:40 Mr_N (I must be, not Jinja)
15:41 RandalSchwartz comments in the .sls are not jinja comments
15:41 babilen Mr_N: Comments in jinja are {
15:41 RandalSchwartz # {% publication_date %]
15:41 RandalSchwartz that would show up in the .sls as # jan 14, 2014
15:41 babilen Mr_N: Comments in jinja are {# ... #}
15:41 RandalSchwartz or whatever
15:41 Mr_N I think I've been writing my comments wrong for months now
15:42 RandalSchwartz so yes, live jynja code in .sls comments still must be executed
15:42 Mr_N And somehow it _never_ bit me in the ass.
15:42 RandalSchwartz did you ever look at your output? :)
15:42 frasergraham joined #salt
15:42 babilen heh
15:42 Mr_N Yes, I just never hit a situation where that'd be an issue Randal :(
15:42 Mr_N It was only recently in debugging this one state that I've been commenting out large blocks of state
15:42 oznt can I pass variables to states? I want to run for example: sudo salt 'webserver1' state.sls webserver.mysql database=application1
15:42 RandalSchwartz in template toolkit all the time, we do things like <!-- [% somevar.dump | html %] -->
15:42 RandalSchwartz then view source to see what it is
15:43 Mr_N Is there a better way to view the compiled state rather than -ldebug, by the way?
15:43 RandalSchwartz the fact that it's an HTML comment doesn't slow the templator down :)
15:43 Mr_N since the signal to noise on that can be rather terrifying, sometimes
15:43 jalbretsen joined #salt
15:43 oznt I would like {% database %} to be replaced with application1
15:43 RandalSchwartz so far, in salt, the firehose is either [ ] OFF or [ ] ON :)
15:43 oznt I hope my question is clear...
15:44 yawniek hmm experimenting with freebsd, not sure if i did the state (as per tutorial) wrong or if this is a bug:  https://dpaste.de/kwEO/raw
15:44 frasergr_ joined #salt
15:44 * RandalSchwartz is salting a freebsd server at the moment
15:44 Linz joined #salt
15:44 * Mr_N is trying to figure out what he did terrible wrong in this state.
15:45 RandalSchwartz are you missing a newline at the end of init.sls?
15:45 RandalSchwartz the placement of that % scares me
15:45 Mr_N Nah.  I'm just running it as a one off.
15:45 Mr_N (to debug it.)
15:46 RandalSchwartz I wonder if the "installed" check is broken
15:46 babilen oznt: Why don't you set that in a pillar and get the data in that state from there? I would personally prefer that (reproducability) rather than relying on having to remember to set it on the command line.
15:46 babilen oznt: And to add to that: I am not sure if you can do what you want to do (sorry)
15:46 Mr_N God.  I feel stupid for not realizing it'd try and encode the comments now.
15:46 oznt babilen, yes I was thinking of that too... but I still didn't get the grasp of pilar. It's all new to me ...
15:47 Mr_N Multiple embedded DSL's always hurt my logic :(
15:47 yawniek RandalSchwartz: adding a newline makes no difference
15:48 RandalSchwartz I'm hoping that isn't broken, or it'll make me a sad panda today
15:48 yawniek dito
15:49 RandalSchwartz if I have to do all the pkg installs as run.cmd... ugh
15:49 oznt babilen, how do you query the logs on salt minion? do you have to configure rsyslog? is there a built in way to collect all salt logs from the minions?
15:49 babilen oznt: They are wonderful. Think of them as a key-value datastore for your minions. You can then use data from a pillar in your states. Looking at some established recipes such as https://github.com/saltstack-formulas/openssh-formula/blob/master/openssh/files/sshd_config + https://github.com/saltstack-formulas/openssh-formula/blob/master/pillar.example
15:49 obimod joined #salt
15:50 obimod mmmmm salt
15:50 LowWalker joined #salt
15:50 babilen oznt: Are you looking for http://docs.saltstack.com/topics/jobs/index.html ?
15:50 LowWalker left #salt
15:50 babilen oznt: Also read http://docs.saltstack.com/topics/tutorials/pillar.html (regarding pillars)
15:51 * babilen ♥ (git) pillars and gitfs
15:51 yawniek RandalSchwartz: seems like the HEAD on master has a quite different freebsdpkg.py, lets see
15:52 whiteinge sijis: yes indeed!
15:52 forrest joined #salt
15:53 whiteinge i wasn't able to do anything more before i signed off yesterday. i see you sent a few pull reqs. (woot!) i'll get those merged momentarily.
15:53 sijis whiteinge: i was thinking about this yesterday. could it be that i'm running pepper on a separate server than salt master (which is what i would expect)
15:53 sijis whiteinge: also, could it be related to the mk_temp update in salt-api?
15:53 obimod Hey guys! I'm trying to deploy some saltiness out to a digitalocean instance with salt-cloud -m 'map_file'. So I setup the configs files and hit the enter key to execute the deployment. Via API Salt launches the DO instance and connects via SSH successfully with the last reported message being "Warning: Permenantly added 'xxx.xxx.xxx.xxx' (RSA) to the list of known hosts. The only problem is, it stops there. Any idea why the bootstrap
15:54 whiteinge i hope that's not the case (since that's teh value of pepper in the first place ^_^)
15:54 * goodwill looks whiteinge
15:54 * goodwill looks at whiteinge
15:54 obimod I'm looking for some next steps to take
15:54 obimod what does looking whiteinge look like?
15:54 obimod : P
15:54 * whiteinge blindfolds goodwill, spins him around a couple times and sends him in the general direction of the pinata
15:55 goodwill woohoooo
15:55 sijis whiteinge: right. i would agree, so i just thought, maybe its the api change then.
15:55 sijis whiteinge: i don't think its related that i'm using http instead of https.
15:56 hunter_ joined #salt
15:56 obimod oh god i'm trying to order pizza at 9am
15:57 sijis whiteinge: anyhow. i wasn't sure if you were able to reproduce the problem i was seeing yesterday or not
15:57 * RandalSchwartz doesn't eat pizza any more... too many carbs
15:57 sijis whiteinge: i also submitted a few PR (very minor stuff)
15:57 obimod i order thin crust : D
15:57 RandalSchwartz still too much
15:57 obimod : (
15:57 RandalSchwartz wheat does bad things to my joints anyway.
15:58 obimod ooOOoo
15:58 whiteinge sijis: didn't have time before i left yesterday. will try shortly
15:58 RandalSchwartz I'll happily eat all the toppings though
15:58 obimod mmm ham and pineapple
15:58 RandalSchwartz the fatter the better.
15:58 RandalSchwartz no... pineapple too carby
15:58 obimod lol
15:58 Mr_N Hey RandalSchwartz ; mind if I pick your brain again?  You seem to have a far better grasp of jinja than I do
15:58 RandalSchwartz and now tastes over-the-top sweet. :)
15:58 RandalSchwartz Mr_N I'm still new to this
15:58 Mr_N As am I ><
15:58 RandalSchwartz only read the jinja stuff two weeks ago :)
15:59 RandalSchwartz but I know templating :)
15:59 obimod he's prett picky, i'm sure he won't mind Mr_N
15:59 RandalSchwartz and normal YAML :)
15:59 Mr_N This is my first real heavy usage of templating
15:59 RandalSchwartz of which JSON is a subset, hence my preferred representation in here
15:59 meteorfox joined #salt
15:59 Mr_N Outside of like, formal C++ templating, but that's a different cupcake entirely
15:59 marcel joined #salt
15:59 brokebit left #salt
15:59 obimod Mr_N have you seel the stalt-stack/salt-formulas repository yet?
15:59 RandalSchwartz I still haven't tested just writing my sls in "JSON" even though it wants "YAML"
16:00 obimod seen*
16:00 Mr_N obimod: I've seen some, no idea if I've seen the "official" ones
16:00 RandalSchwartz in theory, it *should* work if the YAML parser is compliant
16:00 Mr_N I derived some of my methedologies from UtahDave's gists
16:00 obimod https://github.com/saltstack-formulas/salt-formula
16:00 meteorfox joined #salt
16:00 Mr_N So RandalSchwartz :  I have the following.  http://pastebin.com/cYXxTwxM
16:00 obimod i think those are official
16:01 Mr_N I'd expect uid to iterate "as usual"
16:01 Mr_N but salt says I get a Conflicting ID "short_test_key_1"
16:01 ipalreadytaken joined #salt
16:01 Mr_N Oh wait
16:01 Mr_N Hah.
16:01 obimod do you need the salt['pillar.get'] anymore?
16:01 Mr_N Thanks for being a rubber duck ><
16:01 Mr_N I'm just an idiot.
16:02 obimod i think pillar.get('users') will work in 2014.1.0
16:02 Mr_N obimod: I haven' updated, due to other problems.
16:02 obimod Mr_N I wish I made that decision
16:02 Mr_N There are some outstanding issues against 2014 that I pushed that break my deployment.
16:02 druonysus joined #salt
16:02 RandalSchwartz Yeah - that's alraedy beyond me :)
16:02 Mr_N Most notibly, multi mastering.
16:03 KyleG joined #salt
16:03 KyleG joined #salt
16:03 obimod I'm stuck right now : ( using salt-cloud and only getting as far as [DEBUG   ] Warning: Permanently added '107.180.95.122' (RSA) to the list of known hosts.
16:03 Mr_N I've gotten some unfortunate pushback from my supervisor for chosing salt what with all the problems that have cropped up surrounding the update :/
16:03 Mr_N Which sucks, since I've enjoyed using it way more than puppet.
16:04 scarcry Mr_N: that sucks indeed and I agree about salt vs puppet
16:04 Guest82896 left #salt
16:04 obimod I wonder, since I'm pretty new to this, if I should use the older version of salt
16:05 RandalSchwartz I don't want to learn the pseudo-language of puppet... although the data-as-code approach of salt is also a negative
16:05 conan_the_destro joined #salt
16:05 obimod YAML is becoming more prevelant.. do you mean dictionary forming with yaml instead of python being a negative?
16:07 RandalSchwartz no - more like regardless of how much you think .sls are idempotent "states", there's still operational semantics for some of the links
16:07 RandalSchwartz so in effect, it's a programming language described as data
16:07 RandalSchwartz like LISP. :)
16:07 RandalSchwartz but without any of the power of lisp
16:07 obimod interesting
16:08 RandalSchwartz this is less objectionable than inventing an entire new pseudo-programming langauge, which then has to be learned for syntax as well as semantics.
16:08 Mr_N Hey RandalSchwartz you never mentioned, is there a clean way of viewing a compiled .sls file?
16:08 RandalSchwartz at least with .sls, I already know the syntax.
16:08 RandalSchwartz actually - I don't know how to view the procssed file yet.  maybe one of the fine gentlemen here can help us out
16:09 rushmore joined #salt
16:09 RandalSchwartz keep in mind I've been programming professionally since 1977, so I've had a lot of chances to see good and bad and horrible language design.
16:10 Mr_N I googled around a bit to little avail on how to view a compiled state
16:11 obimod same year Pohl wrote Gateway! Just finished that book... such a good one
16:11 RandalSchwartz Oooh... shebang line in .sls file defines the renderer!
16:11 Mr_N RandalSchwartz: I'm honestly on the brink of saying "fuck this noise" and writing it all in python
16:12 Mr_N since at least then I'd be done with it.
16:12 repl1cant RandalSchwartz: there's a name I haven't seen at years. I used to be the primary admin/engineer @ Sprocket Data. I beleive we hosted an OpenBSD box for you some 10-12 years ago
16:12 whiteinge Mr_N: there's not a way to view the exact templated sls. running state.show_highstate or state.show_sls <slsname> will get you close though
16:12 Mr_N Thanks whiteinge
16:12 RandalSchwartz you're not Cruz?
16:12 repl1cant RandalSchwartz: no, not Cruz
16:12 repl1cant I used to be his boss ;-)
16:13 RandalSchwartz aha!
16:13 repl1cant not Jeff either, he was my boss
16:13 RandalSchwartz we probably conversed a few times then
16:13 RandalSchwartz ahh - more thinking of Jeff, yes
16:13 RandalSchwartz I think I went to arpnetworks after that
16:14 RandalSchwartz no - there was a jump in the middle somewhere
16:14 * RandalSchwartz cannot remember
16:14 repl1cant ha, well it was some time ago
16:15 RandalSchwartz I'm salting a box today, so that we can mimic it in virtualbox
16:15 Mr_N Hm.  Probablem being whiteinge ; at that point, it's already optimized the compiled state out to a NoneType
16:15 * whiteinge nods
16:15 Mr_N I'm running into a strange conflicting ID problem, so I've essentially trimmed out all the "meat" of the state to make debugging easier
16:15 Mr_N but this makes it impossible to debug using show_*
16:16 whiteinge the conflicting ID error is a Salt thing not a yaml thing. state IDs in Salt must be unique (because they're dictionary keys)
16:16 Mr_N I know.
16:16 Mr_N There are multiple layers of problems here.
16:16 whiteinge ah
16:16 jdenning joined #salt
16:16 Mr_N (which is why I removed as much as I could, to narrow it down)
16:17 whiteinge pastebin? perhaps i can help
16:17 Mr_N Right now I'm dealing with the conflicting ID issue that seems to be caused by YAML not behaving as I'd expect
16:17 Mr_N Sure.  I already pastebinned it earlier, I'll relink.
16:17 whiteinge sorry, havent' skimmed my whole scroll back yet :-P
16:17 RandalSchwartz you are likely generating the same foo_bar: line twice
16:17 RandalSchwartz can't have two lines with the same name
16:17 Mr_N I am Randal
16:18 Mr_N I realize this is the problem
16:18 Mr_N but I'm generating a UID each iteration of the loop
16:18 Mr_N that should "fix this"
16:18 RandalSchwartz ok - then it's in the part that I don't understand :)
16:18 Mr_N but it claims there's a collision
16:18 Mr_N which means the UID isn't iterating properly
16:18 Mr_N Here
16:18 Mr_N http://pastebin.com/cYXxTwxM
16:18 Ryan_Lane joined #salt
16:18 Mr_N (but I moved the set uid = 0 above the initial for, "just to be safe")
16:19 Mr_N and it still errors.
16:19 mike25ro left #salt
16:20 oznt do you have an example how to render informations in pillar inside a managed file ?
16:21 RandalSchwartz ahh... I know how to review the output of jinja
16:21 RandalSchwartz put it as a pillar
16:21 RandalSchwartz and have it all result in a text value
16:21 RandalSchwartz then view that text value :)
16:21 Mr_N RandalSchwartz: Hah.  I recalled that it can do that with Pillar, I just hadn't thought about it in this situation
16:21 Mr_N A bit hacky but I'll bite XD
16:23 Mr_N You know offhand a way to compile a single pillar file?  If not I'll just be lazy and tie it into my core pillar to build it
16:24 yawniek RandalSchwartz: fyi on a fresh freebsd 10.0 system it seems that you a) need to have a /usr/local/etc/pkg.conf and b) use a more recent freebsdpkg.py in your _modules. still cant get it to work though
16:25 whiteinge Mr_N: there isn't a way to compille a single pillar file. you may find this helpful though: https://github.com/saltstack/salt/blob/develop/tests/saltsh.py
16:25 ggoZ joined #salt
16:26 Mr_N Interesting whiteinge ; thanks.
16:26 basepi Welcome to #salt | 2014.1.1 is the latest | Please be patient when asking questions as we are volunteers and may not have immediate answers | Channel logs are available at http://irclog.perlgeek.de/salt/
16:26 basepi whoops
16:26 basepi meant to put that in the topic
16:26 RandalSchwartz I have pkg.conf already configured
16:26 Topic for #salt is now Welcome to #salt | Thanks to everyone who made SaltConf 2014 amazing! | 2014.1.0 is the latest | Please be patient when asking questions as we are volunteers and may not have immediate answers | Channel logs are available at http://irclog.perlgeek.de/salt/
16:26 RandalSchwartz it points at my private build machine
16:27 kballou joined #salt
16:27 Topic for #salt is now Welcome to #salt | 2014.1.1 is the latest | Please be patient when asking questions as we are volunteers and may not have immediate answers | Channel logs are available at http://irclog.perlgeek.de/salt/
16:27 RandalSchwartz poudererie is nice
16:27 xmj public logging? that's rare.
16:27 KyleG RandalSchwartz: Are you specifying the pkgng provider? and using 2014.1.1? FreeBSD package management was majorly screwed before that.
16:27 repl1cant so 2014.1.1 is out now?
16:28 xmj basepi: on 10.0-RELEASE you get $PREFIX/etc/pkg.conf once you run /usr/bin/pkg (bootstrap)
16:28 joehillen joined #salt
16:29 basepi repl1cant: yes.  announcement coming pretty quickly.  2014.1.2 will also be coming pretty quickly, there are a few major bugs in 2014.1.1 that we want to take care of, but 2014.1.1 is still a lot better than 2014.1.0, methinks.
16:29 whiteinge Mr_N: i'm not sure your counter is actually incrementing. i'm fuzzy on how jinja is supposed to handle that. you may have better luck with the builtin counter
16:29 whiteinge http://jinja.pocoo.org/docs/templates/#for
16:29 Mr_N whiteinge: So; according to pillar, even the minimal shit that was generating the error in salt isn't existant
16:29 Mr_N so IDFK
16:29 Mr_N I know that it +1's at least once
16:30 Mr_N since if I set it to start at 2 vs 0 vs etc.
16:30 Mr_N It errors on 1 vs 3 vs etc.
16:30 repl1cant sweet, the multi master bug has kept me on 0.17.5
16:30 Mr_N repl1cant: Many of us, as well.
16:30 adizam joined #salt
16:30 wendall911 joined #salt
16:32 Mr_N So am I misunderstanding this, or can you not perform a pillar.get from within a pillar file?
16:32 Mr_N Because it appears that I can't, and that removes that ability for me to debug this.
16:33 Mr_N Oh wait, I'm silly.  If I load this pillar before the one that populates the pillar I'm getting
16:33 Mr_N it'll be sad.
16:33 * Mr_N desk.
16:33 dave_den joined #salt
16:33 snave joined #salt
16:35 Mr_N Nope nope, that didn't fix it.
16:35 yomilk joined #salt
16:37 obimod anyone a salt-cloud person here? i'm having a problem deploying to digitalocean http://pastebin.com/ftHJeSdW : (
16:37 snave left #salt
16:38 mattbarto joined #salt
16:38 UtahDave obimod: can you pastebin a sanitized version of your /etc/salt/cloud.providers and /etc/salt/cloud.profiles ?
16:38 obimod UtahDave: sure!
16:39 rushmore is it possible to pass low-data structures to the cli interface ?
16:39 whiteinge Mr_N: this is a total hack but it'll show you what you're after: http://paste.fedoraproject.org/88853/51914139
16:39 Mr_N Ahahahahaha
16:39 Mr_N Thank you for all your effort whiteinge
16:39 Mr_N I see what you did there.
16:40 whiteinge Mr_N: if you're so inclined, would you mind opening an issue on teh githubs for outputting the rendered jinja but before the yaml processing?
16:40 whiteinge that would be a veeery useful addition
16:41 Mr_N Sure.  I may be running out for lunch+drinks first
16:41 Mr_N since my carpool has been giving me dirty glares for pushing off lunch to work on this ><
16:41 obimod UtahDave: http://pastebin.com/SNdsnaQj
16:42 snave joined #salt
16:42 RandalSchwartz eww... it's running pkg_info on a box that's already pkgng
16:42 RandalSchwartz this is not a good sign
16:42 budrose joined #salt
16:42 RandalSchwartz that's probably your failure Mr_N
16:43 UtahDave obimod: is your salt master set up with private networking?
16:43 Gareth morning morning.
16:43 obimod i've tried the profile both ways, i believe... let me double check. originally i was using the debian_512MB with prive neetworking as False and it ended up in the same place.
16:44 Mr_N What's up RandalSchwartz ?
16:44 schimmy joined #salt
16:45 Mr_N OH GOD I KNOW WHAT"S HAPPENING.
16:45 Gareth ..it's full of stars?
16:46 Mr_N I'm still treating scope like it's python
16:46 Mr_N set * performs "typical" shadowing
16:46 RandalSchwartz Yeah - crap... it's calling pkg_info on a pkgng system
16:46 RandalSchwartz that's just... not... gonna... work
16:46 Mr_N and variables will expire with the scope, even if they share naming
16:46 RandalSchwartz I'll have to do all package management with cmd.run
16:46 RandalSchwartz crap crap
16:46 Mr_N God fucking damnit
16:46 Mr_N Yaml
16:46 UtahDave obimod: does the vm actually get created? Is it visible in the DO web interface?
16:46 Mr_N It is _certainly_ drinking time.
16:46 Mr_N Thanks guys for all your help
16:46 viq forrest: finishing watching your presentation about formulas ;)
16:47 obimod UtahDave: yup!
16:47 obimod UtahDave: and disappears upon destruction
16:47 forrest viq, oh yea? You got to hear me make the mic buzz? :P
16:47 * RandalSchwartz runs off to read about how to prevent cmd.run from repeatedly running
16:47 viq forrest: yup ;)
16:47 forrest yea sorry about that
16:47 viq RandalSchwartz: cmd.wait
16:47 forrest I forgot most mics aren't shielded.
16:47 schimmy1 joined #salt
16:47 RandalSchwartz so is there a pattern for that?  run a command, then remember that it has been run at least once?
16:48 viq RandalSchwartz: ish. make it depend on something else
16:48 viq RandalSchwartz: although, AFAIK there was some new keyword added, "creates" I think, let me look it up
16:48 obimod UtahDave: just tried the ubuntu profile w/ private_networking: False & it ended up in the same place
16:48 Mr_N RandalSchwartz: a "flag" file in /tmp?
16:48 Mr_N /terriblehacks/
16:48 RandalSchwartz well /tmp gets cleared on reboot
16:48 UtahDave obimod: try this  http://pastebin.com/aVeS8m3A
16:48 RandalSchwartz but the package will still be there. :(
16:48 Mr_N Sure.  Change the strategy depending on the semantics you want
16:49 viq RandalSchwartz: what are you trying to do?
16:49 UtahDave obimod: I think you need to tell your new minions where to find their master
16:49 Mr_N Lock files are just "a pattern" for this.
16:49 * whiteinge gives Gareth a good-morning chest bump at high speed and a 15-degree angle
16:49 viq RandalSchwartz: oh, I see you're playing with freebsd, which version? I am right now also looking into how to force usage of pkgng
16:49 RandalSchwartz as part of my web.sls, I want to install apache22, via "pkg update; pkg install apache22"
16:50 RandalSchwartz so I need an "idempotent" way to say that. :)
16:50 viq RandalSchwartz: why not just use pkg state for that??
16:50 RandalSchwartz viq - because it seems to be invoking "pkg_info", which is NOT pkgng
16:50 timoguin UtahDave, obimod, I have the same setup on Digital Ocean, but the only difference is that I'm defining my master in /etc/salt/cloud
16:50 RandalSchwartz already tested
16:50 obimod UtahDave: trying it now... i was doing that in the cloud.map file
16:50 whiteinge RandalSchwartz: you should be able force pkgng if it's not getting picked up automatically with the "providers" setting in the minino config
16:50 viq RandalSchwartz: which freebsd? 9.x or 10 ?
16:51 RandalSchwartz 8.x
16:51 RandalSchwartz client requirement
16:51 viq oh
16:51 obimod timoguin: it's defined there too
16:51 obimod : (
16:51 viq RandalSchwartz: there's a way to force it
16:51 RandalSchwartz 8.x with pkgng installed
16:51 xmj RandalSchwartz: atleast with that one..
16:51 whiteinge RandalSchwartz: http://docs.saltstack.com/en/latest/ref/configuration/minion.html#std:conf_minion-providers
16:51 RandalSchwartz this is vagrant with a base box that has only pkgng and salt installed
16:51 viq RandalSchwartz: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.pkgng.html has the info, providers: pkg: pkgng is what you want
16:52 mattl_ joined #salt
16:52 viq Also you can set it via pillar IIRC. But if just that doesn't work, try 'echo # > /usr/local/etc/pkg.conf'
16:52 chrisjones joined #salt
16:52 RandalSchwartz I have a file there already
16:53 viq RandalSchwartz: ok, then set the provider in minion config and you're set
16:53 RandalSchwartz but I'll try the minion setting
16:53 mattl_ Can anyone give me a hint as to how I can install an older version of salt-minion (0.17.1) as a service? I checked that version out via github and ran the python install but it's not a service like what I was hoping for.
16:53 RandalSchwartz ooh.  Ran "pkg info -ao" this time!
16:54 viq RandalSchwartz: cool :)
16:54 RandalSchwartz now to see if it install
16:54 RandalSchwartz installs.
16:54 whiteinge mattl_: the service files are not installed via the python installer. you can put them in place manually though. they live in the "pkg" directory in the salt repo
16:54 obimod timoguin: UtahDave: okay now i have my master defined in the /etc/salt/cloud, /etc/salt/cloud.providers.d/digital_ocean.conf, and the cloud.map file
16:54 viq RandalSchwartz: and if that didn't work, you could have used the 'unless' part of cmd.run
16:55 UtahDave obimod: I'm testing against DigitalOcean with a Salt master running from the latest develop
16:55 obimod timoguin: UtahDave: I'm behind a ATT router with the ports being forwarded & a DynDNS hostname mapping to my ip
16:55 obimod UtahDave: any luck repeating the problem?
16:55 viq RandalSchwartz: also, I'm a listener ;)
16:55 UtahDave obimod: is your salt master also on DigitalOcean?
16:56 obimod UtahDave: nope, it's on my local box
16:56 yawniek viq: i'm on freebsd 10 and have forced pkgng via mignion file but i get https://dpaste.de/re2y/raw  any ideas?  i put the pkgng.py from master into my _modules
16:56 obimod UtahDave: think I'd be too paranoid having it in the cloud
16:56 chrisjones joined #salt
16:56 budrose so I'm trying to run salt-call and set the config directory to the same directory I am currently in "/usr/foo/salt" but using salt-call --config-dir=/user/foo/salt -- but keeping getting the error "No Top file or external nodes data matches found" ... any ideas?
16:57 viq yawniek: try 'echo # > /usr/local/etc/pkg.conf' if you don't have that file and try again
16:57 RandalSchwartz oooh - worked.  install happened!
16:57 viq RandalSchwartz: sweet :)
16:57 yawniek viq: i have the file
16:57 RandalSchwartz ... [WARNING ] /usr/local/lib/python2.7/site-packages/salt/modules/cp.py:187: DeprecationWarning: Passing a salt environment should be done using 'saltenv' not 'env'. This functionality will be removed in Salt Boron.
16:57 RandalSchwartz I presume someone fixes that, not me.
16:57 Katafalkas joined #salt
16:58 UtahDave obimod: are you behind a firewall?
16:58 mattl_ whiteinge: Thanks for the tip, I'll look into that now.
16:58 UtahDave RandalSchwartz: correct
16:58 obimod UtahDave: I'm running OSX 10.9.2, yes behind a firewall but with the custom ports being forwarded to the correct box
16:59 yawniek funny enough it actually installed htop but still fails
16:59 viq yawniek: if on that machine you run it via salt-call you should get more info, eg what it tries to use as pkg provider, and what it gets, I'd start from that
16:59 gadams999 joined #salt
16:59 obimod UtahDave: nmap port scan with the hostname resolving to the correct IP show the ports as being open
17:00 UtahDave obimod: I'm guessing this is a networking issue.  I just built a new ubuntu minion on DO without any problems.
17:00 obimod from your local box?
17:00 UtahDave obimod: could you try installing the latest from develop on your local box?
17:00 UtahDave no, from my master in the cloud.
17:00 jdenning_ joined #salt
17:00 obimod hokay
17:01 viq yawniek: it could also be that the pkgng.py from master expects newer versions of other files too...
17:01 obimod UtahDave: pip install --upgrade salt throws a compiler error = /
17:01 moos3 joined #salt
17:01 CaptTofu joined #salt
17:01 CaptTofu hi!
17:01 CaptTofu Anyone around who's brain I can pick about concepts?
17:02 Ahlee time to run my head repeatedly into the wall again trying to get ext_pillar working
17:02 jesusaurus CaptTofu: not sure if I have answers for you, but whats the question?
17:02 CaptTofu so...
17:02 CaptTofu hey mr. jesus-ocerus!
17:03 CaptTofu so, salt-cloud in the docs is listed as a provisioning component
17:03 CaptTofu but I think of it more like orchestration
17:03 CaptTofu and salt itself being more provisioning
17:03 CaptTofu so, which is it?
17:03 CaptTofu I'm working on a blog post and want to get my terminology straight
17:04 yawniek viq: true, two different erros with or without it: this is with 2014.1.1 pkgng.py:  https://dpaste.de/CUNB/raw    and this is with master: https://dpaste.de/svX1/raw
17:04 jesusaurus i think of salt-cloud as being the provisioning. salt-cloud is what is going to be using nova, etc., salt doesnt do any of that
17:05 viq CaptTofu: provisioning usually means "bring a machine from 'no OS/no machine' to a usable state" ; orchestration usually means "let's have various components talk to each other so they can coordinate stuff happening"
17:05 jesusaurus salt-core can do a lot of orchestration with overstates and reactors
17:05 CaptTofu ok.
17:05 timoguin the line is more blurred with salt-cloud being merged in
17:06 viq yawniek: you have that 'skip_verify' defined anywhere?
17:07 yawniek viq: not that i am aware of
17:07 obimod UtahDave: pyzmq looks like it's failing http://pastebin.com/EHS2Lb13
17:08 CaptTofu viq, jesusaurus: what would you term the launching and deletion of instances being?
17:08 yawniek viq: its in /usr/local/lib/python2.7/site-packages/salt/states/pkg.py
17:08 CaptTofu just another aspect of provisioning?
17:08 mgw joined #salt
17:09 timoguin I consider that part of provisioning.
17:09 obimod UtahDave: I'll work on upgrading to the latest release. Thanks a ton for double checking everything! You too timoguin
17:09 UtahDave Corey: do you know what would cause the error that obimod is seeing just above?
17:10 obimod UtahDave: Corey: it does look a bit tricky..
17:10 jesusaurus CaptTofu: i would call the launching and deletion of instances provisioning
17:10 UtahDave obimod: also, double verify that your networking is all correct. Your salt-master needs to be able to ssh to the new vms and the new vms need to be able to reach ports 4505 and 4506 on the salt-master.
17:10 rallytime haha! thanks terminalmage!
17:10 rallytime oops! wrong window
17:11 terminalmage haha
17:11 obimod UtahDave: using custom ports defined in body /etc/salt/master and /etc/salt/minion... would i need to express those ports in /etc/salt/cloud or providers/profiles?
17:11 obimod both**
17:11 terminalmage rallytime: thought you were in a terminal and hit up arrow, then enter?
17:11 RandalSchwartz is there a way in jinja to say "the current states directory"?
17:11 CaptTofu jesusaurus: that's what I called it
17:11 terminalmage RandalSchwartz: do you mean, relative to the salt fileserver root?
17:11 UtahDave obimod: Where you define your new vm's minion config you should add those port configs there.
17:11 obimod UtahDave: I've defined them in the cloud.map file i'm using with salt-cloud
17:11 CaptTofu I was hoping for something one-wordish :)
17:12 obimod UtahDave: okay, yea I think that's the cloud.map file
17:12 rallytime terminalmage haha yes that is EXACTLY what happened
17:12 RandalSchwartz yeah... something I could put in salt://
17:12 RandalSchwartz like source: salt://{{ foo }}/sshkey.pub
17:13 obimod UtahDave: I'll triple check my networking configuration... the pip upgrade is indeed concerning though, but looks like it's a problem with another project
17:13 yawniek viq: ok i just realized that salt on freebsd portage is on salt 0.17.3
17:13 terminalmage RandalSchwartz: nothing I know of, unfortunately.
17:13 xmj yawniek: update your portstree
17:14 bastion1704 joined #salt
17:14 viq yawniek: portage? you're using freebsd-gentoo ?
17:14 smcquay joined #salt
17:14 yawniek viq: no port, sorry
17:14 terminalmage RandalSchwartz: and, with the stuff I've done in the remote fileserver backends, where you can specify a "mountpoint" for a git remote, this would be impractical, I would think
17:14 xmj freebsd is at 2014.1.0
17:14 viq xmj: .1.1
17:14 terminalmage RandalSchwartz: however, I am not 100% sure, this would be a good topic for the mailing list
17:15 viq xmj: though pkg repos still have 0.17.5
17:15 xmj viq: nay, freebsd is at 2014.1.0
17:15 viq xmj: http://www.freshports.org/sysutils/py-salt
17:16 xmj bah i just hate subversion.
17:16 viq :P
17:16 hunter_ joined #salt
17:16 xmj well, in that case the pkg will be built some time tonight
17:17 viq cool
17:18 RandalSchwartz how do you run state.highstate for only one state?
17:18 sandbender1512 state.sls
17:18 viq RandalSchwartz: state.sls MyState
17:18 RandalSchwartz oh!
17:18 RandalSchwartz yeah - that's faster for testing :)
17:20 Ahlee so with external_pillar, based on http://docs.saltstack.com/topics/development/external_pillars.html#example-configuration I need to know what pillars I have defined, and specifically spell them out in my master config file?  so if i want ext_pillar: - my_pillar: python_module_that_will_get_my_pillar ?
17:20 Ahlee i can't just have my python return a dict, and anything in that dict comes through as a pillar?
17:21 Ahlee hrm, that didn't come out right
17:21 RandalSchwartz file.blockreplace can't take a salt:// reference for content:?
17:21 RandalSchwartz that's broken
17:22 ajw0100 joined #salt
17:23 bhosmer joined #salt
17:25 yawniek viq: thanks for the hints, updating via ports helped
17:25 viq yawniek: cool
17:25 yawniek havent used fbsd nor salt for some time
17:25 RandalSchwartz oooh - I'm doing my first jinja!
17:26 terminalmage RandalSchwartz: state.sls is for one SLS file, if you mean state as in a single file.managed state, there's a function for that as well
17:26 terminalmage state.sing
17:26 terminalmage er
17:26 terminalmage state.single
17:26 RandalSchwartz and... it blew up
17:26 terminalmage salt myminion state.single file.manged /tmp/foo.txt source=salt://foo.txt .....
17:26 terminalmage er, file.managed.
17:26 * terminalmage can't type today
17:27 * Gareth shakes his head at terminalmage
17:27 * terminalmage hangs his head in shame
17:27 Ryan_Lane joined #salt
17:28 * RandalSchwartz happy dances
17:28 RandalSchwartz my first jinja template works
17:28 UtahDave woot! RandalSchwartz
17:28 obimod yay
17:28 ravibhure joined #salt
17:29 * obimod bashes head on keyboard
17:29 RandalSchwartz behold - http://pastebin.com/PdcSA4uC
17:29 zain joined #salt
17:29 sandbender1512 groan... minion just barfed up a max recursion exception somehow triggered by a prereq: :/
17:29 obimod nice!
17:30 sandbender1512 before anyone asks, not a circular dependency afaict
17:30 sandbender1512 obimod: ikr? ;)
17:31 RandalSchwartz If I ask for state.sls web, it'll do all top-level IDs in web/init.sls, right?
17:31 viq RandalSchwartz: yes
17:31 RandalSchwartz that seems to be what's happenign for root-ssh/init.sls
17:32 RandalSchwartz but I could have a separate file like web/reload.sls that would not be executed unless explicitly referenced?
17:32 RandalSchwartz as state.sls web.reload
17:32 viq RandalSchwartz: yes again
17:32 terminalmage RandalSchwartz: yeah, if it's not in a top file, it can only be called with state.sls
17:32 RandalSchwartz oooh.  I'm thinking I'm getting this.
17:32 viq RandalSchwartz: or eg included in web/init.sls, or something included from there
17:33 obimod cant wait to join the happy dance, still trying to figure out this compilation error with pyzmq
17:33 RandalSchwartz anyone look at my pastebin?
17:33 obimod RandalSchwartz: yup
17:33 RandalSchwartz could I have merged the keyfile/configfile stuff?
17:33 obimod RandalSchwartz: i <3 and am living vicariously through your success as i battle through this cc error
17:33 RandalSchwartz oooh - if I had called the local files names consistent with the install files
17:34 RandalSchwartz so if the local files were authorized_keys.piece and config.piece, I could have used a template there.
17:34 * RandalSchwartz runs off to try that
17:34 terminalmage RandalSchwartz: the one thing I noticed there is that you are deploying the config file and then running the file.append state
17:35 RandalSchwartz yes - because append when the file isn't there blows up
17:35 RandalSchwartz already tried that
17:35 terminalmage but next time that file.managed runs, it'll try to change the file back to match salt://root-ssh/vagrant_insecure.pub
17:35 krow joined #salt
17:35 terminalmage and then the file.append will run again
17:35 stanchan joined #salt
17:35 terminalmage every time
17:35 terminalmage unless I am misreading
17:35 RandalSchwartz no - there's no source on file.managed
17:36 viq RandalSchwartz: you may also find this of interest http://docs.saltstack.com/en/latest/ref/states/all/salt.states.ssh_auth.html
17:36 RandalSchwartz I've seen that leaves the file alone
17:36 terminalmage RandalSchwartz: ahh yes, I just noticed that
17:36 RandalSchwartz just guarantees permission/ownership/presence
17:36 terminalmage it will touch the file I believe
17:36 terminalmage or maybe it just touches if not present
17:37 terminalmage RandalSchwartz: this is a good opportunity for a feature request for file.append, to create the file if not present
17:37 terminalmage if this feature does not exist
17:37 RandalSchwartz does test.sls take Test=true ?
17:38 viq RandalSchwartz: also this will blow up if you'll have directory_present eg both in your ssh state and web state and try to execute both on machine
17:38 obimod UtahDave: small success, successfully installed pyzmq
17:38 terminalmage because that file.managed thing is a bit of a hack... though file.append doesn't manage ownership/permissions
17:38 obimod UtahDave: pip install --upgrade salt worked fine
17:38 RandalSchwartz yeah - I'm gonna uniquify some of my IDs in a bit
17:38 UtahDave nice, obimod!  I'll be back in a little bit. off to a meeting
17:39 pentabular joined #salt
17:39 blueblade joined #salt
17:39 obimod UtahDave: alrighty, have a good one! TI-86 game, that is ; )
17:40 ajprog_laptop1 HI, I am new to salt  -- sorry in advance for the newbie questions
17:41 ajprog_laptop1 I setup a state file and a top.sls, how do I get it to update on the minions?
17:41 terminalmage RandalSchwartz: You can combine states logically under the same top-level ID declaration, like this: http://pastebin.com/yjiYg42n
17:41 terminalmage the ID declaration is passed through as "name", unless "name" is specified
17:42 RandalSchwartz there... moar templates: http://pastebin.com/QwK34qgp
17:42 viq terminalmage: will it let there be two file states under same name? I know 0.17 didn't like that at all
17:42 RandalSchwartz no - that's two file things at the same level
17:43 terminalmage viq: oh yeah!
17:43 RandalSchwartz I was adviced can't do that last night
17:43 terminalmage good catch
17:43 terminalmage I obviously didn't test before I pastebin'ed
17:43 RandalSchwartz heh
17:43 viq :P
17:43 ajprog_laptop1 I see I can use "salt '*' state.sls vim " to do it manually but I would like to have the it done automaticly
17:43 RandalSchwartz which is why I'm doing this two-step thing
17:43 viq ajprog_laptop1: state.highstate or look up at scheduling runs
17:44 terminalmage RandalSchwartz: yeah... I can see a good argument for letting file.append manage ownership and permissions, and having an option to create the file if it doesn't exist
17:44 terminalmage or, maybe, instead of adding that to file.append, adding an "endswith" or "startswith" param to the file.managed state
17:44 viq ajprog_laptop1: http://docs.saltstack.com/en/latest/topics/jobs/schedule.html
17:45 terminalmage allowing one to avoid that extra state there
17:47 ajprog_laptop1 viq: thanks
17:47 Eugene Annnnnd now I notice that the package I want to test is x64-only. My Vanilla image is 32-bit. :-|
17:47 Eugene Salt to the rescue!
17:48 viq ajprog_laptop1: generally you have to tell salt to do things, just assigning states isn't enough, unlike puppet/chef which check in periodically. Salt uses push model, not pull
17:49 terminalmage ajprog_laptop: Salt has a scheduler, and there's also cron
17:50 ajprog_laptop viq: I see that Salt is push, why does 9.8.2 on the page tell you to run highstates in the minion config and not the master to push the updates to the minions
17:51 Ryan_Lane what's the recommended method of installing pip on a system using salt?
17:51 sijis whiteinge: shouldn't there be a log file for api?
17:51 Ryan_Lane the version of pip that comes with most distros is too old to reasonably be used
17:51 viq ajprog_laptop: it can work both ways, you can push it, or here you can tell minion to ask for it, apparently
17:52 viq ajprog_laptop: personally I would set that with pillars, which from my point of view would be on master, so again that would be controlled by master... I guess it is a somewhat complicated system ;)
17:52 sijis whiteinge: i see references for a /var/log/salt/api file but i don't see that on the server
17:53 ajprog_laptop terminalmage: cron is what I was thinking -- adding "salt '*' state.highstate" to run every day or so
17:53 ajprog_laptop viq: what do you mean "set that with pillars"?
17:54 ajprog_laptop sorry again for the newbie questions
17:54 budrose has anyone used Homebrew Cask with Saltstack on Mac?
17:54 viq ajprog_laptop: http://docs.saltstack.com/en/latest/topics/pillar/index.html
17:54 whiteinge sijis: there's code in salt-api to tie into salt's logging mechanism, iirc. i'm fuzzy on how that works. if it's working, i expect the logs to show up in the salt master log
17:54 whiteinge sijis: where are the references to /var/log/salt/api?
17:54 sijis whiteinge: saltapi/saltapi/cli.py
17:55 viq and I'm off, cya
17:55 sijis whiteinge: line #39
17:55 amckinley joined #salt
17:55 whiteinge ah
17:56 sijis whiteinge: i didn't notice anything being send to master log
17:56 whiteinge i'll bet that is not working then
17:57 whiteinge file a ticket? (or i can)
17:57 sijis whiteinge: i can. no prob
17:57 arthabaska joined #salt
17:59 ajprog_laptop viq: yeah I saw that page, I didn't understand it much and/or it is more complicated than I need
18:01 sijis whiteinge: its filed. going back to pepper. any thoughts on what may be the prob?
18:03 sijis whiteinge: btw, i'm not crazy in saying that the .pepperrc stuff isn't fully done.
18:03 allanparsons joined #salt
18:05 whiteinge sijis: correct
18:05 themadcanudist joined #salt
18:05 allanparsons any idea what would cause this?  Failed to change user to ubuntu; Failed to change group to ubuntu
18:05 allanparsons in a file.directory
18:05 whiteinge sijis: sorry, i've been playing catchup this morning. i'm free now, let me change my eauth backend and try
18:05 themadcanudist hey guys… can someone point me in the direction of some docs on the nitty gritty on salt's PKI infrastructure and master<->minion verification?
18:08 smcquay joined #salt
18:08 obimod UtahDave: w00t! got this shit communicating!
18:09 obimod lol was switching sshd to a different port
18:09 hunter_ joined #salt
18:09 arthabaska joined #salt
18:09 obimod which would be a great configuration item... be able to bootstrap salt via a non-standard ssh port
18:09 obimod <3 omg so fun
18:09 sijis whiteinge: was pepperrc goign to be a yaml or ini file?
18:10 Ryan_Lane UtahDave: there used to be documentation that described the crypto architecture. what happened to that?
18:10 whiteinge sijis: ini or json. ideally pepper should have few or no deps
18:11 * obimod happy dance
18:13 whiteinge sijis: what does your eauth config look like?
18:13 allanparsons and fwiw here's my state: http://pastebin.com/Bm9FCXqm
18:13 allanparsons but i get this err:  Failed to change user to ubuntu; Failed to change group to ubuntu
18:14 * obimod bashes head on keyboard once again b/c test.ping isn't responding
18:14 kermit joined #salt
18:15 sijis whiteinge: http://paste.fedoraproject.org/88903/39585769/
18:15 ravibhure joined #salt
18:15 MTecknology I 'think' my salt server is back up and running, but it looks like many keys are maaad
18:16 philipsd6 terminalmage: looks like commit f550cc497c broke salt-run
18:17 whiteinge sijis: i missed in yesterday, but it is using the correct auth token in the second request after login but it's still returning a 401 which is odd. we should try this without pepper with just curl
18:17 RandalSchwartz does salt knw how to stop and start packages on freebsd?
18:17 sijis whiteinge: ok
18:17 RandalSchwartz as in /usr/local/etc/rc.d/apache22 stop ?
18:17 MTecknology I'm seeing this on the minion "[WARNING ] SaltReqTimeoutError: Waited 3 seconds", does this mean my salt server is likely just overloaded at the moment?
18:18 rushmore how do you get salt-run, key etc to run as an unprivileged user? client acl & permissions are set correctly but they still throw the "unable to switch error"
18:18 terminalmage philipsd6: examples? saying "X is broken" doesn't really help me
18:19 philipsd6 sorry, best example is just salt-run jobs.active
18:19 philipsd6 but there's already a pull req to fix -- I should've checked that first.
18:19 whiteinge sijis: curl -c /tmp/cookies.txt -sSi theurl/login -d username=username -d password=password -d eauth=pam && curl -b /tmp/cookies.txt -sSi theurl -d client='local' -d tgt='*' -d fun='test.ping'
18:20 philipsd6 terminalmage: https://github.com/saltstack/salt/pull/11544
18:22 terminalmage philipsd6: thanks for the heads-up, merged
18:22 philipsd6 no problem -- and thanks!
18:22 Mr_N whiteinge: Looking at the earlier thing re: dumping the rendered Jinja, I found myself wondering why not just call the raw renderers.jinja.render call
18:23 _monokrome joined #salt
18:23 n8n joined #salt
18:23 whiteinge Mr_N: agreed. it would be a good addition to the state module. state.rendered_sls or something
18:24 sijis whiteinge: ya, same error.
18:24 whiteinge ah ha
18:24 sijis will sanitize the paste
18:24 sijis (if you need it)
18:25 whiteinge sijis: something with eauth is amis. let's try with salt directly
18:25 whiteinge sijis: on the master: salt -a pam '*' test.ping
18:25 Ryan_Lane can I use jinja in top files?
18:25 whiteinge Ryan_Lane: yessir
18:25 Ryan_Lane so I can do a match based on a grain?
18:26 sijis whiteinge: i had to type my creds but it returned
18:26 gnugnu9_ joined #salt
18:26 whiteinge Ryan_Lane: the top file gets rendered on the minion same as state files, so sky's the limit there
18:26 Ryan_Lane w00t
18:27 sijis whiteinge: basically that worked
18:28 whiteinge sijis: huh, not what i was expecting. any odd chars in your password? perhaps it's a quoting issue somewhere
18:28 bhosmer joined #salt
18:28 raizyr joined #salt
18:28 sijis whiteinge: salt master is v 0.17.5-1.el6
18:28 sijis whiteinge: the only odd char is a '-'
18:28 ravibhure joined #salt
18:30 obimod god this is bazzaarrrrro... sometimes salt is telling me that i don't have authenticcation to run that action and then i wait a few seconds and then run it again and it works
18:30 Ryan_Lane ugh. you can't specify a key to be used for gitfs?
18:30 obimod also the salt-cloud -m deployment worked successfully and without changing anything now it's not working again
18:30 Ryan_Lane why does it need to be in the user's id_rsa?
18:32 troyready joined #salt
18:32 mozg joined #salt
18:32 musonic joined #salt
18:32 themadcanudist hey guys, any good docs on salt PKI?
18:33 timoguin joined #salt
18:33 RandalSchwartz "too many functions declared in state "file" in sls web
18:33 raizyr joined #salt
18:34 RandalSchwartz there's only one.  file.recurse
18:34 rushmore joined #salt
18:34 RandalSchwartz nevermind... syntax error
18:34 rushm0r3 joined #salt
18:36 oz_akan_ joined #salt
18:36 spiette joined #salt
18:36 krow joined #salt
18:37 Teknix joined #salt
18:38 hunter joined #salt
18:38 musonic hi, can anyone give me a hand with using the file module?
18:39 obimod ohhhhh it looks like the minion is connecting to the default port 4506 despite configuration port changes
18:40 obimod fw logs duh
18:40 obimod musonic: wish i could, no experience with it thouhg
18:40 allanparsons argh
18:41 allanparsons you cant change pemrissions on a mounted dir?
18:41 allanparsons sheesh
18:41 Mr_N WHELP.  this is a doozie of an error.
18:41 Mr_N failed: could not determine a constructor for the tag 'tag:yaml.org,2002:value'
18:41 RandalSchwartz Oh this doc is helpful
18:42 RandalSchwartz salt.states.file.replace... "params are identical to replace"
18:42 RandalSchwartz say... WHAT?
18:42 RandalSchwartz foo is the same as foo
18:42 RandalSchwartz but what is FOO
18:42 obimod Mr_N: no experience here but i would guess 2002 is an invalid tag name
18:42 Mr_N Well the best part is the next line.
18:42 Mr_N in "<unicode string>", line 624, column 12:
18:43 obimod Mr_N: lol
18:43 Mr_N I have _no idea_ where what it's talking about is.
18:43 Mr_N I don't use _any_ of those tags.
18:43 whiteinge RandalSchwartz: it's talking about the execution module of the same name. should be a link
18:43 sijis whiteinge: you think the salt master version a likely problem?
18:43 obimod Mr_N: you know, that one unicode string
18:43 Mr_N >:[
18:43 obimod Mr_N: the one over there... wait.. I think it's looking at us, turn around quick!~
18:44 RandalSchwartz ahh
18:44 Mr_N FFFFFFFffffffff just flattened my auth_keys file in my frustration
18:44 whiteinge sijis: i don't think so, no. somewhere the username or password is getting mangled
18:44 RandalSchwartz not clear then
18:44 RandalSchwartz but yeah, heading there
18:44 Mr_N Sigh.  This is going to be a long evening.
18:44 ipalreadytaken joined #salt
18:44 obimod Mr_N: pizza time
18:44 Mr_N I just came back from a lunch of heavy drinking
18:44 obimod it's no long 9am!
18:44 obimod longer*
18:44 obimod Mr_N: that blows
18:44 sijis whiteinge: were you expecting a prompt? or should it be seamless?
18:44 Mr_N spent the better part of this morning debugging a state file entirely comprised of commented lines.
18:45 obimod Mr_N: lol
18:45 sijis whiteinge: let me rephrase. is a prompt normal?
18:45 RandalSchwartz so if I need two different file.replace on the same file, I do the "invent an ID for each step" again, eh?
18:45 RandalSchwartz and the name: dance :)
18:45 whiteinge sijis: the prompt when running ``salt -a pam`` is expected. salt-api should be using that same underlying code to pass your eauth creds along
18:46 arthabaska joined #salt
18:47 RandalSchwartz is there anything like Test=true for state.sls
18:47 utz1 joined #salt
18:47 whiteinge sijis: we have seen this work at least once, right? after we fixed the problem with salt-api running as the apache user yesterday you ran a successful command?
18:48 sijis whiteinge: no. i wasn't getting authenticate previously until your fix
18:48 whiteinge sijis: i mean after the fix, were you able to run any commands through salt-api successfully?
18:48 sijis no
18:48 Gifflen_ joined #salt
18:48 whiteinge oh
18:49 RandalSchwartz ahh... looks like Test=true should work
18:49 whiteinge there's got to be another traceback that salt is swalling somewhere then
18:50 sijis does master have a debug value? i can set that
18:52 whiteinge sijis: yeah. stop the salt-master service and start it in the foreground with ``salt-master -l debug``
18:52 whiteinge might be useful to do the same thing with salt-api
18:52 sijis salt-api -l debug?
18:52 whiteinge yeah
18:52 roolo joined #salt
18:53 sijis whiteinge: give me a few mins here
18:53 clark42 joined #salt
18:53 KyleG joined #salt
18:53 KyleG joined #salt
18:54 bhosmer joined #salt
18:55 mpanetta joined #salt
18:56 sijis whiteinge: interesting. i have salt-api running through virtualenv. so i rant salt-api -l debug .. the error i get is 'no module named salt.log'
18:56 sijis whiteinge: i have salt installed via rpm
18:56 RandalSchwartz ugh... .replace is defined in terms of Python's "sub()"
18:56 RandalSchwartz I hope I can kinda guess how it works
18:56 sijis whiteinge: i may have to setup virtualenv with that option to allow access to sitewide packages
18:56 RandalSchwartz do $1 and $2 work in the replacement string?
18:58 RandalSchwartz oh - maybe \1 and \2?
18:59 whiteinge RandalSchwartz: don't hesitate to use file.sed if that's more familiar. it's marked as deprecated but i'll eat my hat if we ever actually pull it out...
18:59 * whiteinge loves his hat
18:59 RandalSchwartz ahh... indeed...
18:59 hunter joined #salt
18:59 RandalSchwartz this worked as I wished
18:59 RandalSchwartz now for the trickier one... adding a line
18:59 RandalSchwartz but not adding the line every time!
19:00 Eugene One of these days I will add requires: lines to my salt setup.
19:00 whiteinge sijis: ah, yeah. you're right about that
19:00 * Eugene sighs, puts highstate in a loop
19:01 mpanetta joined #salt
19:02 Katafalkas joined #salt
19:03 criticalhammer joined #salt
19:03 Eugene Three runs seems to do it.
19:03 hunter for 0.17.x, is salt-cloud generally stable for controlling kvm/libvirt vm's?
19:04 RandalSchwartz oooh - I think I got it
19:04 RandalSchwartz I match the whole target line
19:04 RandalSchwartz replace that with same line #SALTED# \n   my inserted line
19:04 RandalSchwartz thus, it can only match once!
19:04 hunter I'm abandoining ovirt and going back to "simple" kvm
19:06 mortis using my custom pillar i get this in the log : [WARNING ] Deprecation warning: ext_pillar "testpillar" needs to accept minion_id as first argument
19:06 mortis i have put minion_id in the def ext_pillar
19:06 mortis where else must it be?
19:06 RandalSchwartz worked perfectly, and it's *idempotent*
19:06 RandalSchwartz nice
19:07 sijis whiteinge: is there in fact a salt.log module?
19:08 whiteinge yes
19:08 baniir joined #salt
19:09 sijis whiteinge: http://paste.fedoraproject.org/88930/86095813/
19:10 ckao joined #salt
19:11 criticalhammer hello, does anyone know how to force download the top.sls onto a client?
19:11 whiteinge sijis: got to be a PYTHONPATH issue somewhere. i just double-checked with 0.17.5: http://paste.fedoraproject.org/88931/86107813
19:11 criticalhammer even if the top.sls has not changed
19:13 pentabular1 joined #salt
19:13 mpanetta joined #salt
19:14 smcquay joined #salt
19:16 mgw joined #salt
19:16 sijis whiteinge: if i do interactive python.. i can import salt.log but if i run salt-api -l debug i get the error
19:17 sijis whiteinge: look at line 30-36, then 41
19:17 whiteinge criticalhammer: you can manually do it with cp.cache_file. it won't force the download though. you might have to delete the cached file for that
19:17 whiteinge http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cp.html#salt.modules.cp.cache_file
19:18 KyleG joined #salt
19:18 KyleG joined #salt
19:19 whiteinge sijis: what are the double ?? in that paste after you import salt.log?
19:19 sijis whiteinge: i was just upset :)
19:19 whiteinge oh. right :)
19:19 sijis and dumbfounded
19:19 Gifflen joined #salt
19:19 sijis since interactive pythong worked but i running salt-api -l debug didn't work in the same virtualenv
19:21 sijis whiteinge: echo $PYTHONPATH is empty
19:21 * whiteinge double-checks running salt-api with 0.17.5
19:23 allanparsons how do i just pull the first item from a grains list.  {% set env = grains.get('ec2_environment', []) -%}
19:23 sijis allanparsons: i'm going o guess grains.get()[0] ?
19:23 joehillen joined #salt
19:23 allanparsons thanks
19:23 allanparsons it keeps bitching:            ServerAlias: ['dev']-www.
19:23 whiteinge sijis: looks ok here. this has got to be a PYTHONPATH issue. i can't think of another explanation. salt-api is in a venv but salt is installed globally, yes?
19:24 sijis whiteinge: yes. however, i did create a new virtualenv with --system-site-packages and thta's what i pastebin'ed
19:24 sijis the inivial virtualenv definitely failed.. import salt just flat out failed.
19:25 sijis in the new venv, it worked, but i can' run the debug
19:25 sijis in fact, let me try this.. let me just run it with apache in the new venv
19:26 allanparsons sijis... that worked.  thx
19:28 whiteinge sijis: i wonder if salt-api is *also* installed globally. could you do this on your system from within the venv? http://fpaste.org/88934/58619721/
19:28 kermit joined #salt
19:28 sijis whiteinge:
19:28 sijis whiteinge: oops. i'll double-check. i thorught i removed it yesterday
19:29 Kenzor joined #salt
19:29 mortis arf, im watching other pillar-modules and they do use def ext_pillar(minion_id) and then use that variable in the module-code, but i dont see how the minion_id is passed on to the pillar module :\ ..and its empty when i try to print it in log.info()
19:30 mortis driving me nuts :)
19:31 sijis whiteinge: the last one saltapi.version.__version__ shows 0.8.3 .. not a gitrev one ;/
19:31 sijis allanparsons: i'm glad that worked!
19:32 icarus_ joined #salt
19:32 * sijis checks system
19:32 whiteinge sijis: that's probably ok. just means you installed from git vs. running directly from a git clone
19:32 whiteinge sijis: do the file paths all look ok?
19:33 sijis whiteinge: they do. rpm -qa isn't showing saltapi installed
19:35 sijis http://fpaste.org/88935/86247413/
19:35 whiteinge grr
19:35 sijis whiteinge: although, i noticed this. there is a saltapi directory (which is empty), in the systemwide site-packages directory
19:37 sijis whiteinge: the server is using python 2.6.6. that a prob?
19:37 whiteinge no. salt's baseline is 2.6
19:39 arthabaska joined #salt
19:41 baniir joined #salt
19:44 krow joined #salt
19:45 whiteinge sijis: i'm approaching stumped. you're starting salt-api from withing the venv and it errors, yet you import salt.log from the same venv and it succeeds. those two things are at odds
19:46 sijis whiteinge: i completely agree
19:46 * whiteinge shakes his fist at the universe
19:48 * the_universe shakes a fist at whiteinge
19:48 whiteinge LOL
19:49 rawzone joined #salt
19:50 seblu joined #salt
19:52 whiteinge sijis: how about this: let's side-step the issue by just making an RPM   ^_^
19:54 sijis whiteinge: haha.. ok
19:55 whiteinge sijis: pm me your email?
19:55 RandalSchwartz my static-page webserver is salted!
19:55 RandalSchwartz minor edits on httpd.conf, inclusion of a local conf, log file dirs made and being used...
19:55 RandalSchwartz now I have to see if the "running" operations work on freebsd :)
19:55 whiteinge sijis: nm. i have it
19:56 sijis whiteinge: damn git! ;)
19:56 whiteinge :D
19:58 sijis whiteinge: an rpm of salt-api i'm guessing
19:58 jergerber joined #salt
19:59 whiteinge yeah. might not be able to get to it for an hour or two though...
20:00 RandalSchwartz { apache22: { service: running } }
20:00 RandalSchwartz just does the right thing.  amazing
20:00 Ahlee ok.  Here's an odd one.  Prior to setting up an ext_job_cache, running cmd.run "su - user" would return immediately.  Now, I see it execute on the server, yet the return isn't making it into hte external cache, and hte minion keeps repoting "Execution is still running on <server"
20:03 Katafalkas joined #salt
20:03 Ahlee eventaully it does timeout, no return though
20:03 Ahlee Minion did not return, and no return value logged to ext_job_cache
20:03 RandalSchwartz is there a way for me to temporarily kill my webserver while my database gets refreshed?
20:03 RandalSchwartz or will I need to cmd.run that?
20:04 Ahlee i believe overstate fits that bill, RandalSchwartz
20:04 Corey RandalSchwartz: service.dead
20:04 sijis whiteinge: ohhh :/
20:05 RandalSchwartz service.dead sounds pretty permanent though :)
20:05 RandalSchwartz ahh... overstate
20:05 RandalSchwartz I remember reading about that
20:05 utz joined #salt
20:06 toofer joined #salt
20:07 dave_den RandalSchwartz: you can use prereq to determine if something watched will change, and if so then run a state
20:07 RandalSchwartz ok
20:07 RandalSchwartz my apache mod_perl processes maintain db handles, and it's hard to "drop database" when that's going on :)
20:07 RandalSchwartz so apache has to go down, then load db, then back up
20:08 sandbender1512 dave_den: I'm getting a max recursion exception from salt-call state.sls resulting/triggered by a prereq:
20:08 sandbender1512 any ideas what would cause that?
20:08 ajw0100 joined #salt
20:08 kvbik joined #salt
20:08 thedodd joined #salt
20:08 dave_den nope, i'd have to dive into the code
20:08 ajprog_laptop any one use pkgrepo? http://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html
20:09 sijis whiteinge: random thought. what if somehow, saltapi has a path appended which is why it doens't run with salt-api -l...
20:09 sijis whiteinge: that stuff doesn't make any sense
20:10 whiteinge sounds plausible. i'm not sure where that would be happing though. saltapi itself doesn't mess with PYTHONPATH
20:10 ggoZ joined #salt
20:11 druonysus joined #salt
20:11 druonysus joined #salt
20:14 hazzadous joined #salt
20:16 sijis whiteinge: ok, i thik i'm on to something
20:17 sijis whiteinge: my site-packages venv is in /opt/venv/saltapi2. when i look at the saltapi2/bin/salt-api file, i'm seeing this at the top
20:18 sijis whiteinge: #!/opt/virtualenvs/saltapi/bin/python (the old venv path)
20:18 whiteinge sijis: that's it!
20:19 sijis not sure how that happend. i literally did 'pyton setup install.'
20:19 sijis let me manually fix that and see :)
20:19 whiteinge sijis: if you'd prefer, i just sent you an email
20:19 Ahlee ^ in regards to taht, i constantly see that happen if I build and then rebuild salt
20:19 Ahlee i don't think the scripts/ directory is revisited very often/ever time
20:19 sijis wohooo! thta was it!
20:19 scalability-junk joined #salt
20:19 RandalSchwartz how do I say "if a file doesn't exist, run this command"
20:20 * sijis checks email
20:20 RandalSchwartz or do I have to phrase it as a requires on a file.present ?
20:20 Ahlee onlyif: file.missing/
20:21 MTecknology Anyone know much about gitfs? I'm trying to host states and pillars in git and because of that, I have three git repos. I also have ~315 servers and 130 of them try running state.highstate when they connect. It seems like salt-master tries to recheck that branch for every single highstate run and that seems to be causing massive issues. Before going to git for hosting these, my mem usage is
20:21 MTecknology ~200MB; afterward it goes up to 1.5GB. I also see a lot of errors about a lock file and warning that another git process is probably already running.
20:23 RandalSchwartz onlyif seems to take a shell command, not a state
20:23 RandalSchwartz I'd rather not fork excessive shells :)
20:24 RandalSchwartz ahh.. creates
20:24 whiteinge Ahlee: this is why interpreted languages are bad and why Salt should be rewritten in Go.
20:24 Ahlee I'm in, yo.
20:24 MTecknology whiteinge: we're joking right now, right?
20:24 MTecknology yes?
20:24 whiteinge indeed :)
20:25 MTecknology whew.. you scared me
20:25 jonbrefe joined #salt
20:25 * whiteinge always forgets to close with /s until after hitting enter
20:25 criticalhammer left #salt
20:25 whiteinge (go is neat though. i was playing with it over the weekend)
20:25 Ahlee also, i'm assuming you meant the scripts/* not being re-updated?
20:25 whiteinge yeah
20:26 Ahlee yeah, I poked hekad since i didn't wanna push jvms everywhere
20:26 sijis whiteinge: i just got it.. i'm gonna try it out in a min here
20:27 RandalSchwartz ahh - you can't point creates: at a directory, only a file
20:27 Ahlee whiteinge: simple way to see what "return value" is actually sent back?
20:27 sijis whiteinge: on a odd note, i'm seeing port80 not free on 0.0.0.0 ... should that really be an IP or 0.0.0.0 means 'any'?
20:27 Ahlee i wanna see if it's null vs non-existant
20:27 whiteinge Ahlee: for a cmd.run? or a salt module?
20:28 Ahlee cmd.run
20:28 whiteinge Ahlee: try cmd.run_all. it also might be helpful to view with --out=json
20:29 Ahlee how does --out play with --return
20:29 whiteinge they don't interact at all afiak
20:29 whiteinge --return should still do it's thing
20:29 Ahlee ok
20:29 Ahlee that's what i wanted to know
20:29 Ahlee thanks for reading my mind
20:30 whiteinge chicago has logded a part of itself in my heart. we're becoming like one mind
20:31 Ahlee Hopefully not hte part that gets damaged after your first heart attack that comes from eatting Chicago food
20:31 Gifflen joined #salt
20:31 sijis there are non-greaser joints in Chicago!
20:31 Ahlee Well aware. :)
20:31 whiteinge cheeseburger!
20:31 sijis i love burgers
20:32 RandalSchwartz can't get cmd.run: creates: to work
20:32 Ahlee whiteinge: yeah, this is what I'm trying to figure out { "minion": "" }
20:32 UtahDave obimod: did you get that working?
20:32 Ahlee is that "" null, or nonexistant
20:32 Ahlee where's the pipe to xxd when you need it
20:32 RandalSchwartz wants to keep running my initialization command
20:32 RandalSchwartz maybe my syntax is wrong?
20:32 whiteinge Ahlee: if that's via json output then the command that salt is shelling out is returning an empty string
20:33 Ahlee ok, so then I guess I need to look at out empty strings are being handled
20:34 utz joined #salt
20:35 RandalSchwartz is Helium not the released version?
20:35 oz_akan_ joined #salt
20:35 RandalSchwartz I'm running 2014.1.1
20:36 timoguin Helium is the current develop, next major release
20:36 timoguin 2014.1 is Hydrogen
20:36 RandalSchwartz Oh, so creates isn't there yet
20:36 RandalSchwartz ok
20:36 RandalSchwartz can I spell it the other way... file must exist, and here's how to make it if it doesn't?
20:38 timoguin could you use the file.managed state for that? or are you not wanting to overwrite it if it's already there?
20:39 RandalSchwartz well - it's to initialize the database
20:39 RandalSchwartz one time thing
20:39 mozg joined #salt
20:39 RandalSchwartz if the conf isn't there, then I need to execute "postgresql oneinitdb"
20:39 RandalSchwartz then the conf will be there
20:39 RandalSchwartz but I don't particularly care about its contents (yet) :)
20:39 timoguin you could try some Jinja and use the file.exists state to check
20:39 timoguin and only execute if it doesn't
20:40 RandalSchwartz well - one extra shell command to test the file is probably ok for now
20:40 RandalSchwartz - unless: '[ -f /usr/local/pgsql/data/postgresql.conf ]'
20:40 RandalSchwartz that seems to work
20:40 whiteinge sijis: if you're using apache then interface and port are ignored in the config
20:40 rushm0r3 joined #salt
20:42 yomilk joined #salt
20:42 TyrfingMjolnir joined #salt
20:42 Ahlee whiteinge: on the failing node i'm not getting anything back with --out=json for comparison
20:42 whiteinge as in that minion is not returning at all?
20:43 RandalSchwartz so if that's on ID "initialize_database"... in a later state I can say { requires: { cmd: initialize_database } to require it, right
20:43 whiteinge RandalSchwartz: right
20:43 RandalSchwartz wow.  I do believe I'm getting it
20:43 Ahlee Execution is still running on minion, and now finally 10 minutes later {"minion": "Minion did not return" }
20:44 Ahlee only difference is one is configured ot use ext_job_cache: mongo, so i'll dig into this some more
20:44 Ahlee see what, if anything, mongo_future_return is getting
20:45 ipalreadytaken joined #salt
20:47 TyrfingMjolnir joined #salt
20:48 baniir joined #salt
20:48 utz left #salt
20:52 sijis whiteinge: no luck ;/
20:53 whiteinge sijis: as in pythonpath issues are resolved but authenticating isn't working?
20:54 themadcanudist left #salt
20:54 sijis whiteinge: auth works but i get nothing on the subsequent command
20:55 sijis trying to run in debug
20:57 sijis whiteinge: ok, when i start with debug. its asking for a PEM password
20:58 RandalSchwartz it's sure executing /sbin/zfs help a lot. :(
20:58 RandalSchwartz any way to get it to lay off on that?
20:58 Ahlee I thought that got fixed?
20:59 whiteinge sijis: pam?
20:59 RandalSchwartz seems to run it about once per state. :)
20:59 Ahlee oh, nevermind, there was a typo in the line being passed to it
21:00 sijis whiteinge: http://fpaste.org/88971/39586758/
21:01 whiteinge never seen that before...
21:01 obimod UtahDave: yup!
21:01 UtahDave obimod: what happened?
21:01 * whiteinge greps all the things
21:02 Ahlee oh strange.
21:02 Ahlee this is generating multiple JIDs
21:02 sijis whiteinge: so, the example has ssl_key and ssl_crt.. in my files, i didn't have a .key file, so i used the make localhost.cert to create a one
21:02 allanparsons is this how i would get nested pillar data?
21:02 allanparsons pillar.get('s3fs:aws_bucket', {})
21:02 sijis whiteinge: let me disable ssl for now
21:03 Ahlee nevermind, this is saltutil.find_job generating a new jid looking up the previous jid
21:03 Katafalk_ joined #salt
21:03 obimod UtahDave: You were right, it was a networking problem. The custom ports I setup to take the place of 4506 and 4505 weren't being used by the minion. I checked the router firewall and saw the instance pinging the default 4506 port. Changed the config off of the custom back to the default and that seemed to fix it.
21:03 allanparsons /bin/bash: -c: line 0: `aws s3 cp --recursive /srv/deploy/wordpress/master_6a7d/wp-content s3://pillar.get('s3fs:aws_bucket', {})/wp-content'
21:03 UtahDave Ah, cool. I'm glad you got it working!
21:03 whiteinge sijis: the docs don't spell this out well (at all?) if you're running this through apache, almost all of the configuation options are ignored (perhaps all of them are)
21:04 obimod UtahDave: Now I'm trying to figure out why when I execute salt-run manage.status it says "failed to authenticate" about four times before it works, even with sudo -u root
21:04 * obimod happy dance
21:04 Ahlee if you define an external job cache, can you specify --return=None to make it go back to filesystem?
21:04 sijis whiteinge: i'm looking at the example configuration block in http://salt-api.readthedocs.org/en/latest/ref/netapis/all/saltapi.netapi.rest_cherrypy.html
21:04 Ahlee nope
21:04 whiteinge sijis: yeah. all the config options are ignored. they only configure the cherrypy server
21:04 baniir joined #salt
21:05 whiteinge sorry for the confusion there. i'll add a note on that right now
21:05 sijis whiteinge: understood. but when i run in debug.. its flipping out.
21:05 whiteinge as in that's where the "PEM" prompt is showing up
21:05 whiteinge ?
21:06 sijis yup
21:06 sijis so i'm tyring to disable ssl on it
21:06 sijis disable_ssl: True ?
21:06 whiteinge yeah
21:06 obimod UtahDave: thanks again!!
21:06 UtahDave you're welcome!
21:06 whiteinge i don't think that prompt is coming from salt-api or salt...
21:06 srage joined #salt
21:07 sijis whiteinge: let me paste what i'm seeing
21:08 juanlittledevil joined #salt
21:08 criticalhammer1 joined #salt
21:09 srage_ joined #salt
21:11 martoss joined #salt
21:11 martoss left #salt
21:12 MTecknology woah...
21:12 MTecknology salt running in the console apparently is nothing like running it as a daemon...
21:13 MTecknology the performance difference is immeasurable
21:13 sijis whiteinge: figured out my run in debug prob. i had one in the background
21:13 alunduil joined #salt
21:13 sijis whiteinge: in debug. i got output
21:13 sijis which is awesome!
21:14 schimmy joined #salt
21:16 cewood joined #salt
21:17 schimmy1 joined #salt
21:17 Employee312 joined #salt
21:17 krow joined #salt
21:17 sijis whiteinge: what's the static param for anyhow?
21:18 whiteinge sijis: serving up html/css/js/img files
21:18 whiteinge sijis: wait, so it's working working?
21:18 sijis the cherrypy instance has images
21:18 sijis whiteinge: well. in debug it worked. but now through apache its failing on the 2nd part
21:18 sijis (the call)
21:19 UtahDave MTecknology: slower or faster?
21:24 kvbik joined #salt
21:24 Gifflen joined #salt
21:25 Gifflen joined #salt
21:25 Katafalkas joined #salt
21:27 andrej If I want to install a DEB that's not from a repo (and I don't want to create a local repo) ... what would a salt-state look like that I can use to deploy it?
21:27 andrej Does anyone have a working sample flying around?
21:31 Ahlee file.managed along with cmd.run dpkg -i?
21:31 Gareth andrej: I have an example of that.  one moment.
21:33 Gareth andrej: simple state to install chrome via deb
21:33 Gareth https://gist.github.com/garethgreenaway/9794121
21:33 harobed joined #salt
21:33 sijis whiteinge: ok. it must be the way i have apache configured
21:34 sijis whiteinge: i can run in debug, no issues.
21:34 pydanny joined #salt
21:34 * whiteinge nods
21:35 sijis whiteinge: anything look wrong with this?
21:36 sijis http://fpaste.org/88987/86972513/
21:36 sijis (besdies it being commeneded out)
21:36 whiteinge haha
21:37 whiteinge looks ok to me
21:37 whiteinge let me set up apache and try here
21:38 sijis whiteinge: let me know. i gotta go but either ping me or email me if you have a thought
21:38 sijis thanks again
21:38 whiteinge roger that. ttyl
21:39 Gifflen joined #salt
21:41 Gifflen joined #salt
21:41 faldridge joined #salt
21:42 faldridge joined #salt
21:43 faldridge left #salt
21:49 cdcalef joined #salt
21:50 ajw0100 joined #salt
21:52 amckinley left #salt
21:53 RandalSchwartz Hmm.  Not seeming to get the syntax of a multi-line value for a state
21:53 RandalSchwartz first line is indented relative to "foo: |" on previous line
21:53 RandalSchwartz second line is same as first
21:55 Ahlee a little bit louder and a little bit worse?
21:56 RandalSchwartz does it need a blank line at end?
21:56 MTecknology UtahDave: running daemon is *MUCH* faster
21:56 RandalSchwartz nope, that's not enough :(
21:56 UtahDave RandalSchwartz: can you pastebin what you have?
21:56 MTecknology there really isn't too much in the way of managing windows servers from salt, is there?
21:56 btorch what is the best way to verify is a pillar is defined or not ? I need a true or false back
21:56 UtahDave MTecknology: Quite a bit, actually
21:57 RandalSchwartz ... http://pastebin.com/RJBQ9iqF
21:57 UtahDave btorch: in jinja that would be {{ salt['pillar.get']('mypillarkey') }}
21:57 MTecknology I'm looking around for trying to install packages, query installed packages, and configure firewall
21:57 btorch I tried {% if pillar['system']['%s' % grains['stype']] %} but that cause a reder faile
21:57 UtahDave btorch: that will return False if it doesn't exist
21:57 btorch UtahDave: cool thanks
21:57 MTecknology configuring the firewall is the one that I'm really not finding right now
21:58 RandalSchwartz wrong indenting?
21:58 UtahDave MTecknology: https://github.com/saltstack/salt/blob/develop/salt/states/win_firewall.py
21:58 timoguin MTecknology, if the powershells can do it, the salt can do it.
21:59 UtahDave whiteinge: is RandalSchwartz's paste correct?  ^^
21:59 RandalSchwartz it looks to be standard YAML
21:59 RandalSchwartz even 1.1, which pyyaml parses
21:59 RandalSchwartz not even 1.2 :)
21:59 whiteinge RandalSchwartz: you need two more spaces before the multiline content
22:00 MTecknology UtahDave: I'm trying to manage what's opened/closed in the firewall (in addition to making sure the profile is enabled)
22:00 krow joined #salt
22:01 eliasp RandalSchwartz: for the lazy: http://yamllint.com/
22:01 RandalSchwartz and I also need to spell postgresql better. :)
22:01 UtahDave MTecknology: wow, I just realized that state only disables.
22:01 MTecknology ya :(
22:01 UtahDave MTecknology: looks like we need to fill out that execution module and state
22:02 RandalSchwartz woo hoo!  globals loaded!
22:02 RandalSchwartz now let's see if it's idempotent
22:02 MTecknology Could you get that done in the next week? maybe two?
22:02 MTecknology ya?
22:02 UtahDave :)  he he.
22:02 whiteinge we should get yamllint.com added to the docs
22:02 MTecknology I get a feeling that I'll be contributing a *lot* to the windows states/modules. :'(
22:02 MTecknology I don't wanna do windows!
22:02 RandalSchwartz and it's idempotent!
22:03 jcockhren MTecknology loves windows guys
22:03 jcockhren let's keep him busy. :)
22:03 RandalSchwartz here's my postgres "boot from nothing" script now: http://pastebin.com/Qun30kBr
22:03 whiteinge i would also like to see yamllint show the output as JSON because...gah
22:03 MTecknology Our windows admins keep falling further and further behind with basic security practices. Salt is my plan to force things into a known, consistent, and secure state.
22:04 cdcalef do the ubuntu 'daily' packages work any more?  launchpad shows the last package in there from nov 2013 or am i lookng in the wrong place?
22:04 UtahDave very nice, RandalSchwartz!  I like it
22:04 lynxman joined #salt
22:05 RandalSchwartz do I have the right require's in there?
22:05 RandalSchwartz it'll restart postgres when anything reinstalls, right?
22:05 whiteinge yessir
22:06 rome joined #salt
22:06 RandalSchwartz and my solution for loading the globals once?
22:06 RandalSchwartz after all, you load those again, and pg really complaines
22:06 RandalSchwartz and there's no way to get an incremental
22:06 UtahDave Yeah, I think that looks good.
22:08 MTecknology I'm going to get to write most of the modules/states for windows firewall stuff. I'm looking through the rest of this and it looks like I could potentially stop there. The rest of what I need might actually be there. :D
22:09 eliasp MTecknology: win firewall stuff? now this sounds awesome… this will come quite handy here
22:10 MTecknology that's not sooooo bad; I wonder how hard it'll be to add - disable: True for ports that are allowed but shouldn't be.
22:10 MTecknology eliasp: you gonna help me write it?
22:10 eliasp MTecknology: well, depends on how busy I'll be the 2nd week of april… until then, I'm definitely too busy :(
22:11 RandalSchwartz in db/reload.sls, can I refer to states in db/init.sls without including it?
22:11 jdenning joined #salt
22:11 whiteinge RandalSchwartz: no
22:11 MTecknology I'm in the middle of a $10mil project where the timeline was set so insane that I'm falling behind working 60+hr/wk. I'm probably about in the same boat. :P
22:11 RandalSchwartz so I need to include it?
22:11 whiteinge yeah
22:12 RandalSchwartz { include: [init] }?
22:12 eliasp MTecknology: ouch, good luck with that…
22:12 lynxman joined #salt
22:12 RandalSchwartz or { include: [db/init] }
22:12 RandalSchwartz or something else
22:12 whiteinge RandalSchwartz: no init needed. just include 'db'
22:12 RandalSchwartz ahh.  right
22:12 MTecknology eliasp: You know python and windows well enough to actually dive into this? If so, pm?
22:15 RandalSchwartz ... http://pastebin.com/yVf8Txtq
22:16 RandalSchwartz is this the best way to have apache down during the reloading of the data?
22:16 Ahlee Anybody had odd things happen when running salt-minion from within supervisord?
22:16 whiteinge RandalSchwartz: you may prefer using prereq
22:16 RandalSchwartz or is there a more salty way instead
22:17 RandalSchwartz wasn't sure how to get it started back up again after the prereq
22:17 schimmy joined #salt
22:17 whiteinge after teh state that prereq is watching runs, just add a service.running that requires the state that prereq is watching.
22:18 whiteinge if prereq doesn't run it will just ensure the service is running, if prereq did run then it will start the service
22:19 RandalSchwartz so database_reload would have require service apache too?
22:20 whiteinge sorry, should've referenced your pastebin. make a new state that does service.running that requires database_reloads
22:20 RandalSchwartz ahh.. I get it.
22:20 RandalSchwartz do I need to include: back and forth?
22:21 whiteinge yeah (there are no circular includes)
22:21 RandalSchwartz trying to figure out how the apache .sls is going to know about database_reload
22:21 whiteinge you can use require_in, prerec_in, watch_in to avoid the separation of concerns thing
22:21 RandalSchwartz or if I put that into db/reload, how I reference apache22 service running
22:22 schimmy joined #salt
22:22 RandalSchwartz can I say require_in: database_reload from the web/init.sls ?
22:22 RandalSchwartz how would it know what that meant?
22:23 RandalSchwartz maybe I need to include both db and web in my reload.sls
22:23 RandalSchwartz then I'll have all those states to play with
22:23 * whiteinge nods
22:24 whiteinge i don't have the pastebin for your web sls to reference
22:24 RandalSchwartz but it will still only run database_reload if I say state.sls db.reload, right?
22:25 whiteinge if you run state.sls it will run all the sls files that are included in the sls file you're running directly
22:25 ipalreadytaken joined #salt
22:25 RandalSchwartz actually, that's probably ok here
22:25 Katafalk_ joined #salt
22:26 whiteinge in this case using "include" and having a top file are analagous. both constructs just glue dictionaries together (the top file just does it with minion targeting)
22:26 whiteinge (if that makes sense)
22:26 kermit joined #salt
22:26 Katafalk_ joined #salt
22:27 whiteinge run ``state.show_sls <sls-name>`` or ``state.show_highstate`` to see the result of the "gluing"
22:28 yomilk joined #salt
22:28 RandalSchwartz can my "web down while db loading" step use service.stopped
22:28 schimmy joined #salt
22:29 hazzadous joined #salt
22:29 RandalSchwartz err... dead
22:30 runnyspot left #salt
22:31 allanparsons if im creating a directory
22:31 eliasp in http://docs.saltstack.com/en/latest/topics/tutorials/gitfs.html#branches-environments-and-top-sls-files … does the statement "[…]  the recommended setup is to have the top.sls file only in your master branch, and use environment-specific branches for states definitions." mean, I should have only the top.sls file in my master branch and nothing else? like: never merge any state files into the master branch?
22:31 allanparsons via file.directory
22:31 meteorfox joined #salt
22:31 RandalSchwartz something like this: http://pastebin.com/CSjmmRE9
22:31 allanparsons how can i ignore if the dir already exists?
22:31 allanparsons OSError: [Errno 17] File exists: '/srv/deploy/fullscreen-wordpress/latest'
22:31 RandalSchwartz but then where do I put the service running again?
22:31 eliasp or does it say: remove top.sls from all other branches?
22:31 mozg joined #salt
22:31 frasergraham joined #salt
22:32 schimmy1 joined #salt
22:32 RandalSchwartz maybe web_up_after_database_reload: service - running - require - cmd: database_reload ?
22:33 hunter joined #salt
22:33 Luke_ joined #salt
22:33 whiteinge yeah, exactly
22:34 allanparsons what the heck
22:34 allanparsons that dir doesnt exist
22:34 RandalSchwartz this seems to at least parse: http://pastebin.com/rTifxd3T
22:35 allanparsons atgh, nm... i had screen open w/ another session in that dir i was trying to create
22:35 RandalSchwartz SUCCESS!
22:36 whiteinge woot
22:36 higgs001 joined #salt
22:36 RandalSchwartz now to verify that this doesn't trigger from a normal highstate
22:36 RandalSchwartz yeah... doesn't suck in db.reload
22:37 higgs001 joined #salt
22:37 fllr joined #salt
22:39 juanlittledevil joined #salt
22:39 eliasp can I somehow query the environments known to the Master? I'm just setting up gitfs here and I feel like it somehow doesn't pick up the branches properly… already wiped the gitfs cache but it was re-created in the same state and the content of the envs.p file in there doesn't really match what's in my repository…
22:40 sroegner joined #salt
22:41 Dave_Kelliher joined #salt
22:43 bmdesmet joined #salt
22:44 whiteinge eliasp: look at cp.list_master
22:44 hunter joined #salt
22:44 eliasp whiteinge: thanks a lot
22:47 eliasp whiteinge: hmm, ok… and according to cp.get_file_str the content looks ok…
22:47 eliasp whiteinge: then I think I can continue as planned ;)
22:48 whiteinge :)
22:48 apergos hey folks, I'm just reading https://github.com/saltstack/salt/blob/develop/salt/client/__init__.py  (from head) and line 795 seems suspicious to me
22:48 apergos if len(found.intersection(minions)) >= len(minions):
22:48 apergos fail = sorted(list(minions.difference(found)))
22:49 apergos shouldnt that be if len(..)  < len(minions)?
22:49 seblu joined #salt
22:50 bhosmer joined #salt
22:50 juanlittledevil left #salt
22:50 zain joined #salt
22:54 jonbrefe joined #salt
22:58 seblu joined #salt
22:58 KyleG joined #salt
22:58 KyleG joined #salt
23:01 mpanetta joined #salt
23:03 googolhash joined #salt
23:05 Katafalkas joined #salt
23:05 seblu42 joined #salt
23:09 yomilk joined #salt
23:11 seblu joined #salt
23:12 krow joined #salt
23:15 fllr joined #salt
23:16 Katafalk_ joined #salt
23:19 zain joined #salt
23:24 Katafalkas joined #salt
23:26 juice joined #salt
23:33 seblu joined #salt
23:36 fllr joined #salt
23:39 zain_ joined #salt
23:41 rome joined #salt
23:42 obimod joined #salt
23:43 obimod hey guys can you embed jinja vars inside jinja calls like {{pillar.get('openvpn_server',{}).get('{{id}}', {})}} ?
23:44 UtahDave you don't need to "embed" them. Just use them without the braces
23:45 obimod ooo like {{pillar.get('openvpn_server',{}).get(\'id\', {})}}
23:46 obimod or {{pillar.get('openvpn_server',{}).get(id, {})}}?
23:46 kedo39 the second one, you don't need to escape those quotes
23:46 obimod kk thx!!
23:46 UtahDave yep!
23:49 faldridge joined #salt
23:53 MTecknology I don't suppose anyone has any clue what broke here?.. http://dpaste.com/1758305/
23:54 MTecknology this feels like a bug in salt, but I did have my salt server destroyed today, so maybe not
23:54 UtahDave MTecknology: what version of Salt do you have installed?
23:54 MTecknology develop
23:55 MTecknology 2014.1.0-3901-gc5a3904
23:55 UtahDave Let me test that on my develop machine
23:55 faldridge joined #salt
23:56 MTecknology thanks :)
23:58 UtahDave Hm. that worked fine on my system.  What OS are you on?  There was a packaging bug on Debian that left some old .pyc files around
23:58 MTecknology debian 7
23:59 UtahDave you might try deleting all pyc files in your salt  site-packages directories and restarting.
23:59 kedo39 i think that pyc bug also hit me on ubuntu

| Channels | #salt index | Today | | Search | Google Search | Plain-Text | summary