Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-12-10

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

All times shown according to UTC.

Time Nick Message
00:00 Gareth jY: it might be related to the iptables check issue.
00:00 jY seems like it is
00:01 iggy well, it went (roughly) sept 2013 -> Jan 2014 -> July 2014
00:01 Steve7314 This is really stumping me.  How do you copy a file with a unicode name to a minion using the salt api?  I can't seem to get the same results as I do from the command line.
00:01 iggy so probably another ~5-6 month cycle
00:02 Steve7314 (python)
00:03 iggy I've not seen anyone mention anything about an expected tag and/or release date for -next
00:04 kickerdog1 joined #salt
00:07 kickerdog joined #salt
00:08 cads joined #salt
00:09 istram joined #salt
00:09 paha joined #salt
00:09 brent__ joined #salt
00:13 root joined #salt
00:15 bhosmer joined #salt
00:15 jonbrefe joined #salt
00:15 brent__ I deleted the /etc/salt/pki directory and now none of my minions are authing correctly
00:16 brent__ a restart on the master generates new keys, but they dont seem to be working correctly
00:16 __number5__ Ryan_Lane: according to their release/versioning plan, the next major release will be 2015.1.0 :P
00:20 agend joined #salt
00:22 iggy __number5__: where did you see that?
00:22 jY brent__: you need to clean up the minions too
00:27 shaggy_surfer joined #salt
00:29 murrdoc joined #salt
00:31 __number5__ iggy: based on http://docs.saltstack.com/en/latest/topics/releases/version_numbers.html and they mentioned before a 6-month release cycle. #guesstimate
00:32 iggy yeah, I know the version numbering... it's the 6 month release cycle I've not heard before
00:33 aqua^mac joined #salt
00:39 Ryan_Lane __number5__: is this published somewhere?
00:39 Ryan_Lane that's good to hear
00:40 agend joined #salt
00:43 __number5__ it's just my guess, it's not coming from any #Salt peeps
00:46 markm__ joined #salt
00:48 Gareth joined #salt
00:48 otter768 joined #salt
00:49 genediazjr joined #salt
00:56 aqua^mac joined #salt
00:58 glyf joined #salt
01:03 markm_ joined #salt
01:06 anotherZero i'm not really finding anything on this online... is there a way to nickname, categorize, or tag minions so I can more easily match certain minions?
01:06 dimeshake you can tag them by role with grains
01:06 dimeshake what kind of grouping would you want?
01:06 aurynn heh
01:07 aurynn chasing a bug that was actually Expected Behaviour
01:11 anotherZero dimeshake: sorry, i was out for a sec.   I was thinking things like "production" "development" "websever" "datacenter1" "datacenter2"
01:12 anotherZero many of these conditions overlap
01:12 dimeshake you could assign them grains for targeting, or use environments, though that might be overkill for you depending
01:12 mdasilva joined #salt
01:13 dimeshake http://docs.saltstack.com/en/latest/ref/states/top.html
01:13 anotherZero ok.  i'll do a little research using your "tag"+"role" keywords :)
01:13 dimeshake well those aren't really official nomenclature :)
01:13 dimeshake environments and grains
01:13 dimeshake you could separate them either way or both
01:13 dimeshake for example if you have a set of machines that are production and in multiple datacenters
01:14 dimeshake you could use the prod environment and a grain that defines which datacenter they're in
01:14 anotherZero 'webserver*dev*' it just seems like it would be less work to make things work together if i had nicknames i could get a hold of.
01:14 markm__ joined #salt
01:14 dimeshake it is common to assign a grain for role
01:14 anotherZero for example, i have 100's of .com servers... no good patter matching that can determine if one is at DC1 or DC2...
01:14 anotherZero ok, i'll look at that
01:15 anotherZero thanks boss
01:15 mdasilva im using the py renderer for a sls file and im having trouble passing contexts for a file.managed state
01:15 dimeshake anotherZero: http://docs.saltstack.com/en/latest/topics/targeting/nodegroups.html
01:16 mdasilva according to the py renderer docs it shows context elements as dictonaries
01:16 agend joined #salt
01:19 __number5__ mdasilva: can you paste your code and the error you have to some gist/pastebin?
01:20 desposo joined #salt
01:20 mdasilva dayum i see the error
01:20 mdasilva just as i was going to copy into gist
01:20 __number5__ :)
01:20 mdasilva … context is spelt with an ‘x’ not an ‘n'
01:21 mdasilva in generraly whats a good way to debug py renderer sls’?
01:21 __number5__ salt-call state.show_sls yourstate
01:22 markm_ joined #salt
01:22 __number5__ and with -l debug flag if there are errors
01:22 mdasilva hum havent seen that method
01:22 mdasilva thanks __number5__
01:23 __number5__ np
01:23 mdasilva i kinda regret not writing this with pydsl
01:23 mdasilva looks much more concise
01:25 mdasilva is there a variable exposed that i could use to determine if the sls was called with a state.highstate?
01:25 markm__ joined #salt
01:26 dude051 joined #salt
01:26 hal58th2 search for the name of the state?
01:27 mdasilva hal58th2: how do you mean
01:27 longdays joined #salt
01:27 hal58th2 like a manual search of the output of a highstate run
01:28 genediazjr joined #salt
01:28 longdays anyone here had trouble with jinja2 if statements in the new 2014.7.0?
01:28 markm_ joined #salt
01:28 longdays just starting to test some old scripts but it appears that the conditionals are not being honored just running straight through
01:30 aurynn that's kind of bizarre
01:31 wt iggy, thanks for the suggestion about fewer workers. That seems to be working for me.
01:31 __number5__ mdasilva: you can call saltutil.is_running('state.highstate') to tell if the highstate is running on the same minion, but seems no way to tell if the state is being called by highstate
01:31 hal58th2 longdays just conditionals only? Like is it not populating jinja data?
01:32 __number5__ longdays: pillar merge rules has been changed in 2014.7.0, you might want to check your pillar looks all good
01:33 markm__ joined #salt
01:34 longdays http://pastebin.com/KSZ7X6ND
01:35 longdays hal58th2 _number5_ that pastbin shows some simple jinja conditionals. Funny thing is that I know ls /dev/xvdc1 outputs no file or directory found but the lsblk command still runs
01:36 TyrfingMjolnir joined #salt
01:36 longdays ha might have found one of the errors
01:37 longdays funny thing is this was somehow working
01:37 Sway joined #salt
01:37 hal58th2 ok what was the error?
01:37 iggy wt: I'm still interested in a concurrent thread git bug if you ever file one
01:37 markm_ joined #salt
01:38 wt iggy, it's more general than gitfs. I think it's pretty much all modules.
01:38 elfixit joined #salt
01:38 longdays salt itself never errored
01:38 wt iggy, https://github.com/saltstack/salt/issues/15773
01:39 wt That's one I filed a while ago for pillar modules.
01:39 wt The fileserver backend modules appear to work similarly.
01:39 longdays jinja preprocessing showed all the errors from the ls command returning exit 2 but it looked like the ‘not in’ clause was not processing
01:39 longdays checking again
01:39 hal58th2 longdays: I'm not sure you can string compare like the way you are doing. But I don't have a ton of experience with that.
01:41 longdays yeah, I am thinking this might have changed some how because this ran many times. As you can see just trying to grab that out but and see if “File or directory not found"
01:42 wt iggy, https://github.com/saltstack/salt/issues/18875
01:42 rawkode joined #salt
01:42 wt That's a terse description of the bug I am interested in.
01:42 mapu joined #salt
01:43 aurynn oh lovely
01:43 aurynn so
01:43 aurynn rabbitmq_users.present fails because it can't find rabbitmqctl, but reports success
01:43 hal58th2 Success, I Failed.
01:44 hal58th2 write it up
01:44 mdasilva __number5__:  if there is no way to determine how a sls was called from within the sls, is there another way to provide context?
01:44 mdasilva different pillar, grain values i guess
01:44 beardo joined #salt
01:45 mdasilva im gonna have to split my pillar data :|
01:46 __number5__ I have no idea, never thought about that before
01:50 druonysuse joined #salt
01:52 TheThing joined #salt
01:53 TheThing_ joined #salt
01:55 TheThin__ joined #salt
01:56 murrdoc joined #salt
01:57 aurynn at a guess I'd say the environment isn't getting set properly
02:02 aurynn yes, using `runas: rabbitmq` was the issue
02:02 genediazjr joined #salt
02:02 malinoff joined #salt
02:04 Sway joined #salt
02:04 dude051 joined #salt
02:05 nahamu joined #salt
02:06 TheThing joined #salt
02:07 mapu joined #salt
02:09 dimeshake is anyone using the nginx-formula's -ng format for specifying vhosts?
02:10 TheThing_ joined #salt
02:15 beardo joined #salt
02:15 druonysus joined #salt
02:15 druonysus joined #salt
02:16 mdasilva joined #salt
02:18 nafg_ joined #salt
02:23 genediazjr joined #salt
02:29 ITChap joined #salt
02:31 ryuhei joined #salt
02:32 ryuhei anyone using salt/salt-api 2014.7 as backend of nginx reverse proxy?
02:34 jcockhren ryuhei: salt-api 2014.1.13 tho
02:35 ryuhei 1.13 works fine.. but i m getting timedout on .7 :(
02:35 jcockhren sry. I won't be any help with anythign 2014.7 specific just yet
02:36 ryuhei jcockhren: do you have ssl problem with 1.13?
02:36 jcockhren no
02:36 jcockhren I terminate at nginx though
02:36 ryuhei I mean.. salt-api itself.
02:37 ryuhei [cherrypy.error   ][ERROR   ] [09/Dec/2014:21:35:57] ENGINE Error in HTTPServer.tick
02:37 ryuhei File "/usr/lib/python2.7/dist-packages/cherrypy/wsgiserver/ssl_builtin.py", line 78, in get_environ
02:37 ryuhei 'SSL_PROTOCOL': cipher[1],
02:37 ryuhei looks like array's empty
02:37 ryuhei TypeError: 'NoneType' object has no attribute '__getitem__'
02:38 jcockhren ah. I did. but that's why I opted to using nginx to terminate
02:38 jcockhren I did *have issues
02:38 jcockhren it was faster to just use nginx rather than figure out if I was the problem or salt-api
02:39 ryuhei what did you exactly do on nginx?
02:39 jcockhren I'll post a gist one sec
02:40 ryuhei thank you very much!.
02:42 jcockhren https://gist.github.com/jcockhren/7bc174e04f72672ff45c
02:45 jcockhren as you can see. nothing special
02:45 ryuhei ooh ok.. cool i m reading the nginx doc as well.
02:45 ryuhei i will try this!  Thanks!
02:45 nitti joined #salt
02:45 rawkode joined #salt
02:45 jcockhren look at the gist now. updated it with the master config for salt-api
02:45 Setsuna666 joined #salt
02:46 murrdoc how are you guys using the api, like case studies , not actual config stuff
02:48 jcockhren murrdoc: continuous deployment
02:49 murrdoc of salt states ?
02:49 jcockhren of things.
02:49 murrdoc or all things
02:49 otter768 joined #salt
02:49 jcockhren *all
02:49 jcockhren or rather many* things. ;)
02:49 murrdoc :)
02:49 murrdoc so jenkins/buildbot call the api ?
02:50 jcockhren yep
02:50 murrdoc then the master calls the deployment state on the minions ?
02:50 jcockhren yeah. relative to the pertainent pillar data
02:51 murrdoc jenkins -> api -> compound matching -> deployment
02:51 jcockhren calls a custom modul for now that leveraging our internal system packaging
02:52 foulou joined #salt
02:52 dimeshake that sounds quite attractive to me
02:52 rojem joined #salt
02:52 dimeshake i might look into that
02:53 jcockhren nothing fancy. just a wrapper for calling the pkg module (at the time, the saltstack plugin had a small bug in it)
02:53 dimeshake my specific situation is that we run 100 different web apps on 150 different servers
02:53 dimeshake not a single or a handful of apps on a large amount of servers
02:53 dimeshake so everything is relatively bespoke
02:54 dimeshake we use jenkins to deploy new code to existing servers and it works well
02:54 jcockhren yeah. it does the job here too
02:54 dimeshake so salt is provisioning and configuring the servers and web server/db/etc config, while jenkins uses ssh/rsync to deploy code
02:55 jcockhren word
02:55 jcockhren system packaging made the most sense to me
02:56 jcockhren that allows salt to be leveraged using the builtin modules
02:58 malinoff dimeshake, how do you know what version of code is installed on the servers?
02:58 dimeshake app code, or salt code or what?
02:58 malinoff app code
02:59 dimeshake we don't really. we just enforce updates
02:59 malinoff so you literally can't unroll when something breaks
02:59 perfectsine joined #salt
02:59 jcockhren system packaging makes rollbacks a breeze
02:59 malinoff you should really take a look on packaging
02:59 malinoff fpm will save a lot of time
03:00 jcockhren especially since app updates have a dependency of needing some service restarted
03:00 dimeshake we deploy by branch, so rolling back would be setting the previous release
03:00 jcockhren malinoff++
03:00 malinoff dimeshake, but that won't remove files that previous version don't know about
03:01 dimeshake it will, it's a git checkout that will discard anything not present in the repo
03:01 malinoff dimeshake, do you run git clone/pull on remote servers?:)
03:01 dimeshake it's still subpar.
03:01 dimeshake no, it's an rsync deployment
03:02 dimeshake this is all the jenkins side of things
03:02 malinoff so git checkout will cleanup the jenkins workspace, not remote servers
03:02 dimeshake right and the deploy uses an rsync --delete basically
03:02 dimeshake well
03:02 dimeshake to be clear
03:02 malinoff that sounds very dangerous
03:02 dimeshake it gets complicated
03:02 dimeshake we use something like this:
03:03 jcockhren malinoff: do it live
03:03 malinoff jcockhren, do what?
03:03 jcockhren haha
03:03 dimeshake app.www/public is a symlink to app.www/releases/20141209/
03:03 linuxdaemon joined #salt
03:03 jcockhren just an expression for doing stuff in prod
03:03 malinoff ah
03:03 dimeshake we keep 3 releases present at any time
03:03 dimeshake so rolling back is as easy as swapping the symlink
03:03 dimeshake or a new checkout, that forces a symlink update
03:04 jcockhren man... I remember when I worked at a place that did the whole symlink release thing
03:04 malinoff welcome to the php world :)
03:04 dimeshake yeah i don't like it
03:04 dimeshake exactly :\
03:04 dimeshake drupal devs are my guys
03:04 jcockhren the devs shouldn't need to do anything
03:04 dimeshake they don't
03:04 dimeshake they just push to a branch, tag it, and it's good. but the head dev designed the release model
03:05 jcockhren nah. just flashed back to my past
03:05 jcockhren ;)
03:05 dimeshake hell, teach me :) wtf should I be doing instead? I'd love to make it better
03:05 malinoff If that guys are clever enough, they don't modify the sources of drupal itself, instead they should write plugins. If so, you can bundle drupal as a package once, and then make packages for plugins with drupal package as requirement
03:05 malinoff easy as pie
03:05 jcockhren malinoff++
03:05 dimeshake no, we don't modify core of course
03:06 dimeshake core is core. we use features, modules, etc
03:06 malinoff so it shouldn't be so difficult to use packages really
03:07 jcockhren fpm is greatness
03:07 malinoff jcockhren, it's the only ruby-based lib that i really love :)
03:07 jcockhren So many people is open source owe hime beers
03:08 malinoff and fpm is quite worth to install ruby
03:08 jcockhren yep.
03:08 dimeshake so using packages, each site release should be an fpm created rpm for example?
03:08 jcockhren there's also pleaserun as well
03:08 malinoff dimeshake, yes
03:09 dimeshake what's a dev workflow look like then
03:09 malinoff dimeshake, more than that, you can have multiple iterations for the same version (e.g. when you don't change the code, but something static, like gpg keys)
03:09 dimeshake they have a repo for a site, and want to deploy it to stage or dev or live
03:09 jcockhren dimeshake: use deb-s3 to push to internal package repo (assuming debian based distros)
03:09 dimeshake we're all rhel/centos/amazon but same thing mostly
03:10 dimeshake so, internal repo
03:10 dimeshake given
03:10 dimeshake we have jenkins package up the latest release and salt call the install?
03:10 malinoff dimeshake, ideally there should be a git hook that runs a jenkins job to build a package named like myapp-1.0.0-rc<commithash>.rpm on each push, then trigger another job to deploy this package on a dedicated dev machine
03:11 dimeshake they do a lot of shit post-deploy, too, like run grunt, sass to compile css, etc
03:11 foulou joined #salt
03:11 malinoff once you have a stable code, you should put a git tag and build the release manually
03:11 malinoff dimeshake, you can use salt/ansible to do all this stuff
03:11 jcockhren dimeshake: all that can be done in a jenkins job ans packaged with the code it uses
03:12 dimeshake yeah the main problem is we have two silos at the moment - salt for infra, jenkins/grunt/ruby shit for code
03:12 jcockhren compiling sass, etc
03:12 jcockhren just connect the two: https://wiki.jenkins-ci.org/display/JENKINS/saltstack-plugin
03:12 jcockhren or
03:13 jcockhren https://wiki.jenkins-ci.org/display/JENKINS/Notification+Plugin
03:13 dimeshake yeah
03:13 jcockhren or something else
03:13 dimeshake no, it makes sense. i think this is the missing link for what i've been trying to do to consolidate it all
03:14 malinoff or you can use rundeck to have a single web interface for both salt and jenkins (if you want to, of course)
03:14 dimeshake the devs and sysadmins have kind of each developed their own methodology for their respective parts, and it's getting pretty convoluted
03:14 malinoff that's why devops exist
03:14 dimeshake yep
03:14 jcockhren heh
03:15 dimeshake baby steps ;)
03:15 malinoff better than doing nothing :)
03:15 dimeshake yeah. i'm just happy we've got local dev environments going with vagrant for everyone now
03:16 malinoff ouch, vagrant
03:16 dimeshake beats the hell out of "WHY ISN'T MAH MAMP WORKIN"
03:16 dimeshake yeah..
03:16 jcockhren dimeshake: that's a big step! congrats
03:16 Mso150 joined #salt
03:16 jeffrey4l joined #salt
03:16 malinoff dimeshake, do you build your own images, or use something external?
03:16 dimeshake we're using packer for the vagrant images
03:16 jcockhren packer++
03:17 [1]foulou joined #salt
03:17 dimeshake once again, trying to consolidate though. the devs have their own puppet stack for ancillary software on the vagrant images
03:17 jcockhren damb
03:17 dimeshake we're working to consolidate on salt since why the f should those be separate
03:17 dimeshake yeah
03:18 genediazjr joined #salt
03:18 jcockhren I've seen that done in shops that need to conform to PCI compliance
03:18 dimeshake we started on puppet for the infrastructure stuff, too, but were able to convert totally to salt in a matter of weeks vs the year it took to build up the puppet manifests
03:19 malinoff looks like vagrant now provides official images for debian/centos
03:19 dimeshake my favorite little moment was writing the salt state to kill puppet on all the minions
03:19 jcockhren vagrant+salt
03:19 malinoff :D
03:19 jcockhren lol
03:20 malinoff one guy wrote a salt state to change wallpapers on all local machines
03:20 dimeshake yeah. i used puppet to deploy salt-minion, and then salt to cut off puppet's head.
03:20 foulou joined #salt
03:20 malinoff jesus
03:21 malinoff some kind of suicide :)
03:22 wolfpackmars2 joined #salt
03:22 wolfpackmars2 is it possible to manage a salt master by itself?  that is, set up the sls for the master server and have the master configure itself while also acting as a master to other minions?
03:23 wolfpackmars2 would the salt master in this case be a "masterless minion"?
03:23 dimeshake wolfpackmars2: absolutely!
03:23 bdf_ actually you can just run a minion and master on the same machine and have it connect like any other minion.
03:23 [1]foulou joined #salt
03:23 dimeshake yeah, and you can have it set itself up too
03:24 dimeshake it's a minion like any other
03:24 bdf_ it's kind of sketchy if it needs to restart the master and it's sending commands to other minions
03:24 [2]foulou joined #salt
03:25 wolfpackmars2 so assuming I had my master setup using state files, if my master took a nosedive, I would install salt-master and salt-minion on a new host and salt 'mysaltmaster' state.highstate and I would be back up and running?
03:26 wolfpackmars2 bdf_ that's kind of what I was thinking... is there a way that a salt-master could be sent into a configuration loop?
03:26 dimeshake yes - but you'd also need a copy of the key signing stuff, too
03:26 dimeshake and the states
03:27 malinoff Security implementation is definitely not the best part of salt :(
03:27 TyrfingMjolnir joined #salt
03:28 wolfpackmars2 dimeshake what do you mean?  the minion keys or something else?
03:28 dimeshake you'd need a copy of /etc/salt/pki to restore to the new master
03:28 wolfpackmars2 the master private keys?
03:28 dimeshake it contains all the signed keys for the minions and the master keys
03:28 wolfpackmars2 master=master's
03:29 wolfpackmars2 err master's=masters keys (possessive)
03:29 dimeshake you can also look at multi-master setup
03:29 dimeshake it goes into a lot of the details that would be relevant
03:30 dimeshake the minions will choke if the master key changes
03:30 wolfpackmars2 assuming the master was at the same address as the "previous" master, couldn't you just add the minions with salt-key?
03:30 dimeshake the master will not recognize keys of minions it hasn't previously accepted
03:30 dimeshake so you need to restore those somehow
03:30 wolfpackmars2 or do the master keys do something else?
03:30 dimeshake once the minions have accepted keys from the master, they will not communicate with a master at the same address with different keys
03:30 genediazjr joined #salt
03:31 wolfpackmars2 well, that's good I guess
03:31 wolfpackmars2 def. good to know as well
03:31 dimeshake so definitely keep a good backup of /etc/salt :D
03:31 wolfpackmars2 although it seems like I have done just that...
03:32 wolfpackmars2 I had previously a vagrant salt-master.  I decided to ditch vagrant and set up a standalone debian vbox master.  I don't recall having any issues getting the minions attached to the new install (same web address)
03:34 wolfpackmars2 oh nvm
03:34 __number5__ depends on how many minions you have, all minions try to auth at the same time can easily crash a salt-master
03:34 wolfpackmars2 I used a virtual folder for the /etc/salt config.  so /etc/salt was the same between the two vms
03:34 wolfpackmars2 lucky, I guess
03:35 __number5__ that's good if you can have minions/master keys intact
03:35 wolfpackmars2 good to know
03:36 rojem joined #salt
03:38 druonysus joined #salt
03:38 MTecknology I feel like I'm starting to run into issues again with number of minions connected to a single master. If I try to push a highstate to 490 boxes at a single time, I have about half that don't respond. If I try to do a batch run with -b 10, I get hanging at the end and I don't always have every box respond.
03:39 MTecknology It probably doesn't help that most are connected to the master via a T1 and I have anywhere from 60-800 states running on them...
03:39 dimeshake MTecknology: how many worker threads do you have on the master?
03:39 MTecknology I'm not there now, but I think I have 20
03:39 dimeshake set it down to however many CPUs you have - if the box is only a saltmaster, anyway
03:40 dimeshake there will be delays over a slow link though
03:40 dimeshake they will continue to execute - you can also set the timeout higher for the master
03:40 MTecknology 1.5/1.5 and I'm guaranteed 30% of it. Not much, but surprisingly usable.
03:40 MTecknology I have the timeout set to 30sec
03:41 iggy ^ setting workers much higher than cores on a cpu bound salt-master isn't going to buy you much
03:41 dimeshake *anything
03:41 dimeshake ;)
03:41 dimeshake except high cpu load and slower responses
03:41 iggy I usually think about it like the -j arg to make... #cores + 1-2
03:41 dimeshake yeah
03:41 __number5__ "If the master seems to be
03:42 dimeshake as long as the machine is nothing but a master
03:42 __number5__ # running slowly, increase the number of threads." -- comments in the docs is quite misleading
03:42 dimeshake if it's doing other stuff too, better dial it down further
03:42 MTecknology -j is always num_cores + 1 for me
03:42 iggy if you've got 500 minions, you should man up and have a dedicated master
03:42 dimeshake certainly
03:42 MTecknology I quite definitely have a dedicated master
03:42 dimeshake slow link is probably a big factor too, though
03:43 MTecknology I'll add more cores to the master tomorrow and drop workers to match num_cpu+1
03:43 iggy __number5__: yeah, I was actually working on doc update for that earlier
03:43 iggy got sidetracked
03:43 * iggy adds to list to finish up tomorrow
03:43 dimeshake MTecknology: do me a favor.. try a salt '*' test.ping once or twice right before you call a highstate
03:44 dimeshake see if they all return the test promptly or timeout too
03:44 iggy I swear we're on the same wavelength
03:44 MTecknology dimeshake: once in a while, test.ping will not return on 1-5 minions
03:44 iggy get out of my head
03:44 * MTecknology uses salt -v '*' test.ping  :)
03:44 MTecknology no need to count or try to match anything
03:44 iggy MTecknology: is that roughy the same number of minions that don't respond to the highstate?
03:44 MTecknology iggy: nope, in highstate, it's up to half
03:45 dimeshake iggy: you talking to me or __number5__
03:45 iggy and you're sure that's not just hitting the timeout? (i.e. are there still highstate's running in the background)
03:45 druonysuse joined #salt
03:45 druonysuse joined #salt
03:45 iggy dimeshake: you!
03:45 dimeshake :D
03:47 forrest joined #salt
03:48 dimeshake MTecknology: and?
03:48 nickg left #salt
03:55 MTecknology iggy: when a job like that is running, the master seems to probe the minion to see if the job is still running. 30sec is a pretty high timeout...
03:55 MTecknology I suppose I could be hitting it if all of those boxes try to respond at the same time and the master can't keep up with the "pongs"?..
03:56 dimeshake 30sec is not high for a very large volume of states, depending on their activity
03:56 iggy or if the ones it's actively talking too are taking too long to respond for the others to reply effectively
03:56 dimeshake ^^
03:57 iggy a highstate on some of my boxes takes upwards of 5 minutes
03:57 iggy (and yes, I know that's bad, and yes, we are doing something about it... eventually)
03:57 MTecknology I have the same issue if I run just a single sls on some of them, it just shows itself more on a highstate
03:58 dimeshake MTecknology: what does the test.ping do?
03:58 dimeshake do they all return quickly?>
03:58 iggy drops 5 they said
03:58 iggy iir
03:58 iggy c
03:58 MTecknology s/they/he/
03:58 dimeshake even with concurrent runs?
03:58 MTecknology the rest of my personalities are not me!
03:58 dimeshake run it twice in a row?
03:59 MTecknology I tried that once and had the same issue, but I can't remember whether or not it was the same boxes not responding.
04:00 dimeshake check that first, for sure
04:00 MTecknology How many CPUs should a master have for 500 minions?
04:00 iggy I generally stick to non-gendered pronouns on irc... too many people called Lindsay or something and it's really an FBI agent
04:00 dimeshake doesn't matter - if you have 4, stick to your convention of j+1. more will obviously be faster, but it should be ok with less
04:00 MTecknology :P
04:02 MTecknology I'm planning to have ~700 on it by the end of next year. ... i hope ...
04:04 wolfpackmars2 iggy on the topic of timeout, is it possible to have minions send periodic status updates to the master? e.g. 30 seconds timeout sounds like it should be sufficient to receive a response but some minions could take 5 minutes to complete a full highstate
04:05 wolfpackmars2 when downloading a file you get a progress bar - could something similar be implemented for minions as they progress through their highstate tasks?
04:06 MTecknology You can't implement a progress meter for minions, no. One state could be 50% of the time and you can't expect salt to figure that out.
04:07 MTecknology I'm sure they tell the master they're still running...
04:08 wolfpackmars2 well that's the rub mtecknology - if the minion told the master "hey, I'm still processing" then the master should respond "ok, I'll continue to wait" - instead it times out
04:09 MTecknology iggy: am I wrong? Does salt not do that yet?
04:09 MTecknology I know when you run salt -v you see messages about salt still running on xyz
04:10 TheThing joined #salt
04:11 wolfpackmars2 doesn't -v just make the salt master explicitely respond that a minion "timed out" if no response is heard by timeout
04:12 genediazjr joined #salt
04:12 wolfpackmars2 iirc -v basically does the same as setting "show_timeout: True" in the config
04:15 wolfpackmars2 mtecknology to your original question, I think you could also query the local minion logs to see the status of your highstate run for minions that don't respond.  if the log shows that the highstate was successful, then you know the problem is a matter of adjusting timeout on the master to give the minions more time to complete their jobs
04:16 wolfpackmars2 maybe salt 'myminionthatdidntresond' cmd.run 'cat /var/logs/minion'
04:18 bdf joined #salt
04:19 dimeshake MTecknology, wolfpackmars2 salt master knows the minion is still running, yes
04:19 dimeshake well, it knows it hasn't returned yet
04:20 dimeshake you can queriy the job cache for the eventual return state
04:20 dimeshake when i'm querying a lot of minions, i also like to use a different output method
04:21 quickdry21 joined #salt
04:23 esharpmajor joined #salt
04:24 dimeshake --state-output=terse
04:30 wolfpackmars2 worker threads are used to manage return calls from minions to the master.  so if you have only 2 cores allotted to a master, and you set threads to 3, no more than 3 minions can return at the same time?
04:31 ajolo joined #salt
04:32 rawkode joined #salt
04:33 dimeshake yes, but they're queued of course
04:33 dimeshake and each worker will compile all the states/jinja
04:33 dimeshake so you don't want more workers than CPUs generally
04:34 dimeshake unless i understand incorrectly, and anyone feel free to chime in :)
04:39 genediazjr joined #salt
04:41 aparsons joined #salt
04:44 jeffrey4l joined #salt
04:45 MTecknology dimeshake: hm? states are compiled on the minion...
04:47 manfred dimeshake: ^^^
04:47 manfred pillars are compiled on the master
04:47 manfred so, highstate data is compiled on the master, and then lowstate data on the minion
04:48 manfred http://docs.saltstack.com/en/latest/ref/states/layers.html
04:49 manfred high data and low data *
04:50 otter768 joined #salt
04:50 manfred since state.sls actually has high data and low data as well, and it isn't specific to just highstates
04:51 MTecknology that processing on the master is probably measured is ms, and probably <200ms
04:52 MTecknology (complete guess)
04:53 dimeshake ah yes
04:53 dimeshake there's still substantial work done on the master, though - you don't want more workers than CPUs
04:56 MTecknology I'm pretty sure the master checks for updates. On an initial higstate sent from the master, it'll wait the 15min for execution to complete.
04:57 MTecknology It pushes down the vmware-tools installer
05:00 Hell_Fire_ joined #salt
05:10 wolfpackmars2 anyone see this error before: Malformed topfile (state declarations not formed as a list)
05:15 __number5__ wolfpackmars2: too many times :) try 'salt-call -l debug state.show_top' to see what's going wrong with your top.sls
05:17 jeffrey4l joined #salt
05:17 wolfpackmars2 run from any of my minions?
05:19 bdf probably better to happen from the master.
05:20 bdf but it doesn't really matter
05:23 foulou joined #salt
05:24 linjan joined #salt
05:26 felskrone joined #salt
05:29 ericof joined #salt
05:30 genediazjr joined #salt
05:31 wolfpackmars2 got it.  it still wasn't clear, but I had a hunch that an empty state declaration I added a few days ago may have been the culprit.  I guess I hadn't tested it
05:31 wolfpackmars2 commented it out, all good now
05:44 murrdoc joined #salt
05:47 genediazjr joined #salt
05:54 yomilk joined #salt
05:54 ramteid joined #salt
05:56 yomilk joined #salt
05:59 felskrone joined #salt
06:00 perfectsine joined #salt
06:02 smcquay joined #salt
06:04 genediaz_ joined #salt
06:06 ajolo joined #salt
06:08 nkitmitto joined #salt
06:08 nkitmitto Is anyone awake?
06:11 TyrfingMjolnir joined #salt
06:13 __number5__ sure, 5pm here
06:16 genediazjr joined #salt
06:17 bhosmer_ joined #salt
06:17 shookees joined #salt
06:17 shookees joined #salt
06:19 nkitmitto Heh.  So..  I'm trying to get a state to register my RHEL server to RHN.  Then, I change my custom grain from rhn_registered = 'no' to rhn_registered = 'yes'.  However, I do not want to change that grain unless the run register was actually successful.
06:19 nkitmitto How would I specify the second state in my init.sls script to only run if the first state was successful?
06:20 saffe joined #salt
06:21 rawkode joined #salt
06:22 nkitmitto Nevermind, I got it successfully using stateful and watch
06:24 TheThing joined #salt
06:31 genediazjr joined #salt
06:34 genediazjr joined #salt
06:37 stanchan joined #salt
06:38 Cidan joined #salt
06:41 linjan joined #salt
06:48 felskrone joined #salt
06:48 support joined #salt
06:48 douardda joined #salt
06:50 monkey66 left #salt
06:50 Guest54989 Hello,  I am having trouble with a minion not responding to test.ping but can execute state.highstate
06:50 Guest54989 What could I be doing wrong?
06:50 otter768 joined #salt
06:51 Guest54989 what didn't I read
06:54 catpigger joined #salt
06:55 saffe_ joined #salt
06:57 foulou joined #salt
07:02 Samos123 weird problem when i execute following command I get correct mine data
07:02 Samos123 salt '*' mine.get 'roles:hadoop_slave' network.interfaces grain
07:03 Samos123 but when i execute the following command nothing shows up: salt '*' mine.get 'G@roles:hadoop_slave' network.interfaces compound
07:04 Samos123 seems like a bug as according to documentation both are correct and supported?
07:07 CeBe joined #salt
07:08 viq joined #salt
07:11 gildegoma joined #salt
07:21 felskrone1 joined #salt
07:21 viq joined #salt
07:22 SheetiS joined #salt
07:23 douardda joined #salt
07:23 flyboy joined #salt
07:23 hojgaard joined #salt
07:34 ITChap joined #salt
07:34 mr_chris joined #salt
07:38 Andre-B joined #salt
07:42 fredvd joined #salt
07:43 cberndt joined #salt
07:45 padelt joined #salt
07:50 Samos123 I've filed a bug in the mean time here: https://github.com/saltstack/salt/issues/18878
07:51 Auroch joined #salt
07:52 trikke joined #salt
07:52 trikke morgend
07:55 CeBe joined #salt
08:04 jtanner joined #salt
08:06 robinsmidsrod joined #salt
08:07 AirOnSkin Is it possible to use wildcards in salt.states.file? for example /some/file: file.absent: - name: /some/path/filename.* ?
08:08 jhauser joined #salt
08:09 rawkode joined #salt
08:12 oyvjel1 joined #salt
08:16 ventris joined #salt
08:22 __gotcha joined #salt
08:22 felskrone joined #salt
08:22 padelt joined #salt
08:27 JlRd joined #salt
08:27 ITChap joined #salt
08:28 padelt joined #salt
08:28 genediazjr joined #salt
08:29 Mso150 joined #salt
08:30 CeBe1 joined #salt
08:31 genediazjr joined #salt
08:34 jhauser joined #salt
08:38 linjan joined #salt
08:39 shookees_ joined #salt
08:40 sieve joined #salt
08:40 CeBe joined #salt
08:43 AviMarcus joined #salt
08:48 tomspur joined #salt
08:50 lb1a joined #salt
08:50 lb joined #salt
08:51 otter768 joined #salt
08:52 gadams joined #salt
08:52 padelt joined #salt
08:54 ninkotech joined #salt
08:55 felskrone joined #salt
08:55 padelt joined #salt
08:55 slav0nic joined #salt
09:04 kawa2014 joined #salt
09:06 dRiN joined #salt
09:08 __gotcha joined #salt
09:08 robinsmidsrod joined #salt
09:08 __gotcha1 joined #salt
09:09 Dw_Sn joined #salt
09:11 __gotcha joined #salt
09:14 rawkode joined #salt
09:16 Andre-B joined #salt
09:17 CeBe joined #salt
09:17 rawkode joined #salt
09:17 robinsmidsrod joined #salt
09:18 robinsmidsrod joined #salt
09:22 genediazjr joined #salt
09:22 ganes joined #salt
09:23 ganes hi
09:23 ganes how to create a   database in mysql
09:23 padelt joined #salt
09:24 ganes mysql-base:   mysql_database.present:     - name: pcur   mysql_user.present:     - name: root     - password:   mysql_grants.present:     - database: pcur.*     - grant: ALL PRIVILEGES     - user: root   require:      - service.running: mysql
09:26 ganes hey any one
09:27 ganes hey i have one doubt
09:28 ganes how to create a   database in mysql
09:28 intellix joined #salt
09:28 ganes can u send any sls file
09:31 alanpearce joined #salt
09:31 robinsmidsrod joined #salt
09:32 brayn joined #salt
09:33 babilen ganes: https://github.com/saltstack-formulas/mysql-formula or you can use http://docs.saltstack.com/en/latest/ref/states/all/salt.states.mysql_database.html (you *will* have to configure access to MySQL for salt though, remember that!)
09:34 babilen And I believe it is "you" in lieu of "u" ;)
09:40 jhauser joined #salt
09:45 rawkode joined #salt
09:47 ganes thanks
09:55 Dw_Sn joined #salt
09:56 glyf joined #salt
09:58 __gotcha1 joined #salt
10:03 markm__ joined #salt
10:04 wvds-nl joined #salt
10:04 Hell_Fire joined #salt
10:05 linuser joined #salt
10:08 faust joined #salt
10:09 techdragon joined #salt
10:11 felskrone joined #salt
10:12 padelt joined #salt
10:13 akafred joined #salt
10:14 fredvd joined #salt
10:14 khr joined #salt
10:15 padelt joined #salt
10:16 robinsmidsrod joined #salt
10:18 TyrfingMjolnir joined #salt
10:19 techdragon joined #salt
10:24 AirOnSkin Is it possible to use wildcards in salt.states.file? for example /some/file: file.absent: - name: /some/path/filename.* ?
10:27 viq AirOnSkin: I'm not sure, but I would expect not. Maybe cmd.run with find if it doesn't?
10:28 Mso150 joined #salt
10:29 sieve joined #salt
10:34 robinsmidsrod joined #salt
10:36 padelt joined #salt
10:38 aquinas joined #salt
10:50 _ale_ joined #salt
10:52 felskrone joined #salt
10:52 otter768 joined #salt
10:56 padelt joined #salt
10:59 techdragon joined #salt
11:02 giantlock joined #salt
11:07 agend joined #salt
11:08 techdragon joined #salt
11:11 eofs joined #salt
11:12 padelt joined #salt
11:15 bhosmer joined #salt
11:20 felskrone joined #salt
11:21 Guest34115 joined #salt
11:24 __gotcha joined #salt
11:28 jeffrey4l joined #salt
11:29 techdragon joined #salt
11:34 ericof joined #salt
11:35 longdays joined #salt
11:36 martoss joined #salt
11:36 martoss left #salt
11:38 Andre-B joined #salt
11:38 pduersteler joined #salt
11:40 pduersteler Hi all. Is there a possibility to output pillar data as md5 in a template?
11:40 viq what do you mean?
11:41 nkuttler hrm, last time i checked you can't expand the jinja salt ships.. so unless there's a built-in filter..
11:41 pduersteler I have a plaintext password stored in a pillar data but the php package's config file wants that password as md5 in its config file. I'm not looking for a way to convert that while generating / rendering the config template
11:41 nkuttler but i guess if you state is in python you can just do it there
11:42 CeBe joined #salt
11:42 nkuttler pduersteler: i'd probably just store the md5 in the pillar. don't like cleartext passwords anyway..
11:43 pduersteler nkuttler: ah, right, sounds even better
11:43 nkuttler or i guess you could write a trivial pillar module
11:48 ShibMcNe pduersteler: If you don't like cleatext passwords, you should store your hashed password as a GPG message in your pillar =]
11:48 AirOnSkin Is it possible to use wildcards in salt.states.file? for example /some/file: file.absent: - name: /some/path/filename.* ?
11:48 viq AirOnSkin: I'm not sure, but I would expect not. Maybe cmd.run with find if it doesn't?
11:49 robins joined #salt
11:49 AirOnSkin viq: I see. Maybe I'll test it anyway...
11:50 felskrone joined #salt
11:54 ericof joined #salt
12:01 superted666__ joined #salt
12:04 Andre-B joined #salt
12:09 thawes joined #salt
12:12 robinsmidsrod joined #salt
12:15 padelt joined #salt
12:15 genediaz_ joined #salt
12:21 padelt left #salt
12:22 martoss joined #salt
12:24 padelt_ joined #salt
12:24 riftman joined #salt
12:27 genediazjr joined #salt
12:28 blaffoy Hey
12:28 blaffoy This is more of a jinja question, than salt, but I can't seem to figure out.
12:29 __gotcha joined #salt
12:29 blaffoy I want to set a new jinja string variable by concatenating two existing ones, like so: {% set filepath = "{{prefix}}\{{filename}}" }
12:29 blaffoy But jinja rejects this as invalid syntax
12:31 blaffoy I think I figured it out: {% set filepath = '/'.join([prefix,filename]) %}
12:32 bfoxwell joined #salt
12:35 intellix joined #salt
12:36 diegows joined #salt
12:36 martoss left #salt
12:44 genediazjr joined #salt
12:51 nosleep77 joined #salt
12:53 otter768 joined #salt
12:54 rawkode joined #salt
12:56 nosleep77 left #salt
13:02 slafs joined #salt
13:02 slafs left #salt
13:03 TheThing joined #salt
13:03 istram joined #salt
13:04 tmh1999 joined #salt
13:05 superted666___ joined #salt
13:07 calvinh joined #salt
13:08 babilen blaffoy: You can use that or, more general: 1. foo ~ '/' ~ bar 2. '%s/%s'|format(foo, bar)
13:09 blaffoy Cool, thanks
13:09 glyf joined #salt
13:09 babilen (cf. http://jinja.pocoo.org/docs/dev/templates/ )
13:12 babilen It would be even more awesome if you could easily express "import os.path" "os.path.join(foo, bar)" in jinja, but, alas, its Python support is lacking.
13:12 babilen This would be trivial in mako if you don't mind using that as renderer (or just use python directly)
13:14 sieve joined #salt
13:20 rtuin joined #salt
13:33 __gotcha1 joined #salt
13:35 pdayton joined #salt
13:36 pdayton joined #salt
13:51 ajolo joined #salt
13:53 llua joined #salt
13:54 Andre-B joined #salt
13:56 jaimed joined #salt
13:59 snuffeluffegus joined #salt
14:00 calvinh_ joined #salt
14:01 longdays joined #salt
14:01 calvinh_ joined #salt
14:03 glyf joined #salt
14:11 karimb joined #salt
14:12 Samos123 how can I list all minions matching compound expression from a template? See my question here: http://stackoverflow.com/questions/27403166/how-to-list-salt-minions-by-compound-matching-in-template also related bug which I may be hitting here: https://github.com/saltstack/salt/issues/18878
14:12 gngsk joined #salt
14:14 toastedpenguin joined #salt
14:15 calvinh joined #salt
14:15 felskrone joined #salt
14:16 Morbus joined #salt
14:20 viq Samos123: how about simply a test.ping ?
14:20 Auroch joined #salt
14:20 Auroch joined #salt
14:20 Auroch joined #salt
14:21 Samos123 you mean using publish.publish to do a test ping with compound matching
14:21 viq I would first try test.ping with compound matching
14:21 Auroch joined #salt
14:22 viq Remember if you use braces you need spaces around them
14:25 Samos123 i dont think you can do test.ping with compound matching from a template http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.test.html#salt.modules.test.ping
14:26 viq what do you mean "from a template" ?
14:27 jeremyr joined #salt
14:27 Samos123 from an sls state file inside jinja template declaration
14:28 viq Oh. I would start just from CLI and go up from there
14:28 cpowell joined #salt
14:29 cpowell joined #salt
14:32 mikeywaites joined #salt
14:35 mapu joined #salt
14:36 mikeywaites Hey guys im trying to use cmd.wait in-conjunction with some docker stuff to only stop/kill/remove a container when there are changes detected via a previous pull
14:36 mikeywaites https://gist.github.com/mikeywaites/aad30cc8e271102892f1
14:36 rtuin joined #salt
14:36 mikeywaites As you can see the onlyif statement doesn't seem to stop the cmd from running
14:38 mikeywaites Anyone got a better approach or know why this check is failing.  The container doesnt exist and the command, when run manually via docker cli returns
14:38 mikeywaites sudo docker inspect foo_api
14:38 mikeywaites Error: No such image or container: foo_api
14:38 mikeywaites []
14:38 mikeywaites Which to my mind should case the foo_absent state to not execute?
14:38 viq mikeywaites: try "sudo docker inspect foo_api ; echo $?"
14:39 viq ie. I'm interested in return code
14:39 mikeywaites 1 is the return code
14:39 viq Because if it says "error" on terminal, but returns 0, then tough, to salt (or anything else) it says everything is fine
14:39 racooper joined #salt
14:39 viq hm
14:40 _JZ_ joined #salt
14:40 mikeywaites yeh i checked this previously maybe theres a way to squash the output returned, maybe its that thats tripping salt up?
14:40 viq 2>&1 > /dev/null
14:42 mikeywaites sudo docker inspect vfoo_api 2>&1 > /dev/null
14:42 mikeywaites Error: No such image or container: foo_api
14:42 mikeywaites its lost that strange looking empty array there
14:42 babilen Oh, I like stateconf ...
14:43 mikeywaites stateconf is the best!
14:43 babilen (sorry for the distraction)
14:44 mikeywaites viq:  thats not made any diff :( Have i got the syntax right there
14:44 mikeywaites maybe prereq might be a better approach
14:44 babilen I'd look into the minion's debug log for that one and check what it executes
14:45 viq mikeywaites: huh, that's interesting that it's still generating output
14:45 babilen I don't immediately see anything wrong with your approach, but lets not make assumptions.
14:46 rtuin_ joined #salt
14:47 mdasilva joined #salt
14:47 babilen And is there a particular reason why you don't use http://docs.saltstack.com/en/latest/ref/states/all/salt.states.dockerio.html ?
14:47 mdasilva good morning
14:48 babilen .. and there I thought I would be able to go home soon
14:48 jgelens Does anyone know if it's possible to create pillar data using pyobjects?
14:49 mikeywaites babilen:  You cant watch for changes with the docker.absent state
14:49 thawes joined #salt
14:49 babilen jgelens: Why pyobjects in particular? I mean if you can get pyobjects to return a Python dictionary then, sure, why not, but I would personally simply use #!py
14:49 viq babilen: "someone's wrong on the internet!" ;)
14:50 mikeywaites the idea is to only remove the container if it has changed (currently it always seem to change)
14:50 babilen Sure, sorry, I haven't thought your entire setup through, but was imply interested in your reasons why you don't use the "built in" functionality.
14:50 jgelens babilen: ok, will try !py :)
14:51 mikeywaites yeh no worries i tried that first, then discovered watch: is not supported
14:51 jgelens pydsl is deprecated right?
14:51 mikeywaites babilen:  viq interestingly if i remove the watch the state succeeds
14:52 SheetiS joined #salt
14:52 babilen mikeywaites: Well, watch wouldn't work, but then prereq might be what you are looking for
14:52 Samos123 viq: I'm pretty sure compound targeting is broken just confirmed it by reproducing: https://github.com/saltstack/salt/issues/18878
14:53 babilen jgelens: I mean in the end pillars are just Python dictionaries. If you use #py then just implement run() and return a dict
14:53 mikeywaites yeh babilen im giving that a whilrl now
14:53 jgelens babilen: yep ok, thanks
14:54 otter768 joined #salt
14:56 mikeywaites babilen:  viq think thats got it
14:56 mikeywaites cheers guys!
14:58 babilen So, that did the trick?
14:58 mikeywaites I think so
14:58 mikeywaites just adding the other parts in now
14:58 mikeywaites but its not failing so its a start at least :D
15:00 tristianc joined #salt
15:02 karimb joined #salt
15:02 dude051 joined #salt
15:05 housl joined #salt
15:06 jalbretsen joined #salt
15:07 calvinh joined #salt
15:07 terinjokes joined #salt
15:07 calvinh_ joined #salt
15:09 rickh563 joined #salt
15:15 thawes joined #salt
15:20 dooshtuRabbit joined #salt
15:21 perfectsine joined #salt
15:23 rojem joined #salt
15:23 murrdoc joined #salt
15:24 wnkz joined #salt
15:24 KennethWilke joined #salt
15:25 zzzirk joined #salt
15:26 zzzirk joined #salt
15:28 zzzirk joined #salt
15:29 Auroch joined #salt
15:29 felskrone joined #salt
15:30 sroegner joined #salt
15:31 smcquay joined #salt
15:32 genediazjr joined #salt
15:34 seanz joined #salt
15:37 kaptk2 joined #salt
15:40 giantlock joined #salt
15:45 iwishiwerearobot joined #salt
15:48 ericof joined #salt
15:50 rtuin joined #salt
15:50 mdasilva I have a setup where I’m using a SLS to deploy content.  I’m looking for a way to resue a single SLS with different context so that I dont have to edit X number of files whenever I need to adjust the SLS.  The SLS is configured to pull data in from grains/pillars but the SLS may be called multiple times from the same minion requiring a different context.  Is there a way to provide achieve this?
15:54 mschiff joined #salt
15:54 mschiff joined #salt
15:54 babilen mdasilva: loops?
15:54 babilen .. over pillar data that is
15:54 mdasilva yep
15:55 mdasilva so thats what i did
15:55 babilen good
15:55 babilen !next
15:55 mdasilva so i had big trouble with yaml loops
15:55 mdasilva so i then rewrote it in py renderer
15:55 mdasilva i have the SLS checking a grain for a list of different contexts that it needs to process, loops through that
15:56 mdasilva fantastic… where im now is
15:56 mdasilva i would like to be able to run that SLS with just one specific context
15:56 babilen so ... you might want to ask your real question once you have all information spelled out and, if applicable, examples/actual code on a pastebin site such as http://refheap.com
15:56 * babilen idles a bit longer
15:58 mdasilva
15:58 mohae joined #salt
15:59 alanpearce_ joined #salt
15:59 babilen mdasilva: .. only pass the data you want it to use?!
16:00 bhosmer joined #salt
16:02 mdasilva it needs another context
16:03 mdasilva like how the sls was called
16:03 mdasilva the probelm im running into with sharing this common sls is that its tied to a specific pillar/grain
16:04 mdasilva i can like you mentioned, provide all the different context data in that pillar/grain and loop through it
16:04 mdasilva bu tthere is no way to just run one of thoses contexts if i wanted to
16:05 kermit joined #salt
16:07 calvinh joined #salt
16:08 babilen mdasilva: Just pass a pillar with one "context"
16:08 babilen (and not all of it)
16:09 mdasilva thats the problem right now, how my pillar is structured
16:09 mdasilva i basically want a way to include a sls without it being rendered first
16:09 babilen I don't know how your pillar (or your state for that matter) is structured
16:09 ajolo joined #salt
16:09 mdasilva so that the sls statements in the included file can be rendered with the context in the calling sls
16:10 crashmag joined #salt
16:12 bhosmer joined #salt
16:12 babilen It doesn't work that way so you will have to restructure your data/state setup
16:12 babilen Anyway, there is nothing to do without actually seeing what you are referring to
16:13 mdasilva i guess i can use jinja macros
16:13 calvinh_ joined #salt
16:14 CeBe joined #salt
16:18 Setsuna666 joined #salt
16:18 dude051 joined #salt
16:19 ze- hey. anyone knows who is maintaining the debian package? and/or where to talk/discuss possible packaging bugs ? (guess init.d script is not salt core stuffs :)
16:19 dude051 joined #salt
16:19 mway joined #salt
16:20 mway Is there a reliable way to register an event to fire after highstate completes on a minion, without doing something like having highstate manually fire an event with order:last?
16:21 babilen ze-: That would be joe healy, what's the issue?
16:21 babilen (joëhh in here (without the "))
16:22 Ozack1 joined #salt
16:23 JDiPierro joined #salt
16:24 ze- babilen: ... was writing it down, and just figured it's because of something stupid in my setup.
16:24 ze- so, guess... just "good work, all is fine" :)
16:24 ze- (well, everything but my quick setup at that specific point, but that's just on me :)
16:24 ze- thanks
16:27 beneggett joined #salt
16:27 mway joined #salt
16:29 mway Sorry, got disconnected. Is there a good way to have a reactor event fire after highstate completes on a minion?
16:30 iggy that's kind of what overstate's are for
16:30 mway haven't really been using them yet honestly, I'll do some reading
16:30 glyf joined #salt
16:34 jngd joined #salt
16:36 MTecknology here we go, 2 cores to 8, 20 worker threads to 8
16:37 babilen mway: You probably want orchestrate rather than overstate though
16:40 iggy overstate seems to be more thoroughly documented (at least for now)
16:40 iggy and the docs say it isn't going anywhere for a while
16:40 MTecknology hm.. does that mean my optimal batch size is 8?
16:41 mpanetta joined #salt
16:43 bhosmer joined #salt
16:44 genediazjr joined #salt
16:45 smcquay joined #salt
16:46 TheThing joined #salt
16:48 iggy that starts depending on how much work your states are doing
16:51 TheThing joined #salt
16:55 otter768 joined #salt
16:56 dude051 joined #salt
16:56 ericof joined #salt
16:57 bhosmer joined #salt
16:57 mpanetta joined #salt
17:00 beneggett joined #salt
17:01 rojem joined #salt
17:02 KennethWilke joined #salt
17:05 __gotcha joined #salt
17:08 RedundancyD joined #salt
17:09 dimeshake joined #salt
17:10 linjan joined #salt
17:11 KyleG joined #salt
17:11 KyleG joined #salt
17:14 dimeshake joined #salt
17:16 spookah joined #salt
17:16 zlhgo joined #salt
17:17 glyf joined #salt
17:17 dimeshake joined #salt
17:19 jeremyr joined #salt
17:20 masterkorp Is there anyone with salt internals knowlegde ?
17:20 * _ale_ no
17:20 * _ale_ not :)
17:21 chitown thatch: ^^^ :D
17:21 masterkorp on fileclient.py where the data dictionary role ?
17:21 chitown can anyone comment about ordering in state top file?
17:21 masterkorp *what is the
17:21 mapu joined #salt
17:22 chitown i see random web pages that say it should respect the order, others say not
17:22 chitown in 2014.7.0 the order is definitely NOT working
17:22 iggy chitown: it should be top down unless you have includes/requires/etc. that change the ordering
17:22 mdasilva joined #salt
17:23 chitown ya, then its not working
17:23 chitown which really sucks :(
17:23 iggy but (fwiw), I have had to add some explicit cross-state dependencies since moving my dev environment to 2014.7
17:23 chitown ya, was trying to avoid that
17:23 dimeshake joined #salt
17:24 iggy downgrade?
17:24 iggy open an issue?
17:24 chitown ugh... cant downgrade...
17:24 chitown bunch of aws stuff is kinda borked in 2014.1
17:24 chitown i wanted to make sure i wasnt doing something stupid first
17:24 iggy I can't even think what kind of data they would want for a ticket like that (other than a simple reproducer)
17:24 chitown ya :)
17:25 iggy I doubt there are simple reproducers though
17:25 chitown "here,s my top file.. good luck" :)
17:25 chitown will see if i can get a simple case with a couple of vargant vms
17:25 iggy I'm pretty sure it's some of the existing deps that are causing that though... so simple states probably won't end up showing it
17:26 chitown in my copious spare time :/
17:26 chitown ya, thats what im worried about
17:26 chitown parsing thru the entire state is a PITA!
17:26 chitown entire highstate (when boiled down to lowstate)
17:27 chitown an interactive state browser would be sooo cool :)
17:28 troyready joined #salt
17:29 chitown does anyone know if you can query grains from a custom grain module?
17:29 wendall911 joined #salt
17:30 iggy yes
17:31 iggy oh, wait, I'm using mine actually
17:31 iggy grain might work, but you might run into the same problem as using pillar data in pillars
17:31 iggy conn = httplib.HTTPConnection(__salt__['mine.get']('roles:mon', 'network.get_hostname', 'grain').keys()[0])
17:31 iggy that's what I have though
17:32 chitown lol... pillars in pillars... ya, i asked about that last week :)
17:33 chitown for grains i think i am going to read a config value
17:33 chitown not the end of the world...
17:33 chitown i have grains set based on something else, but for testing i need to be able to change them
17:34 moderation joined #salt
17:36 viq_ joined #salt
17:36 wiqd joined #salt
17:37 iggy you can set pillar data on the command line
17:37 hal58th joined #salt
17:37 iggy well, for a lot of states you can anyways
17:37 kwmiebach joined #salt
17:38 huddy joined #salt
17:38 chitown ya, it just makes testing a little more cumbersome
17:38 chitown id like to just run "sudo salt \* state.sls foo_test"
17:38 chitown mostly b/c i cant type worht crap... so, i try to type as little as possible :)
17:39 chitown see above ^^
17:43 beneggett joined #salt
17:46 genediazjr joined #salt
17:47 mikeywaites joined #salt
17:51 gyre007 joined #salt
17:54 simonmcc joined #salt
17:54 proxxy joined #salt
17:54 tmh1999 joined #salt
17:55 manytrees joined #salt
17:56 rojem joined #salt
17:56 slk_ joined #salt
17:56 slk_ is there a way to install a deb package via state, aside from cmd.run: dpkg -i blahblah
17:57 iggy source:
17:58 slk_ hmm i tried source it still tries to do an apt-get
17:59 slk_ as per the minion logs
17:59 slav0nic joined #salt
17:59 slav0nic joined #salt
18:01 proxxy joined #salt
18:01 iggy err... sources
18:01 iggy you tried that?
18:01 codekobe joined #salt
18:02 slk_ i tried source:, not sources: so maybe i was using the wrong keyword
18:02 slk_ that is, i did pkg.installed: -source: salt://file kind of thing
18:03 penguin_dan joined #salt
18:03 slk_ yeah that didn't work. here's an example of what i'm trying: http://pastebin.com/XsTt4v9u
18:04 desposo joined #salt
18:04 babilen slk_: You want "PKGNAME: pkg.installed: sources: - PKGNAME: salt://path/to/deb/in/salt"
18:04 babilen http://refheap.com ! http://paste.debian.net ! https://gist.github.com!
18:04 slk_ babilen: k i'll give that a whirl
18:05 Mso150 joined #salt
18:06 jeremyr joined #salt
18:09 slk_ babilen: yep, that got it. thanks!
18:10 jeremyr_ joined #salt
18:14 DanGarthwaite joined #salt
18:14 beneggett joined #salt
18:14 longdays left #salt
18:14 forrest joined #salt
18:14 EWDurbin joined #salt
18:18 mikeywaites joined #salt
18:22 mdasilva joined #salt
18:22 teepark left #salt
18:23 UtahDave joined #salt
18:25 mlanner joined #salt
18:27 linjan joined #salt
18:28 beneggett joined #salt
18:30 cpowell_ joined #salt
18:31 TheThing joined #salt
18:32 strangewall joined #salt
18:33 cpowell joined #salt
18:35 Mso150_a joined #salt
18:36 smcquay joined #salt
18:41 murrdoc joined #salt
18:42 theologian joined #salt
18:44 ajolo joined #salt
18:45 rap424 joined #salt
18:45 thehaven joined #salt
18:46 ericof joined #salt
18:46 ajolo joined #salt
18:46 glyf joined #salt
18:47 bhosmer joined #salt
18:49 viq_ joined #salt
18:49 murrdoc joined #salt
18:50 beneggett joined #salt
18:50 Ryan_Lane joined #salt
18:52 lionel joined #salt
18:52 dave_den joined #salt
18:53 genediazjr joined #salt
18:55 DaveQB joined #salt
18:55 jeddi joined #salt
18:56 otter768 joined #salt
18:58 linjan joined #salt
18:58 beneggett joined #salt
18:59 druonysus joined #salt
18:59 druonysus joined #salt
19:00 beneggett joined #salt
19:05 genediazjr joined #salt
19:06 spookah joined #salt
19:06 aanriot joined #salt
19:07 perfectsine joined #salt
19:11 dave_den joined #salt
19:15 Mso150_a joined #salt
19:16 mdasilva joined #salt
19:17 jtanner joined #salt
19:17 usfc joined #salt
19:19 teepark joined #salt
19:20 pmcg joined #salt
19:21 rtuin joined #salt
19:24 skyler joined #salt
19:26 murrdoc joined #salt
19:28 bhosmer joined #salt
19:30 dude051 joined #salt
19:31 LittUp joined #salt
19:33 dude051 joined #salt
19:33 martoss joined #salt
19:34 TheThing joined #salt
19:34 alexbst joined #salt
19:37 TheThing_ joined #salt
19:40 skyler Is there a way to check a grain against a glob or regex in jinja?
19:42 __gotcha joined #salt
19:45 UtahDave joined #salt
19:45 __gotcha1 joined #salt
19:54 rojem joined #salt
19:55 murrdoc joined #salt
19:58 __gotcha joined #salt
19:59 forrest joined #salt
20:03 wnkz_ joined #salt
20:06 djaime joined #salt
20:12 atbell joined #salt
20:12 atbell joined #salt
20:15 karimb joined #salt
20:16 douardda joined #salt
20:17 iggy skyler: be more specific
20:17 kawa2014 joined #salt
20:24 mdasilva joined #salt
20:25 bregalad joined #salt
20:28 genreous joined #salt
20:29 generous joined #salt
20:33 orion__ joined #salt
20:36 giantlock joined #salt
20:37 linuxdaemon joined #salt
20:39 TheThing joined #salt
20:44 shaggy_surfer joined #salt
20:45 andrej joined #salt
20:47 andrej is there a way to find whether a pkg.upgrade was successful from the salt invocation? At the moment I have to go to the icinga monitoring page after a patch-run to see whether the patches were applied to all targeted machines
20:47 andrej I'd quite like to have immediate feedback
20:48 druonysuse joined #salt
20:48 druonysuse joined #salt
20:49 martoss left #salt
20:52 skyler iggy: Basically, I would like to use matching like in a top file, but in an actual pillar file. I could use the top file to match to different pillars, but then I would have to create a lot of tiny pillars, and it would be harder to get a global view of how each server is configured.
20:54 iggy skyler: can you use mine (it supports all the different kinds of matching that top files and the cli support)
20:55 skyler iggy: Great! Thanks for pointing me in the right direction.
20:56 ckao left #salt
20:57 otter768 joined #salt
21:05 LittUp joined #salt
21:08 esogas_ joined #salt
21:12 relidy joined #salt
21:13 mordonez joined #salt
21:16 Ironhand joined #salt
21:17 Ironhand hello, I'm running 2014.7.0 with Debian stable masters & minions, and I'm trying to install custom .deb packages on the minions that are stored on the master
21:18 Ironhand I'm using the 'sources' option to pkg.installed as described on http://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkg.html
21:18 robawt Ironhand: you can make those .deb available via the Salt file server, but I always encourage using a proper repository for any type of custom packages
21:19 iggy use the aptly formula!
21:19 Ironhand what's the aptly formula?
21:21 Ironhand to finish my question: it appears that the minion is invoking apt-get (unsuccesfully) while I reckon it should be involving dpkg... anyone have an idea what I could be doing wrong?
21:21 Ironhand I've tried it both with and without specifying a 'pkgs:' option in addition to the 'sources:' one
21:23 iggy the aptly formula is a formula to help you easily setup an apt repo from a collection of .deb packages
21:23 murrdoc well aptly is a solution for managing apt repos
21:23 murrdoc the aptly formula helps u set that up using salt
21:23 hal58th1 joined #salt
21:24 murrdoc aptly.info
21:24 Ironhand I'd like to do without using a separate repo but simply have the packages copies to the minion by salt (it's a small scale setup)
21:24 Singularo joined #salt
21:24 murrdoc https://github.com/saltstack-formulas/aptly-formula
21:25 murrdoc kk
21:25 murrdoc just clarifying what iggy was saying
21:25 cedwards2 joined #salt
21:26 Ironhand I understand what it does now, thanks for the link
21:26 iggy thanks... I'm too lazy to type all that out instead of urging people to google it for themselves
21:26 Ironhand but yeah it's overkill for this situation
21:26 Ironhand (I did end up googling it :-P)
21:27 iggy refheap/gist the state you're trying
21:28 orion__ left #salt
21:29 sijis joined #salt
21:30 Ironhand this is the state: https://gist.github.com/anonymous/695b040fa4f5378b6d79
21:30 sijis is there a built-in equiv to 'yum update <package>' via cli? i see seomthing like 'salt * pkg.install <package> version=xyz' as maybe the closest thing. any better than that?
21:31 iggy sijis: in 2014.7 there's pkg.upgrade, but that does a full system upgrade
21:32 Ironhand this is what ends up in the minion log: https://gist.github.com/anonymous/3327edf276400084f915
21:32 sijis iggy: yah. i just ned to update a specific package
21:33 Ironhand again, I'm particularly surprised that apt-get is invoked and not dpkg
21:34 iggy Ironhand: that's usually because you've got the state file wrong, why don't you try paste it somewhere
21:34 cedwards2 joined #salt
21:35 Ironhand iggy: I thought I just pasted the relevant bit, is more needed?
21:35 iggy oh, I only saw the output bit
21:35 Ironhand ah
21:36 relidy I think iggy joined the channel just after you posted the link: https://gist.github.com/anonymous/695b040fa4f5378b6d79
21:36 iggy Ironhand: - before epson
21:37 ckao joined #salt
21:37 iggy nah, I just got sidetracked by someone else's question trickling in just after the paste I was looking for
21:37 Ironhand d'oh, I thought I had ruled out all "stupid" explanations
21:38 Ironhand thanks! I even compared my syntax side by side to an example and missed it...
21:39 Ironhand (not trying to lay the blame anywhere else but myself, but the fact that no error is generated about the syntax in such cases doesn't really help...)
21:40 Ironhand indeed, it works now
21:43 mosen joined #salt
21:45 proxxy joined #salt
21:46 cads joined #salt
21:47 proxxy joined #salt
21:48 iggy well, it's not technically an error
21:49 iggy it's perfectly valid yaml, it's just not useful to salt
21:49 iggy I think this kind of comes up every once in a while
21:49 spookah joined #salt
21:50 iggy one of the pluses to that behavior for me is that I can generally share states between salt versions without having to have a completely different branch/env/whatever for each
21:54 Ryan_Lane joined #salt
21:55 diegows joined #salt
21:55 boredatwork joined #salt
21:57 teepark what are the semantics of using pillar to target nodes in the pillar top.sls?
21:57 teepark ordered?
21:57 teepark like, include a pillar in '*' at the top of the file, then matchers below can use it?
21:58 teepark or does it not always run in order?
21:59 murrdoc joined #salt
22:01 teepark context: I'm thinking of putting the traditional "roles" grain in to pillar instead, since it'd allow for easier reconfiguration later
22:01 teepark but that's the main thing I'm going to put into matchers, including in pillar itself
22:01 shanemhansen joined #salt
22:02 yomilk joined #salt
22:02 smcquay joined #salt
22:04 teepark I guess the worst case here is that I have to refresh pillar data twice...
22:04 iggy how can you target pillars to hosts based on pillars that haven't been targeted yet?
22:05 teepark iggy: I presume you can't, which is why my question is mainly about how pillars get ordered
22:05 hal58th joined #salt
22:05 ajolo joined #salt
22:07 smcquay joined #salt
22:07 shanemhansen I'm trying to ensure a service is running before I run a cmd, like this: https://gist.github.com/shanemhansen/289bc6db9f9d12fca391
22:07 shanemhansen But I can't quite figure out how to require it correctly.
22:07 druonysus joined #salt
22:07 druonysus joined #salt
22:07 shanemhansen Any tips for a noob?
22:08 Andre-B joined #salt
22:08 esogas_ joined #salt
22:09 iggy prereq?
22:09 iggy that's just a guess, I've never tried that
22:09 jhauser joined #salt
22:09 teepark iggy: roughly like this: http://pastebin.com/ncJyVSHs      can I count on those roles being defined in the 2nd and 3rd top.sls matchers because of the first one?
22:09 grepory joined #salt
22:09 iggy teepark: I don't know, we use grains for roles
22:09 lkannan joined #salt
22:10 kballou joined #salt
22:10 [vaelen] joined #salt
22:10 teepark the pillar docs mentioned using pillars as matchers, where the "matchers" context was pillar/top.sls, which feels to me like it needs more context :)
22:11 Eugene joined #salt
22:11 Sway joined #salt
22:12 gamingrobot joined #salt
22:12 GvJordan joined #salt
22:23 glyf joined #salt
22:36 sc` joined #salt
22:40 dude051 joined #salt
22:40 aquinas joined #salt
22:41 dude051 joined #salt
22:43 smcquay joined #salt
22:46 iggy can anyone think of a valid reason to have {% if 'foo' in grains['roles'] %} in state files? Shouldn't you just handle that with the top targetting (and possibly with have properly modular formulas to begin with)
22:46 kermit joined #salt
22:47 shaggy_surfer joined #salt
22:47 skyler iggy: Perhaps the author would like you to be able to see the result of each role without consulting multiple files.
22:47 hal58th1 joined #salt
22:48 iggy huh?
22:49 whatapain if i wanted to backup salt all i would need to do is /srv/salt and /etc/salt right? for code, configs, and pki?
22:51 hal58th1 whatapain sounds correct. Make sure you are root first.
22:51 * whatapain nods
22:51 t0rrant joined #salt
22:52 hal58th1 whatapain also /srv/pillar
22:52 whatapain kthx
22:52 superted666____ joined #salt
22:53 iggy we have ssh keys, ssh config, and file_roots being deployed as part of our salt master spinup (if that helps at all)
22:54 manfred whatapain: i would grab /srv and /etc/salt, because you can have your pillar data,reactor data, and some other stuff in /srv
22:55 hal58th1 iggy: for your previous question with grains[role], I do that to keep my top file simple so that you can have the same top file in multiple salt servers.
22:55 cedwards2 joined #salt
22:55 hal58th1 iggy: especially when I don't want to comprimise another salt masters server data if one gets comprimised
22:58 otter768 joined #salt
22:59 budman joined #salt
23:00 budman Hello friends, I have a new minion, no matter what, No matching sls found for 'users' in env 'base'
23:00 iggy that sounds... convoluted
23:00 budman but all other minions work just fine for users or any sls... just this one has no matching, even though my base is just '*"
23:00 iggy in any case, I really dislike it's use in formulas (which are supposed to be general use)
23:01 iggy budman: that's running a highstate?
23:01 quickdry21 joined #salt
23:02 budman salt 'athena*' state.sls users
23:02 teepark is there a way to just run a renderer to see the rendered sls?
23:02 glyf joined #salt
23:02 manfred teepark: salt \* state.show_low_sls
23:02 iggy you have to run a highstate (or something similar) to sync the files from the server
23:02 teepark manfred: thanks
23:03 cedwards2 joined #salt
23:03 iggy saltutil.sync_all
23:03 iggy nah, that does all the _foo sync'ing
23:04 manfred teepark: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#salt.modules.state.show_low_sls
23:05 manfred teepark: for the low rendered data of a highstate, see state.show_lowstate
23:08 teepark manfred: what's this low/high distinction? right now I'm not sure if I'm getting a jinja or a yaml error, I'd like to see if it can show me the unparsed yaml (but already rendered via jinja)
23:08 agend joined #salt
23:09 iggy have you tried running it on the minion with salt-call -l debug ?
23:10 teepark manfred: scratch that, it's a yaml error, but I still want to see what jinja is outputting
23:10 manfred teepark: high data is the state rendered on the master.  that is the data that is sent to the minion (jinja and all) the highdata is rendered from yaml and the jinja into lowdata, plugging in grains and pillars and other variables there, and coming out as a nice ordered dictionary of all the stuff that is going to run
23:10 teepark iggy I'll give that a shot
23:10 manfred teepark: http://docs.saltstack.com/en/latest/ref/states/layers.html
23:11 manfred teepark: -l debug is going to show you what the stuff looks like after jinja is run, but show_low_sls won't render and return anything if the yaml is incorrect
23:11 manfred because it has to successfully render to return it
23:13 xenoxaos joined #salt
23:14 thedodd joined #salt
23:15 rtuin joined #salt
23:16 glyf joined #salt
23:17 gladiatr joined #salt
23:19 t0rrant joined #salt
23:22 smcquay joined #salt
23:27 Diaoul hey
23:27 Diaoul how do I add an authentication provider to salt in a pluggable way?
23:30 t0rrant joined #salt
23:30 yomilk joined #salt
23:31 hal58th joined #salt
23:34 pdayton joined #salt
23:35 Singularo joined #salt
23:37 eliasp Diaoul: have a look at the external auth modules
23:37 Diaoul yep I'm reading it
23:37 eliasp Diaoul: salt/auth/
23:37 eliasp Diaoul: ok
23:37 Diaoul but I don't see much doc in there
23:38 Diaoul how do I add mine?
23:39 Diaoul do I just add my module with an auth(username, password) function in there?
23:39 eliasp Diaoul: exactly… and add whatever methods your provider supports (e.g 'groups()')
23:40 Diaoul I was hopping some kind of setuptools entry_point
23:40 Diaoul thanks eliasp
23:41 eliasp Diaoul: why would you use setuptools to implement auth backends?
23:42 Diaoul eliasp: setuptools provides entry_points and that makes easy implementing pluggable backends without modifying the source code of salt
23:43 eliasp Diaoul: well, you don't need to modify the salt source code… just write your custom foobar.py and drop it into salt/auth/
23:43 eliasp Diaoul: have a look how the other modules in salt/auth/ are implemented…
23:43 austin987 joined #salt
23:44 Diaoul you mean salt/auth where pam.py is? or in the salt config directory?
23:45 eliasp https://github.com/saltstack/salt/tree/2014.7/salt/auth
23:46 Diaoul right, so I have to drop it in site-packages/salt/... if I installed with pip. and that won't survive a pip update
23:46 eliasp the 'develop' branch even has 2 more: mysql and yubico: https://github.com/saltstack/salt/tree/develop/salt/auth
23:46 Diaoul I think mysql should use pymysql not mysqldb, that's more portable
23:46 Diaoul I commented on the merged PR about that
23:47 eliasp Diaoul: no need to drop it into your PIP installation, just use "extension_modules" in your master config
23:47 Jahkeup joined #salt
23:48 Diaoul thanks eliasp, exactly what I was looking for
23:49 trev joined #salt
23:53 davet joined #salt
23:55 bhosmer joined #salt
23:57 foulou joined #salt
23:58 j-saturne joined #salt
23:58 j-saturne hi
23:59 j-saturne can I use pillar item in pillar file (with pillar.get for example) ?
23:59 babilen no

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