Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2015-03-17

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

All times shown according to UTC.

Time Nick Message
00:00 Morbus joined #salt
00:01 murrdoc whats the environment variable for salt, in python
00:01 murrdoc __context__ get environment ?
00:03 Ryan_Lane murrdoc: environment variable?
00:03 murrdoc salt '*' config.get environment
00:03 murrdoc the equivalent of that, like base, dev, so on
00:03 iggy saltenv?
00:03 Ryan_Lane oh. I have no clue.
00:04 murrdoc http://docs.saltstack.com/en/latest/ref/states/top.html#environments
00:04 Ryan_Lane it's not __context__. that's an in-memory cache
00:04 murrdoc right
00:04 murrdoc __opts__, __grains__ and __pillars__ are all read in config.get
00:04 murrdoc left #salt
00:05 murrdoc joined #salt
00:05 murrdoc i just need a way to check the environment in an ext_pillar
00:05 murrdoc to prvent it from loading in prod envs
00:05 murrdoc (yes it sounds horrible)
00:07 mikaelhm joined #salt
00:09 murrdoc well, you cant specify ext_pillars by environment so theres that
00:11 desposo joined #salt
00:12 iggy is load_yaml slow?
00:13 murrdoc load_yaml would be worse than import_yaml
00:13 murrdoc from my 15 minutes of testing
00:15 iggy I've seen the distro map done in yaml before, would that be a terrible idea?
00:16 murrdoc in sls ?
00:16 murrdoc i dont think its bad
00:16 murrdoc you cant do decision trees in yaml
00:19 iggy but you could do a import_yaml map_defaults, import_yaml distro_map, and then grains.filter_by distro_map merge pillar:lookup default map_defaults
00:19 iggy clear as mud?
00:20 murrdoc hahah
00:20 murrdoc i mean u could
00:22 iromli joined #salt
00:22 iggy I just hate seeing some of those maps inlined in jinja... they are archaically indented and hard to read
00:23 a1j https://www.youtube.com/watch?feature=player_embedded&v=D09FXtpMUew
00:23 iggy and they end up being like 4 pages long
00:23 murrdoc word
00:23 murrdoc might be easier
00:23 murrdoc totes srs
00:24 murrdoc to include yamls based on distro name
00:24 murrdoc super readable too
00:24 murrdoc but then its not my call
00:25 iggy if jinja had a "do something for everything in a directory" that might be worthwhile, otherwise it just becomes a big list of import_yaml's for every distro
00:26 johnkeates joined #salt
00:26 murrdoc its one import_yaml by distro + import default + pillar.get
00:27 bhosmer_ joined #salt
00:27 iggy the salt-formula has 10+ distros listed
00:27 murrdoc thats just stupid
00:28 johnkeates is there something like grains.d ?
00:28 iggy actually seems pretty valid (although I'm assuming nobody has ever tested it on Arch ('salt-master': 'salt-zmq',  ... probably not)
00:28 johnkeates i find myself wanting to store the output of a state cmd.run in a grain for later readouts
00:29 murrdoc iggy:  thats what i mean, the os map is excessive
00:29 murrdoc would be so much easier to say… here's how it works on ubuntu, put a file here to make it work for yours
00:30 iggy but then map.jinja is still going to be "{% from "salt/osmaps/foo.yaml" import foo_config %} x10
00:30 iggy I mean that's not exactly easier to grok imo
00:31 desposo joined #salt
00:31 murrdoc its actually gonna be "{% from "salt/osmaps/{{grain_os_name}}" import os_config %}
00:32 iggy hmm
00:32 murrdoc or "{% from "salt/osmaps/os_override.yml" import os_config %}
00:32 murrdoc and then .update that to the defaults.yml
00:32 murrdoc its not rocket science
00:33 murrdoc its all about compromise
00:33 iggy I don't have a problem with that, you think anybody else will go for it?
00:34 iggy (theoretically it would also make map.jinja processing easier since it wouldn't be 10 different dicts to look through, although I doubt that adds a whole of time)
00:35 murrdoc i think sysadmins will be all about it
00:36 murrdoc cos we love to keep it simple and have smaller egos
00:36 murrdoc (here comes the hate)
00:36 murrdoc devs will try to be like, I CAN SOLVE THIS< MUHAHAH
00:36 murrdoc :D
00:36 murrdoc (probably true/probably not)
00:36 otter768 joined #salt
00:36 * johnkeates volunteers some hate just in case there is a lack of a fresh load
00:36 murrdoc its worth recommending imho
00:37 iggy actually we could do away with the whole pillar:lookup thing too (I've never been a fan, doesn't seem like a thing that should be in pillar)
00:37 murrdoc that would be like WAY cleaner
00:37 johnkeates <3
00:37 murrdoc defaults.yml + pillar.get (merge=true)
00:37 iggy {% import "salt/admin_overrides.yaml" if exists %}
00:38 murrdoc yeah
00:38 iggy then they just need to throw salt/admin_overrides.yaml in their normal state tree and the fileserver does the easy work
00:38 murrdoc its also unix-y , solve for one thing , correclty
00:38 murrdoc they dont have to throw a yaml
00:38 murrdoc they can set a pillar
00:38 murrdoc if thats salt-ier
00:39 murrdoc https://gist.github.com/puneetk/6336b2905511d6a56a56#file-map-jina-L13
00:39 murrdoc that lets the pillar override everything that came from defaults.yml
00:39 a1j left #salt
00:39 murrdoc ok gotta go
00:39 murrdoc work on my fitness (lol what)
00:39 murrdoc lates!
00:42 UtahDave left #salt
00:46 p1 left #salt
00:48 baweaver joined #salt
00:49 tligda joined #salt
00:53 ajmath_ joined #salt
01:00 nich0s joined #salt
01:03 hasues joined #salt
01:05 hasues left #salt
01:05 jerematic joined #salt
01:09 paha joined #salt
01:11 Lightsword joined #salt
01:11 aqua^mac joined #salt
01:16 jespada joined #salt
01:21 otter768 joined #salt
01:22 everbird joined #salt
01:22 Habsgoalie joined #salt
01:29 thayne joined #salt
01:30 Trades joined #salt
01:30 bhosmer__ joined #salt
01:30 cberndt joined #salt
01:33 ajw0100 joined #salt
01:36 jacksontj baweaver: yt?
01:36 baweaver what's up?
01:37 jacksontj saw the issue about the saltnado problem-- I now have some time to look ;)
01:37 jacksontj so, from what i see any job seems to stall forever?
01:37 baweaver Well a local job
01:37 jacksontj is this on 2015.2? or develop?
01:37 baweaver I port it to local async and it works
01:37 jacksontj k, so just local commands
01:37 baweaver Not sure the difference honestly
01:38 baweaver ops set up salt and saltnado
01:38 jacksontj but seemingly irregardless of job run
01:38 baweaver I could probably find it if I need to
01:38 baweaver yep
01:38 baweaver tried with grains and globs, both cause it to lose
01:38 baweaver it
01:38 jacksontj version would be helpful ;)
01:38 baweaver I'd love to share the Ruby code, but legal here is being a pain.
01:38 jacksontj i have tests that cover these basic things-- so I am very curious
01:38 baweaver just a sec
01:38 jacksontj have you tried reproducing with curl?
01:39 baweaver I'll give that a shot, I think I did
01:39 baweaver I'm fairly sure Typhoeus is being a pest
01:39 baweaver (Ruby HTTP)
01:39 baweaver salt --version
01:39 baweaver salt 2014.7.2 (Helium)
01:40 jacksontj oh, so it was working okay over curl then?
01:40 baweaver seemed to be
01:40 baweaver probably needs an upgrade
01:40 jacksontj the ruby? sounds like it ;)
01:40 * baweaver shrugs
01:40 baweaver Rails implementation
01:40 baweaver not much choice there
01:40 baweaver needed an adapter
01:40 jrluis joined #salt
01:40 baweaver better to make a library out of it than litter it in the app code.
01:41 jacksontj well, i have little to no ruby experience :/
01:41 baweaver Still trying to Open Source it
01:41 baweaver I was just curious if rest in general was mad about that
01:41 jacksontj but the curl is working.. so it makes me think the http library in ruby might be doing something weird
01:41 baweaver but I'll have to play a curl
01:41 baweaver probably
01:41 baweaver just narrowing down things as I can
01:41 jacksontj yea, AFAIK saltnado has been stable
01:44 jacksontj if you can reproduce the problem with curl then its probably a saltnado problem-- and I'd be glad to look into it
01:44 jacksontj if you need ruby help you might want to post on the google group-- in know there are a few ruby people in the community
01:44 baweaver sounds good, just eliminating pieces as I'm testing
01:44 jacksontj yea, best way to do it :)
01:44 badon joined #salt
01:45 baweaver making sure something didn't look blatantly wrong about it
01:45 * iggy wishes there was an actual working example of this whole EMC/merging everything in map.jinja recipe floatin garound.. not just some highly sanitized gist
01:45 jacksontj saltnado actually has pretty good test coverage (https://github.com/saltstack/salt/blob/develop/tests/integration/netapi/rest_tornado/test_app.py) AFAIK its all the rest endpoints ;) well at least all of them that are documented
01:46 jacksontj of course, i'm not biased at all (since I wrote it) ;)
01:48 baweaver I'll give it a read
01:48 baweaver I need to get better at Python eventually anyways
01:48 baweaver I know it, just not well.
01:48 baweaver Probably going to fly through Effective Python as a good base for it.
01:49 jacksontj it takes a while to think in a new language ;)
01:50 badon_ joined #salt
01:53 baweaver curl localhost:8000 -H"Authorization:Token token=token" -d client=local -d tgt=* -d fun=test.ping -d expr_form=glob
01:53 baweaver that look right?
01:53 baweaver (well, except for token being different)
01:54 jacksontj maybe, i thought the header was X-Auth-Token
01:55 jacksontj https://github.com/saltstack/salt/blob/develop/salt/netapi/rest_tornado/saltnado.py#L721
01:56 baweaver https://gist.github.com/baweaver/f0b6e7e161343ecddcc3
01:56 baweaver put it on svi for some more info
01:56 jacksontj k, yea thats saying you weren't logged in
01:56 jacksontj that auth header is wrong i'm pretty sure ;)
01:57 baweaver just a sec then
01:57 jacksontj if you look at that link i sent you can fill in the blanks :)
01:58 baweaver give that a whirl
01:58 baweaver so far seems to be stalling
01:59 baweaver putting it on verbose
01:59 baweaver seems to be trying to open a persistent connection
01:59 jacksontj if you run the equivalent command on the CLI on the master, does it work?
01:59 _JZ_ joined #salt
01:59 baweaver yeah
02:00 baweaver takes a sec
02:00 jacksontj "give that a whirl" which?
02:01 baweaver that curl command on L721
02:01 baweaver real    0m11.722s # Master executing that command
02:01 TyrfingMjolnir joined #salt
02:01 jacksontj k, so with a real auth token and that curl it stalls forever?
02:02 baweaver yep
02:02 baweaver https://gist.github.com/baweaver/f775d07a1c8e8ffaf4a2
02:03 jacksontj hmm, thats all that returns?
02:03 jacksontj interesting
02:03 baweaver been there for about 3 minutes now.
02:03 baweaver 2014.7 version of salt though
02:03 baweaver might that have an impact?
02:03 jacksontj maybe, but i wouldn't think so
02:03 baweaver I can harang the admins to upgrade it just in case.
02:04 jacksontj sure, the other thing would be to know which zmq version you are running
02:04 baweaver how would I tell the version of saltnado
02:04 jacksontj saltnado is in salt core
02:04 jacksontj so the versions are the same ;)
02:04 scbunn joined #salt
02:04 baweaver oh, just finished
02:04 baweaver updating that gist
02:04 baweaver timed out
02:04 jacksontj hmm, then I wonder if there is a race of some time
02:05 jacksontj what if you change it to test.sleep with an arg of 5
02:05 baweaver just -d arg=5?
02:05 jacksontj there was one a while ago, but I thought that fix made it into 2014.7
02:05 jacksontj i think so
02:06 jacksontj if not you can try test.rand_sleep
02:08 baweaver For now I'll assume that the older version gets mad about something
02:08 jacksontj does the sleep help?
02:08 baweaver probably a good idea to upgrade it anyways.
02:08 baweaver times out
02:08 jacksontj yea, probably ;)
02:08 jacksontj hmm even with the sleep
02:08 baweaver noticing single hosts time out too
02:08 baweaver odd
02:09 baweaver debugging against an old version probably won't do too much good beyond this
02:09 jacksontj well, its also possible you are running some older zmq version which has a bug were the event listener misses stuff
02:09 baweaver so I'll do some cajoling
02:09 jacksontj no, probably not ;)
02:09 baweaver zmq -v?
02:09 jacksontj depends on how you packaged python-zmq
02:10 jacksontj in centos it links with zeromq3 (package name)
02:10 jacksontj or zeromq
02:11 jacksontj you can run this on the master
02:11 jacksontj python -c 'import zmq; print zmq.zmq_version()'
02:11 baweaver pip isn't defines
02:11 baweaver 3.2.4
02:11 baweaver that got it
02:11 jacksontj hmm, yea i'm running 3.2.4 as well
02:11 baweaver defined*
02:11 jacksontj also which 2014.7 are you on?
02:11 baweaver I'll just work under the assumption that 2014.7 has some odd bug that's probably fixed later on.
02:11 baweaver Not sure
02:12 baweaver salt 2014.7.2 (Helium)
02:13 jacksontj hmm, thats the newest 2014.7
02:13 jacksontj yea, i'd try upgrading, or maybe turning on debug logging on the salt-api process
02:13 jacksontj to get some info there
02:14 jacksontj let me know how it goes though, if there is a bug I'd be more than happy to fix it :)
02:17 baweaver heh, https wasn't enabled on it
02:17 baweaver looks like it's doing something with http
02:17 jacksontj hmm, weird
02:17 baweaver same hang on glob
02:18 baweaver works instantly for single host
02:18 baweaver lets try with a smaller glob area
02:19 baweaver It tried sending events back
02:20 baweaver Sending event - data = {'fun_args': [], 'jid': '20150317021849103091', 'return': True, 'retcode': 0, 'success': True, 'cmd': '_return', '_stamp': '2015-03-17T
02:20 baweaver 02:18:50.948777', 'fun': 'test.ping', 'id': 'url.net'}
02:21 baweaver curl hangs on it though
02:21 jacksontj thats in the master logs i assume
02:21 baweaver yep
02:21 jacksontj do you guys have multi master by any chance?
02:21 baweaver That I'm aware of, no
02:21 baweaver but I wouldn't go by me on that one.
02:21 jacksontj k, so that return log was on the same box as the API is running
02:21 baweaver yep
02:22 baweaver it's trying to send events for all 10 of the matches
02:22 baweaver same as what the command would do on master
02:22 Furao joined #salt
02:22 baweaver Anyways, it'd be more of a help to upgrade and see what happens
02:23 donmichelangelo joined #salt
02:24 jacksontj yea, let me know how that goes :)
02:24 baweaver Will do
02:24 baweaver I'll summarize this information
02:24 evle joined #salt
02:24 jacksontj cool :)
02:24 kermit joined #salt
02:27 enarciso joined #salt
02:30 baweaver done, that should about cover it
02:30 baweaver I'm calling it a night myself. Have a good day, thanks for the help!
02:34 aparsons joined #salt
02:40 ajmath joined #salt
02:51 Singularo joined #salt
02:52 catpiggest joined #salt
02:52 TyrfingMjolnir joined #salt
02:56 catpig joined #salt
02:59 subsignal joined #salt
02:59 ajmath joined #salt
03:03 favadi joined #salt
03:08 active8 joined #salt
03:10 JlRd joined #salt
03:10 \ask joined #salt
03:16 tzero joined #salt
03:19 a_ghost_irl joined #salt
03:19 mikaelhm joined #salt
03:25 lb1a joined #salt
03:27 mwpher joined #salt
03:27 elfixit joined #salt
03:27 fxhp joined #salt
03:29 mwpher How can I text whether a pillar variable is defined? I've tried doing Jinja's 'is defined' and comparing it to an empty string
03:29 jrluis joined #salt
03:31 Furao {% if key in pillar %}
03:32 Furao for something in first level of the dict
03:32 mwpher Thank you Furao! I'm not sure why the other tests didn't work
03:34 Furao i wrote a pillar proxy module that make it easier to handle this . and that also make sure default value are constant and they’re documented
03:34 Furao but i know that 2015.x changed the default value behaviour it don’t return an empty string by default (which was dangerous)
03:38 mwpher Yeah, I've encountered a lot of strange behaviors… Normally I would try to find a more stable solution, but the architecture of Salt is right up my alley so I'll be sticking with it
03:39 iggy mwpher: you could also do {% for values in salt['pillar.get']('keylist', []).items() %}
03:39 mwpher Once I get more familiar with the program I will be submitting bug reports
03:39 iggy or something similar
03:40 iggy pass the empty list as the default and if you don't get a match, it won't loop (default empty list)
03:50 prwilson joined #salt
04:03 erikols joined #salt
04:07 MatthewsFace joined #salt
04:08 murrdoc joined #salt
04:11 tmwsiy joined #salt
04:23 intr1nsic joined #salt
04:23 sxar joined #salt
04:23 malinoff joined #salt
04:33 thayne joined #salt
04:34 Furao joined #salt
04:35 Furao joined #salt
04:35 JoeJulian joined #salt
04:42 kermit joined #salt
04:52 JoshuaX joined #salt
04:52 JoshuaX evening gents, ladies.  I'm trying to setup some nfs mounts.  I'm getting this: State 'mount.set_fstab' found in SLS 'nfsmounts' is unavailable
04:53 JoshuaX I have no idea why it is "unavailble"
04:54 iggy because that's an execution module, not a state
04:54 JoshuaX Oh
04:54 JoshuaX Ahhh
04:55 iggy if you use the mount.mounted state, it automatically puts the mount in /etc/fstab for you
04:55 iggy so it should effectively act the same
04:56 monkey66 joined #salt
04:56 JoshuaX Sorry, new to salt.  I see that I had a different error preventing mount.mounted from running.  I thoight that it simply wasn't updating the fstab.
04:56 JoshuaX Thanks.
04:56 JoshuaX +5 internet points.
05:14 CheKoLyN joined #salt
05:18 jrluis joined #salt
05:21 otter768 joined #salt
05:25 mikaelhm joined #salt
05:31 Blade joined #salt
05:31 Blade Hi all
05:31 Blade its quiet in here
05:31 Blade anyone around ? :D
05:32 felskrone joined #salt
05:40 fxhp joined #salt
05:42 xsteadfastx joined #salt
05:42 JoshuaX I'm around
05:42 JoshuaX last person you would want help from though
05:47 ramteid joined #salt
05:54 nilptr joined #salt
06:02 neogenix joined #salt
06:08 favadi left #salt
06:14 jalaziz joined #salt
06:16 neogenix_ joined #salt
06:20 dopesong joined #salt
06:33 jhauser joined #salt
06:36 krelo joined #salt
06:40 lietu joined #salt
06:41 favadi joined #salt
06:44 Furao blade: don’t ask to ask, just ask
06:50 linjan joined #salt
06:56 _JZ_ joined #salt
07:01 colttt joined #salt
07:04 stephanbuys joined #salt
07:05 lietu joined #salt
07:06 jrluis joined #salt
07:12 enarciso joined #salt
07:13 Plotek joined #salt
07:14 catpig joined #salt
07:14 catpigger joined #salt
07:15 MaliutaLap left #salt
07:16 dopesong joined #salt
07:17 dopesong_ joined #salt
07:19 mattiasr joined #salt
07:19 AndreasLutro joined #salt
07:22 lietu- joined #salt
07:22 otter768 joined #salt
07:28 KermitTheFragger joined #salt
07:32 flyboy joined #salt
07:37 stephanbuys left #salt
07:46 illern joined #salt
07:47 I3olle joined #salt
07:49 lietu joined #salt
07:50 trikke joined #salt
07:50 ok_google left #salt
07:51 lietu- joined #salt
07:51 kawa2014 joined #salt
07:52 JlRd joined #salt
08:01 hebz0rl joined #salt
08:02 eseyman joined #salt
08:03 nilptr joined #salt
08:05 grex_ joined #salt
08:09 lietu joined #salt
08:11 __gotcha joined #salt
08:12 JoshuaX joined #salt
08:25 enarciso joined #salt
08:26 wincyj joined #salt
08:30 intellix joined #salt
08:34 froztbyte hi
08:34 froztbyte http://docs.saltstack.com/en/latest/topics/tutorials/writing_tests.html is for testing salt itself, right?
08:34 froztbyte like, if I wanted to run tests on any modules/states I write, that's not what I want?
08:35 froztbyte hmm, http://docs.saltstack.com/en/latest/ref/states/all/salt.states.test.html
08:35 Andre-B joined #salt
08:37 TinuvaMac joined #salt
08:42 __gotcha joined #salt
08:51 Furao froztbyte: yes it is
08:51 denys joined #salt
08:53 Furao sadly there is no easy way to test modules, states and formulas. I wrote one myself : 1 day and 22 hours to run almost 1000 .sls https://www.dropbox.com/s/cygwy5jxyfgjhml/Screen%20Shot%202015-03-17%20at%2015.52.03.png?dl=0
08:54 lb1a basepi, thanks :D
08:54 AndreasLutro haha ouch!
08:55 Furao it even make sure that pillar.get default value is constant and that pillar key are documented : https://doc.robotinfra.com/elasticsearch/doc/index.html and metrics are produced for running processes
08:55 Furao one reason why it take a little more time than just state.sls bleh
08:55 jrluis joined #salt
08:55 N-Mi_ joined #salt
09:00 JlRd joined #salt
09:01 froztbyte Furao: that doesn't seem an optimal situation to be in
09:01 froztbyte I would really like to be able to, at the very least, run something like lint
09:01 froztbyte maybe scope checks
09:02 froztbyte (because I'm bringing this new into the organization and it's gonna take some getting used to)
09:03 eseyman left #salt
09:03 babilen iggy: ping
09:08 nilptr joined #salt
09:08 Vynce joined #salt
09:09 Vynce it's probably a terrible idea to have salt update the /etc/salt/minion files, isn't it.
09:10 babilen Why? I do that in many places .. I even salt my salt master: https://github.com/saltstack-formulas/salt-formula
09:11 I3olle joined #salt
09:23 otter768 joined #salt
09:34 Vynce i don't understand any of that, but thanks. ( :
09:35 dRiN joined #salt
09:36 paulm- joined #salt
09:42 Vynce is it kosher to put a grain interpolation in the path of a managed file?  like, /var/{{ salt['grains.get']('path') }}/filename: file.managed: etc. ?
09:43 Vynce looks like yes
09:49 jbub joined #salt
09:51 jtang joined #salt
09:54 __gotcha joined #salt
09:55 nocturn joined #salt
09:56 nocturn Hi, is Salt a good way to deploy PHP applications?  If I don't want to deploy directly from GIT, is there an easy way to make it take another directory?
09:56 nocturn Hi, is Salt a good way to deploy PHP applications?  If I don't want to deploy directly from GIT, is there an easy way to make it take another directory?
09:57 nexsja Afaik Salt basically can do a git pull for you.
09:57 nexsja Other than that I don't think it can do anything.
09:57 nexsja Or, you know, extract an archive if you're from Y2K
09:58 nocturn nexsja, I rather not deploy from GIT, my apps are build using Jenkins that pulls the repo and does magic like run composer, create a version file etc.
09:59 nexsja So? Why can't salt do the same?
09:59 nexsja You can teach salt to do the same
10:00 nocturn The Jenkins build creates a package for external users to download as well as deploy to my servers currently.  The drawback of that is that I cannot redeploy my server with salt alone.
10:04 jhauser Furao: this documentation site is a real treasure
10:04 peters-tx joined #salt
10:04 jhauser Furao: are you using some tool to generate parts of the documentation?
10:05 jhauser or do you know of some tool to generate server-config-reports with salt?
10:06 ssm joined #salt
10:06 sxar joined #salt
10:07 JPT joined #salt
10:07 __gotcha1 joined #salt
10:09 \ask joined #salt
10:09 nilptr joined #salt
10:12 aquassaut joined #salt
10:16 __gotcha joined #salt
10:18 bhosmer joined #salt
10:22 viq joined #salt
10:24 jhauser joined #salt
10:25 devweasel joined #salt
10:26 lothiraldan joined #salt
10:27 bhosmer joined #salt
10:30 hebz0rl joined #salt
10:32 Furao joined #salt
10:32 matthew-parlette joined #salt
10:39 giantlock joined #salt
10:41 wnkz joined #salt
10:49 __gotcha joined #salt
10:52 Furao jhauser: doc are part of the formulas. doc are also used to perform tests on pillars, metrics and monitor checks. test fail if something isn’t documented or default value aren’t properly defined
10:53 evle1 joined #salt
10:54 kawa2014 joined #salt
10:54 Furao jhauser: every formula do have a test.sls that look like that https://gist.github.com/bclermont/5206a8b19c6e112bfe7a
10:59 mephx joined #salt
11:00 t0rrant joined #salt
11:06 _ale1_ joined #salt
11:15 jhauser Furao: as I said a treasure, thanks for the info
11:17 bfoxwell joined #salt
11:19 Furao thanks!
11:22 KermitTheFragger joined #salt
11:23 MasterNayru joined #salt
11:24 otter768 joined #salt
11:27 lothiraldan joined #salt
11:34 MasterNayru joined #salt
11:36 paulm- joined #salt
11:41 lothiraldan joined #salt
11:41 MasterNayru joined #salt
11:43 MasterNayru joined #salt
11:44 matthew-parlette joined #salt
11:49 joehh babilen: uploading now for ubuntu - will be doing debian in next hour or so
11:49 amcorreia joined #salt
11:50 babilen Okay - Already deployed a local version by now though
11:50 babilen But yay
11:51 joehh thought I may have been to late when I saw it
11:51 joehh sorry about that
11:52 babilen It's okay, better now than never and we already had our own Debian repositories in place so it wasn't that much work
12:00 nilptr joined #salt
12:03 jespada joined #salt
12:06 _ale1_ joined #salt
12:10 riftman joined #salt
12:14 lietu- joined #salt
12:14 wincyj joined #salt
12:22 scottpgallagher joined #salt
12:22 intellix joined #salt
12:24 MasterNayru_ joined #salt
12:25 abe_music joined #salt
12:29 mpanetta joined #salt
12:37 JlRd joined #salt
12:46 johtso joined #salt
12:46 joehh ubuntu 2014.7.2 packages uploaded to ppa:saltstack/salt-testing for utopic,trusty and precise
12:47 joehh lucid coming shortly
12:47 joehh debian also coming soon
12:48 lothiraldan joined #salt
12:48 Furao it take a while before it end there?
12:51 joehh Furao: not sure what you mean?
12:52 cmcmacken joined #salt
12:54 subsignal joined #salt
12:56 subsignal joined #salt
12:56 cpowell joined #salt
12:57 hasues joined #salt
12:57 hasues left #salt
13:00 __gotcha joined #salt
13:00 saltuser joined #salt
13:00 jeremyr joined #salt
13:02 saltuser Hi! In my map.jinja I have "'pkg': ['nrpe', 'ntp', 'bash']," any good ideas how to expand this in pkg.installed state?
13:03 saltuser basically i'd like to install multiple packages at once and save as many keystrokes as I can :)
13:06 jdesilet joined #salt
13:09 subsignal joined #salt
13:09 mamercad joined #salt
13:10 mamercad hello, any idea how to troubleshoot salt-cloud never "finishing"?
13:10 mamercad it provisions the VM, but salt-cloud never terminates... not much help in /var/log/salt/master
13:13 Furao joehh: ohh it’s salt-testing sorry! I was looking here http://ppa.launchpad.net/saltstack/salt/ubuntu/pool/main/s/salt/
13:15 joehh no worries - I'll move it over to the main salt once I've got some feedback on it
13:18 pel joined #salt
13:19 giantlock joined #salt
13:19 \ask joined #salt
13:19 _prime_ joined #salt
13:20 ndrei joined #salt
13:20 lothiraldan joined #salt
13:22 Furao well I already assign a task to one of my guy to test it on precise and trusty
13:22 Furao so you’ll know if something is wrong :)
13:23 joehh great - thanks for that
13:23 andrew_v joined #salt
13:23 joehh the most obvious packaging change is that the package version is now displayed in --versions-report queries
13:24 joehh not sure the rest of the world will care about it - but it will certanly help me identify which os and packages people are using in
13:24 joehh mailing list queries etc
13:25 otter768 joined #salt
13:26 AnxiousGarlic joined #salt
13:28 joehh wheezy, jessie and unstable packages going up now
13:28 joehh looks like lucid and squeeze will be in the morning :(
13:29 Habsgoalie joined #salt
13:33 Vynce joined #salt
13:33 netzmonster joined #salt
13:34 LtLefse joined #salt
13:35 debian112 joined #salt
13:35 racooper joined #salt
13:36 wincus joined #salt
13:37 _JZ_ joined #salt
13:39 saltuser Ignore my previous question - resolved it with 3-line for statement :)
13:41 MWheelz joined #salt
13:45 teskew joined #salt
13:46 joehh I've got a small number of windows minions that seem to stop responding after 24 hours or so
13:46 \ask joined #salt
13:47 joehh the other windows (and debian) minions seem to be fine
13:47 joehh The environment is windows server 2012 running on Xen
13:47 joehh anyone seen anything similar or know of where to start looking?
13:47 joehh all 64 bit
13:48 perfectsine joined #salt
13:48 kaptk2 joined #salt
13:49 timoguin joined #salt
13:49 joehh salt version is 2014.1.13
13:49 brick joined #salt
13:53 paulm- joined #salt
13:54 DoctorO joined #salt
13:56 Furao power management?
13:57 Furao all i know about Windows is to not use it in production :|
13:59 CeBe joined #salt
14:00 Aikar s/production/anywhere
14:00 zwi joined #salt
14:01 Furao you need an OS to run those viruses?
14:01 Furao they can’t all run on android
14:02 Furao there is a niche for Windows: spying and virus
14:04 XenophonF Furao: advocacy about your personal O/S preferences isn't really helping joehh
14:04 XenophonF joehh: i urge you to upgrade to a newer version of salt-minion if possible
14:04 XenophonF i recall running into similar issues with my windows minions
14:04 joehh XenophonF: now I've packaged it for debian I can do so :)
14:05 joehh we've got about 15 that are ok and 3 that never last more than a day or so
14:05 XenophonF joehh: are they all Win2012?
14:05 joehh yes
14:05 Furao i’m trolling :P
14:05 joehh :)
14:06 XenophonF joehh: anything in the minion logs?
14:06 kindkid joined #salt
14:06 joehh XenophonF: nothing we've seen  they just seem to hang
14:07 riftman joined #salt
14:08 XenophonF joehh: does the salt-minion service keep running? anything in the Event Log?
14:09 XenophonF (i realize these are things you've probably already checked)
14:09 joehh I belive it does keep running
14:09 joehh nothing in the minion logs - they seem to be cleared after each restart
14:09 \ask joined #salt
14:09 kindkid I've inherited a salt repo… For some reason the top.sls is in .gitignore, but I don't see any secrets there. Is this normal practice?
14:10 joehh worth checking again anyway
14:11 denys joined #salt
14:11 che-arne joined #salt
14:14 XenophonF kindkid: maybe the top.sls file lives on the Salt master's file system?
14:15 joehh nothing obvious in the event logs
14:15 kindkid XenophonF: indeed. but exclude it from git?
14:15 joehh just nssm starting each time we restart it
14:15 ThomasJ kindkid: Well, for our organizartion, it contains information that would reveal quite a bit about or infrastructure
14:15 XenophonF kindkid: the original creator of your repo might want to have avoided having to add/commit/push changes to top.sls all the time
14:15 ThomasJ As such, we do not include it in our git repo
14:16 XenophonF kindkid: i have top.sls in my git repo, in the master branch, but my states repo is private for that reason
14:16 XenophonF kindkid: that top.sls has potentially sensitive information about our infrastructure in it
14:16 XenophonF nrn
14:16 XenophonF brb
14:16 kindkid The entire git repo is private.
14:17 ek6 joined #salt
14:18 * ThomasJ shrugs
14:18 ThomasJ In that case, i suppose it depends on who has access to the private repo.
14:20 ThomasJ But basically, unless the top.sls file can be viewed in the repo, and can be considered sensitive because of what it tells someone about your infrastructure, there is no reason I can see for keeping it out of git
14:20 kindkid Perhaps the former maintainer had plans to make the repo public. *shrug*… Out of curiosity, for those with public repos and top.sls .gitignore'd… presumably you keep a backup and history of your top.sls through some other mechanism… is there a best practice or suggested solution for doing so?
14:21 ThomasJ For backup, the saltmaster /etc and /srv are included in the daily backups in our case, in addition to vmdk backup
14:21 ThomasJ We simply use backuppc for file based backups of servers
14:22 XenophonF back
14:23 kindkid oh… I just realized XenophonF already mentioned one solution… a separate private "states" repo… I guess that gets included dynamically somehow? Obviously I'm still a newbie making my way through the docs :-/
14:23 XenophonF kindkid: is your master using gitfs?
14:23 kindkid XenophonF, no.
14:23 XenophonF ah
14:24 XenophonF is your git repo hosted somewhere, like GitHub or on a local DVCS server?
14:24 kindkid hosted on github
14:24 kindkid Do you recommmend gitfs?
14:24 XenophonF so if i had to guess, the reason top.sls was excluded was likely for security reasons
14:26 lothiraldan joined #salt
14:27 is_null joined #salt
14:31 bhosmer joined #salt
14:31 ndrei joined #salt
14:32 CheKoLyN joined #salt
14:32 is_null hi all, i added _outputters/junit.py (http://dpaste.com/1RVQKJ8) to my salt directory, it was copied alright by salt (v2014.1: Copying '/srv/salt/_outputters/junit.py' to '/var/cache/salt/minion/extmods/outputters/junit.py') and it doesn't fail when i run salt-call state.highstate --out=junit. However, it doesn't seem like my outputter is executed, because my added placeholder string (line 35) is not in any
14:33 is_null of STDOUT/STDERR nor --out-file if i specify one. What's the problem ?
14:36 is_null oh my, this is probably because of https://github.com/saltstack/salt/issues/11030
14:37 * is_null wish it was easier for us to upgrade salt version :,(
14:37 XenophonF kindkid: gitfs has its pros and cons
14:38 XenophonF kindkid: esp. if you use github, which imposes a file size limit (100 MB IIRC)
14:39 ThomasJ I've ended up putting all git states in /srv/salt/gitrepos and using symbolic links from states to individual gitrepo states to get away from gitfs
14:39 XenophonF kindkid: i'm currently using a combo of gitfs and /srv/salt (/usr/local/etc/salt/states on FreeBSD masters)
14:39 Anant joined #salt
14:39 Anant hi
14:39 jdesilet joined #salt
14:40 JPT joined #salt
14:40 XenophonF kindkid: but i plan to move from /srv/salt to s3fs (large files only)
14:41 XenophonF kindkid: i'm also using salt-formula on my masters
14:42 XenophonF kindkid: i also am using ext_pillar to store my pillar data in a private github repo
14:43 kindkid this is great information :) … lots of stuff for me to read up on.
14:43 kindkid thanks!
14:43 ninkotech_ joined #salt
14:44 jab416171 joined #salt
14:45 slav0nic joined #salt
14:45 JPT joined #salt
14:50 ALLmightySPIFF joined #salt
14:53 jalbretsen joined #salt
14:54 Brew joined #salt
14:54 XenophonF kindkid: i currently have three branches: master, development, and production
14:54 mikaelhm joined #salt
14:56 XenophonF kindkid: master branch is equivalent to the base environment (this is the default config in Salt)
14:57 meylor joined #salt
14:57 favadi1 joined #salt
14:58 meylor Say you have a state.sls mystate.sls ; you lay down a file that is a jinja template. Is there a way to pass variable scope from mystate to the template?
14:58 XenophonF kindkid: development and production are two additional environments, and that's where all of my states are defined
14:58 XenophonF kindkid: the master branch is empty except for top.sls
15:00 meylor I believe I found my answer http://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html
15:01 Habsgoalie joined #salt
15:02 timoguin joined #salt
15:02 babilen joehh: Thanks! Seems to be working fine!
15:03 is_null hi all, how to make saltstack stop on error ?
15:06 scbunn joined #salt
15:10 Furao is_null: look minion settings, one had been added recently to do that
15:10 XenophonF kindkid: i'm using pillar to select which environment applies to a minion; e.g., "environment: development" applies states from the development branch
15:11 fxhp joined #salt
15:12 Brew joined #salt
15:13 XenophonF kindkid: i'm also using pillar to select which states applies to a minion; e.g., "role: domain-controller" applies the ad.ds.replica-dc, wins, and dnsservice states
15:14 XenophonF kindkid: so i'm using compound matches that look like 'I@environment:development and I@role:domain-controller'
15:14 kindkid makes sense.
15:15 XenophonF kindkid: so top.sls in the pillar git repo makes the minion-to-environment/role mappings
15:15 jespada joined #salt
15:16 Lightsword joined #salt
15:18 XenophonF kindkid: because i'm using salt formulas, i also have to apply those in the base environment, so for example, if a role needs php installed, in the top.sls in the base environment, i have a pillar match for that role, and it assigns the relevant SLSes from php-formula
15:18 \ask joined #salt
15:18 is_null Furao: ok i don't have that version yet ... thanks
15:20 dunz0r joined #salt
15:20 XenophonF kindkid: to tie that into our change management process, i make whatever changes i need in the development branch
15:21 markm_ joined #salt
15:21 XenophonF kindkid: then when i'm ready to put those into production, i file a change request that references the relevant changesets
15:21 XenophonF kindkid: then when approved/scheduled, i merge from the development branch to the production branch and run a highstate job
15:22 XenophonF kindkid: i've considered scheduling highstate jobs to run automatically, but for now, we do it manually
15:22 kindkid How do you test the changes in your development branch?
15:23 ndrei joined #salt
15:26 otter768 joined #salt
15:26 racooper is there any option in the apache execution module to query IP based virtual hosts? apache.vhosts only shows name-based virtual hosts so it is actually missing info shown in apachectl -S.
15:29 bhosmer joined #salt
15:29 SheetiS joined #salt
15:32 kindkid1 joined #salt
15:34 clintberry joined #salt
15:35 andrew_v joined #salt
15:35 zugelnot joined #salt
15:36 cpowell joined #salt
15:36 tlolo joined #salt
15:37 cpowell joined #salt
15:39 mangas joined #salt
15:39 smcquay joined #salt
15:41 zugelnot left #salt
15:41 tlolo left #salt
15:43 tlolo joined #salt
15:43 iggy babilen: pong
15:44 zugelnot_ joined #salt
15:46 twobitsprite joined #salt
15:46 twobitsprite is there a way to manage minion keys from the python API?
15:49 JoshuaX joined #salt
15:51 iggy murrdoc! I need you
15:51 timoguin twobitsprite: look at the wheel modules. those will handle master-side config stuff like that
15:52 signull iggy: picachu needs you!
15:53 TheoSLC joined #salt
15:54 TheoSLC Greetings.  Can anybody explain why salt is trying to evaluate my date values in my pillar?  https://github.com/saltstack/salt/issues/21721
15:54 twobitsprite timoguin: actually, I was just digging through the source and it seems there's a salt.key module that looks like it'll do what I need
15:55 timoguin twobitsprite: that will only let you do minion-side things with the key, which isn't much. the wheel module is what you want: http://docs.saltstack.com/en/latest/ref/wheel/all/salt.wheel.key.html
15:56 giantlock joined #salt
15:56 jhauser_ joined #salt
15:57 jespada joined #salt
15:58 * signull feels like such since he got zero responce. http://i.imgur.com/GyWiRVz.png
15:58 iggy TheoSLC: put quotes around it
15:59 TheoSLC iggy: yes, that works.  but this shouldn't happen..
15:59 XenophonF kindkid: right now, we run highstate jobs on computers in the development branch after pushing to github, either by running "salt-call state.highstate" on the dev system in question or by using the usual minion targeting from the master (e.g., salt -C 'I@environment:development and I@role:domain-controller' state.highstate)
16:00 mangas joined #salt
16:00 XenophonF kindkid: because it's the development branch, highstates on minions using those states are expected to fail
16:00 XenophonF kindkid: at some point i might add separate testing and staging branches
16:01 XenophonF kindkid: with testing being for the usual qa-but-with-real-data and staging specifically for user acceptance testing
16:01 iggy TheoSLC: difference of opinion
16:02 iggy TheoSLC: you have to quote 01 and many other things
16:02 XenophonF kindkid: that's kind of new for our operations - until recently we haven't had the resources for a proper, segregated dev/test/stage/prod
16:03 mdupont joined #salt
16:10 desposo joined #salt
16:14 neogenix_ joined #salt
16:16 spookah joined #salt
16:18 neogenix joined #salt
16:24 KyleG joined #salt
16:24 KyleG joined #salt
16:24 prwilson joined #salt
16:29 gladiatr joined #salt
16:29 nexsja^ joined #salt
16:33 Fiber^ joined #salt
16:34 nexsja^ guys, I'm having trouble with this piece of configuration: http://pastie.org/10033239
16:34 nexsja^ it's pretty simple, I'm running a masterless minion: sudo salt-call --local state.sls bower
16:35 nexsja^ everything kind of passes, Summary shows 2 successful commands
16:35 nexsja^ yet bower isn't initiated, it looks like.
16:35 denys joined #salt
16:36 nexsja^ might somebody help me out with this?
16:38 timoguin nexsja^: cmd.run and cmd.wait have a cwd option to specify the directory to execute from.
16:38 timoguin no need to use cd
16:39 timoguin also, you might want cmd.run instead. cmd.wait is supposed to only run when another requisite state changes.
16:39 nexsja^ timoguin, i've tried that also, same effect
16:39 iggy what isn't working?
16:40 nexsja^ bower install isn't called
16:40 timoguin you've tried cmd.run?
16:40 nexsja^ Yup. But let me try again.
16:40 iggy -l debug
16:41 nexsja^ I'm stupid.
16:42 timoguin There's also a bower.bootstrap state now. In develop at least. Haven't checked the other versions.
16:42 nexsja^ I attributed cmd.run errors to whatever else.
16:42 nexsja^ bower can't be run in sudo.
16:42 nexsja^ salt-call is ran using sudo.
16:43 nexsja^ And there's the conflict. I can run bower with sudo adding --allow-sudo arg, but i'm afraid the deps that bower will install will be under sudo.
16:43 nexsja^ under root*
16:43 timoguin You can specify the user
16:43 nexsja^ using user: ?
16:44 nexsja^ Yup. using "user:"
16:44 nexsja^ Executing command 'cd /vagrant/... && bower install --no-color -s' as user 'vagrant' in directory '/home/vagrant'
16:44 utahcon joined #salt
16:44 wendall911 joined #salt
16:45 utahcon Hey all... I noticed IMPI is getting built out, excited to see how that goes... is there any salt-proxy stuff for F5 and iDrac now?
16:45 utahcon where does one look for that stuff anyways?
16:46 sieve joined #salt
16:46 nexsja^ thanks timoguin! The command died because of a connection timeout (i'm on a weak connection atm), but otherwise it ran and everything should be good. :)
16:46 rojem joined #salt
16:47 nexsja^ another question, if I supply "require: bower", and "bower" is simply "- name: npm install -g bower"
16:48 nexsja^ how can I just check that bower is installed, not force npm to try and install it every time? With "onlyif: " or there's a better way?
16:49 aparsons joined #salt
16:50 iggy nexsja^: in your bower stanza use creates: and it should only check for the existence of the file every time (instead of running the install command)
16:50 MatthewsFace joined #salt
16:50 saylor joined #salt
16:50 nexsja^ what's a stanza?
16:51 nexsja^ the sls file, I assume. (Googled stanza)
16:51 sieve I have a state which sets hostnames for my minions using the following https://gist.github.com/mooperd/ab0c917304ebb02faf07
16:52 nexsja^ i can't seem to find create: mentions in the docs to see how it's used
16:52 sieve I would like to be able to reuse these variables in other states. For instance the Kerberos realm which I set with {%- set realm = domain.upper()%} need to be used in other parts
16:52 sieve Im thinking these bits of information could be setup as custom grains.
16:53 sieve However Im not sure this is the best way
16:53 Habsgoalie joined #salt
16:54 iggy nexsja^: it's documented in the cmd module iirc
16:54 iggy nexsja^: and stanza just means the part of the sls file in question (i.e. you'll generally have multiple stanzas per sls file)
16:57 wincus joined #salt
16:57 mikaelhm joined #salt
16:58 theologian joined #salt
16:58 mapu joined #salt
17:06 KennethWilke joined #salt
17:08 GumBall joined #salt
17:09 GumBall left #salt
17:11 mike25de hi guys... can  test.ping be used to track the status (alive) of salt minions.  what about running it via cron with salt '*' test.ping when i have 600+ minions... should that be a good idea?
17:12 Ryan_Lane joined #salt
17:12 hal58th mike25de, I have a somewhat better solution. one sec
17:12 mike25de hal58th: thanks buddy!
17:13 hal58th sudo salt-run manage.up will tell you who is connected. manage.down is to tell who is down. manage.status does both.
17:13 forrest joined #salt
17:13 mike25de ok hal58th i had no idea about that command. Thanks a LOT!
17:13 sieve joined #salt
17:14 hal58th This command is actually asking the master who is currently connected. http://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.manage.html
17:14 hal58th welcome mike25de
17:15 mike25de i haven't used runners before.. i have to check what they are :)
17:16 berserk joined #salt
17:16 iggy there are a lot of handy ones
17:16 hal58th good luck :) http://docs.saltstack.com/en/latest/ref/runners/
17:16 mike25de why do we need runners? can't modules do the same thing?
17:17 hal58th runners talk to master, rather then talking to minions
17:17 mike25de i know i am being stupid... but i just want to understand better the logic :) and differences.
17:17 iggy runners are usually for things that involve multiple hosts
17:17 mike25de ah hal58th got it
17:18 iggy i.e. the orchestrate runner, the manage runner checks for status of multiple minions, etc.
17:18 mike25de iggy:  thanks man
17:26 Hybrid2 joined #salt
17:26 intellix joined #salt
17:27 otter768 joined #salt
17:29 DoctorO joined #salt
17:30 nexsja^ joined #salt
17:31 jalaziz joined #salt
17:32 mike25de left #salt
17:47 sieve Can anyone tell me why I cannot do this: hostname: {{ grains['id'] }}
17:47 sieve in the pillar
17:48 cpowell joined #salt
17:48 iggy should be able to
17:50 ajw0100 joined #salt
17:54 funzo joined #salt
17:58 hal58th iggy, sieve, pillar is rendered on master, so then you can't render a minion grain in the pillar data.
17:58 sieve hal58th: ok, I guess this is what the mine is for then
18:00 CeBe joined #salt
18:00 hal58th you betcha if you need to know another minions id
18:01 baweaver joined #salt
18:01 bmac2 joined #salt
18:03 iggy well, that should still render, it'll just have the master's name
18:03 thayne joined #salt
18:04 hal58th_ joined #salt
18:05 paha joined #salt
18:06 prwilson_ joined #salt
18:06 timoguin joined #salt
18:06 wincus joined #salt
18:07 notnotpeter joined #salt
18:08 hal58th joined #salt
18:08 aphorise joined #salt
18:09 hal58th xit
18:10 ajw0100 joined #salt
18:13 zer0def joined #salt
18:15 aphoriser joined #salt
18:19 Aikar sieve, if it helps, heres how we set hostname: https://gist.github.com/aikar/73d787fdd6032bda1ff4
18:20 sieve Aikar: thanks. That is neat
18:20 sieve Aikar: I am trying to find away to reuse these hostnames in other configurations for the machines however
18:20 Aikar i had issues accessing grains like that too, but using a variable helped
18:20 Aikar so try setting variable like that
18:20 chupetito joined #salt
18:21 sieve Aikar: that is workable but I would like to use the variables in different state files
18:21 Aikar but wait... pillars wouldnt be calculated on the minion level
18:21 sieve Aikar: Indeed
18:21 Aikar gotcha, you can put that in your top.sls i think and its then global to all
18:22 sieve I think this is what you use the mine for. To get data from the minion and put it into the pillar
18:22 sieve However this feels somehow circular
18:22 baweaver joined #salt
18:23 Aikar mine would be for like IP's, which we have that working too, but for hostname try putting that first line in your top.sls and then it should work elsewhere
18:23 chupetito hi, is it possible to get a random value appended to a salt state ID. I know I can define this, but Im lazy since i have over 200 states that require unique ID. So for instance i want something like log_append_<RANDOM>: file.append: etc etc. I would like to get the <RANDOM> be fed a number or character. Any suggestions?
18:23 aphorise joined #salt
18:24 sieve Aikar: that is interesting
18:24 sieve I didnt think about using the top.sls for that
18:25 seanz Greetings all. What is the easiest way to include ad hoc pillar data in a state.sls command line call?
18:27 devweasel joined #salt
18:27 perfectsine joined #salt
18:30 dewdrop joined #salt
18:31 subsignal joined #salt
18:32 jalaziz joined #salt
18:33 murrdoc joined #salt
18:34 iggy sieve: try pasting what you're trying to do, maybe somebody will have a good idea of what to do
18:36 nexsja^ joined #salt
18:37 utahcon Is there a generally good Minions:WorkerThreads ratio?
18:37 hal58th joined #salt
18:37 utahcon 3:1 1:1 5:1 ?
18:39 I3olle joined #salt
18:40 baweaver joined #salt
18:43 hal58th joined #salt
18:44 mimianddaniel joined #salt
18:45 johanek joined #salt
18:47 welldannit joined #salt
18:47 hal58th joined #salt
18:49 welldannit hey, i was curious if anyone know about any limitations/issues when using salt with windows as well as the vsphere cloud module
18:50 mimianddaniel hey guys, do any of you guys do any tcp tuning on the masters ?
18:50 mimianddaniel or gals
18:52 elfixit joined #salt
18:54 manghoti joined #salt
18:58 manghoti I was wondering if someone could help clarify the difference between the pkg.install module described in sys.doc and the pkg.installed module that get's called in the tutorial. http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html
18:58 manghoti I am really confused about what is being described here :(
19:01 Deevolution manghoti: pkg.install is an execution module telling Salt to install a package (now).  pkg.installed is a state telling Salt to ensure a package is installed when the state is applied.
19:01 ajw0100 joined #salt
19:01 manghoti so sys.doc only shows documentation for execution modules?
19:01 murrdoc http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.aptpkg.html#salt.modules.aptpkg.install is what http://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkg.html calls
19:03 manghoti hmmm
19:05 manghoti thanks, that kind of clears up some confusion I had, murrdoc. Another one is the ID getting used in the behaviour of a state module.
19:06 manghoti so vim: pkg.installed installs vim, but mypkgs: pkg.installed: pkgs: - foo installs foo
19:06 murrdoc id: pkg.installed .. assumes name: id
19:06 murrdoc so
19:07 murrdoc vim:pkg.installed is teh same as vim-pkg-install:pkg.installed: name:vim
19:07 murrdoc id is implicit name: argument
19:07 manghoti or vim-pkg-install: pkg.installed: pkgs: -vim ?
19:08 murrdoc look up saltstack names parameter
19:08 murrdoc pkgs is same as names
19:09 manghoti I did not know about this equivelence, that clears up a bit of confusion for me.
19:10 skullone is anyone using Hiera as an external pillar source with success?
19:12 iggy utahcon: I think it's got more to do with the capabilities of the master than anything... if you've only got 2 cores in the master, having 60 threads waiting to do stuff isn't any better than having the minions not respond back until later
19:12 iggy mimianddaniel: aside from upping the number of open file handles, nope
19:13 jghazally joined #salt
19:14 iggy murrdoc: https://github.com/saltstack-formulas/salt-formula/pull/106 thoughts on the execution? (not necessarily the quality of the formula itself ;)
19:18 mimianddaniel iggy: hmm i am seeing tcpbacklog drops and listendrops on the masters while running against ~4000 minions
19:18 mimianddaniel do you account for all the rets when you run against that many minions ?
19:18 StDiluted joined #salt
19:19 iggy I couldn't imagine running that many minions
19:19 murrdoc iggy:  u are losing some capabilities here
19:19 murrdoc - - service: {{ salt.get('api-service', 'salt-master') }}
19:19 murrdoc + - service: {{ salt_settings.api_service }}
19:19 murrdoc arent the same
19:20 murrdoc + - service: {{ salt_settings.get('api-service', 'salt-master') }}
19:20 murrdoc u want to do that
19:20 murrdoc its using the python dict.get() function, where you can specify the key and the default if the key doesnt exist
19:21 iggy yeah, I noticed it... I wasn't sure if it was actually a problem though
19:21 Ahlee anybody remmeber comming across any issue on github with windows minions not updating pillars, even with refresh_pillar called?
19:21 mimianddaniel iggy: linkedin runs 16k minions per master :)
19:21 iggy api_service should be the correct thing by that point
19:21 murrdoc it should yeah
19:22 iggy mimianddaniel: I don't think that's per master
19:22 iggy but yeah, there aren't that many people doing that
19:22 mikaelhm joined #salt
19:22 iggy just because it's possible doesn't mean many of us have experience doing it
19:22 murrdoc not sure u need this "}, merge=salt['pillar.get']('salt:lookup')) %}"
19:23 Ahlee misleading, as linkedin also doesn't run states against their 16k (they actually said they have 20k on one of their masters)
19:23 iggy murrdoc: yes, it's on my TODO to ditch it, I just didn't want to change it yet
19:23 Ahlee minions:master is entirely dependent on what you're doing
19:23 murrdoc it conflicts with = salt['pillar.get']('salt'
19:23 murrdoc pick one
19:24 murrdoc again .. all mho
19:24 iggy conflicts or is just redundant?
19:24 murrdoc well conflicts as i see it
19:24 iggy I figured it was just redundant
19:24 murrdoc one merges salt:lookup with the os stuff
19:24 sdm24 joined #salt
19:24 murrdoc the other one merges just salt pillar key with default settings
19:25 thayne joined #salt
19:25 murrdoc so now u have potentially two places in the 'salt' pillar where u can put overrides
19:26 murrdoc so maybe remove from merge=salt['pillar.get']('salt:lookup')) and make salt['pillar.get']('salt' to be salt['pillar.get']('salt:lookup'?
19:26 iggy okay, but those (imo small) things aside, the overall concept match what we've all been talking about
19:26 murrdoc i dont know but i like this so much
19:26 murrdoc https://github.com/saltstack-formulas/salt-formula/pull/106#issuecomment-82554693
19:27 murrdoc haha :fire: is an emoji
19:27 murrdoc and yes i think the over all concept is spot on
19:27 iggy I talked to babilen earlier about the collectd stuff... was your only issue with that the fact that it had submodule_settings in every file instead of module_settings.submodule.key?
19:28 murrdoc yeah i dont think templates should be pulling in variables by explicit includes. the variable should be setup in the sls and passed to the template using - content: arg
19:29 iggy ahh, that was your issue
19:31 iggy so pass collectd_settings to the .conf files via - defaults/context, right?
19:32 denys joined #salt
19:32 sdm24 I have a similiar question. Can I use default/context to pass variables through to scripts?
19:32 sdm24 so I have a cmd.script state that runs a powershell script
19:32 iggy seems like that'd save some map.jinja processing too
19:33 sdm24 and in that script I ahve a {{ computername }} variable, and in the state file I have an import "name" variable command. Can I do - context: computername: {{ name }}?
19:33 murrdoc iggy:  yup thats why
19:33 DoctorO joined #salt
19:34 hal58th_ joined #salt
19:34 ndrei joined #salt
19:34 iggy sdm24: you could pass env vars, then read those env vars in the script
19:35 sdm24 and those would work the same as context?
19:35 iggy well, it wouldn't be {{ var }} in the file
19:35 hal58th_ joined #salt
19:35 sdm24 I was thinking alternatively, maybe having 2 states: 1 that is a file.managed for a template of the script, and the other being the state to run the script
19:35 iggy if it was a bash script, it'd just be like a normal env var
19:35 sdm24 It would be $var because its powershell?
19:36 iggy oh right, you said PS... I'd test it, but it should work
19:36 sdm24 ok thank you so much. I will keep you updated
19:36 ckao joined #salt
19:37 sdm24 and in the state file, it would just be " -env:  -compname: {{ name }} "?
19:38 MatthewsFace joined #salt
19:38 timoguin joined #salt
19:40 jimy_ joined #salt
19:41 tkharju joined #salt
19:42 jimy_ joined #salt
19:42 iggy sdm24: actually, if you look at the code, salt.states.cmd.script calls salt.modules.cmd.script which calls cp.get_template which calls a bunch of other stuff
19:43 iggy in any case, it looks like it passes kwargs all the way down, so you should probably be able to use context
19:43 sdm24 ok thank you
19:44 iggy but either way should probably work well depending on your needs
19:45 hal58th joined #salt
19:46 Andre-B joined #salt
19:46 baweaver joined #salt
19:50 murrdoc i should submit a pull to some of the formulas and request being added to the org
19:50 murrdoc put that on my resume
19:51 rojem joined #salt
19:54 baweaver jacksontj: Looks like it is the latest version, left a message with any relevant details. Let me know if you need anything else on it, I'll be back on in a little bit.
19:54 SheetiS joined #salt
20:03 nilptr joined #salt
20:06 OB_ joined #salt
20:07 smcquay joined #salt
20:08 timoguin joined #salt
20:09 baweaver joined #salt
20:12 sdm24 iggy: Thanks for your help. What ended up working is in my state file for cmd.script, I have {% from variables import name with context %} ...  -context: compname: {{ name }}. In the .ps1 script I have -Option {{ compname }} and it will be outputted as the value set in variables
20:15 XenophonF to all of the saltstack-formulas contributers out there: thank you
20:15 XenophonF omg ur the best
20:15 XenophonF srsly
20:16 younqcass joined #salt
20:17 ek6 joined #salt
20:17 diegows joined #salt
20:18 ekristen joined #salt
20:20 mamercad joined #salt
20:20 iggy sdm24: thanks for letting me know... code wise, it looked like it would work, but I didn't test it... good to know I'm not crazy ;)
20:22 nilptr joined #salt
20:22 loggyer joined #salt
20:22 notnotpeter joined #salt
20:24 sdm24 haha I wasn't sure if it would work either, but it makes sense at least
20:25 murrdoc i knew it would work
20:25 murrdoc it came from an ssce
20:28 Vynce joined #salt
20:29 Vynce is there a syntax for putting two grains in a -G command line, or do you just -C 'G@foo and G@bar' ?
20:29 murrdoc yes
20:29 ajw0100_ joined #salt
20:29 murrdoc :) , the latter will work
20:30 Vynce yea, i was pretty sure the latter was valid, i was wondering if there was a better practice.  OK.
20:31 racooper G@grain:value and G@grain2:value2 has always worked for me
20:33 iggy basepi: what am I not explaining well about the issue?
20:34 snaggleb joined #salt
20:34 basepi iggy: I still don't understand why salt would be writing those files. How/where are you seeing these writes?
20:34 basepi Salt does not lay down any files in that directory unless told to do so by a state.
20:34 basepi or module.
20:35 basepi minion.d/ is completely reserved for user config.
20:35 basepi So maybe we need to track down the source of these writes you're seeing, and move that configuration to the same file.recurse that's wiping them out.
20:36 basepi Because I can't imagine managing a minion.d/ folder without using clean: True. It's the only way to ensure my configuration takes precedence.
20:36 iggy I linked the location
20:37 iggy https://github.com/saltstack/salt/blob/26acc5c1d476284174ba988439a2cc08ce66dc61/salt/utils/schedule.py#L302
20:37 nilptr joined #salt
20:37 iggy "Persist the modified schedule into <<configdir>>/minion.d/_schedule.conf"
20:37 basepi Ah I missed your link
20:37 basepi Interesting...
20:37 basepi This is new, I think
20:37 iggy yes
20:37 basepi Probably Gareth's schedule code
20:37 iggy it was added by thatch (as I also said)
20:37 Gareth I did nothing.
20:37 snaggleb new question for the masses: does anyone have any experience managing tinyproxy? i've written a very simple 3 state id sls that installs tinyproxy, drops its config and ensures the service is running and i'm seeing strange things in the service.running part
20:38 iggy like... do people just not listen to me?
20:38 snaggleb the question re: tinyproxy is specific to ubuntu 14.04-LTS
20:38 basepi iggy: it was a *one word link* and I just missed it
20:38 murrdoc iggy:  its your face
20:38 iggy it's not just you
20:39 iggy but I did also mention later that I linked it in the original post
20:39 murrdoc :)
20:39 iggy I feel like I've been fighting people tooth and nail on a few issues lately
20:39 iggy and I just don't know if I'm doing a bad job of explaining things or if the problem is elsewhere
20:40 basepi iggy: I misread your post. I thought you were saying that it was something scheduled in the minion that was running a state or something
20:40 younqcass_ joined #salt
20:40 basepi I didn't realize you were talking about a link to core salt code that puts it down independently. I also was only half paying attention to that thread at the beginning, because I can't afford to care about salt-formulas right now. I have too much stuff as it is.
20:40 XenophonF do the pkg states automatically refresh the salt-minion?  like, if i install git or mysql, will subsequent states be able to use the git or mysql_* states?
20:41 XenophonF like, in the same highstate run
20:41 murrdoc only if u do require
20:41 iggy fwiw, I didn't ping you, I pinged thatch since he made the commit
20:41 theologian joined #salt
20:41 iggy I don't even use your name unless I really have to
20:41 brick joined #salt
20:42 iggy (just don't start highlighting base of pi)
20:42 basepi iggy: thatch almost never sees his pings
20:42 basepi He has so much e-mail
20:42 basepi It's mostly hopeless. I have to ping him directly on chat to get his attention when needed.
20:44 XenophonF murrdoc: thanks
20:44 murrdoc thatch seems like a mellow dude
20:44 murrdoc but he must be flooded by mail
20:46 relidy Can anyone tell me if there is a way to capture the return value from a runner and use it as a variable in a state?
20:46 iggy you're doing it wrong
20:46 relidy Probably :)
20:46 cberndt joined #salt
20:46 murrdoc relidy:  what are u trying to do
20:47 murrdoc not the problem u hvae run into (hehe run)
20:48 relidy murrdoc: I'm investigating possible ways to generate a random password and store the value in a file on the minion. That only needs to be run once, on install.
20:48 perfectsine joined #salt
20:48 amcorreia joined #salt
20:50 iggy stateless ext_pillar that just returns a random password every time it's called?
20:50 MasterNayru joined #salt
20:50 relidy I suspect password management is a "solved problem", but I haven't really seen anything that jumped out at me as a practical solution for things like setting a root MySQL password on install and tracking that value without it being hard coded in a pillar or some such.
20:51 murrdoc make it a grain ?
20:51 iggy nah, I think most people hard code it in a pillar
20:52 relidy Not sure that "most people" doing it means it's the best option :)
20:53 iggy I was just saying it's probably not as much of a "solved problem" as you think
20:53 relidy Indeed. Appreciate the ideas. Guess I have some more digging to do.
20:54 Ryan_Lane joined #salt
20:56 nexsja^ joined #salt
20:56 mlesyk joined #salt
20:57 nilptr joined #salt
20:59 hal58th_ joined #salt
21:04 GabLeRoux joined #salt
21:08 timoguin joined #salt
21:08 cwright i want to `extend` some pillar data in the same way states can be extended. i just learned the `extend` features isn't available for pillar
21:08 cwright what is the recommended way of approaching this?
21:11 iggy ext_pillar
21:11 iggy jinja includes
21:11 Ryan_Lane cwright: inclusion order
21:11 Ryan_Lane by default pillars will recursively merge
21:11 iggy figuring out a different way to do it
21:11 Ryan_Lane (for better or worse)
21:12 Ryan_Lane so, if you have a.sls and b.sls and include: [a,b] and have the same dict defined in both, b will extend a automatically
21:13 cwright Ryan_Lane: hmm ok, didn't know that. we use inclusion order to define per-region pillar variables that override globals that were loaded earlier
21:13 Ryan_Lane I don't know what the behavior is for lists that are defined in both
21:13 iggy "undefined"
21:13 iggy i.e. different in different versions
21:13 cwright i have a list of dicts and i'm trying to extend that list in per-region pillar files that are loaded after a globals file
21:13 Ryan_Lane yeah, I don't know what will happen for lists
21:14 cwright they get overwritten
21:14 Ryan_Lane I'd imagine one will overwrite
21:14 murrdoc actually now u have the option on how u merge the pillars
21:14 cwright we do this now
21:14 Ryan_Lane murrdoc: not for lists.
21:14 Ryan_Lane just for dicts
21:14 murrdoc ryan is correct
21:14 Ryan_Lane oh!
21:15 Ryan_Lane there's another way to handle this
21:15 cwright i'm all ears
21:15 Ryan_Lane of course, where the hell are the docs...
21:16 Ryan_Lane http://docs.saltstack.com/en/latest/ref/configuration/master.html#pillar-source-merging-strategy
21:16 nilptr joined #salt
21:16 murrdoc gawd ryan
21:16 murrdoc thats what i was saying
21:16 Ryan_Lane #!yamlex
21:16 cwright yea, i read about that
21:16 cwright so ugly
21:17 Ryan_Lane murrdoc: :D
21:17 Ryan_Lane murrdoc: well, it's hard to find the docs on that
21:17 murrdoc btw cwright if u want to do global  + regionals
21:17 murrdoc make it separate keys
21:17 Ryan_Lane murrdoc: well, the issue is that the system needs to know globally how it's going to merge
21:17 murrdoc pillar:global = list
21:17 murrdoc pillar:regional = []
21:17 Ryan_Lane #!yamlex lets you specify in the local file how the merging strategy works
21:17 murrdoc and let the regions define those
21:18 murrdoc yeah its nice
21:18 Ryan_Lane that should really be documented along with the pillar docs
21:18 kermit joined #salt
21:19 murrdoc its super new
21:19 Ryan_Lane yep
21:20 cwright yea, these work but neither are really as clean as I'd like.
21:20 Ryan_Lane I try my best to avoid ever merging keys
21:20 iggy ^
21:21 ndrei joined #salt
21:21 iggy you're going to be rewriting everything every release (I learned that the hard way)
21:21 Ryan_Lane it's confusing and makes the design more complex
21:22 nilptr joined #salt
21:22 cwright its just curious that the extend functionality is there for yaml states but not yaml pillar
21:23 murrdoc i dont even like extend for states
21:25 cwright thanks everyone, i'm going to approach this from a different angle
21:25 MasterNayru_ joined #salt
21:27 baweaver joined #salt
21:28 nilptr joined #salt
21:28 primechuck joined #salt
21:28 mikaelhm joined #salt
21:29 otter768 joined #salt
21:29 jbirdman joined #salt
21:31 joehoyle joined #salt
21:31 johanek joined #salt
21:32 \ask joined #salt
21:32 MasterNayru joined #salt
21:34 arif-ali joined #salt
21:36 SwimmingDolphin joined #salt
21:38 mosen joined #salt
21:44 Singularo joined #salt
21:45 joehoyle joined #salt
21:48 amcorreia joined #salt
21:50 giantlock joined #salt
21:53 Singularo joined #salt
21:53 FreeCandy joined #salt
21:53 FreeCandy joined #salt
21:54 FreeCandy joined #salt
21:54 FreeCandy joined #salt
21:54 FreeCandy joined #salt
21:55 mikaelhm joined #salt
21:57 nilptr joined #salt
21:58 forrest joined #salt
21:59 Hybrid2 joined #salt
21:59 CheeseBurga joined #salt
22:03 jab416171 joined #salt
22:03 Vynce1 joined #salt
22:05 kermit joined #salt
22:08 timoguin joined #salt
22:12 aquassaut joined #salt
22:14 jespada joined #salt
22:16 baweaver joined #salt
22:17 murrdoc joined #salt
22:24 bhosmer joined #salt
22:28 jespada joined #salt
22:28 babs joined #salt
22:29 babs Hi :)
22:36 cmcmacken joined #salt
22:36 babs it seems that the 2014.7.2 release of salt via debianpacke is affected by the gitfs bug :/
22:37 babs issue 20896 on GH ?
22:42 timoguin joined #salt
22:44 meylor joined #salt
22:45 I3olle_ joined #salt
22:47 iggy wtf is prime4commit
22:48 linjan joined #salt
22:49 nilptr joined #salt
22:57 nilptr joined #salt
22:58 timoguin iggy: it's a bitcoin-ish currency. people put in money for a project and it gets distributed to commiters. if they don't withdraw it then it goes back to the pot.
22:59 murrdoc joined #salt
22:59 iggy can I buy vodka with bitcoins? No? Then it's probably not for me
23:00 murrdoc :)
23:00 murrdoc forrest:  add me to the salt formulas org mang
23:00 murrdoc i got ideas
23:00 murrdoc and jokes
23:01 iggy you don't want that
23:01 iggy then you actually have to do stuff
23:01 murrdoc :)
23:02 forrest murrdoc: Only owners can do that, github's permissions friggin suck.
23:02 forrest murrdoc: ask whiteinge when he is around.
23:02 murrdoc ok
23:02 murrdoc thats cool
23:02 murrdoc }, merge=salt['pillar.get']('salt:lookup')) %} vs {% set salt_settings = salt['pillar.get']('salt'
23:03 forrest murrdoc: Are you questioning why that was changed?
23:03 murrdoc i was hoping iggy would pick one
23:03 murrdoc before he picked that
23:03 murrdoc its not consistent
23:04 iggy I already have some more changes to submit
23:04 murrdoc ok
23:04 * murrdoc shuts up
23:04 jespada joined #salt
23:04 forrest Yeah the salt formula is especially problematic
23:04 iggy I just have this bad habit of stacking them up so each branch is dependent on the last one
23:04 forrest because naming it normally like we do all the others overwrites shit we need.
23:04 murrdoc i like this style
23:04 iggy and I don't know how to _not_ do that
23:04 forrest iggy: merge all your branches locally :P
23:05 joehoyle is there anywhere I can see all the open issues for 2015.2? I'm temped to switch but what to have a read through what is currently broken
23:05 bbhoss Anyone ever see salt make a call to 112.116.47.108?
23:05 jbirdman joined #salt
23:05 iggy but I don't know how to get back to a clean slate to work on a separate branch
23:05 iggy <--- git n00b
23:05 bbhoss iggy: git reset --hard
23:05 iggy that doesn't work
23:06 iggy (at least it hasn't in the past)
23:06 bbhoss what's the error then?
23:06 joehoyle git stash if you want to be cautious
23:06 murrdoc keep a clean brnach
23:06 forrest that's because git reset is dumb all the time for no reason
23:06 murrdoc branch from it;do it; commit it up
23:06 murrdoc if upstream accpets it bring it into your clean branch
23:06 murrdoc so easy
23:06 bbhoss it's fine if you know what you're doing
23:06 iggy then I always end up with "merged from master" commits
23:07 murrdoc what you know about git merge —squash
23:07 iggy nothing
23:07 iggy and quit using those long dashes, you weirdo
23:07 smcquaid joined #salt
23:08 murrdoc sorry
23:08 murrdoc its - -
23:08 jimylongs i'm looking for ideas on how to enumerate users into a list in a state file
23:08 iggy are you IRCing with Word? what client converts -- to a long dash?
23:09 Ryan_Lane my client does that by default too. adium
23:09 MaliutaLap joined #salt
23:09 MaliutaLap left #salt
23:09 iggy that explains it... macs...
23:11 ShibMcNe hello, I am trying to use a require_in: sls:, but  when running a state.show_highstate, this require_in does not seem to affect the order of my states (the state containing the require_in runs with a highe order than the states contained in the targeted sls) any idea ? (I am running 2014.7.1)
23:11 iggy jimylongs: be more specific
23:12 iggy ShibMcNe: I'm not sure you can require_in on a full sls
23:13 ShibMcNe =[ I am trying to setup a "glue" state between two formulas
23:13 ShibMcNe there may be a better way to do this…
23:14 jimylongs i would like to create a sym link in all of the users home directories. .
23:14 jimylongs so i figured the easiest way would be to create a list with all the users in it
23:14 baweaver joined #salt
23:15 jimylongs then loop through it
23:15 KyleG joined #salt
23:15 KyleG joined #salt
23:15 iggy cmd.run I think
23:15 jimylongs something like {% set users = [ salt['cmd.run']( "
23:15 iggy I can't think of any modules that do anything like that
23:15 yomilk joined #salt
23:16 jimylongs yeah, I couldn't find any modules for it, or state modules
23:16 jimylongs it works find when i manually create the list
23:19 iggy "New in version Hellium" sounds like some metal band
23:20 iggy {% homedirs = salt['file.readdir']('/home')[2:] %}
23:20 iggy ?
23:20 iggy something like that maybe
23:22 jimylongs that's an idea, i'll see what i can do with it
23:24 baweaver_ joined #salt
23:26 mikaelhm joined #salt
23:26 baweaver_ joined #salt
23:32 murrdoc joined #salt
23:33 nilptr joined #salt
23:37 hasues joined #salt
23:37 hasues left #salt
23:39 nilptr joined #salt
23:42 CheeseBurga left #salt
23:45 bhosmer joined #salt
23:46 yomilk joined #salt
23:52 desposo joined #salt
23:53 yomilk joined #salt

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