Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-12-16

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

All times shown according to UTC.

Time Nick Message
00:00 hunmonk_1 iggy: i can wait a day or two, just wanting to know the progress
00:00 iggy oh, then tell them not to do that
00:00 iggy well, the bug has been open for 4 days (when all it would take to fix is a simple revert)
00:00 genediazjr joined #salt
00:00 glyf joined #salt
00:00 iggy so I'm not sure I'd expect much
00:01 alexhayes iggy: Ok, I think it must be some issue referencing 'php
00:01 alexhayes if I change my example around it works as expected
00:02 alexhayes is there a salt command to check for collisions in names of states?
00:02 alexhayes is there a salt command to check for collisions in names of states?
00:04 __number5__ alexhayes: I would use salt-call state.show_sls to check syntax errors & etc.
00:05 ninkotech joined #salt
00:05 iggy there isn't technically anything wrong with having duplicate state IDs
00:05 iggy you just can't assign them both to a single host
00:06 alexhayes Also, can anyone confirm if the include MUST be in the same sls file as the require?
00:07 iggy yes
00:07 murrdoc joined #salt
00:07 iggy and it should be the first line of said file
00:09 alexhayes Ok... I've finally got to the bottom of my problem. I think, creating a gist now for confirmation
00:11 aparsons joined #salt
00:11 jerryc joined #salt
00:13 vudoo joined #salt
00:15 vudoo I'm doing a 'cmd.run' inside the folder FROM an extracted .tar.gz -- now, this extracted folder contains version info and a bunch of text I have no control over. Is there a way to use a wildcard in either setting my 'cwd' variable or in renaming the folder using 'file.rename'? A simple * doesn't do the job
00:15 vudoo *folder name contains
00:16 __number5__ vudoo: you can use tar parameter to strip the folder
00:16 __number5__ try man tar
00:17 iggy vudoo: that's less useful if the tar has directories more than 1 level deep and you rely on that structure
00:17 iggy err, -the name
00:17 iggy but yeah, I was going to say the same thing
00:18 bivers joined #salt
00:18 murrdoc joined #salt
00:18 yomilk joined #salt
00:20 vudoo I suppose that's the best option -- not ideal but it will do. I just noticed the docs mentioned a number of tar flags not to use but I'll give it a shot
00:20 vudoo thanks guys!
00:21 dimeshake if i include a pillar with default options, can i simply override those options in a more minion-specific pillar later?
00:22 dimeshake does the later pillar's dict overwrite a previous one, would perhaps be more succinct
00:23 wnkz__ joined #salt
00:24 iggywig123 joined #salt
00:32 yomilk_ joined #salt
00:33 pppingme joined #salt
00:45 forrest joined #salt
00:47 tkharju joined #salt
00:49 UtahDave joined #salt
00:49 alexhayes I've simplified the problem I'm experiencing with regards to requirements/includes and would be interested if anyone else can replicate this - https://gist.github.com/alexhayes/118120bbfbb3828fc9f9
00:50 alexhayes I'm using salt 2014.7.0 (Helium)
00:57 aparsons joined #salt
01:00 aqua^mac joined #salt
01:00 otter768 joined #salt
01:03 jnials joined #salt
01:04 UtahDave hunmonk_1: have you tried running     salt-cloud -u      ?
01:04 UtahDave that should update your bootstrap script to the latest.  They may have fixed that already.
01:04 * robawt highfives UtahDave
01:04 UtahDave hey, robawt!
01:04 * UtahDave highfives robawt back
01:04 robawt hey hey!
01:07 dimeshake UtahDave: I see you do find some time for IRC, still!
01:07 vbabiy joined #salt
01:10 UtahDave heh, barely!
01:10 UtahDave I had so many appointments today.
01:10 * UtahDave when do I get to hack??????
01:12 UtahDave and now it's time to go home.  catch you all tomorrow!
01:12 dimeshake hoping for less housekeeping in the lessons tomorrow :D
01:13 nitti joined #salt
01:16 mapu joined #salt
01:24 jgelens when using schedule.present I get the following error:
01:24 jgelens File "/usr/local/lib/python2.7/dist-packages/salt/states/schedule.py", line 129, in present
01:24 jgelens if name in current_schedule:
01:24 jgelens TypeError: argument of type 'NoneType' is not iterable
01:31 che-arne|2 joined #salt
01:53 shaggy_surfer joined #salt
02:01 shaggy_surfer joined #salt
02:02 nitti joined #salt
02:05 diegows joined #salt
02:12 N-Mi joined #salt
02:12 N-Mi joined #salt
02:18 l0x3py joined #salt
02:19 elfixit joined #salt
02:20 aparsons_ joined #salt
02:30 hunmonk_1 iggy: https://github.com/saltstack/salt-bootstrap/pull/520 <— why wait? :)
02:31 mapu joined #salt
02:34 jhauser_ joined #salt
02:53 pppd_ joined #salt
02:54 StDiluted joined #salt
03:01 otter768 joined #salt
03:07 bhosmer joined #salt
03:09 evidence so i wrote a python module that grabs some data and returns it to the pillar.. i have everything working proplery, except i can't figure out the syntax to properly nest the location in pillar .. ['pillar.get']('foo:bar:blah')  what characters are parsed that signal a nesting?
03:09 evidence ie i have returndict = {"foo:\n  bar:":file} - but no such luck with variations of spaces and new lines
03:11 felskrone joined #salt
03:12 Mso150 joined #salt
03:13 StDiluted joined #salt
03:17 pppd joined #salt
03:19 elfixit joined #salt
03:24 jacksontj joined #salt
03:25 evidence oh duh.. just needed to nest the dict within another
03:27 forrest joined #salt
03:34 Mso150 joined #salt
03:40 malinoff joined #salt
03:42 elfixit joined #salt
03:51 orion_ joined #salt
03:55 elfixit joined #salt
03:57 kormoc joined #salt
03:57 [vaelen] joined #salt
04:03 squig joined #salt
04:03 squig hello
04:04 squig I am working on trying to speed up the package query speed in yumpkg
04:04 squig I dont want to run the whole stack, is it practical to do that
04:05 funzo joined #salt
04:07 dagrizbox joined #salt
04:07 yomilk joined #salt
04:08 kormoc joined #salt
04:12 squig are there coverage results published somewhere for the test suite?
04:19 kormoc joined #salt
04:21 elfixit joined #salt
04:22 ndrei joined #salt
04:26 kormoc joined #salt
04:28 elfixit joined #salt
04:29 smcquay joined #salt
04:32 thehaven_ joined #salt
04:33 SpX joined #salt
04:34 alexbst__ joined #salt
04:34 pf_moore joined #salt
04:38 JonGretar joined #salt
04:38 grepory joined #salt
04:38 joeyparsons joined #salt
04:38 vectra joined #salt
04:38 akoumjian joined #salt
04:39 rcsheets joined #salt
04:39 dnai23 joined #salt
04:40 desposo joined #salt
04:43 APLU joined #salt
04:44 desposo joined #salt
05:00 desposo joined #salt
05:01 hal58th joined #salt
05:02 otter768 joined #salt
05:04 yomilk_ joined #salt
05:08 tkharju joined #salt
05:09 dagrizbox joined #salt
05:12 dagrizbox joined #salt
05:19 nitti joined #salt
05:26 Pixionus joined #salt
05:26 bbradley joined #salt
05:32 jalbretsen joined #salt
05:35 yomilk joined #salt
05:35 elfixit joined #salt
05:37 armyriad joined #salt
05:38 peters-tx joined #salt
05:42 ajolo joined #salt
05:42 ajolo joined #salt
05:49 TheThing joined #salt
05:55 ganes joined #salt
05:55 ganes hey
05:56 ganes Need salt states for provisioning a server in openstack.
05:56 ganes pls help me
05:59 evidence for anyone storing binary data in pillar - any hacks for displaying pillar data via pilar.items etc?  seems maybe some conditionals in output/nested.py to skip certain data might make sense?
05:59 evidence currently you get an exception when it goes to render it
06:03 ajolo joined #salt
06:04 ajolo joined #salt
06:08 kermit joined #salt
06:12 TyrfingMjolnir joined #salt
06:15 rawzone joined #salt
06:20 __number5__ evidence: you didn't encode your binary to something like base64?
06:22 evidence negative, it's either that or adding an exception to the pillar rendering code though
06:22 evidence figure it's easier to just store the straight binary, as you save an operation on either side.  the data is useless to us in either raw or base64 form in a pillar.items, so i figure skipping it is better
06:26 evidence __number5__: how about youself?  if you are encoding it, curious what your process for pulling it out and decoding is
06:28 __number5__ evidence: have thought about that, I don't have any real binary in pillar, only ssl certs which were already encoded
06:30 __number5__ evidence: maybe you can create your own renderer, just like salt.renderers.gpg
06:34 felskrone joined #salt
06:35 covox joined #salt
06:47 gfa joined #salt
06:48 catpigger joined #salt
06:49 ganes Need salt states for provisioning a server in openstack.
06:50 johnl_ joined #salt
06:52 maxd joined #salt
06:53 dagrizbox joined #salt
06:57 elfixit joined #salt
07:01 jhauser joined #salt
07:03 otter768 joined #salt
07:03 gfa i think i hit a limit in salt
07:03 maxd joined #salt
07:04 gfa i declare my nodes one by one separated by commas on top file, today i added 24 servers and jinja start to fail
07:08 ttrumm_ joined #salt
07:08 gwmngilfen joined #salt
07:10 Zachary_DuBois joined #salt
07:30 squig hello?
07:31 squig Im trying to run the tests (so I can fix a different bug)
07:31 squig but the integration tests wont start
07:31 intellix joined #salt
07:32 squig I get this traceback  http://pastebin.com/yV4VJ3k9
07:32 JlRd joined #salt
07:35 squig aah im missing a package
07:46 kermit joined #salt
07:56 monkey66 joined #salt
07:58 jalaziz_ joined #salt
07:59 lude joined #salt
08:00 monkey661 joined #salt
08:02 hebz0rl joined #salt
08:03 CeBe joined #salt
08:05 inductor joined #salt
08:12 agend joined #salt
08:12 lb1a joined #salt
08:13 trikke joined #salt
08:13 maxd left #salt
08:28 colttt joined #salt
08:33 karimb joined #salt
08:34 jhauser joined #salt
08:35 pttc joined #salt
08:35 phx joined #salt
08:38 kawa2014 joined #salt
08:39 Auroch joined #salt
08:47 flebel joined #salt
08:47 Dw_Sn joined #salt
08:50 pttc Anyone have a good resource for learning about using a salt--master server to provision vagrant dev environments? :) Having a bit of trouble getting my head round the minion-id issues
08:52 speed145a joined #salt
09:00 JlRd joined #salt
09:01 jhauser joined #salt
09:03 lothiraldan joined #salt
09:04 xenoxaos joined #salt
09:04 otter768 joined #salt
09:08 Dw_Sn joined #salt
09:10 bhosmer_ joined #salt
09:10 Mso150 joined #salt
09:12 jhauser joined #salt
09:16 ale__ joined #salt
09:16 ale__ hi guys
09:16 ale__ when using salt-cloud - can i specify a inline script to run ?
09:19 akafred joined #salt
09:20 N-Mi joined #salt
09:20 babilen pttc: I simply run my "dev" master in vagrant too and pull everything from GitFS. I do, however, know what you are referring to and can't quite think of a nice way to deal with that, unless you use a reactor to automatically remove minions once they become unavailable (and automatically accept them).
09:20 N-Mi joined #salt
09:20 babilen pttc: I actually think that the latter approach might be quite appropriate
09:22 pttc I made a stack question here: http://stackoverflow.com/questions/27488338/handling-minion-keys-with-salt-vagrant but I don't know if my solutions are practical, on further reading it seems like minion-ids really need to be unique? so you cant run  two virualboxes at the same time with the same minion-id?
09:26 babilen yeah
09:28 pttc hmm
09:32 robothands joined #salt
09:35 pttc so if two developers are trying to run a Vagrrant instance of one of our webservice repo's, is there no way to say "these are both minion clones of "web-service-x", provision as necessary" ?
09:38 pttc if it helps, the problem I'm trying to solve is that we have a number of web services and so on that we'd like to be able to just git pull + vagrant up to have running locally quickly so we can do dev/testing. I've been looking at chef + salt for this, but as we're python devs I'd prefer to use salt if possible
09:42 babilen pttc: I'd write to the ML, a reactor based approach on the salt side doesn't "feel" too bad, but you'd have to sort out the vagrant side of things for naming (hostfile formula?)
09:46 pttc with the reactor approach, even if it's removing minions once they're unavailable is that not still blocking another box from being provisioned with that minion id while it's in use?
09:48 dunz0r joined #salt
09:48 dburbridge joined #salt
09:48 malinoff pttc, minion id is a unique minion identifier, to logically gather minions in a group, you should use a custom grain/pillar (e.g. roles list)
09:49 jrluis joined #salt
09:51 pttc so could all vagrant instances of "webservice-x" be placed under one group/pillar?
09:52 malinoff yep
09:53 pttc right, I'll go read up on pillars then, thanks
10:08 svx joined #salt
10:11 yomilk joined #salt
10:22 yomilk joined #salt
10:36 workingcats joined #salt
10:36 slafs joined #salt
10:36 slafs left #salt
10:46 che-arne joined #salt
11:05 giantlock joined #salt
11:05 otter768 joined #salt
11:09 N-Mi joined #salt
11:24 viq pttc: if it's vagrant, couldn't you as well set up master on same box?
11:25 viq And then you don't have the issue of multiple minions with same ID appearing all over your network
11:25 giannello joined #salt
11:26 bhosmer joined #salt
11:34 karimb joined #salt
11:35 lothiraldan joined #salt
11:38 diegows joined #salt
11:41 jonatas_oliveira joined #salt
11:41 jhauser joined #salt
11:48 aqua^mac joined #salt
11:48 yomilk joined #salt
11:58 lothiraldan joined #salt
11:58 dburbridge joined #salt
11:58 pttc that's a possibility, so every developer would have a clone of the salt-master on their local machines?
12:00 pttc or do you mean set up salt-master on the same machine that is being provisioned as the minion?
12:01 felskrone joined #salt
12:01 wnkz joined #salt
12:01 viq Have the vagrant box be a master for itself
12:06 pttc interesting. yeah that might help. Does vagrant have a way to copy the stuff from the "main" salt-master server to the new instanced box? Or would that be a git pull
12:07 viq that would probably be a git pull
12:07 viq And I would probably keep that on the dev's box and use synced/shared folder for that
12:08 viq That way you can easily edit the tree on your own machine, using the tools you know and like, and have the machine see it
12:08 viq And then when you're happy commit and push back to main repo
12:08 pttc true, ok cool I'll have a look at that structure, thanks
12:09 viq What OS do the devs use? If not windows, then I would recommend using NFS for the shared folders, but that's my personal preference
12:10 pttc we're on ubuntu for the most part
12:10 pttc the designers are on Macs though, and they'll want to use it too
12:10 wvds-nl joined #salt
12:11 workingcats macs should be fine for NFS
12:11 pttc and yeah i've already run into plenty of problems using vboxsf
12:12 viq For me first of the problems was that it isn't available for OpenBSD on which I do part of the vagrant stuff ;)
12:13 chutz joined #salt
12:14 goki_______ joined #salt
12:14 cm_rider_ joined #salt
12:14 pttc at least that one is straightforward :D wait until you get onto the filesystem caching issues on the guest VM
12:14 crashmag_ joined #salt
12:15 gamingrobot joined #salt
12:15 trikke joined #salt
12:15 viq I just use nfs everywhere I can because of that, because at that point why not
12:16 karimb joined #salt
12:17 diegows joined #salt
12:17 Rockj joined #salt
12:17 ZombieTwiglet joined #salt
12:17 kwmiebach joined #salt
12:17 vectra joined #salt
12:17 arif-ali joined #salt
12:17 gmoro joined #salt
12:18 akafred joined #salt
12:18 kaptk2_ joined #salt
12:18 iamtew joined #salt
12:18 Hazelesque_ joined #salt
12:19 moderation_ joined #salt
12:19 rcsheets joined #salt
12:20 pacopablo joined #salt
12:20 wedgie_ joined #salt
12:20 Emantor joined #salt
12:21 beauby joined #salt
12:21 scarcry joined #salt
12:21 octarine joined #salt
12:21 eclectic_ joined #salt
12:21 __number5__ joined #salt
12:22 imanc_ joined #salt
12:24 pacopabl1 joined #salt
12:24 davet joined #salt
12:26 lothiraldan joined #salt
12:27 APLU joined #salt
12:28 ale__ how can i run salt-cloud in debug mode ?
12:28 wnkz joined #salt
12:28 viq ale__: -l debug ?
12:28 ale__ :) just saw
12:28 ale__ ta
12:29 samed_ joined #salt
12:29 ale__ viq, any idea re custom inline scripts with salt-cloud ?
12:31 viq All I know about salt-cloud is that it exists ;)
12:31 CatPlusPlus joined #salt
12:31 samed joined #salt
12:31 AirOnSkin joined #salt
12:31 ramteid joined #salt
12:32 flamin_scotsman joined #salt
12:32 ujjain joined #salt
12:33 hebz0rl joined #salt
12:34 alexbst joined #salt
12:34 ndrei joined #salt
12:35 jgelens joined #salt
12:36 giantlock joined #salt
12:37 cb joined #salt
12:39 mschiff joined #salt
12:39 mschiff joined #salt
12:45 rhand joined #salt
12:47 mick3y morning. does any of yous managing their xen servers by any chance?
12:47 JlRd joined #salt
12:50 qybl joined #salt
12:52 hrist joined #salt
12:53 agend joined #salt
12:54 che-arne|2 joined #salt
12:55 tafa2 joined #salt
12:56 giantlock joined #salt
12:59 che-arne joined #salt
13:00 che-arne|2 joined #salt
13:00 williamthekid_ joined #salt
13:01 viq joined #salt
13:03 Jarus_ joined #salt
13:04 forze joined #salt
13:04 leszq joined #salt
13:04 Jarus joined #salt
13:06 otter768 joined #salt
13:13 TheThing joined #salt
13:15 lothiraldan joined #salt
13:18 workingcats mick3y, ask for answers, not people ;)
13:31 beauby joined #salt
13:31 leszq joined #salt
13:37 aqua^mac joined #salt
13:42 noway_ joined #salt
13:43 colttt joined #salt
13:45 thawes joined #salt
13:46 vbabiy joined #salt
13:55 iggywig123 joined #salt
14:04 lothiraldan joined #salt
14:11 racooper joined #salt
14:11 nitti joined #salt
14:12 pdayton joined #salt
14:12 FRANK_T joined #salt
14:16 cDR_ joined #salt
14:16 cDR_ joined #salt
14:17 rocket joined #salt
14:18 mick3y workingcats: :P
14:18 mick3y I will take the silence as 'no' :-)
14:19 workingcats mick3y, you didnt ask a valid question and when prompted refused to correct that.. so i think you're unlikely to get responses ;)
14:20 bhosmer_ joined #salt
14:21 berserk_ joined #salt
14:21 neco`_ joined #salt
14:22 Blacklite_ joined #salt
14:22 workingcats what are you trying to do? what are you having a problem with? what do you actually wanna know? because you dont care if someone else did it, you wanna ask those people something - so just ask your actual question
14:22 vbabiy_ joined #salt
14:22 slafs1 joined #salt
14:23 tmmt_ joined #salt
14:23 gngsk joined #salt
14:23 capricorn_one joined #salt
14:23 slafs1 left #salt
14:23 kaptk2__ joined #salt
14:24 svx_ joined #salt
14:24 eliasp_ joined #salt
14:25 eofs_ joined #salt
14:25 wolog_ joined #salt
14:25 jeblair_ joined #salt
14:26 colttt_ joined #salt
14:27 yano joined #salt
14:27 glyf joined #salt
14:27 toastedpenguin1 joined #salt
14:29 mapu joined #salt
14:29 jaimed joined #salt
14:30 vlcn joined #salt
14:30 jtanner joined #salt
14:30 che-arne joined #salt
14:30 mpanetta joined #salt
14:31 fxhp joined #salt
14:32 lothiraldan joined #salt
14:33 gmoro joined #salt
14:34 viq I haven't seen the question, but usually to "does anyone know ..." I respond with "are you conducting a survey, or do you have an actual question?" ;)
14:34 catpigger joined #salt
14:34 alexhayes joined #salt
14:34 thawes joined #salt
14:35 mick3y workingcats: just been wondering if there are any issues with managing xen boxes. i noticed that python is bit outdated with xen 6.2 (which we probably should upgrade but it's a different story)
14:35 mick3y viq: yep - point taken :)
14:38 mpanetta_ joined #salt
14:40 FRANK_T I create this https://www.hobapolis.com/paste/?689c8c06e4203fbb#zZ6TYBYhAtjvTzsv5+QMsP+7+sfxEnDNGRPndlvKCa8=       I was able to start the service but I want to add if the service stop automatically restart the service
14:40 giannello joined #salt
14:40 perfectsine joined #salt
14:41 FRANK_T Is any way that I can force the minion to start the service automatically if the service stops
14:41 monkey661 left #salt
14:43 jY FRANK_T: if you run the state it'll start again
14:43 jY if you need to monitor it thats what something like runit or monit is for
14:45 viq or supervisord, and there are modules and states for talking with supervisord
14:45 FRANK_T Automatically?
14:45 jY yes
14:45 viq FRANK_T: that's what those tools do - make sure a process is running
14:45 jY they usually monitor like a pid and if the process isnt running it'll start it
14:46 viq Or count on the process keeping stdin/stdout open
14:46 _JZ_ joined #salt
14:46 FRANK_T Good Thank you..
14:47 tafa2 joined #salt
14:54 shaggy_surfer joined #salt
14:54 yano joined #salt
14:56 KennethWilke joined #salt
14:57 che-arne joined #salt
14:58 patarr joined #salt
14:58 patarr joined #salt
15:01 epcim joined #salt
15:05 ph8 joined #salt
15:07 otter768 joined #salt
15:07 berserk joined #salt
15:08 jespada joined #salt
15:09 intellix joined #salt
15:09 epcim_ joined #salt
15:11 SheetiS joined #salt
15:14 kaptk2 joined #salt
15:17 avn joined #salt
15:17 cofeineSunshine joined #salt
15:18 hybridpollo joined #salt
15:20 rojem joined #salt
15:22 badon_ joined #salt
15:22 rickh563 joined #salt
15:23 cm_rider_ joined #salt
15:23 smcquay joined #salt
15:24 thawes joined #salt
15:25 che-arne joined #salt
15:25 berserk joined #salt
15:25 aqua^mac joined #salt
15:26 cm_rider_ joined #salt
15:27 ajolo joined #salt
15:28 interociter joined #salt
15:30 giantlock joined #salt
15:30 housl joined #salt
15:32 Emantor joined #salt
15:36 Auroch joined #salt
15:41 hunmonk_ joined #salt
15:42 wnkz joined #salt
15:45 nhubbard joined #salt
15:46 Ahlee if you {% if salt['cmd.run']('script') == foo %}, that command actually runs through the salt master, right?  Seeing sometime where these values aren't being populated (I'm setting variables based on results of the scripts)
15:46 Ahlee so my guess is my master is under too much load and not returning in time, and without default logic in place it's messing up my world.  I'm adding default logic, but that doesn't address why i'm getting no values
15:49 nhubbard joined #salt
15:49 jonbrefe joined #salt
15:50 nhubbard joined #salt
15:51 iggy I would think that in pillars would be run on the master, in grains/states/etc. it'd be on the minion itself
15:53 mapu joined #salt
15:56 armyriad joined #salt
15:56 scarcry joined #salt
15:56 t0rrant joined #salt
15:58 jngd joined #salt
16:02 Rojematic joined #salt
16:04 oldmantaiter joined #salt
16:06 intellix joined #salt
16:06 schlueter joined #salt
16:07 bmcchristian joined #salt
16:09 conan_the_destro joined #salt
16:09 bhosmer joined #salt
16:11 interociter anyone have any luck getting raet transport working in ubuntu?  Every install method I've tried complains about missing sodium libraries
16:13 schlueter1 joined #salt
16:15 beauby joined #salt
16:15 forze joined #salt
16:16 manfred Ahlee:  it does not, salt['cmd.run'] runs on the minion
16:16 leszq joined #salt
16:17 manfred Ahlee: the jinja is rendered on the minion, unless it is pillar data, then that command might faile and not run
16:20 iggy interociter: unless you are trying to see if it fixes a problem for you, I wouldn't bother with raet yet
16:20 iggy (and if you do, use the develop branch and not 2014.7 release)
16:21 kermit joined #salt
16:21 Ahlee manfred: ok, but states are rendered once, so the jinja logic has to resolve and hte corresponding salt state has to be shipped down to the minion to execute, right?
16:21 Ahlee so in effect, it is doubling up
16:23 iggy states are rendered once PER MINION maybe
16:23 interociter thanks for the advice iggy
16:23 iggy I don't know where you got the idea that they are rendered once
16:23 nitti_ joined #salt
16:23 Ahlee states are rendered and then shipped to the minions to execute
16:24 iggy ECONTEXT
16:24 Ahlee well, maybe rendered isn't correct here
16:24 Ahlee the state is built, maybe?  anyway the dictionary of stuff to do is put together on the master, and then sent to the minion which executes
16:25 dRiN joined #salt
16:26 iggy I'm pretty sure the minion has a full copy of the state from the master and decides what to do on it's own
16:26 philipsd6 Anyone using pyobjects seriously? I'm gettign this error: AttributeError: 'StateRequisite' object has no attribute 'append', but am finding it difficult to troubleshoot...
16:27 manfred Ahlee:  the states are rendered into high data, which includes all the jinja.  The jinja is then rendered on the minion, and then the yaml is rendered into the low data again on the minion
16:27 manfred Ahlee: http://docs.saltstack.com/en/latest/ref/states/layers.html
16:27 manfred Ahlee: salt \* state.show_highstate
16:27 manfred and you will see what gets sent to the minion
16:27 Ahlee hrm.  Ok.
16:27 Ahlee thanks iggy and manfred
16:28 manfred salt \* state.show_highstate —out yaml
16:28 Ahlee will take time to read and research on this
16:28 Ozack joined #salt
16:28 manfred Ahlee: check /var/cache/salt on the minion and you will see all the state files that have been sent down in highdata to the minion
16:29 manfred Ahlee:  all the information you need is on the docs page http://docs.saltstack.com/en/latest/ref/states/layers.html
16:29 orion___ joined #salt
16:30 iggy Ahlee: so now that we have that cleared up, why don't you tell us what problem you're having that lead you to this ;)
16:31 knot joined #salt
16:31 njhartwell joined #salt
16:34 nitti joined #salt
16:35 ajolo joined #salt
16:36 Ahlee sure, the snippet is https://gist.github.com/jalons/2496b79d3c80b2621f39
16:37 Ahlee I'm getting directories of C:\salt\salt-.win-amd64
16:38 Ahlee so salt['grains.get']('saltversion') isn't coming back
16:38 Ahlee and only sporadically
16:38 lothiraldan joined #salt
16:39 racooper hi folks. trying to figure out a state, getting an error "ID 'admins' in SLS 'common.admins' contains multiple state declarations of the same type". state file is at https://gist.github.com/racooper/ec475043bcc24465b532 what am I missing?
16:39 iggy try just looking it up (instead of using .get) and see if you get an error when it fails (might have to run with -l debug to see much)
16:40 iggy racooper: using user.present and user.absent in the same state
16:41 iggy do admins-present:\n  user.present.... admins-absent:\n  user.absent.....
16:41 wnkz joined #salt
16:41 racooper ah. makes sense. thanks!
16:41 Ahlee iggy: ok, i'll try just the lookup
16:42 Ahlee will take time to get it into staging env to see if it helps, but i can test in a stand alone system later today
16:42 iggy racooper: you might be able to do admins:\n  user:\n    - present .... - absent (i.e. use long form
16:42 iggy but I've never actually tried that
16:43 racooper thanks iggy . your first solution works for my purposes.
16:45 APLU joined #salt
16:47 eriko joined #salt
16:49 bhosmer_ joined #salt
16:58 TheoSLC joined #salt
16:58 TheoSLC Greetings.  Any plans to do a 2014.7.1 release before the end of year?
17:03 speed145a joined #salt
17:04 iggy TheoSLC: nothing since the last time you asked and someone gave you a rough timeline
17:04 orion_ joined #salt
17:05 Auroch joined #salt
17:06 TheoSLC iggy: oh.  I must have missed that response.
17:06 TheoSLC iggy: searching my irc log now.
17:07 rojem joined #salt
17:07 otter768 joined #salt
17:08 StDiluted joined #salt
17:08 bhosmer_ joined #salt
17:08 TheoSLC UtahDave said this as of last Thursday "I'm not sure when it will be officially released, but I'd imagine in the next 2 or three weeks."
17:09 iggy yeah, sounds about right
17:09 TheoSLC Great. I'll stop asking the questions until next year :)
17:10 viq weren't they saying the same about 2014.7 for 2-3 months ? ;)
17:10 iggy 4, but yeah
17:14 aqua^mac joined #salt
17:15 dagrizbox joined #salt
17:15 jcockhren yeah. I'm going to wait until 2014.7.2 or so
17:16 zlhgo joined #salt
17:17 iggy I kind of (hoped|assumed) .1 would have been out sooner what with the glaring issue of compound matchers being disabled for mine functions
17:18 iggy I think that is going to come back and bite me (since I went ahead and rolled with 2014.7 branch in our dev environment and it's really not looking like the new version will be out in time for our next release)
17:19 iggywig123 joined #salt
17:23 davet joined #salt
17:25 vudoo joined #salt
17:25 vudoo is it possible to set the path variable using environ.setenv? When I do it overwrites my entire path and all subsequent call fail -- I'm setting name:PATH value:$PATH:{path} as the options to environ.setenv
17:26 davet joined #salt
17:29 iggy vudoo: setval? I think you'll still have to concatenate the old path and the new one in python/jinja/etc (vs using $PATH)
17:30 vudoo iggy: sorry, I'm kind of new to salt. What do you mean by setval, as I only see setenv in the docs... Also, how would I do it with jinja?
17:31 iggy nvm, I was looking at module.environ (vs states.environ)
17:32 aparsons joined #salt
17:33 iggy not sure how you'd do that
17:33 dimeshake vudoo: what are you setting the path for... a user? the env a script runs in?
17:33 iggy the module has functions for getting existing env variables, but I don't see that translate in the states
17:34 StDiluted joined #salt
17:35 vudoo dimeshake: preferably "globally" -- I'm appending in /etc/profile but I also need it in the states following -- the goal is installing Go (into /usr/lib/go) but I need access to the binaries in /usr/lib/go/bin
17:35 vudoo I would just symlink the binary, but theres ~8 of them and I don't want to deal with all that
17:36 iggy did you try a reload_modules to see if it picked up the chanes on it's own?
17:37 budman joined #salt
17:38 vudoo is that a salt-call command?
17:38 racooper joined #salt
17:38 iggy state option (at the same level as name, value, require, etc.
17:39 cotton joined #salt
17:39 budman Hello Sirs, I have salt up running on a few minions 1 master.
17:40 budman I apply my openssh formula to * base (works). but now I want 1 server to have a different ssh port, and/or allow root access to 1 server. Would I clone the openssh formula folder or is there a better way? to just apply a different pillar file just for 1 server
17:40 budman if that makes sense
17:41 iggy you can (and should) use pillars for that and just target/set the values specific to that host
17:45 spookah joined #salt
17:46 budman iggy: how would I target that host specifically? in the pillar? or in the state folder?
17:46 sine_nitore joined #salt
17:46 dimeshake in pillar top.sls, match just that host with a specific pillar file
17:46 KyleG joined #salt
17:46 KyleG joined #salt
17:46 dimeshake 'myspecialsnowflake': - specialsnowflake
17:47 dimeshake and have a specialsnowflake.sls with just the options that should override the defaults
17:47 budman awesome testing now.
17:47 aparsons joined #salt
17:49 pdayton joined #salt
17:49 _JZ_ joined #salt
17:49 nkitmitto joined #salt
17:49 jeremyb joined #salt
17:50 nkitmitto I'm having a problem with ordering on my state.  I have a cmd.run that should run before the service is started.  However, when I run the state, the cmd.run runs after the service starts, which fails (think NTP)
17:50 budman https://gist.github.com/anonymous/04cc468cad1f2ac0cef7 - just like that? then call state.sls openssh-athena?
17:51 viq nkitmitto: http://docs.saltstack.com/en/latest/ref/states/requisites.html
17:51 iggy budman: no, you target states (not pillars)
17:51 nkitmitto I tried a watch, but that wasn't working so well Viq
17:52 viq nkitmitto: can you put somewhere what you have?
17:52 iggy the state/formula should be able to pull the appropriate pillar values (if you have everything right)
17:52 nkitmitto Sure one sec
17:52 budman iggy: so then I have something wrong
17:52 iggy budman: if it isn't working, try pasting more of your config so we get a better idea what you've got going on
17:53 bhosmer joined #salt
17:53 budman That was my pillar top.sls.
17:53 budman Let me get a few things in 1 paste
17:53 iggy both pillar files, the command you are running, etc
17:54 nitti joined #salt
17:55 nkitmitto http://eccentricson.com/init.txt
17:55 budman http://privatepaste.com/e8af816a8f
17:55 blaffoy joined #salt
17:56 budman Im just trying to have 1 server (athena) have an extra ssh port and allow root access(which the default openssh formula disables with openssh state).
17:56 smcquay joined #salt
17:56 iggy budman: generally speaking, you don't want your pillar directory under your main salt directory (as then any minion can see everything in all of your pillars)
17:57 kballou joined #salt
17:57 nitti joined #salt
17:57 dimeshake it's not, iggy  - ../pillar - but that looks correct budman
17:57 viq nkitmitto: 1) you do realize that cmd.run will run every time you execute highstate? 2) you need to add - require: - pkg: ntp to the cmd.run
17:57 iggy ahh, missed that
17:57 budman i have /srv/pillar and /srv/salt
17:57 nkitmitto Thank you viq, I completely forgot about that!  Let me change that
17:58 pdayton joined #salt
17:58 iggy the openssh and openssh-athena in /srv/salt threw me off
17:58 iggy you probably don't want both of those
17:58 smcquay joined #salt
17:59 dimeshake i would just have an athena.sls pillar - you may want to add more stuff to just that minion in the future
17:59 dimeshake beyond openssh
17:59 dimeshake the way i structure it is a defaults.sls pillar that applies to all minions, and then minion specific pillars that can override anything i like
18:00 budman okay, so I create a /srv/pillar/athena.sls then call that in the pillar top.sls?
18:00 dimeshake correct
18:00 nkitmitto Viq: by doing so, wouldn't the cmd.run just run every time as well, since the pkg is already installed?
18:00 budman https://gist.github.com/anonymous/6873d324ffbbc7e43d4a - pillar top.sls directly match like that?
18:01 blaffoy Hello all, I think I've located a bug. Can anyone confirm? On a Windows minion, running through Powershell, if I specify a list of states for some salt-call, I will get a KeyError. But if I run it through cmd, it works fine.
18:01 dimeshake nkitmitto: you can use a -creates perhaps if your command touches a file, or something
18:01 dimeshake budman: that should work, yep! as long as the formula knows to check for the values you've defined in pillar
18:01 dstokes hey guys. are there any docs on building / packaging salt?
18:01 blaffoy So, say my command is `salt-call state.show_sls python,buildbot`, through cmd this will work
18:01 viq nkitmitto: cmd.run will run every time, no matter what you do. Adding require will make sure it runs after the packages were installed
18:01 nkitmitto ahh ok
18:02 budman how does my pillar/athena.sls know about the /srv/salt/openssh formula?
18:02 viq nkitmitto: on the other hand you could look at cmd.wait and watch
18:02 budman https://gist.github.com/anonymous/6565298bae5c8c807bce - salt -v athena.supersalon state.sls athena output
18:02 iggy budman: it doesn't, the formula looks up values from the pillar
18:02 dimeshake it doesn't - the openssh formula checks pillar
18:02 dimeshake or it should :)
18:02 blaffoy But through Powershell it results in: https://gist.github.com/anonymous/92b3fef277535daff2b9
18:03 nkitmitto I was under the impression that salt executes the SLS from the top down.  So if I have my service start after the cmd.run, it'd run the cmd.run first.  Is that not true?
18:03 iggy budman: the state is called openssh... not athena
18:03 blaffoy I'm fairly sure this is a bug.
18:03 budman if I call the openssh state? it will use the openssh.sls pillar no? how does it know to use athena.sls ? automagically?
18:04 iggy the top file
18:04 aparsons joined #salt
18:04 wendall911 joined #salt
18:05 viq nkitmitto: "maybe"
18:05 budman can you give me a sample of what that would look like? Im still missing something I think the top.sls pillar is wrong
18:05 nkitmitto uh oh :(
18:05 budman Im matching the HOST to the athena.sls (pillar).
18:05 dimeshake yep
18:05 Tyrm joined #salt
18:05 desposo joined #salt
18:05 dimeshake salt -v athena.supersalon state.sls openssh
18:06 dimeshake budman: ^
18:06 jeremyb joined #salt
18:06 dimeshake the pillar top file matches your athena.sls pillar to the host, which contains the openssh pillar options
18:06 budman yeap it worked.
18:06 viq nkitmitto: if you care, use requirements
18:06 viq and I'm off, cya
18:07 nkitmitto Thanks via!
18:07 nkitmitto viq!
18:08 lothiraldan joined #salt
18:08 budman worked perfect, now one last odd thing/bug
18:08 budman When I add 2 Ports 2 an openssl pillar, it never seems to work? does anyone do this?
18:09 budman it only applys 1
18:09 iggy that's a shortcoming of the openssh-formula
18:09 dimeshake yeah - the formula could be modified to take a list of ports rather than a single one
18:10 budman rgr
18:10 budman I really appreciate the noobie break downs as always.
18:10 budman thank you sirs.
18:12 Ryan_Lane joined #salt
18:13 vbabiy joined #salt
18:14 bivers joined #salt
18:15 budman are there any flags/safety to put in place so if something was ran against * or production* .. so you get a triple verify prompt or anything similar?
18:16 budman IE: are you sure you want to bring production down today? did you stagger these properly? etc..
18:17 eliasp_ budman: that's not yet possible, but I believe this could be implemented relatively easy in salt/cli/ … so you'd have a list of targeting patterns in your config which is checked against the targets used on CLI and then shows this kind of interactive dialog…
18:18 eliasp_ preferrable the dialog would ask the user to enter a randomly generated sequence to prevent muscle-memory kicking in and submitting instantly
18:18 budman I like it :)
18:18 jswanson_ joined #salt
18:18 budman yea blood tests etc..
18:18 eliasp_ "are you sober?" :)
18:19 nkitmitto If you're doing a require on a cmd.run, do you do -require:   - cmd: cmd.run  ?
18:19 nkitmitto imagine the space between the - and require
18:19 iggy budman: put test: True in your config then every cli command has to have test=False at the end to actually do anything
18:19 budman thats actually not bad thanks iggy
18:20 eliasp_ also a nice thing to do… but I'd still would like to see the requirement for confirming a CLI action by entering a random sequence for confirmation ;)
18:20 budman a spam bot verification for server commands ;(
18:21 eliasp_ hehe, yeah… spawning a browser which pipes all this through Google's new re-captcha ;)
18:22 shaggy_surfer joined #salt
18:22 iggy might as well plumb in a breathalyzer while you're at it
18:23 catpigger i always specify test=True/False at the CLI
18:23 catpigger then again the only command i ever use is the client-based highstate check lol
18:24 catpigger well ok, i also add/delete keys on the master
18:24 hal58th joined #salt
18:25 dunz0r_ joined #salt
18:25 scarcry joined #salt
18:25 budman you use salt on the salt-master to ssh.auth key add/remove? instead of via/authorized keys?
18:27 davesque joined #salt
18:28 glyf joined #salt
18:29 davesque i have an include key at the end of a state file which includes two other state files.  i would expect that the states in those included files are executed _after_ the states in the including file.  however, it appears the opposite is true.  does anyone have any insight into this?
18:32 glyf_ joined #salt
18:32 theologian joined #salt
18:33 murrdoc joined #salt
18:33 iggy davesque: I'm surprised it's working at all, but no, the include's would be done first (as you might need something in the include'd file in the include'ing file)
18:34 eliasp_ davesque: the order in which states are listed doesn't guarantee that they're executed in the same order… you could manually enforce an ordering: http://docs.saltstack.com/en/latest/ref/states/ordering.html
18:34 Ryan_Lane davesque: you can use jinja includes for that
18:35 Ryan_Lane you can definitely do ordered execution ;)
18:35 davesque iggy, eliasp_, Ryan_Lane: i see.  i mistakenly assumed that, since salt uses ordereddicts internally, the ordering would be honered somehow.
18:35 davesque honored
18:35 Ryan_Lane it is
18:35 Ryan_Lane one sec.
18:35 murrdoc joined #salt
18:36 murrdoc joined #salt
18:36 Ryan_Lane davesque: https://github.com/saltstack/salt/issues/14899#issuecomment-62775208
18:36 Ryan_Lane include: will always include fist
18:36 Ryan_Lane *first
18:36 Ryan_Lane no matter where it is in the file
18:37 davesque Ryan_Lane: ahh, great.  thanks a lot for that.
18:37 Ryan_Lane it implies a requirement of the module
18:37 Ryan_Lane if you use a jinja include, it'll include in that specified spot
18:37 Ryan_Lane this issue asks to have a native salt feature for including states into a specified spot, but the jinja should do for now :)
18:38 Ryan_Lane I submitted a talk for saltconf about ordered execution :)
18:38 Ryan_Lane hopefully it gets accepted
18:38 davesque Ryan_Lane: very cool.  thanks for pointing that out (and figuring it out).
18:38 murrdoc joined #salt
18:38 Ryan_Lane yw
18:38 Ryan_Lane I have a blog post about ordered execution, too
18:38 davesque Ryan_Lane: also, i used your article about the refactors at Lyft at the basis for my foray into salt.  thanks for writing that as well.
18:38 Ryan_Lane davesque: http://ryandlane.com/blog/2014/07/14/truly-ordered-execution-using-saltstack/
18:39 Ryan_Lane oh. nice
18:39 davesque err as the basis...
18:39 Ryan_Lane I should do a followup post about ordered execution that shows how to handle the includes :D
18:40 davesque Ryan_Lane: reading that blog post now...
18:44 Mso150 joined #salt
18:45 theo__ joined #salt
18:45 davesque Ryan_Lane: great.  looks like i can use a combination of jinja-level includes and listen_in requisites to get what i want.
18:45 Ryan_Lane yep
18:46 Ryan_Lane you'll still need watch occasionally, as the post mentions
18:46 Ryan_Lane I do actually use out-of-order directives on occasion as well, but I document them heavily in my state files
18:49 davesque Ryan_Lane: so i guess the key difference is that watch_in would trigger an immediate restart of a service whereas listen_in would just flag the service as needing a restart once the entire state tree has executed.
18:49 Ryan_Lane yep
18:49 dimeshake very useful to know that
18:50 davesque Ryan_Lane: actually, this brings up another question.  i have iptables-persistent and fail2ban installed.  what’s the best way to ensure that fail2ban always restarts after iptables-persistent restarts?  can that be accomplished with listen_in or would i need watch_in?
18:51 Ryan_Lane if you need it immediately after, use watch
18:51 Ryan_Lane if it can happen at the end of the run use listen
18:51 forrest joined #salt
18:51 Ryan_Lane the listen's will run in the order they are triggered
18:52 Ryan_Lane and you can have multiple listen_in's per state
18:52 Ryan_Lane and they'll run in the order listed, too
18:53 davesque Ryan_Lane: what if multiple listen_ins are encountered for the same state?  it seems like that might lead to some unexpected behavior.
18:53 Ryan_Lane it'll only run once
18:53 dstokes anybody have instructions on building deb pkgs for salt?
18:53 Ryan_Lane same with using watch
18:53 Ryan_Lane they trigger a state. if you trigger the same state 10 times, it'll only run it once
18:53 stephas joined #salt
18:53 davesque Ryan_Lane: hmm…alright.  that probably won’t even be an issue for my purposes anyway.
18:54 iggy dstokes: there's a debian directory in the source... that usually means you can just use the basic debian tools
18:54 Ryan_Lane if you want it to run more than once you can use different state IDs :)
18:54 dstokes iggy: ah, nice! thanks
18:54 davesque Ryan_Lane: okay
18:55 loggyer joined #salt
18:55 rojem joined #salt
18:57 loggyer Guys how would i specify a glob of file when the filename starts with *.xxx.txt for.eg
18:57 smcquay joined #salt
18:58 jngd joined #salt
18:59 hal58th loggyer, I think we need some more information
18:59 iggy understatement
19:00 loggyer hal58th: Well i have wildcard tls certs with names *.xxx.yyy.zzz.crt
19:00 loggyer now i just need to copy the crt file and not the key
19:00 iggy file.recurese + exclude ?
19:01 hal58th or includes
19:01 iggy that's no fun
19:01 loggyer so with include how would i specify the name because the name might change everytime
19:02 iggy *.crt?
19:02 iggy it's not going to change more than that right?
19:03 hal58th loggyer or figure out the regex pattern. So but we can't help with that
19:03 loggyer iggy: i tried *.crt but it fails saying file not found
19:03 aqua^mac joined #salt
19:03 loggyer so i think that is because the file name starts with *.xxx.yyy.crt
19:03 iggy be more specific (i.e. paste your state somewhere)
19:04 hal58th your file name starts with a star?
19:04 iggy *.crt should include *.xxx.yyy.crt
19:05 * iggy anxiously awaits the answer
19:08 loggyer hal58th: yes
19:08 loggyer iggy: https://gist.github.com/Akshaykapoor/a160535a66ee0c2ef43c
19:08 otter768 joined #salt
19:09 hal58th iggy, you want to take this?
19:09 iggy that's not at all what I said to use
19:10 iggy (or anyone else that I saw)
19:10 iggy so yeah... use file.recurse with include_pat or exclude_pat (whichever is more appropriate for your case)
19:11 ryuhei joined #salt
19:11 hal58th not file.managed. http://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html salt.states.file.recurse
19:11 pdayton joined #salt
19:12 loggyer iggy: sure. you didn't specify that or neither did anyone else..this is just what i came up with till now which was working
19:13 loggyer thanks for the approach you mentioned!
19:13 loggyer will try that
19:13 jxFive joined #salt
19:15 iggy 14:00 < iggy> file.recurese + exclude ?
19:15 iggy 14:01 < hal58th> or includes
19:15 iggy I have no problem with people asking me to be more specific
19:16 iggy I'm just usually busy, so I roll with short answers by default
19:18 atbell joined #salt
19:18 hal58th same here. where do you work at iggy?
19:18 loggyer totally understand man.
19:20 rlarkin|2 I think I saw some documentation or a reference to being able use an include in a salt-cloud profile?  Now I can't find anything...anyone know anything about such a feature?
19:21 loggyer iggy: your solution worked like a charm. thanks man!
19:21 rlarkin|2 Like being able to have just the 'image' part of an aws profile in its' on file.
19:22 iggy hal58th: a software company in Houston, TX... quite small (so far)
19:22 bivers joined #salt
19:23 jtanner joined #salt
19:23 rlarkin|2 Hi iggy, I'm in Houston as well.  Nice to virtually meet you
19:24 iggy rlarkin|2: http://docs.saltstack.com/en/latest/topics/cloud/config.html#extending-profiles-and-cloud-providers-configuration
19:24 iggy read the Note carefully (I did not when I first started using salt-cloud)
19:25 bivers anyone know if salt.states.boto_elb can attach instances to a load balancer? Maybe I'm missing something, but it seems like the code only creates / destroys load balancers.
19:25 rlarkin|2 thx iggy!
19:29 saffe joined #salt
19:30 nkitmitto How would I go about running a cmd.run if a service isn't started on the minion?
19:30 iggy you mean if salt-minion isn't started?
19:31 orion_ joined #salt
19:31 nkitmitto No, so I have a state for ntp.  But you can't run ntpdate if ntp is running.  So, I want ntpdate (cmd.run) to run if the service isn't started.  Then start the service.
19:31 Ozack1 joined #salt
19:32 iggy set the "big jump" option in the ntp config and just start it (sans the ntpdate first)
19:32 ggoZ joined #salt
19:32 nkitmitto ooo ok  didn't know that option exists, I'll research!  Thanks!!
19:33 orion___ joined #salt
19:35 iggy it's the -g option, debian uses it by default
19:35 iggy /etc/default/ntp NTPD_OPTS='-g'
19:36 iggy dunno what distro you're using, but I think most of them have similar methods for additional command line opts
19:38 peters-tx nodegroups: not working in /etc/salt/master any more?  ... doesn't seem to work for me btw
19:38 peters-tx Contrary to http://docs.saltstack.com/en/latest/topics/targeting/nodegroups.html
19:41 peters-tx Crap; doesn't seem to work when I have it in /etc/salt/master, but it DOES work in /etc/salt/master.d/<file>.conf
19:41 peters-tx 8/
19:41 _prime_ joined #salt
19:42 peters-tx "Node group <snip> unavailable in /etc/salt/master"
19:42 chutzpah joined #salt
19:43 _prime_ Anyone know of any API changes from hydrogen -> helium that would cause file.manage_file to start returning "string indicies must be integers, not str." errors for code that worked fine up through 2014.1.13?
19:46 forrest Has anyone in here set up deis and done provisioning of instances with salt?
19:48 jalbretsen joined #salt
19:49 overyander Was Salt-Minion-2014.7.0-1-win32-Setup.exe created to solve https://github.com/saltstack/salt/issues/18516 in Salt-Minion-2014.7.0-x86-Setup.exe  ?
19:52 peters-tx OK I figured mine out; Salt master doesn't seem to like multiple nodegroups: sections. >8/  Only seems to take the last one defined
19:53 overyander peters-tx, I have multiple nodegroups defined and it works fine
19:53 iggywig123 joined #salt
19:53 overyander I have 3 groups at the moment
19:57 pfallenop joined #salt
20:02 saffe joined #salt
20:03 nkitmitto Ok, so if I run ntpd -q    It will run every time high state is ran.  Unfortunately, I can't have it stopping NTPD every time high state is ran.  So, I'm back in the same boat of only running ntpdate if the service isn't running, then starting the service.  Anyway I can get Salt to execute only if a service isn't running?
20:05 _prime_ Anyone?  I'm about to the point of ripping out the salt-api code and brute forcing it another way.  The command in question looks like this: {'tgt_type': 'glob', 'jid': '20141216140306498300', 'tgt': 'redheadedflea.trading.imc.intra', 'ret': '', 'user': 'saltgod', 'arg': ['/tmp/.states', '', '{}', '', '{}', 'root', 'root', '0644', 'base', '', 'contents="d_us_omm_trad_phlx01.eventrouter torque.node network.interfaces d_us_dev_trad_sal
20:06 _prime_ Hydrogen was fine with it and generated the file correctly on the minions, but Helium reports: TypeError encountered executing file.manage_file: string indices must be integers, not str. See debug log for more info. (this of course taken from the debug output of the minion)
20:09 _prime_ (IRC truncated the command I pasted from the log.  the rest is: [...] "\n'], 'fun': 'file.manage_file'}
20:10 whiteinge _prime_: what content-type are you sending? json or urlencoded?
20:13 _prime_ json
20:13 saltine joined #salt
20:13 _prime_ oops, sorry no
20:13 _prime_ i'm using requests
20:13 _prime_ so i'm accepting json
20:13 saltine hi. with salt cloud, how do you go about customizing the deploy script that is run after creating a new instance?
20:15 _prime_ whiteinge: URL encoded up, json returned
20:15 whiteinge _prime_: does that debug log entry have a line number or traceback?
20:16 JordanTesting joined #salt
20:17 _prime_ whiteinge: yes: "/home/helium/usr/lib/python2.7/site-packages/salt/modules/file.py", line 2651, in check_perms ::: "/home/helium/usr/lib/python2.7/site-packages/salt/modules/file.py", line 3149, in manage_file ::: "/home/helium/usr/lib/python2.7/site-packages/salt/minion.py", line 1019, in _thread_return  (working backwards)
20:18 _prime_ TypeError: string indices must be integers, not str
20:19 whiteinge saltine: if you run `salt-cloud -u` it will create an /etc/salt/cloud.deploy.d directory and you can put a custom bootstrap script in there. see these docs: http://docs.saltstack.com/en/latest/topics/cloud/deploy.html#deploy-script-arguments
20:19 saltine whiteinge: ok, thanks! Where can I find the current bootstrap script in the system?
20:21 saltine ah, I see what you mean
20:21 saltine ignore me
20:22 sk_0 joined #salt
20:22 saltine whiteinge: is there a 'proper way' to add custom 'steps' (shell) after the script completes?
20:23 saltine eg, I want stuff to happen after bootstrap, and but I don't want to modify the bootstrap script (will need to update it later)
20:23 sk_0 i'm trying to install salt on arch linx. salt-master fails, can't find module zmq. what version of zeromq should i install for salt?
20:23 saltine sk_0: v4 if you can, but 3 will work
20:25 whiteinge _prime_: what version of salt is that?
20:25 sk_0 saltine: thx! a bit off topic but i have py 3.4 and 2.7 installed. i'm guessing zmq needs to be available to python2.7?
20:25 _prime_ 2014.7.0 (gentoo)
20:25 _prime_ installed in a prefix in /home/helium
20:26 saltine sk_0: I don't know
20:26 whiteinge saltine: after the bootstrap is done you should have salt running so usually people write salt states to customize things from there.
20:26 whiteinge you can use startup states (or  the reactor) to automate that step
20:26 saltine whiteinge: sure, but you need the states git cloned and setup
20:26 sk_0 saltine: roger that. i'll find out. thank you
20:26 _prime_ whiteinge: i can md5sum the 3 files if you want confirmation they're equal to the versions distributed via pip or rpm
20:26 saltine whiteinge: sure, but again, there's a gap between the two
20:27 whiteinge _prime_: i'm trying to match that line number with the file
20:27 whiteinge saltine: not sure i follow. cloned on the master or on the new minion?
20:27 _prime_ minion.py: 1019                 return_data = func(*args, **kwargs)
20:28 ryuhei joined #salt
20:28 _prime_ file.py: 3149         ret, _ = check_perms(name, ret, user, group, mode, follow_symlinks)
20:28 iggy nkitmitto: unless: ?
20:28 saltine whiteinge: masterless, I'm running bootstrap and then I need to run git clone and salt-call blah blah
20:28 aparsons joined #salt
20:28 _prime_ file.py: 2651         orig_comment = ret['comment']
20:29 saltine whiteinge: it seems I have to modify the bootstrap script if I want to do one or two shell commands after it completes?
20:29 whiteinge saltine: that is correct, afaik
20:30 peters-tx overyander, Definitely not working for me
20:30 saltine whiteinge: thanks for the confirmation
20:30 iggy that's why we don't use masterless
20:31 whiteinge saltine: could be a good addition to, say, distribute an sls file along with the bootstrap script that gets run on completion. care to file a feature request?
20:31 whiteinge _prime_: thanks
20:32 saltine whiteinge: sure
20:33 markm_ joined #salt
20:34 whiteinge _prime_: i can't tell from that what argument it's barfing on. when you send urlencoded data in the request those arguments _should_ be interpreted in the same way they are via salt's CLI
20:35 whiteinge _prime_: that said, i'm wondering if it would be quicker just to send JSON in the request rather than figure out where this is actually failing.  :-P
20:35 _prime_ I'm game for that.  Is there an example sending json to the salt api via the requests library I could crib off of?
20:36 ryuhei hello..
20:36 overyander i'm brainfarting... using file.replace i want to use the minions hostname in the repl. something like       - repl: 'my name is %COMPUTERNAME%'
20:36 _prime_ this is the exact output on the minion (-l debug): [DEBUG   ] Command details {'tgt_type': 'glob', 'jid': '20141216140306498300', 'tgt': 'redheadedflea.trading.imc.intra', 'ret': '', 'user': 'saltgod', 'arg': ['/tmp/.states', '', '{}', '', '{}', 'root', 'root', '0644', 'base', '', 'contents="d_us_omm_trad_phlx01.eventrouter torque.node network.interfaces d_us_dev_trad_salt01.components os.database [...]
20:36 _prime_ [...]  os.keystone nfs d_us_omm_trad_phlx01 kvm pre-highstate ceph.admin_node network_auto imc-salt os.ldap os.cinder bacula.director desktop.xfce imc-salt.puppet_managed bacula.client imc-salt.api"\n'], 'fun': 'file.manage_file'}
20:36 saltine whiteinge: done, thanks!
20:36 ryuhei where do i exactly set timeout so that master doesn't have to wait minion's response?
20:37 _prime_ it just creates a file with a list of states to test on that machine
20:37 _prime_ or rather a list of sls files to show_sls on
20:38 aparsons joined #salt
20:38 rojem joined #salt
20:38 whiteinge _prime_: short version: put a Content-Type header in the request and send a _list_ of dictionaries as the JSON body.
20:38 shaggy_surfer joined #salt
20:40 iggy overyander: {{ salt['grains.get']('nodename') }}
20:40 iggy would get the current minions name
20:40 overyander thanks iggy
20:41 _prime_ whiteinge: so something like [{'client': 'local_async', 'tgt': target, 'expr_form': 'glob', 'fun': 'file.manage_file', 'arg': [self.statefile, '', '{}', '', '{}', 'root', 'root', '0644', 'base', '', 'contents="'+' '.join(states)+'"\n'] }] ?
20:42 _prime_ Is there an example I can look at somewhere?
20:42 iggy there are other grains that might work better depending on your situation (fqdn, etc.)... look at salt-call -g output for a full list
20:42 _prime_ (I know my json is wrong)
20:43 whiteinge _prime_: exactly. another nice thing about sending JSON is you can send _real_ args and kwargs instead of using that stupid key=val syntax: http://paste.fedoraproject.org/160348/41876252
20:43 whiteinge (make sure you use singluar arg and kwarg, not plural)
20:44 whiteinge er, slight syntax error there with the quoting. does that make sense though?
20:44 giantlock joined #salt
20:46 _prime_ whiteinge: yeah that makes sense, I'll give it a try.  Many thanks!
20:46 whiteinge _prime_: let me know if that doesn't get around the problem
20:49 _prime_ k thanks whiteinge.  One final (newbie-ish) question.  For my content=xxx, do I need to use kwargs instead of arg contents=xxx?
20:50 _prime_ it is an optional arg with a default value in the module
20:52 aqua^mac joined #salt
20:53 whiteinge _prime_: i'm not sure if the key=val syntax works when sending JSON (it may). definitely cleaner to just use 'kwarg': {'key': 'val'} though
20:53 fishdust joined #salt
20:54 whiteinge since you're sending in a big string, far fewer weird quoting issues too. :)
20:56 nkitmitto iggy: that works!
20:56 nkitmitto iggy: thanks so much!
20:57 iggy cool! I've already forgotten the answer (not to mention the question)
20:58 nkitmitto iggy: using unless to check if the service was stopped, and if it was, run ntpdate
20:58 TheThing joined #salt
21:00 iggy ahh
21:01 iggy cool, I wasn't sure if the feature was newer than your salt version, but yeah that (and some of the other new stuff in that area) are pretty sweet
21:02 _prime_ hi whiteinge: I'm able to send the data as json, but with the same exact result
21:02 _prime_ data: reqdata = json.dumps([{'client': 'local_async', 'tgt': host, 'expr_form': 'glob', 'fun': 'file.manage_file', 'arg': [self.statefile, '', '{}', '', '{}', 'root', 'root', '0644', 'base', '', 'contents="'+ ' '.join(states)+'"\n']}])
21:02 dstufft joined #salt
21:03 _prime_ (I do agree this is much nicer than url encoding)
21:03 _prime_ I wonder if something changed in the args processing for file.manage_file
21:04 whiteinge _prime_: that's sounding likely
21:04 smcquay joined #salt
21:05 _prime_ but I'm utterly confused as to how to determine which argument the module no longer likes, or why
21:05 Mso150_y joined #salt
21:07 whiteinge _prime_: i'd suggest running that function from the CLI using salt-call. that removes the salt-api moving piece and also allows you to more easily try different args or even to edit the module and insert print statements
21:08 rickh563 joined #salt
21:09 shaggy_surfer joined #salt
21:09 otter768 joined #salt
21:11 Mso150_y_a joined #salt
21:14 dimeshake hm
21:15 whiteinge _prime_: looking again at your last example, i'd also suggest not using 'arg' at all since you're passing empties for most params: http://paste.fedoraproject.org/160360/64452141
21:15 whiteinge _prime_: also since you're sending JSON now, make sure to send real data types instead of strings.
21:16 bmcchristian joined #salt
21:22 aurynn sending unreal data is not supported in this build
21:25 whiteinge we do not plan to add support for unreal data in the future. to distract from that statement we will now commence a pick-up game of unreal tournament.
21:25 thawes joined #salt
21:25 StDiluted man i wish UT was still a thing… loved that game
21:25 whiteinge aw, crap. now that i've made that joke i won't be able to get any work done until I play a video game.
21:26 whiteinge those were the good ol' days of FPSes!
21:26 StDiluted CoD: AW is pretty close
21:27 whiteinge lunchtime UT matches were the best way to hit the reset button during a work day
21:27 whiteinge haven't played CoD
21:27 StDiluted the new one is pretty fun
21:27 StDiluted lots of interesting new weapons, lasers, etc, and an exosuit that allows you to hover and double jump
21:28 whiteinge ooh...
21:28 aurynn it sounds like Crysis, only less fun
21:28 StDiluted it’s no UT2K, but it’s decent
21:28 StDiluted never played Crysis
21:28 StDiluted maybe i should
21:28 aurynn I liked Crysis
21:28 StDiluted I dont really like console FPSs
21:29 aurynn Crysis 2 was a bit meh
21:29 StDiluted i suck at the controllers
21:29 StDiluted i prefer mouse/keyboard
21:29 StDiluted but have no gaming PC anymore
21:30 rojem joined #salt
21:31 cm_rider_ joined #salt
21:32 overyander according to http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.saltutil.html#salt.modules.saltutil.update you need to be running a bdist_esky build of salt-minion. Are the builds provided in http://docs.saltstack.com/downloads/ bdist_esky builds?
21:32 orion___ joined #salt
21:33 dimeshake i have a minion that will not return highstate when the salt-minion daemon is running, but works fine when run in foreground with salt-minion -l debug ...
21:34 overyander dimeshake, look at the logs and see if that helps, you may need to increase verbosity or enable debugging
21:34 dimeshake it dies with a memoryerror loading the win_disk module, but this is neither a windows minion nor short on memory...
21:34 orion____ joined #salt
21:35 dimeshake https://gist.github.com/mshade/92bcbb73fcf590f43a18
21:35 dimeshake the full error in /var/log/salt/minion
21:35 Singularo joined #salt
21:37 _prime_ whiteinge: using kwargs doesn't work: [WARNING ] TypeError encountered executing file.manage_file: manage_file() takes at least 10 arguments (5 given). See debug log for more info. Traceback (most recent call last):   File "/home/helium/usr/lib/python2.7/site-packages/salt/minion.py", line 1019, in _thread_return     return_data = func(*args, **kwargs)
21:37 * whiteinge looks at the docs
21:37 _prime_ I have to say, file.manage_file takes an inordinate number of required args, most of which should default to empty strings in most cases.  It was a real pain when I finally figured it out for hydrogen, and I'm not sure I want to invest the time to figure it all out again for helium.
21:38 whiteinge _prime_: oh, yeah. that's a bunch of args with no default val
21:38 _prime_ emty string or empty dicts*
21:38 TheThing I gotta say, these element names for salt releases really makes a conversation much more entertaining :)
21:39 dimeshake overyander: hm. cranking minion up to debug doesn't seem to shed any further light
21:39 whiteinge heh
21:39 davet joined #salt
21:39 whiteinge _prime_: not all of those args are even documented. (wtf is 'ret'?)
21:39 _prime_ I might just do a cmd.run 'echo "strinig i built" > filename' and ditch file.manage_file altogether
21:40 shaggy_surfer joined #salt
21:40 perfectsine joined #salt
21:40 whiteinge _prime_: mind opening a issue requesting missing args and appropriate value types get added to the docstring?
21:40 _prime_ whiteinge: you got me!  More of them are documented now than when I first encountered this, but the idea of spending hours trying different combos until something works really doesn't appeal anymore
21:40 _prime_ whiteinge: sure!
21:41 _prime_ this really should be as easy as doing file.manage_file name: somename user: root group: root mode: '0644' content: ['a bunch of content lines', 'here'], ... or source=url
21:42 ckao joined #salt
21:43 whiteinge yeah, a bunch of those should have defaults.
21:44 whiteinge afaik, that function started life more for internal use with the file.managed state module. could definitely use a little love
21:45 dimeshake heh. adding win_disk to the disallowed modules in minion conf has solved the error...
21:48 shyam joined #salt
21:48 whiteinge dimeshake: salt's loader system is designed to just happy ignore most errors. that one is a doozy! defiitely file an issue if you haven't already
21:49 shyam I need to add 1 grains for Windows machine to retrive current domain user login ,anyone pls help thanks in Advance
21:49 dimeshake i haven't, but i'm finding rumblings of similar errors with rhel5 boxes and that python function
21:49 dimeshake i think there's a python package at fault at heart
21:49 dimeshake from epel
21:49 dimeshake i'm not sure salt could trap that kind of error any better
21:51 jkleckner joined #salt
21:53 crane joined #salt
21:54 shyam hi friends any comment or idea to me
21:54 saffe joined #salt
21:55 dimeshake shyam: grain shouldn't be used for something like that.. think static data. if the data in your grains is going to change often, it should be elsewher
21:55 shyam dimeshake i Have to customize salt to install softwares base on domain user ID
21:55 eliasp shyam: ps.get_users
21:56 shyam oo eliasp u again pls little details
21:56 eliasp shyam: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.ps.html#salt.modules.ps.get_users
21:57 eliasp shyam: that's not a grain, but an execution module… but you can still use it to get the list of currently logged in users
21:58 shyam eliasp I need ur ID pls
21:58 shyam u help me everytime with instant answer
21:58 eliasp my ID?
21:59 shyam yes ur mail ID for little communication
22:01 shyam eliasp how can i user softwarre installatio nbase on domain user login ID
22:02 eliasp shyam: ah, sorry… not going to do that… don't have time to reply on individual mails…
22:02 shyam ok not issue
22:02 shyam i just need to install softwares on Windows machine with domain User ID
22:03 eliasp shyam: well, I'd suggest to use groups in your LDAP/AD to assign software… then use external pillars and match them against logged in users on minions and check whether the logged in user is a member of the group
22:03 eliasp shyam: there's currently no support in ps to get a list of users logged in within the last n hours/days/weeks, but this could probably be easily extended
22:03 eliasp as the currently logged in users might be not such a good thing to check
22:04 eliasp building this based on a list of the users logged in within the last 7 days or so might be more stable
22:04 shyam but if we take 7 days time then softwares will not be available on tht domain machine for week time
22:05 diegows joined #salt
22:06 shyam ok so what is the best way to install softwares in Windows machine both free and license ; at present we using batch script to install on windows
22:06 eliasp or go a step further and do a little more in your LDAP/AD:
22:06 eliasp - assign users to groups which represent different workstation pools (e.g. pcs-accounting, pcs-engineering, pcs-humanresources)
22:06 eliasp - create DNs for individual software packages
22:06 eliasp - assign software DNs as members to the workstation groups
22:06 eliasp then you have a deterministic proper solution to this problem
22:06 eliasp but whether this can be done depends on your whole infrastrukture setup, how much users roam between workstations/departments etc.
22:07 eliasp shyam: salt comes with integrated support for windows package management
22:07 eliasp shyam: http://docs.saltstack.com/en/latest/topics/windows/windows-package-manager.html
22:09 shyam as u mentin last time incase of MS office or any installation softwares with many files hard to manage
22:10 shyam with single exe and MSI it's easy to do it but in case if MS office for eg seems not good
22:11 shyam that's y i planned to use batch script
22:11 __number5__ you probably have better luck using MS own provisioning tool for MS Office/etc.
22:12 shyam number5  I have more then 10K machines on Windows and I wannmake something really good with salt
22:14 oldmantaiter_ joined #salt
22:16 __number5__ shyam: you have much more experience on Windows than I do then, I'm avoiding all MS stuff like plague
22:17 ryuhei can anyone help me to make api call time out :(.. it keeps repeating instead of timeout...
22:17 shyam no friend I manage Linux actually but just management asking to manage Windows too with salt as it's open source
22:17 eliasp shyam: well, for software which comes with multiple files there's a working workaround which I hope to solve at some point properly… but for now, this workaround does just fine: https://github.com/saltstack/salt/issues/9028#issuecomment-38969217
22:18 eliasp if someone would pay me to fix Salt bugs, I'd be 10 times faster doing such things… but for now it's limited to my spare time while doing my actual job… so it might take a bit until I get to solve this, sorry
22:19 kermit joined #salt
22:21 kermit joined #salt
22:22 shyam eliasp how we can uninstall Ms office if we install in this way as per u suggesting
22:23 echoplexion joined #salt
22:23 eliasp shyam: uninstalling is easy as then the regular de-installation process (uninstaller as defined in win_repo specificiation) will work
22:24 jonatas_oliveira joined #salt
22:25 whiteinge ryuhei: what are you running? and what are you seeing in the return?
22:27 shyam thanks ALL SPECIALLY ELIASP WILL BE BACK
22:29 MugginsM joined #salt
22:32 forrest whiteinge: What's with all these cheap commits for changing the function style, you trying to boost your commits for the holidays? :P
22:32 dimeshake how would i check whether a grain list contains a particular value in jinja?
22:32 dimeshake i have roles: - role1 - role2 for example, and i want to do something if one of those roles is a value
22:32 whiteinge forrest: i'm falling behind!
22:32 eliasp dimeshake: {% if 'foo' in grains['blah:blub'] %}
22:33 forrest dime {% if 'role1 in grains['roles'] %}
22:33 forrest *'role1'
22:33 forrest whiteinge: hah
22:33 Gareth forrest: whiteinge is trying to meet his yearly quota, gotta get that bonus!
22:34 forrest Gareth: Measuring in commits? That sounds dirty...
22:34 dimeshake awesome. thanks forrest, eliasp
22:34 jonatas_oliveira joined #salt
22:34 whiteinge we need to get the formulas repos aggregated on Ohloh. All stellar work you, Nitin, babilen, and others are doing there isn't getting tabulated in one place for the world to see.
22:34 forrest dimeshake: yeah np.
22:34 dimeshake argh, but roles: must exist for all minions then
22:35 forrest whiteinge: I just wish I could see total commits across the formula org
22:35 whiteinge dimeshake: {% if 'roles' in grains and 'role1' in grains['roles'] %} should fix that
22:35 forrest whiteinge: I mean I'm sure I can scrape the API and aggregate, but that's friggin lame.
22:35 ryuhei whiteinge: i m making curl call (to run docker on minions)  to salt-api and i get nothing in return but it keeps repeating the call in master log
22:35 dimeshake whiteinge: excellent.
22:36 eliasp ryuhei: what about using the native docker support?
22:36 eliasp ryuhei: ah, sorry… missed the "to salt-api" part :)
22:36 whiteinge forrest: yeah, same. Ohloh could do that. but last I checked their API didn't allow adding repos so it'd have to be done manually. need to look into that again
22:36 whiteinge ryuhei: what version of salt and what version of salt-api?
22:37 forrest whiteinge: Hmm, I wish github just did it, seems like a weird feature not to have. Not that it's really a big deal, just nice data to see,.
22:37 ryuhei whiteinge: 2014.7
22:37 ryuhei eliasp: heh
22:38 whiteinge ryuhei: how long does that take to run? (ballpark.)
22:39 ryuhei whiteinge: it makes initial calls immediately and runs the command for docker, but instead of timing out, it keeps ..or it looks like it's making call..
22:39 ryuhei whiteinge: i m hoping it to time out like it was in 1.11
22:39 mikaelhm joined #salt
22:39 ajolo joined #salt
22:40 whiteinge ryuhei: sorry, i don't follow. the command is getting run more than once?
22:40 ryuhei whiteinge: yes.. at least it looks like so to me.. let me get u the log
22:41 aqua^mac joined #salt
22:43 jalbretsen joined #salt
22:44 perfectsine joined #salt
22:47 mosen joined #salt
22:50 saltino joined #salt
22:53 yomilk joined #salt
23:10 otter768 joined #salt
23:13 agj anyone familiar with a pattern to combine multiple salt configurations/pillar data?
23:13 agj ie - i have salt config i would like to treat modularly and bring that into a separate project
23:14 eykd joined #salt
23:15 aparsons joined #salt
23:18 eykd Hello. I’m on 2014.7.0, running this command: `salt myserver state.highstate pillar='{"myapp": {"branch": "master”}}’`, and I’m getting this error: `ERROR executing 'state.highstate': Pillar data must be formatted as a dictionary`
23:18 eliasp agj: http://docs.saltstack.com/en/latest/ref/states/aggregate.html might help a bit
23:18 eykd Any idea what gives? I’m pretty sure that worked the other week when I tried it. :\
23:19 iggy eykd: some extra/bad single quotes?
23:21 eliasp eykd: if the string provided is exactly what you use… your double-quotes are unicode-doublequotes (british quotes)
23:21 bivers joined #salt
23:21 eliasp eykd: replace them with regular double-quotes and it should work
23:22 yomilk joined #salt
23:22 mosen pillar doesnt have a corresponding single quote, master doesnt have a closing double quote :)
23:23 eykd Oh, you know what, that *does* work, I think there’s an intermediary causing trouble. Nevermind. :)
23:23 agj eliasp: thanks, i'll check it out
23:23 mosen my bad
23:24 rogst joined #salt
23:24 eykd iggy, eliasp: It’s definitely a quoting problem. I’m running this on my remote master via a Fabric command, and I think Fabric or ssh is playing havoc with my quotes. Also, my IRC client is being helpful.
23:25 eykd It works fine when I invoke that directly in a shell on the master.
23:26 eliasp eykd: did you probably use a richtext-capable (e.g. WordPad on Win) editor to type out the command and then pasted it into your terminal?
23:26 foulou joined #salt
23:27 foulou joined #salt
23:27 eykd eliasp: No, that was just my IRC client being helpful. The real problem was I just needed some extra quotes and backslashes to escape the shell expression properly for the Fabric invocation, so it comes out as a proper shell expression on the other side.
23:27 agj also seems like there might be some config options that would allow for combining the top and maybe state data dynamically
23:28 eliasp agj: https://github.com/saltstack/salt/issues/15724#issuecomment-66668290
23:30 rikair joined #salt
23:36 iggy using one deployment(ish) tool to signal another deployment tool to do work...
23:36 iggy this is why we can't have nice things
23:39 eliasp :)
23:39 aparsons joined #salt
23:43 saffe joined #salt
23:43 kermit joined #salt
23:45 iggy everybody go follow this: https://github.com/github/linguist/pull/1304
23:48 jab416171 joined #salt
23:52 eliasp \o/
23:54 mosen joined #salt
23:58 ahammond is there a best practice for pre-commit or pre-merge hooks for salt and pillar repos? I'd love something that at least validated the yaml. I'm looking at https://github.com/saltstack/salt/issues/802 but don't see a clear resolution.

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