Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-06-05

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

All times shown according to UTC.

Time Nick Message
00:01 ZombieFeynman joined #salt
00:03 kvbik joined #salt
00:05 alunduil joined #salt
00:05 shaggy_surfer joined #salt
00:05 ajprog_laptop joined #salt
00:06 ldlework apparently! :)
00:08 kvbik heya! i have finally upgraded to 2014.1.4 and i am hitting "AttributeError: 'module' object has no attribute 'get_group_list'" with `user.present`
00:09 kvbik like this guy> https://gist.github.com/oc/db8a564fb6eb6789e952
00:09 kvbik any workarounds?
00:12 ajolo_ joined #salt
00:13 DaveQB joined #salt
00:13 druonysuse joined #salt
00:13 Guest70784 joined #salt
00:19 JordanTesting Anyone know of any projects that are using salts zmq instance as their transport layer basically? I without realizing it have basically started writing an extended monitoring platform over salts zmq/minion setup - curious to see if there is anything similar (other than salt-api) that I could scavenge.
00:20 JordanTesting it's like reactor on crack, when alerts come in, it does a bunch of logic and tasks on the minions (outside of state related stuff)
00:23 whiteinge JordanTesting: https://github.com/felskrone/salt-eventsd
00:25 JordanTesting whiteinge: sweet, this looks def supplemental to what I am doing
00:25 whiteinge JordanTesting: i'd be interested to see what you come up with
00:26 whiteinge this particular space is ripe for additional tooling
00:26 whiteinge a monitoring platform would be killer
00:26 JordanTesting doing stuff where, for example, I have a vmware alert trigger for high cpu, and watchful (my project) collects/parses/spams the alert to irc, and uses salt to collect the top 5 processes on the vm throwing the alert, adds that to an autogenerated freshdesk ticket and spams the list to the room too
00:27 whiteinge very cool
00:27 whiteinge there seems to be a lot of community demand for that kind of trigger/action workflow
00:27 JordanTesting I am thinking about adding some functionality so in irc, authed users could interact, to say kill process #3 or restart service X, or do common fix Y etc
00:28 bcolfer joined #salt
00:28 whiteinge neat :)
00:28 whiteinge a community member made a jabber bot a while back
00:28 JordanTesting cool, I will have to look through eventsd, it looks like it could be handy for the reverse side of what I am doing
00:28 bcolfer I'm new to salt and working on how to use it to perform app deployments
00:29 whiteinge JordanTesting: https://hveem.no/salt-xmpp-gateway
00:29 bcolfer I think I need to write a module to perform the deployments  (recording to a redis db as it goes along)
00:30 bcolfer and write a returner to write the completion data and all of the actions on the minion that is part of the deployment
00:30 artificialexit joined #salt
00:30 bcolfer is this the correct way to think of using salt to do deployments?
00:30 JordanTesting whiteinge: neat, I wrapped a lesser known project asyncirc in a flask app, restful post enabled irc bot
00:30 JordanTesting (still baking so haven't even posted initial pub git yet)
00:31 xt JordanTesting: please announce when you got something :)
00:31 JordanTesting bcolfer: what kind of app? I would think you just use a state and a package and a package server and call it done?
00:31 whiteinge JordanTesting: neat. ping me when you do if you don't mind (and don't forget ;)
00:31 ldlework How do you salt-call state.sls a specific state that has spaces in its name?
00:31 bcolfer lets say I want to deploy a war file from jenkins
00:32 bcolfer using salt
00:32 ldlework foo."Who put spaces in the name" ?
00:32 ldlework maybe just quotes around the whole param
00:32 JordanTesting bcolfer: java is my cryptonite, haven't worked with it at all so I am of no use here.
00:32 bcolfer JordanTesting: if I want to deploy a war applicaiton via salt and report back its success failure and steps to a user system
00:32 whiteinge ldlework: i'm not 100% sure but i don't think salt's sls pathing works with spaces
00:33 Shenril joined #salt
00:33 ldlework whiteinge: then it shouldn't support naming states with spaces >:
00:33 bcolfer JordanTesting: simple operation ... stop tomcat, remove existing app, drop in the war file, restart tomcat
00:33 JordanTesting ldlework: I think that is more of a yaml thing, but everyone knows.... use underscores.
00:33 forrest this%20is%20bad%20formatting
00:33 bcolfer JordanTesting: but I want to record the success of each of these actions ...
00:34 whiteinge ldlework: not sure i follow. are you talking about an .sls filename or a state ID inside an .sls file?
00:34 jlund joined #salt
00:34 JordanTesting bcolfer: well there is this - http://docs.saltstack.com/en/latest/ref/states/all/salt.states.tomcat.html
00:34 JordanTesting which on success or fail, would return that to the salt master
00:35 ldlework whiteinge: the latter
00:35 JordanTesting and there is a redis returner and a mysql returner, either would work to collect the actions of that state
00:36 bcolfer JordanTesting: yes I know I can do that but I need to report back to Jenkins that the deployment ... I think I need my own module to record that the deployment started and that the operation to install the war file is a deploy asd
00:36 whiteinge ldlework: you can't execute an individual state ID with state.sls
00:36 ldlework what
00:36 whiteinge !modules.state.sls_id | ldlework
00:36 wm-bot4 ldlework: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#salt.modules.state.sls_id
00:37 ldlework whiteinge: good to know thanks
00:37 bcolfer JordanTesting: I'm looking at the Trebuchet project as an example https://github.com/trebuchet-deploy
00:39 bcolfer JordanTesting:  here he uses the module to do the deploy and records in redis that there is a deploy action then uses the returner data to detect that the module was a deployment module
00:39 davidnknight joined #salt
00:39 JordanTesting bcolfer: yeah, you are well beyond how I do my deployments - you will have to seek help from someone with more experience than I
00:39 jaycedars joined #salt
00:39 bcolfer JordanTesting:  and then write the deployment return details to redis
00:39 bcolfer JordanTesting:  OK thanks anyways
00:42 redondos joined #salt
00:43 agliodbs joined #salt
00:43 agliodbs can I use replace with files.recurse?
00:44 whiteinge bcolfer: i think you could do most/all of that by firing custom events from your deploy state
00:44 whiteinge custom events to mark that certain tasks have been started or completed, etc
00:46 bhosmer_ joined #salt
00:46 ipalreadytaken joined #salt
00:46 whiteinge !states.event.fire_master | bcolfer
00:46 wm-bot4 bcolfer: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.event.html#salt.states.event.fire_master
00:46 bcolfer whiteinge: Hmm how would I look up if the deployment was successful?
00:47 bcolfer whiteinge: based on jid?
00:47 whiteinge bcolfer: two possible ways: one would be to do it at the state-level and to have a custom event fire that "require"s all the states in the deployment
00:48 whiteinge bcolfer: another would be to listen for the event return for the JID (like you suggested) and inspect the return output from the state to make sure there were no failures
00:49 bcolfer Here is a bigger picture of what I'm trying to do ... Jenkins finishes the build and a task calls salt-api (logging in getting the session id) then calling the high.state with pillar data of the app and version to deploy
00:50 bcolfer whiteinge:  I was expecting to get back info about the minion actions (and normally I do) but there are times when the deployment is succesful but the master returns nothing.
00:51 bcolfer whiteinge: this is why I thought I need to use a custom deploy module and returner
00:52 whiteinge bcolfer: you're seeing the master return an empty dictionary via salt-api?
00:53 whiteinge bcolfer: also, is your jenkins server running a minion daemon?
00:54 bcolfer yes and yes
00:54 JordanTesting whiteinge: just finished reading the eventsd source - def looks interesting and related to what I am doing. Thanks for the link.
00:56 whiteinge bcolfer: the first issue is likely a timeout issue. the cmd() method in Salt's LocalClient() isn't too sophisticated and unfortunately that's what salt-api uses. you can specify a longer timeout value by passing a 'timeout' argument
00:57 whiteinge or you can start the highstate completely asyncronously to get the JID and then watch it for results
00:58 whiteinge bcolfer: when the deploy is successful are you notifying something in jenkins?
01:01 fragamus_ joined #salt
01:04 thayne joined #salt
01:13 mgw joined #salt
01:14 bcolfer joined #salt
01:14 bcolfer whiteinge: yes I want to report the stauts ... I will try the timeout setting
01:15 whiteinge bcolfer: does this whole process need to run syncronously inside a jenkin script or can you update jenkins after the fact?
01:15 gldnspud joined #salt
01:15 bcolfer whiteinge: it needs to run as a task within the build job it is part of the integration test
01:17 whiteinge i see. a large timeout value is probably the way to go then
01:17 bhosmer joined #salt
01:17 druonysuse I am using salt 2014.1.3 and trying to use the docker state module documented here: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.dockerio.html -- specifically docker.pulled and docker.running and I am getting this error: http://susepaste.org/view/raw/76795056
01:17 bcolfer whiteinge: is it asynchonous? I can have a program that calls the api gets the jid and loop with a jid lookup
01:18 druonysuse I can see the dockerio.py file on the minion in /usr/lib/python2.6/site-packages/salt/states
01:19 whiteinge bcolfer: the way you have it now is the simplest way to go. if using a large timeout value works, i'd suggest sticking with that
01:22 bcolfer whiteinge: I'll give it a trye
01:22 druonysuse is there some other reason why I would get this error other than dockerio.py not existing?
01:23 whiteinge druonysuse: do you have the dependencies for that module installed on the minion?
01:24 druonysuse whiteinge: I have docker installed
01:25 whiteinge druonysuse: look at the top of that module doc: "This state module requires"
01:25 whiteinge looks like it needs "docker-py" installed as well
01:25 druonysuse okay
01:25 druonysuse I am not sure if that is installed or not
01:25 druonysuse that might be it
01:25 druonysuse let me check
01:25 jaycedars joined #salt
01:26 druonysuse and there you go
01:26 druonysuse it looks like that is not installed
01:26 sroegner joined #salt
01:27 bcolfer whiteinge: Hmmm I run this command curl -sS "${api_url}/" -k -H 'Accept: application/x-yaml' -H "X-Auth-Token: ${session_id}" -d tgt="testserver1*" -d fun=state.highstate  -d timeout="60"
01:27 bcolfer whiteinge: I get a jid
01:28 bcolfer whiteinge: I then try to look up the job : curl -i "${api_url}/jobs/20140604211912908979" -k -H 'Accept: application/x-yaml' -H "X-Auth-Token: ${session_id}"
01:28 whiteinge bcolfer: looks like IRC may have truncated that first command. what "client" value are you using?
01:28 bcolfer whiteinge: and then get back:  return: - {}
01:29 bcolfer I didn't specify the client value ... I can use localclient
01:29 oz_akan_ joined #salt
01:30 bcolfer whiteinge:  I could use -d client="local" ... but is that the correct value?
01:30 jcsp joined #salt
01:30 whiteinge client="local" is correct but that shouldn't return a JID. client="local_async" will though
01:33 bcolfer curl -sS "${api_url}/" -k -H 'Accept: application/x-yaml' -H "X-Auth-Token: ${session_id}" -d tgt="test1*" -d fun=state.highstate  -d timeout="60" -d client='local_async' return: - jid: '20140604213244666502'   minions:   - test1
01:34 whiteinge change "local_async" to "local"
01:34 bcolfer whiteinge: then    curl "${api_url}/jobs/20140604213244666502" -k -H 'Accept: application/x-yaml' -H "X-Auth-Token: ${session_id}" return: - {}
01:35 bcolfer whiteinge:  OK  curl -sS "${api_url}/" -k -H 'Accept: application/x-yaml' -H "X-Auth-Token: ${session_id}" -d tgt="test1*" -d fun=state.highstate  -d timeout="60" -d client='local' return: - {}
01:35 whiteinge the reason /jobs/<jid> returns an empty dictionary is because the minions have not finished running the highstate and have not returned any data to the master yet. you'd basically have to keep fetching that URL until the return is non-empty
01:36 littleidea joined #salt
01:36 bhosmer joined #salt
01:36 bcolfer whiteinge: OK thanks
01:36 oz_akan_ joined #salt
01:37 whiteinge bcolfer: that timeout value in your last paste is correct. what version of salt are you running? (master & minion(s))
01:38 whiteinge the client="local" call is synchronous so (in theory) that curl call should block until the timeout is hit
01:38 bcolfer whiteinge:  if it doesn't respond in a reasonable time then I might suspect there is some problem with the minion then would a test.ping be the next step?
01:39 dstanek_zzz joined #salt
01:39 whiteinge bcolfer: putting all that into a jenkins integration test feels brittle to me. could you possibly separate the build/deploy/verify steps?
01:39 JPaul joined #salt
01:39 davidnknight joined #salt
01:41 bcolfer whiteinge: I might have a downstream job triggered to do the deployment ... but the basic idea is that build is not successful until it is deployed to an automated test server via salt
01:44 insatsu joined #salt
01:44 whiteinge jenkins can notify the salt master that a build is ready to be deployed (as you're doing now). is there a command or API call you can send to jenkins to update a build status?
01:44 bcolfer whiteinge:  not that I know of
01:44 whiteinge ok
01:45 dstanek_zzz joined #salt
01:45 whiteinge bcolfer: how long does your highstate normally take to run?
01:46 bcolfer whiteinge: on the job I launched a half hour ago I'm still getting emptiness:
01:46 bcolfer whiteinge: curl "${api_url}/jobs/20140604211912908979" -k -H 'Accept: application/x-yaml' -H "X-Auth-Token: ${session_id}" return: - {}
01:47 whiteinge is it still running?
01:47 bcolfer whiteinge:   the job takes normally less than  5 minutes
01:47 whiteinge !modules.saltutil.running | bcolfer
01:47 wm-bot4 bcolfer: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.saltutil.html#salt.modules.saltutil.running
01:49 oz_akan_ joined #salt
01:50 bcolfer whiteinge:  I ran sudo salt 'test1*' saltutil.running
01:51 bcolfer whiteinge:  when I ran with -v   sudo salt -v 'test1*' saltutil.running Executing job with jid 20140604215039892662 -------------------------------------------  test1:     Minion did not return
01:52 whiteinge did the minion not return or return an empty result?
01:52 whiteinge (is the minion ID in the output at all?)
01:53 bcolfer whiteinge: the did not return message from salt master
01:53 bcolfer whiteinge: and test.ping returns nothing ... switching to a different server
01:54 whiteinge ah, heh. that might explain things :)
01:56 bcolfer whiteinge: from the salt master sudo salt 'vdsalt2*' test.ping --output=json {     "vdsalt2.phx01.ebayadvertising.com": true }
01:59 bcolfer whiteinge: switching to json output gives me enough data to parse ...
02:00 bcolfer whiteinge: but if the minion is down then its down ... then I 'll need to just do a test.ping and other diagnostics .. thanks
02:01 whiteinge np
02:04 shaggy_surfer joined #salt
02:04 jaycedars joined #salt
02:07 mgw joined #salt
02:10 errr joined #salt
02:10 errr joined #salt
02:13 thayne joined #salt
02:20 mgw joined #salt
02:21 jslatts joined #salt
02:22 bcolfer whiteinge:  One more thing after doing some experiments ... with the jobs look up how do I know if all of the job has completed ... it seemed to just append more data to the jid info
02:23 travisfischer joined #salt
02:26 smcquay joined #salt
02:26 Comradephate joined #salt
02:27 catpigger joined #salt
02:33 yano joined #salt
02:35 anotherZero joined #salt
02:35 bhosmer joined #salt
02:37 mateoconfeugo joined #salt
02:40 davidnknight joined #salt
02:40 mateocon_ joined #salt
02:42 Comradephate joined #salt
02:42 ajw0100 joined #salt
02:48 mgw joined #salt
03:07 littleidea joined #salt
03:12 kermit joined #salt
03:13 jhulten joined #salt
03:14 catpiggest joined #salt
03:17 Ryan_Lane joined #salt
03:18 ml_1 joined #salt
03:27 sroegner joined #salt
03:34 alanpearce joined #salt
03:35 redondos joined #salt
03:35 redondos joined #salt
03:40 ecdhe joined #salt
03:41 davidnknight joined #salt
03:43 jcsp joined #salt
03:43 yufei joined #salt
03:48 stanchan joined #salt
03:52 torbock joined #salt
03:59 ckao joined #salt
04:16 Comradephate joined #salt
04:16 ZombieFeynman joined #salt
04:20 thayne joined #salt
04:23 bhosmer joined #salt
04:31 ipalreadytaken joined #salt
04:31 ajw0100 joined #salt
04:35 alanpearce joined #salt
04:41 ajolo_ joined #salt
04:42 davidnknight joined #salt
04:42 mosen joined #salt
04:43 jalaziz joined #salt
04:48 felskrone joined #salt
04:48 ramteid joined #salt
05:00 Furao joined #salt
05:02 ndrei joined #salt
05:08 mgw joined #salt
05:14 jcsp joined #salt
05:19 ipalreadytaken joined #salt
05:25 dccc joined #salt
05:25 schimmy joined #salt
05:28 sroegner joined #salt
05:29 schimmy1 joined #salt
05:36 jeffrey4l joined #salt
05:36 alanpearce joined #salt
05:37 oz_akan_ joined #salt
05:43 davidnknight joined #salt
05:48 redondos joined #salt
05:52 ndrei joined #salt
05:57 mafrosis joined #salt
05:58 mafrosis lo
06:00 mafrosis anyone know much about salt-cloud client_acl?
06:01 mafrosis our salt-master runs as root, and we access it using client_acl perms
06:01 mafrosis salt-cloud however will not play ball: “salt-cloud needs to run as the same user as salt-master, 'root', but was unable to switch credentials”
06:06 CaptTofu joined #salt
06:06 lyddonb joined #salt
06:07 q4brk_ joined #salt
06:08 simonmcc joined #salt
06:12 bhosmer joined #salt
06:17 mateoconfeugo joined #salt
06:25 jdmf joined #salt
06:31 jcsp joined #salt
06:34 picker joined #salt
06:37 manfred %cloud ALL=(ALL) /usr/bin/salt-cloud*
06:38 manfred sudo ftw
06:38 oz_akan_ joined #salt
06:43 davidnknight joined #salt
06:45 Nazzy joined #salt
06:47 ipalreadytaken joined #salt
06:48 Shenril joined #salt
06:52 scarcry joined #salt
06:53 kossy joined #salt
07:00 davidnknight joined #salt
07:02 linjan_ joined #salt
07:02 davidnknight_ joined #salt
07:03 scarcry joined #salt
07:03 malinoff joined #salt
07:03 jayfk joined #salt
07:04 mafrosis manfred: thanks dude - that’s the way I went immediately after posting here
07:04 mafrosis sudo ftw indeed
07:08 manfred :)
07:08 manfred sudo is the best
07:08 bdf joined #salt
07:08 bVector joined #salt
07:08 steveoliver joined #salt
07:13 faulkner joined #salt
07:17 alanpearce joined #salt
07:19 ml_1 joined #salt
07:27 slav0nic joined #salt
07:29 sroegner joined #salt
07:31 CeBe joined #salt
07:32 CeBe1 joined #salt
07:37 alanpearce joined #salt
07:38 oz_akan_ joined #salt
07:40 bernieke fyi, concerning my previous question about how to access the minion id in a template through salt-ssh, I found the problem, seems it's a bug in salt-ssh (https://github.com/saltstack/salt/issues/11650) the ticket has the workaround as well (use the template context as a wrapper for grains and pillar data)
07:40 sverrest joined #salt
07:41 ajw0100 joined #salt
07:42 skul joined #salt
07:48 chiui joined #salt
07:49 jeffrey4l joined #salt
07:49 Lomithrani joined #salt
07:50 aberdine joined #salt
07:58 xcbt joined #salt
07:58 aberdine joined #salt
08:01 bhosmer joined #salt
08:03 alanpearce joined #salt
08:14 toddnni_ joined #salt
08:18 thomaso joined #salt
08:24 toddnni joined #salt
08:35 jeffrey4l joined #salt
08:39 oz_akan_ joined #salt
08:41 kossy joined #salt
08:45 slav0nic joined #salt
08:45 slav0nic joined #salt
08:45 druonysus joined #salt
08:50 N-Mi joined #salt
08:50 N-Mi joined #salt
09:03 monokrome joined #salt
09:03 MrTango joined #salt
09:06 artificialexit joined #salt
09:11 druonysus joined #salt
09:11 druonysus joined #salt
09:12 guest_____ joined #salt
09:15 giantlock joined #salt
09:18 ahale joined #salt
09:24 ggoZ joined #salt
09:25 druonysus joined #salt
09:25 druonysus joined #salt
09:26 littleidea joined #salt
09:26 torbock joined #salt
09:28 Furao joined #salt
09:29 sroegner joined #salt
09:33 manlin joined #salt
09:36 AirOnSkin joined #salt
09:38 manlin hi, i run salt-master on an Ubuntu system. I installed halite with cherrypy using python pip. I got permissions and settting for halite in /etc/salt/master. But getting errors when restarting salt-master. My salt-version is 2014.1.4. Settings and errors http://pastebin.com/ZmB63XR8
09:39 manlin Any help appreciated
09:40 oz_akan_ joined #salt
09:42 viq manlin: first, no idea if this matters at all, but try adding a space after : in line 10
09:42 viq level:'debug'  -> level: 'debug'
09:47 pkimber joined #salt
09:48 pkimber joined #salt
09:49 q4brk joined #salt
09:49 manlin viq: you have got great eyes. it was the missing space in level:'debug'
09:49 manlin viq: now working perfectly.. thanks a lot
09:50 viq :)
09:50 bhosmer joined #salt
09:51 Guest48611 joined #salt
09:53 pkimber joined #salt
09:57 manlin left #salt
10:09 jakubek holla, any idea how to install pkgs over yum without access to internet but i don't want to install them from saltmaster filesystem using salt://rpms/file.rpm, i want use yum. any way to proxy connection over slatmaster or so?
10:11 viq You could proxy connections over a proxy ;)
10:12 viq I don't believe there's currently a way to do it how you want to... But it should be possible to create a local mirror for the packages you want
10:17 alanpearce joined #salt
10:18 vbabiy joined #salt
10:20 bhosmer joined #salt
10:21 CeBe1 joined #salt
10:21 orbit_darren joined #salt
10:24 cowyn joined #salt
10:28 manlin joined #salt
10:38 picker joined #salt
10:38 oz_akan_ joined #salt
10:43 mortis has anyone found a clever way to sort of ...automatically document their sls-files? like you would with docstrings in python
10:45 alanpearce joined #salt
10:49 viq Ugh, I think I'll have to rewrite the redis-formula
10:53 xmj So
10:53 xmj Salt-formulas/Bind again. https://dpaste.de/3Aek/raw
10:54 xmj Did anyone actually *test* this formula with 2014.1.0?
10:54 xmj or later?
10:54 thayne joined #salt
10:56 bhosmer joined #salt
10:58 picker joined #salt
11:06 malinoff joined #salt
11:09 TheThing joined #salt
11:09 Chrisje joined #salt
11:10 guest_____ joined #salt
11:12 TheThing I'm curious, is there a roadmap or timeline on when the next release will be out? I can't wait to get etcd support :)
11:13 viq I think I heard about a release candidate this month, but don't quote me on that
11:13 TheThing "[next] release candidate [will be] this month" - viq
11:13 TheThing :)
11:13 viq :P
11:14 viq That's a glaring misquote, I said _previous_, not next! ;P
11:14 TheThing hahaha, my bad
11:17 Furao an other kitten we rescue got a new family
11:17 linjan_ joined #salt
11:18 TheThing Congratulations
11:18 TheThing Does it know how to work with Salt? :)
11:18 TheThing If so, I might also be looking for a kitten
11:18 viq speaking of creatures, seem like my parrot(s) ruled it's time for a break ;)
11:20 druonysus joined #salt
11:20 druonysus joined #salt
11:20 viq TheThing: salt, some pepper, a sprinkle of oil... oh, wait :P
11:21 TheThing hehe
11:21 TheThing I'm trying to figure out if I should have Salt automatically update the nginx config on load balance on new server and how I should config that
11:22 Furao oups that last msg wasn't intended to be sent here :P
11:22 TheThing lol
11:22 TheThing we figured Furao :=
11:22 TheThing *:=
11:22 TheThing **:)
11:22 viq that's some bruised forehead ;P
11:23 viq As for the question, can't help you about the if, but I guess I have some ideas as to how
11:23 TheThing all I can think of (concerning how) is use jinga template for nginx and have it pull the hosts from, for example, etcd
11:24 viq TheThing: have you looked at mine and/or publish interface?
11:24 TheThing no, what's that?
11:24 segen joined #salt
11:25 hachaboob joined #salt
11:25 hachaboob moshi moshi
11:25 viq mine is a cache a master can keep of information about other hosts, say their IPs. publish allows one minion to run modules on other minions, eg asking them about their IPs
11:25 TheThing Ahh, I see
11:26 TheThing That's... actually kinda clever. Cause then, your nginx loadbalancer is actually handling all the actual load and logic and the saltmaster doesn't have to do anything
11:27 TheThing What about sending a notification a new "machine" is up? Do you have your minion regularly check for new "machines" or...
11:28 viq either you can do that, or you can play with the reactor system
11:28 viq Or overstate/orchestrate, or...
11:28 TheThing oh, didn't know about the reactor system
11:30 viq But to be on the safe side, I probably would set a grain on the web server once it's ready, and use mine or publish to get IPs of minions with that grain set, and run that state periodically
11:30 sroegner joined #salt
11:30 TheThing Yeah
11:31 TheThing I was kinda hoping to use etcd for that, so once the service has finally started, it will add itself to etcd
11:31 viq Because you don't want in your loadbalancer IPs of webservers that aren't ready to serve
11:31 viq mhmm
11:31 TheThing exactly, good point
11:31 viq but you could also add a grain
11:31 jeddi joined #salt
11:32 TheThing dynamically add grain once an sls has finished running (like say, set up a slave or something)
11:32 TheThing ?
11:34 TheThing That's not a bad idea. Would make the sls for the nginx a lot simpler as I'd just have to get all minions with specific grain and ask them for IP's
11:35 viq yeah
11:35 TheThing thanks for the tips viq o/
11:35 TheThing you've been very helpful
11:35 viq :)
11:36 TheThing I'm still gonna need etcd though, even if it's not for nginx load balancing, I need it for service discovery between modules
11:36 TheThing but you have given me some ideas on other things
11:37 viq service discovery between modules?
11:38 Furao use salt mine for service discovery
11:39 bhosmer_ joined #salt
11:39 oz_akan_ joined #salt
11:39 TheThing How would I query it from inside my app?
11:39 TheThing salt mine that is
11:40 jrdx joined #salt
11:41 viq http://docs.saltstack.com/en/latest/topics/mine/index.html could be of use?
11:41 viq How do you query it now?
11:42 TheThing The current idea was in the micro service architecture, use etcd to get list of available IP's for specific service and then randomly pick one to query it directly
11:44 viq I don't know enough about etcd to relate
11:45 viq Seems you can query salt for that info
11:47 segen left #salt
11:51 TheThing The only reason why I'm currently using etcd for that solution is it has simple API I can query in my application. Dunno how I'll query salt-master in my application
11:51 TheThing I'll read the docs more
11:51 TheThing anyways, thanks again viq o/ you can go back to doing whatever you were doing :)
11:52 viq Trying to beat redis-formula into some acceptable shape, basically I guess rewriting it :P
11:52 TheThing lol
11:52 viq So I can use it in my gitlab-formula, which needs quite a bit of work ^^'
11:53 TheThing is it a public repo on github?
11:53 viq hm?
11:54 TheThing Nothing
11:54 TheThing I'm tired, been coding all night
11:54 Lomithrani joined #salt
11:54 druonysus joined #salt
11:55 viq Just not sure what you mean, what you're asking?
11:55 viq Are you asking where the formulas are, or what gitlab is, or what?
11:59 to_json joined #salt
12:04 littleidea joined #salt
12:05 linjan_ joined #salt
12:09 happytux joined #salt
12:15 TheThing Yeah, I had a momentary lapse of not knowing what gitlab was
12:15 viq ah :P
12:22 zooz joined #salt
12:24 vejdmn joined #salt
12:25 ipmb joined #salt
12:29 Lomithrani joined #salt
12:30 alanpearce joined #salt
12:33 alanpearce joined #salt
12:40 oz_akan_ joined #salt
12:45 bhosmer joined #salt
12:51 mike25ro left #salt
12:53 Guest48611_ joined #salt
12:53 SAB joined #salt
12:54 SAB hello
12:54 SAB i am new here
12:54 TheThing Hello SAB
12:54 SAB i want to configure salt on my linux environment
12:54 SAB can you please help
12:55 SAB anyone please help ?
12:55 mik3 hi
12:55 TheThing Your question is too vague for us to be of much help, can you please be a little more specific? :)
12:56 SAB actually i want some documents from where can i get the steps to donwload and configure salt
12:56 mik3 SAB: www.saltstack.org
12:57 SAB thanks mik3
12:57 TheThing Try this SAB: http://docs.saltstack.com/en/latest/topics/tutorials/walkthrough.html
12:57 TheThing helped me a lot to get started
12:57 Guest48611_ joined #salt
12:57 SAB ok thanks TheThing
12:57 miqui joined #salt
12:58 TheThing No problem
13:01 ccase joined #salt
13:07 bhosmer_ joined #salt
13:07 jergerber joined #salt
13:09 Stephan_ joined #salt
13:10 yetAnotherZero joined #salt
13:10 yetAnotherZero joined #salt
13:11 oz_akan_ joined #salt
13:12 littleidea joined #salt
13:16 Stephan_ Hi all
13:16 Stephan_ I would like to know if it is possible to create a schedule task in windows via salt
13:17 egon1024 joined #salt
13:18 egon1024 What's the word on Python 3 support in Salt?  I'm trying to get my company interested in looking at Salt, but our code base is 75% + on Python 3.
13:20 packeteer joined #salt
13:25 djinni` joined #salt
13:27 bitadmin joined #salt
13:27 agronholm egon1024: hats off to your company for that
13:27 druonysus joined #salt
13:29 malinoff joined #salt
13:29 bitadmin joined #salt
13:29 ZombieFeynman joined #salt
13:29 egon1024 Thanks - it's being driven by developers (largely, myself *grin*)
13:30 agronholm that said, from what I've seen, salt is well made code
13:30 manfred egon1024: you can deploy python3 code all you want
13:31 agronholm so shouldn't be too hard to port to py3
13:31 manfred egon1024: salt needs to get rid of the dependency on M2Crypto, that is the last thing holding up python3 support
13:31 agronholm manfred: I'm assuming he wants to write states and other extensions for it
13:31 egon1024 manfred: But can we run Salt itself on Python 3?
13:31 sroegner joined #salt
13:31 manfred no
13:31 manfred because of m2crypto
13:31 egon1024 Ah - ok.
13:31 agronholm what will it use in its stead? cryptography?
13:31 manfred egon1024: so zmq needs to update and allow encryption with keys
13:31 manfred or raet needs to stablize and be the default
13:32 agronholm will you be using zmq's built in elliptic curve crypto?
13:32 manfred agronholm: no
13:32 manfred there is another thing that needs to be added
13:32 racooper joined #salt
13:32 manfred the ability to use keys
13:32 agronholm what crypto library will you be switching to?
13:33 manfred no idea
13:33 agronholm well, you should look at cryptography
13:33 manfred ¯\(°_o)/¯
13:33 agronholm they made a presentation on it at last pycon
13:33 manfred agronholm: https://github.com/saltstack/salt/issues/7413
13:33 agronholm https://pypi.python.org/pypi/cryptography/0.4
13:33 manfred it was already mentioned there
13:33 mschiff any ETA when Helium will be released?
13:34 manfred Later this year we may work on moving to cryptography for 0MQ transport, we'll see how RAET is received. cryptography shows a lot of promise, but it's only 9 months old and has been under rapid development. I think we looked at using it for RAET and it just wan't there yet.
13:34 sdebot joined #salt
13:34 manfred mschiff: rc1 is supposed to be about the 18th
13:34 mschiff manfred: great to hear its soonish, thx!
13:34 egon1024 Cool - thanks for the info.  I'll probably just have to check back in in a couple months.
13:35 egon1024 left #salt
13:35 malinoff agronholm, the problem is that cryptography is not very useful yet - they have implemented too little, and also they have not covered some areas - like ECC
13:35 agronholm I see
13:36 jaycedars joined #salt
13:37 malinoff also, I don't like that approach - "cryptography for everyone" with Fernet as the first step. Cryptography is too complex and important, to be used by non-cryptographers
13:39 malinoff Even if you present a class that uses the most secured algorithms, a common user will store the symmetric key with 777 permissions, or opened to the world via apache/nginx/whatever
13:39 TheThing lol
13:40 malinoff That's sad, actually. I saw such examples
13:40 gnomechompski joined #salt
13:42 malinoff It is true that python needs a crypto library with adequate API, though. Once I got python interpreter crash with segfault using pycrypto
13:42 malinoff goddamn segfault
13:43 masterkorp Hello everyone
13:44 masterkorp Any salt formulas for openvpn besides that one in the github organization »
13:45 ajprog_laptop joined #salt
13:45 TheThing masterkorp: Anything specific you're looking for?
13:45 ZombieFe_ joined #salt
13:45 masterkorp not really just setting the vpn and generating keys by salt
13:45 masterkorp for each minion would be a start
13:45 masterkorp then one per user
13:46 TheThing well, generating new key for each minion is not that hard, just create a state file with path to the key, with contents being generated from some randomly generated key program or something
13:47 TheThing sorry I can't provide examples :b
13:47 masterkorp heh, thank you for input
13:48 happytux joined #salt
13:49 masterkorp https://github.com/jesusaurus/salt-formula-openvpn
13:49 masterkorp this seems like a decent base to work from
13:51 viq TheThing: the "with contents" part is unfortunately unobvious
13:51 TheThing yeah
13:51 TheThing well, instead of having it - managed with contents based on some master file
13:52 TheThing what I meant was to use...
13:52 TheThing actually, I should shut up
13:52 TheThing gonna head to bed soon o/
13:52 viq http://garthwaite.org/virtually-secure-with-openvpn-pillars-and-salt.html is the most interesting thing I've seen so far regarding that
13:56 TheThing That is pretty awesome setup. I'll leave you guys alone now
13:56 TheThing o/
13:56 viq cya, sleep well
13:59 jaimed joined #salt
14:00 manlin joined #salt
14:04 sroegner joined #salt
14:05 AdamSewell joined #salt
14:05 AdamSewell joined #salt
14:15 Nazzy_ joined #salt
14:16 tyler-baker joined #salt
14:16 druonysus joined #salt
14:17 jayfk joined #salt
14:20 diegows joined #salt
14:22 vejdmn joined #salt
14:24 MrTango joined #salt
14:25 MTecknology rm -f *   "bash: /bin/rm: Argument list too long" <-- wow
14:25 Ahlee MTecknology: heh, the cache directory?
14:26 MTecknology nope, samba logs
14:26 AirOnSkin joined #salt
14:27 MTecknology at least this is linux and I know about other utilities :D
14:27 ZombieFeynman joined #salt
14:29 worstadm1n salt-module-tcplisten
14:29 worstadm1n [root@salt _modules]# pwd
14:29 worstadm1n /srv/salt/_modules
14:30 worstadm1n I've created a module inside _modules called tcplisten/tcplisten.py with a function called s()
14:30 worstadm1n How can I utilize this from a salt state?
14:33 ramteid joined #salt
14:40 quickdry21 joined #salt
14:41 ghartz joined #salt
14:45 * viq grumbles at having to redo the redis formula
14:47 thedodd joined #salt
14:49 doddstack joined #salt
14:50 tyler-baker joined #salt
14:50 masterkorp lol
14:50 masterkorp cool i will use it later viq :)
14:50 worstadm1n Got it - looks like the .py has to be in the top-level of _modules
14:50 worstadm1n I guess that means I have to git init my whole _modules directory
14:51 oz_akan_ joined #salt
14:52 alunduil joined #salt
14:52 viq arrrggh
14:53 viq Have to dig into the config files too, and I am reluctant to make it lose functionality... Which means a lot of work ahead of me, as I need to rewrite those as well, and support getting values from pillars, and provide some defaults if those are not provided, and....
14:53 nvmme joined #salt
14:54 viq Instead of a literally 10 lines state that I had so far, which all it did was install, enable and start redis
14:54 masterkorp totally offtopic
14:55 viq masterkorp: ah, so you volunteer to do the configs while I do the rest? ;P
14:55 masterkorp possibily
14:55 masterkorp we could colaborate
14:56 masterkorp totally offtopic do you guys know any alternatives to pagerduty on Europe ?
14:56 viq Doesn't pagerduty work for europe as well?
14:57 jcsp joined #salt
14:57 ahale you get crazy high SMS bills in Europe
14:57 masterkorp yeah
14:57 viq oh, I see
14:57 masterkorp and calls
14:57 masterkorp i don't awnswer the calls
14:57 ahale yeah and that, it kinda sucks
14:58 sroegner joined #salt
14:58 viq maybe http://www.circonus.com/ does?
15:00 viq pingdom doesn't specify where are the SMS to be to
15:01 analogbyte joined #salt
15:01 ZombieFe_ joined #salt
15:02 viq http://www.opsgenie.com/pricing/details
15:03 viq masterkorp: this may be a good question for ##infra-talk
15:04 ajw0100 joined #salt
15:05 kaptk2 joined #salt
15:06 kula OpenSSL is making me very happy I have salt....
15:08 jslatts joined #salt
15:08 viq hehe
15:09 cedwards joined #salt
15:10 pdayton joined #salt
15:10 nvmme joined #salt
15:11 dan_johnsin joined #salt
15:11 zain joined #salt
15:15 worstadm1n How can I utilize this from a salt state?clear
15:15 worstadm1n ls
15:15 worstadm1n ....
15:15 worstadm1n woops
15:20 ajolo joined #salt
15:20 pdayton joined #salt
15:23 ndrei joined #salt
15:23 ZombieFeynman joined #salt
15:24 jaycedars joined #salt
15:24 ajw0100 joined #salt
15:25 scott_w joined #salt
15:28 _ale_ joined #salt
15:29 alanpearce joined #salt
15:31 cliffstah hey folks, sorry to bother you again, but I'm still unclear on how I might use a single master to provision three separate groups of virtual machines
15:31 cliffstah would it be easier if I threw together a quick gist to illustrate my architecture and requirement?
15:33 cliffstah I was informed it's possible to do, but I just can't figure out how.  Essentially I want to have 3 separate Git repositories, one for each group - and to be able to manage the minions for these three groups separately, but using one master.
15:34 viq cliffstah: I think environments should solve that
15:34 cliffstah hm, this is what I suggested, but I was told that environments aren't necessary
15:35 cliffstah forrest, I think his name was
15:35 viq He probably knows better than me ;)
15:36 cliffstah according to the documentation, the git backend translates environments to branches and tags
15:36 cliffstah rather than separate repositories
15:39 cliffstah this headache is gradually pushing me back to ansible
15:39 fragamus_ joined #salt
15:41 jimklo joined #salt
15:42 millz0r joined #salt
15:44 jalbretsen joined #salt
15:44 jcristau joined #salt
15:45 kballou joined #salt
15:45 ZombieFe_ joined #salt
15:48 GradysGhost joined #salt
15:51 che-arne joined #salt
15:55 ajw0100 joined #salt
15:56 cliffstah ok, enough is enough - productivity is at an all time low and I need to get on, thanks for the help guys, but it's back to Ansible for me
15:56 alekibango joined #salt
15:56 cliffstah left #salt
15:56 obimod joined #salt
15:56 obimod hey all
15:59 mateoconfeugo joined #salt
16:02 alanpearce joined #salt
16:03 taterbase joined #salt
16:05 ipalreadytaken joined #salt
16:06 dude051 joined #salt
16:07 tmwsiy joined #salt
16:08 scoates joined #salt
16:08 davidnknight__ joined #salt
16:08 sroegner anyone here using salt-cloud with ec2?
16:08 jcockhren o/
16:09 jcockhren but the 0.17.5 version
16:09 xcbt joined #salt
16:09 CeBe1 joined #salt
16:10 sroegner jcockhren: you mount instance storage on create?
16:10 tmwsiy hi guys trying to get my head wrapped around running salt-minion on macs in a university computer lab setting. Using Mavericks and I have a LaunchDeamon that starts salt-minion on boot (running as root). All the machines seem to work except one. here is pastebin. http://pastebin.com/dNZV1qgw any ideas?
16:11 tmwsiy I am not a mac guru at all and find it curious that the root home directory (/var/root) is not writeable by the owner
16:11 jcockhren sroegner: nope. I'm not even that advanced with my usage. Just spinning up micro and small instances here and there
16:11 jcockhren sorry
16:11 gnomechompski left #salt
16:11 sroegner :-)
16:11 sroegner good for you
16:11 tmwsiy by default, lol lot of mac weridness I am coming into here :)
16:12 mgw joined #salt
16:13 jcockhren sroegner: by 'instance storage' you mean ebs?
16:14 sroegner jcockhren: no - i mean the ephemeral devices that come with the instance
16:14 tligda joined #salt
16:14 jcockhren sroegner: ah. well no. you don't have to mount manually
16:14 bemehow joined #salt
16:14 jcockhren b/c it comes with the instance
16:15 jcockhren :)
16:15 redondos joined #salt
16:16 redondos joined #salt
16:16 sroegner jcockhren: well, you have to do _something_ - otherwise all you get are block devices
16:18 jcockhren sroegner: really? never needed to do anything other than setup my profile for salt-cloud
16:19 druonysuse joined #salt
16:19 druonysuse joined #salt
16:19 jcockhren I totally, could not be getting what you're saying.
16:19 tmwsiy can anyone suggest a support avenue for a mac user coming from a linux background can get some OSX/BSD-type questions answered
16:20 bemehow_ joined #salt
16:21 jcockhren sroegner: yep. just peeked. I just set the image ami, the size and the highstate start action
16:21 KyleG joined #salt
16:21 KyleG joined #salt
16:21 jcockhren I use the older salt-cloud, so that may be the difference
16:22 joehillen joined #salt
16:22 sroegner jcockhren: micros have no instance storage i think - on small you should see an extra drive worth 160GB
16:22 forrest joined #salt
16:25 viq tmwsiy: depends what kinds of questions, but for sysadminy stuff ##infra-talk is good, or specific BSD channels for example
16:27 jcockhren sroegner: sorry. I'm just no help today
16:27 sroegner jcockhren: :-) np
16:28 conan_the_destro joined #salt
16:28 shaggy_surfer joined #salt
16:29 tmwsiy viq: thanks
16:30 troyready joined #salt
16:33 thedodd joined #salt
16:37 Gareth morning morning
16:37 forrest hey Gareth, how goes the on-call
16:38 goodwill on call?
16:38 agliodbs all of my minions changed fqdns and minion_ids because of a change in company dns policy.  I accepted the new minion keys, and changed top.sls and overstate.sls to match the new minion_ids, but salt still blows up when I try to run the highstate or the overstate.  Basically it doesn't seem to recognize that top.sls has changed, even though I've restarted salt-master several times.  Ideas?
16:41 Ryan_Lane joined #salt
16:42 jrdx joined #salt
16:44 ZombieFeynman joined #salt
16:44 Gareth forrest: so far quiet.  *knocks on wood*
16:45 Gareth goodwill: yeah. being the one who gets called if there are problems.
16:47 KennethWilke joined #salt
16:48 stanchan joined #salt
16:48 forrest hah
16:49 forrest agliodbs, did you blow away the cache?
16:49 agliodbs forrest: how do I do that?
16:50 forrest rm -rf /var/cache/salt
16:50 forrest might want to back it up first just in case
16:51 travisfischer joined #salt
16:58 bhosmer_ joined #salt
17:00 bhosmer joined #salt
17:00 jhulten joined #salt
17:02 schimmy joined #salt
17:04 kmshultz joined #salt
17:04 coonce joined #salt
17:05 baniir joined #salt
17:05 schimmy1 joined #salt
17:06 coonce @Ryan_Lane thx for the update here: https://github.com/saltstack/salt/issues/6660#issuecomment-45246067
17:07 kmshultz can any of the salt devs comment on any progress towards this? https://github.com/saltstack/salt/issues/3991
17:08 kmshultz I think I asked a few weeks ago in here, but got distracted and missed any response
17:09 DammitJim joined #salt
17:09 coonce @Ryan_Lane as a follow up, if i have a `master.conf` like this: https://gist.github.com/cooncesean/67df52242dd481017eec, salt *should* be able to install the formula from the remote repo, correct?
17:09 mgw joined #salt
17:10 DammitJim I am looking to use saltstack, but I don't understand how I would set up my Red Hat server to install say jboss
17:10 DammitJim jboss is normally a zip file of some sort and then one decompresses it and runs a command to install it. Finally one has to configure it and start the service
17:11 bhosmer joined #salt
17:11 bhosmer_ joined #salt
17:11 DammitJim where do I do that configuration in a package?
17:13 forrest DammitJim, do you mean where do you do that configuration with salt?
17:13 DammitJim yeah
17:13 forrest let me gist something hang on
17:13 DammitJim I've been reading tutorials and watching videos on youtube, but I guess I am not understanding the process
17:13 DammitJim I also looked at the wiki
17:14 DammitJim or at least point me to what document I should read for something like this
17:14 forrest well, you'd be using http://docs.saltstack.com/en/latest/ref/states/all/salt.states.archive.html to unzip it
17:15 forrest I assume the command either doesn't take settings, or allows you to pass a value?
17:15 Ryan_Lane coonce: if you have the dependencies installed, yes
17:15 Ryan_Lane you need python-git and it needs to be the right version, which I think is now in the PPA
17:16 coonce new to this ... thx for so much for the help :)
17:16 Ryan_Lane yw
17:18 forrest DammitJim, https://gist.github.com/gravyboat/9b23f81128f00530e711
17:18 DammitJim thank you!
17:18 DammitJim you guys are awesome
17:18 forrest that's a very terse example of what it might look like
17:18 DammitJim I need to digest this... sometimes I try to get into the setup instead of taking a step back and understand what I am doing
17:18 forrest but does it help clarify the process you might go through (from what you described at least)
17:19 shaggy_surfer joined #salt
17:19 forrest DammitJim, Just think of it in regards to what steps you need to complete, and what order those steps need to happen in, then perform those steps using the salt states
17:19 forrest if you think it through just one step at a time, instead of the whole process at once it's much easier
17:19 DammitJim does your example pull the file automatically from the master?
17:20 forrest the zip file?
17:20 forrest my source was using an http source as an example, but you could easily use salt://jboss/files/jboss.zip
17:20 forrest it uses the same thing as file.managed which I used further down in the example
17:21 kermit joined #salt
17:22 agliodbs so, I've blown away the caches, I've restarted everything including the minions, and I'm still getting "No Top file or external nodes data matches found"
17:22 DammitJim oh ok... so it is like an onion... need to peel it
17:22 forrest agliodbs, ok so can you run state.sls?
17:23 agliodbs forrest: yah.  what am I looking for?
17:26 agliodbs forrest: fwiw, test.ping works fine
17:28 scoates_ joined #salt
17:30 scoates joined #salt
17:30 agliodbs forrest: the specific issue I'm getting is "No Top file or external nodes data matches found"
17:33 Ryan_Lane1 joined #salt
17:33 forrest agliodbs, seems like your top file is screwed up then
17:33 jaycedar_ joined #salt
17:34 agliodbs forrest: is there anny way I can get salt to tell me specifically what's wrong with the top file?  it's identical to the file I had before, with the old minion_ids, only I changed the name strings
17:34 forrest agliodbs, well, you could start with a salt 'target' state.show_highstate, and show_lowstate
17:34 forrest see what happens with those
17:34 agliodbs ok
17:35 oz_akan_ joined #salt
17:35 forrest but are you sure there weren't any role changes or something? It seems like it just isn't matching correctly. You might also add a new entry to your top that SPECIFICALLY targets that system to see if that works
17:37 agliodbs forrest: I get the servername back, but nothing under i
17:37 agliodbs it
17:37 forrest ok, so something isn't matching properly. Try adding the server directly into the top file
17:38 agliodbs ok
17:40 jaycedars joined #salt
17:40 agliodbs forrest: still not matching.
17:41 forrest agliodbs, can you try to clear the cache data on the minion, if that still doesn't work, can you then try to restart both the master and that minion in debug mode and see what else they provide?
17:43 agliodbs forrest: I already cleared the cache data once, but I can try it again ...
17:43 jdmf joined #salt
17:43 forrest you cleared the cache data on the master right?
17:43 forrest what about the minion?
17:43 agliodbs forrest: yeah, tried that for the minion I'm hitting
17:44 forrest ahh ok, if you cleared both caches then, I'd say restart both master and minion in debug and see if that provides any more details
17:44 forrest you already ran the highstate with -l debug and didn't find anything right?
17:46 agliodbs is this significant?  Missing configuration file: /root/.salt
17:46 forrest no
17:47 agliodbs nothing then.  FWIW, I happen to know that there's bugs in one of the pillars, and those aren't showing up either, which says to me that the pillars aren't even being read
17:47 ml_1 joined #salt
17:48 forrest agliodbs, hmm, how many states are trying to be run when you run the top file for that system?
17:48 np_ joined #salt
17:49 nvmme joined #salt
17:49 np_ Hello, I was wondering if I could get some help with salt.modules.win_system.join_domain
17:49 np_ ?
17:49 agliodbs I'm not sure what I'm counting.  there's 4 states for '*' and 9 more states for this server
17:50 np_ I'm getting this error    The minion function caused an exception: Traceback (most recent call last):       File "salt/minion.py", line 793, in _thread_return       File "salt/modules/win_system.py", line 261, in join_domain     IndexError: tuple index out of range
17:50 forrest agliodbs, ok, so can you remove or comment out the 4 states for star, as well as all the ones for that server, then just put in a single state?
17:50 agliodbs sure
17:51 agliodbs any specific state?
17:52 np_ and this is how the command is formatted: salt minionID system.join_domain domain='companyname.com' username='username@companyname.com' passwd='mypassword' ou='ou=Americas,ou=Computers,dc=domain,dc=com' acct_exists='False'
17:52 forrest agliodbs, one you know works
17:52 agliodbs forrest: sure
17:52 agliodbs same error
17:52 agliodbs it's kind of like it's not even finding the top file
17:53 agliodbs forrest: it's not finding it.  I just added a state which doesn't actually exist, and didn't get an error
17:53 forrest awesome
17:53 forrest yea I don't know then
17:54 forrest you might try posting on the mailing list
17:54 forrest might get a better response, I'd also put the master and minion into debug mode
17:54 forrest that might help
17:55 schmutz joined #salt
17:55 agliodbs ok, thanks for your help
17:55 forrest yea np, sorry I couldn't be of more assistance :\
17:57 mrud joined #salt
17:58 mrud left #salt
17:59 mikemar10 joined #salt
18:02 nkuttler hrmmmm.. is there something built-in to reverse a state? like, remove all managed files?
18:02 ramteid joined #salt
18:03 nkuttler ok, there's a ticket
18:04 nvmme joined #salt
18:05 forrest nkuttler, there was functionality added for that for files https://github.com/saltstack/salt/pull/6376
18:05 forrest but to uninstall software and stuff, nope
18:07 nkuttler forrest: nice, thanks. i only need files right now anyway :)
18:08 aw110f joined #salt
18:10 tedski interesting that the file module doesn't have file.move
18:10 nkuttler tedski: rename
18:10 tedski herpderp
18:10 aw110f is there a preference whether to use {% import file.sls with context %} or use salt include http://docs.saltstack.com/en/latest/ref/states/include.html
18:10 tedski thanks, nkuttler
18:11 nkuttler aw110f: it depends on what you want to do
18:12 nkuttler aw110f: you probably want to use salt's include when you can though
18:12 masterkorp Is anyone using kitchen-salt ?
18:13 aw110f i want to have a global sls file where i logically define some variables based on custom grains or pillars and share these variables with other formulas
18:13 masterkorp If so, how do you mock pillar data ?
18:14 nkuttler aw110f: hm. can't you define those vars in the pillars?
18:14 forrest nkuttler, cool, I think that has to be enabled in some sense
18:14 forrest I can't remember
18:14 jrdx joined #salt
18:15 nkuttler forrest: yeah, looks like it
18:16 ndrei joined #salt
18:18 vejdmn joined #salt
18:18 AdamSewell joined #salt
18:19 quickdry21 joined #salt
18:22 tdegrunt joined #salt
18:22 kvbik joined #salt
18:23 littleidea joined #salt
18:23 seanz joined #salt
18:23 seanz Could someone point me to the documentation about writing a "stateful" script to use in a salt state?
18:24 seanz I think I may have found it.
18:24 seanz Yes, thanks, and never mind.
18:26 masterkorp hmm, can i have a condition inside a state ?
18:26 masterkorp like if a pillar have does not exist use this
18:28 kula I do plenty of stuff where I do salt['pillar.get']('somekey', False) or ('somekey', []) and handle the default cases appropriately.
18:29 kula or whatever the appropriate way of calling pillar.get is. it's been a long day.
18:31 nkuttler masterkorp: sure, jinja can do that
18:31 manfred masterkorp: {% if salt['pillar.get']('this:that', None) == None %}
18:32 seblu joined #salt
18:32 nkuttler masterkorp: or {% if pillar.get('key', default) %} etc
18:33 masterkorp i am using something like {{ salt['pillar.get']('openvpn:ip:net') or "10.8.0.0" }}
18:33 masterkorp its cleaner inside this template i guess
18:34 happytux_ joined #salt
18:34 happytux joined #salt
18:34 manfred why the or?
18:34 toddejohnson joined #salt
18:34 manfred the pillar.get has the option to set your default
18:34 scoates left #salt
18:35 manfred {{ salt['pillar.get']('openvpn:ip:net', "10.8.0.0") }}
18:35 oz_akan_ joined #salt
18:38 oz_akan__ joined #salt
18:43 jalaziz joined #salt
18:43 KyleG1 joined #salt
18:44 mgw joined #salt
18:44 ndrei joined #salt
18:45 KyleG joined #salt
18:45 KyleG joined #salt
18:51 thedodd joined #salt
18:56 BrendanGilmore joined #salt
18:56 jdmf joined #salt
18:57 CeBe1 joined #salt
18:57 esogas_ joined #salt
18:58 aw110f nkuttler: I haven't really worked with pillars yet actually, but can pillar variables be defined dynamically?
19:05 londo__ joined #salt
19:05 tyler-baker joined #salt
19:06 nvmme joined #salt
19:08 davidnknight___ joined #salt
19:09 funzo joined #salt
19:12 KennethWilke aw110f: they can be, yes. you can have pillar data in sls files dynamically generated with templates or generated from external sources
19:14 esogas_ joined #salt
19:14 KennethWilke aw110f: and in regards to your question about preferring the jinja include or salt include, my preference would be the salt include normally unless you're wanting to import some of the jinja logic
19:15 stevednd Why would changing the 'renderer:' value in the master config affect how the minions process things? I'm using the gpg renderer from here https://github.com/saltstack/salt/pull/12325, and you can see my comment at the bottom about how the minion is failing because it's trying to use the gpg renderer
19:15 aw110f cool thanks KennethWilke:
19:15 KennethWilke the salt include will include the results of the other sls file post-render but won't include things like {% set this = 'that' %}
19:16 KennethWilke like here they do a jinja import specifically for the in-jinja context https://github.com/saltstack-formulas/salt-formula/blob/master/salt/master.sls
19:17 nvmme joined #salt
19:18 davidnknight joined #salt
19:19 davidnknight joined #salt
19:20 aw110f I'm currently doing something like that with jinja include instead because I wanted to separate the place where jinja vars are defined from the state files.  I'm going to try using pillars. I guess one advantage of pillars is also for minion targetting.
19:21 manlin joined #salt
19:21 KennethWilke yeah, i'm a big fan of the external pillars too, i use the redis external pillar to define per-host configurations
19:22 KennethWilke that way i can change configs in a database, then run a highstate again
19:25 stevednd whiteinge: can you confirm if you experience the same issue with the gpg renderer that I mentioned a few lines up? I am using the renderer just as a dropin in my _renderers dir. I tried manually setting renderer: yaml_jinja on the minion, but it still fails thinking it should run the gpg renderer
19:25 AdamSewell joined #salt
19:25 AdamSewell joined #salt
19:28 viq ... gpg renderer?
19:28 * viq clicks the link
19:28 whiteinge gpg renderer!
19:29 whiteinge stevednd: i haven't played with that one yet so i'm not sure how it works at the code level. typically renderers do require their deps to be installed on the minions
19:29 troyready joined #salt
19:29 whiteinge this one could very well be different. i haven't had time to dive into it
19:30 to_json joined #salt
19:30 stevednd whiteinge: I would expect it to if I was telling it to use the gpg renderer
19:30 stevednd LoaderError: The renderer jinja | yaml | gpg is unavailable, this error is often because the needed software is unavailable
19:30 manlin left #salt
19:30 stevednd whiteinge: the only place jinja | yaml | gpg appears is in my master config
19:31 whiteinge stevednd: oh, you were expecting it because you added it to the master config and not the minion config?
19:31 stevednd correct
19:31 stevednd I even uncommented the renderer: line in the minion and set it to just yaml_jinja
19:31 stevednd but that made no difference
19:31 whiteinge some master-side config values do propagate to minions
19:32 stevednd that would seem...bad, at least if the minion explicitly declared its own value to use
19:33 stevednd I would understand if the minion didn't explicitly set a value, and used a default, then sure the master could override. If I set a value in my minion config, I kind of expect that value to be respected
19:33 whiteinge i'm not sure which values do that off the top of my head. the idea is it's easier to set a value in once place rather than many places. this behavior predates Pillar
19:34 stevednd also, the way this works creates a chicken/egg problem. If I set the renderer on the master, I can't sync anything to the minions because they'll attempt to load the renderer, which they don't have the dependencies for
19:35 stevednd so at least at the outset, it's looking like if I ever add a new machine, I will have to alter the master config to remove the | gpg, install dependencies on the new minion(s), and then reenable the setting on master
19:36 shaggy_surfer joined #salt
19:37 brendangilmor joined #salt
19:37 whiteinge sorry, man. wish i had details for you. try hitting up the author for details. we should get this process smoothed out before the helium release
19:39 nvmme joined #salt
19:39 n8n joined #salt
19:42 stevednd whiteinge: I updated my comment on that issue, but as I mention at the end of it, I don't think this is a problem with the renderer(maybe it is). I think this is a problem with salt
19:42 stevednd I can't imagine this is a problem that would be able to be fixed for helium. I have to imagine that this is a pretty ingrained thing with the master config overriding the minion config
19:43 AdamSewell joined #salt
19:43 whiteinge stevednd: at (very) quick glance, it looks like the decryption happens entirely minion-side. meaning if you set your global renderer to include the gpg renderer you'll necessarily have to install the gpg dep as part of bootstrapping a new minion
19:43 stevednd is there anyone I should loop in on this issue, to get the problem more attention?
19:43 stevednd whiteinge: the decryption is supposed to happen master side
19:43 stevednd that's the only place with the keys
19:43 stevednd since it's pillar data that this is happening to
19:44 stevednd I have it successfully decrypting, so I know it works
19:45 whiteinge stevednd: ah, this is intended only for pillar data. i didn't realize that. in that case you don't want or need to distribute the module to minions at all
19:45 whiteinge pull it out of your _renderers folder and use the master-side extension_modules setting instead
19:46 stevednd /srv/salt/extension_modules/?
19:46 whiteinge it doesn't have a default value so you can set it to wherever you want
19:47 whiteinge http://docs.saltstack.com/en/latest/ref/configuration/master.html#extension-modules
19:47 whiteinge i usually put set it for /srv/modules
19:48 whiteinge to specifically separate master-side from minion-side
19:50 torbock joined #salt
19:50 AdamSewell joined #salt
19:51 stevednd whiteinge: no go
19:52 nvmme joined #salt
19:52 stevednd the minion still errors thinking it needs the renderer specified in the master config
19:52 stevednd can a pillar specific renderer be declared in the master config?
19:53 stevednd I know I could do it per file if need be, but would rather not
19:53 whiteinge stevednd: i don't think configuring that globally is a good way to go...not sure why the docs suggest it
19:53 whiteinge i don't think there's a pillar-specific renderer setting. would be a good addition
19:53 ZombieFeynman joined #salt
19:54 colinbits joined #salt
19:55 shaggy_surfer joined #salt
19:56 littleidea joined #salt
19:57 forrest agliodbs, did you figure that out?
19:57 renoirb forrest, do you know where redbeard2 is, its been a while i havent seen him
19:58 forrest he doesn't com into #salt very much
19:58 forrest renoirb, if you just message him he should be around
19:58 forrest *come
19:59 thayne joined #salt
19:59 stevednd whiteinge: so doing it on a per file basis does work. Kind of annoying that that's the only way at the moment
20:00 whiteinge well that's something, at least
20:00 whiteinge stevednd: mind filing an issue on a pillar-specific renderer setting?
20:00 stevednd yeah, not the end of the world
20:04 ndrei joined #salt
20:06 combusean joined #salt
20:06 combusean is it possible to have multiple salt-minion daemons on one machine?
20:06 garthk joined #salt
20:07 ZombieFeynman joined #salt
20:07 stevednd whiteinge: https://github.com/saltstack/salt/issues/13263 I think the description is crappy, but it's the best I could come up with at the moment.
20:07 combusean we're in a situation where we do our deploys as a particular user, but for safety would like to additionally use salt to run system maintenance commands as root, and we don't want to give our deploy user sudo access
20:08 koentje joined #salt
20:09 forrest combusean, Hmm, I don't know if that would work
20:09 forrest the biggest issue would be targeting issues
20:09 forrest same IP, different minion? Same name on the minion? Seems problematic
20:09 * combusean sighs
20:09 forrest You COULD use salt-ssh...
20:09 forrest hmm
20:10 koentje I've got a few nodes spread across the internet. Would you consider salt-master secure enough to run directly on the internet, and rely solely on ssl certficates for security?
20:10 koentje wow, have you just given me the answer just before my question (salt-ssh)? mmm...
20:10 combusean forrest, same minion name, two different masters
20:10 forrest combusean, how would you do the installation of the minion?
20:10 forrest a venv? or something?
20:11 nvmme joined #salt
20:12 combusean not sure
20:13 combusean i'm having to upgrade 20 servers' ssl and I really like salt's handling of cmd.run, which is really nice because it gives me stdout and nothing as far as I know has similar functionality
20:14 whiteinge Ryan_Lane1, forrest: we're going to set up an RSVP for the docs sprint on EventBrite
20:14 forrest great!
20:14 combusean but our primary purpose for salt is having a non privileged user run deploy machines.
20:14 whiteinge Ryan_Lane1: can you PM me basic details for your location? we can update/add to them as we get closer to the date
20:14 bmatt combusean: salt-api + eAuth?
20:15 combusean s/machines/scripts/
20:15 * combusean is deficient like that
20:15 alekibango joined #salt
20:15 bmatt you can still run the minion as root, and restrict access thusly
20:16 forrest http://docs.saltstack.com/en/latest/ref/clientacl.html combusean
20:16 forrest might also be an option
20:16 bmatt I'd recommend skipping cmd.run and writing your own deployer module
20:16 forrest oh that's a good idea bmatt
20:16 bmatt which you can then apply ACLs to
20:16 forrest you could restrict the user to only run that module
20:16 Whissi joined #salt
20:16 bmatt yep
20:16 forrest and it would be easy
20:16 forrest good idea
20:16 bmatt "easy" :)
20:17 forrest well, easier than setting up a secondary salt master and two minions on the same machine
20:17 bmatt right
20:17 combusean hmm
20:17 bmatt for example, we're allowing our orchestration engine to run state.highstate and pass in pillar data
20:17 bmatt but we could easily instead write a deployment module and permit that to be called
20:17 combusean i'm a bit new to salt's features outside of cmd.run and cmt.retcode, at least how we're using it
20:18 combusean the tasks that our deployer runs are more or less arbitrary
20:18 combusean and produced by ruby code
20:18 forrest ughhhhhhhh
20:18 bmatt well, if you have confidence in your script source
20:18 * combusean lols
20:18 forrest if you can write python
20:18 bmatt you could white a thin shim module that invokes cmd.run_all
20:18 forrest https://github.com/saltstack/salt-contrib/tree/master/modules
20:18 bmatt I mean, in terms of security
20:18 forrest there are a bunch of examples people wrote
20:19 bmatt so you put your script in /var/cache/deployer/scripts and deploy.py calls cmd.run_all('/var/cache/deployer/scripts{0}'.format(scriptname0))
20:19 combusean hmmm
20:19 bmatt how it gets there is an exercise left to the reader, but I'm hoping nobody can put arbitrary commands in your deploy script
20:19 dude051 joined #salt
20:19 combusean no, it's a little more structured than that
20:20 combusean mostly arbitrary values of RAILS_ENV that has to be run before stuff
20:20 bmatt right, but it woudln't take much to wrap cmd.run
20:20 bmatt which, ultimatley, is the concept
20:20 combusean hmm
20:21 agliodbs forrest: yeah, it was a salt versioning issue
20:21 manfred yay fire alarms
20:21 agliodbs forrest: somebody else applied an update to the minions, but not the master, which I didn' tknow bout
20:21 forrest agliodbs, ah great, I love easy answers
20:21 forrest should have asked about that off the bat
20:22 bemehow joined #salt
20:22 agliodbs forrest: how are 0.17 and 2014-01 version numbers for the same product though?
20:23 forrest they changed release values
20:23 * combusean wishes salt would follow semantic versioning, but he wishes a lot of things would follow semantic versioning
20:23 forrest yes yes yes
20:23 agliodbs +1
20:23 forrest semantic versioning
20:23 forrest we discuss this weekly
20:24 combusean sorry
20:24 forrest it's all good
20:24 nvmme joined #salt
20:24 forrest it's like the security question :P
20:24 agliodbs I'd also go for date-based versioning
20:24 forrest I should really just add it to the FAQ
20:24 agliodbs but pick a system and stick to it
20:24 combusean still burning from a minor version upgrade that fucked everything over.
20:24 bemehow joined #salt
20:24 combusean RH for 2014.01.1 invented /etc/salt/minion_id from the hostname and decided to use that everywhere
20:24 forrest agliodbs, well, the change I assume had multiple uses, one was because the product is a legit 1.0+ release, but was still 0.17
20:25 agliodbs forrest: are you going to stick to date-based now?
20:25 * agliodbs contributes to a product called pgAdmin III 2.4, so he can't complain too hard ...
20:26 forrest agliodbs, I don't work for Salt, as far as I know they are planning to
20:26 agliodbs ah, ok, thought you were a contributor
20:26 forrest I am
20:26 agliodbs the company controls the versioning though?
20:26 * agliodbs is not clear on the company/community relationship
20:27 shaggy_surfer joined #salt
20:27 forrest agliodbs, yea so the salt guys handle the versioning, as well as major releases, when to do releases, etc.
20:27 forrest a few people fork off dev and run their own as well
20:27 forrest with their own releases and so forth
20:27 forrest but that is mostly internal
20:29 jrdx joined #salt
20:29 kevinjcash joined #salt
20:29 kevinjcash :q
20:31 tligda1 joined #salt
20:31 kevinjcash joined #salt
20:36 CeBe1 joined #salt
20:42 Ryan_Lane joined #salt
20:46 UtahDave joined #salt
20:47 mgarfias how can i push out a mine_functions addition to a minion config via salt-cloud?
20:47 dstokes there a way to setup a cmd.wait that will also run if a condition is not met? (i.e. run if file doesn't exist, or if watch statement is triggered)?
20:47 whiteinge dstokes: there are onchanges and onfail requisites in the next salt release
20:48 dstokes nothing in the current release for this use-case tho?
20:48 whiteinge dstokes: as of the current release i think your best bet are the "onlyif" and "unless" arguments to the cmd.run state
20:49 dstokes whiteinge: cool, thx
20:49 whiteinge or wrapping a state in a jinja conditional
20:51 manfred mgarfias: yes
20:51 manfred mgarfias:
20:51 manfred minion:
20:51 manfred mine_functions:
20:51 manfred - network.ip_addrs: []
20:52 mgarfias got it, thanks
20:52 manfred mgarfias: http://ix.io/cOB
20:52 manfred mgarfias: in the bootstrapping process, the minion config is just a dictionary, so it replaces the defaults with what you put in that dictionary, which can be set in the profile or /etc/salt/cloud or even in the provider iirc,
20:53 manfred then just lays the dictionary down as a yaml file
20:53 mgarfias got it.  dox for this are a bit... sparse
20:54 manfred http://salt-cloud.readthedocs.org/en/latest/topics/misc.html
20:54 manfred actually it isn't in there...
20:54 manfred hrm
20:54 manfred meh
20:55 jrdx joined #salt
21:02 obimod_ joined #salt
21:02 obimod_ what's the most supported linux container solution for saltstack?
21:03 ggoZ joined #salt
21:04 forrest well, there's docker support, there's also lxc support (we use the lxc stuff)
21:05 wt joined #salt
21:05 wt hi, I have found problem with py2.6 for the dockerio state module
21:06 wt https://github.com/saltstack/salt/pull/13265
21:06 wt Just wanted to make sure it got to the right people.
21:08 kermit joined #salt
21:09 TyrfingMjolnir joined #salt
21:12 tligda joined #salt
21:14 kmshultz joined #salt
21:18 JordanRinke joined #salt
21:18 Ryan_Lane joined #salt
21:19 JordanRinke left #salt
21:21 sschwartz joined #salt
21:21 sschwartz Hello -- anyone here tried building Amazon hvm instances with salt-cloud?
21:22 dmick joined #salt
21:24 gothix joined #salt
21:26 dmorrow joined #salt
21:29 sschwartz Ne'er mind. Figured it out. ;)
21:29 dmorrow hello , I was looking for some direction into ways to dynamically distribute values to minions, taking for example something like static ip's, I would like to upon running a high state, each minion would be allocated an ip from a dictionary, but upon removal or destruction of the minion, that ip would be made available to any other minons that might be created. I was hoping that someone could point me to some decent online examples where so
21:29 dmorrow mething similar is being done? .
21:33 bemehow joined #salt
21:35 davet1 joined #salt
21:41 Ryan_Lane joined #salt
21:42 davet joined #salt
21:42 n8n joined #salt
21:44 erjohnso joined #salt
21:52 robawt hey yawls
21:53 robawt weird question, if I have a list of users in pillar, how can I get the list?
21:53 robawt salt's get function si good at returning a dict, i'm looking to get just a single element
21:53 UtahDave {{ pillar['users'] }}
21:53 robawt UtahDave: wuddup homie!
21:53 UtahDave yo!
21:53 viq robawt: https://github.com/viq/cm-lab-salt/blob/master/salt/roots/salt/users/group1.sls
21:53 * Gareth waves at UtahDave
21:54 * robawt waves at Gareth
21:54 UtahDave hey, Gareth!
21:54 Gareth robawt: o/
21:54 Gareth UtahDave: how goes?
21:56 UtahDave dmorrow: Hey, I'd probably create an external pillar that would access a database of some type that has a list of the pool of IPs.  Then I'd create a function to be called when you destroy a minion that would release that IP.
21:56 viq Doesn't cobbler somewhat do somethng like that?
21:56 forrest Don't let UtahDave lie to you, clearly the only solution is to use DHCP
21:57 forrest because that's always going to work right?
21:57 UtahDave probably. we do have a cobbler external pillar
21:58 robawt UtahDave: i'm still grabbing a dict, bummer.  Is there a builtin method into pillar to grab just key value or should I stretch my python brain?
21:58 GradysGhost joined #salt
21:58 robawt BugeyeD: 20
21:58 robawt ooh soryy BugeyeD
21:59 viq robawt: have you seen my link? I have an example where I have a bunch of users in a pillar and then a state that creates them
22:00 schimmy joined #salt
22:00 robawt viq: in this case I've got a list of 1 user with additional info and i'm just trying to exact that user's name from the pairing, so I guess I'm looking grab just the first (and only) key and have it return as a string instead of a 1 item list (that I get with a mix of .get() + .keys())
22:00 UtahDave robawt: yeah, it's just a python dict.   so    users.keys() is probably what you want
22:01 robawt UtahDave: okie doke, I'll keep at my black magic
22:02 robawt UtahDave: you still have the patience of a monk, thank you
22:02 * UtahDave bows reverently to robawt
22:02 UtahDave :)
22:02 schimmy2 joined #salt
22:04 * whiteinge gets a running start and action-high-fives robawt
22:05 robawt hahaha
22:06 * robawt action highfives whiteinge
22:06 robawt wuddup man?
22:07 BrendanGilmore joined #salt
22:07 mgarfias stupid question: i push out mysql connection args to my minion.  minion runs highstate, installs the python-mysql pkg, but the minion doesn't pick it up until i manually restart the minion.  how do i automate that last bit?
22:10 bmatt - watch_in: - service: salt-minion :)
22:10 dmick http://www.rackeroz.com/2013/10/how-to-restart-salt-minion.html might be useful
22:10 derelm joined #salt
22:10 mgarfias thx
22:11 bmatt afaik the minion restarting itself now Just Works
22:11 mgarfias now, or in 2014.1.4?
22:14 forrest wait what?
22:14 forrest since when
22:15 forrest mgarfias, https://gist.github.com/gravyboat/60f794dc1f9e093739f2
22:15 forrest USE AT
22:15 forrest *Use at
22:16 mgarfias interesting
22:16 mgarfias that makes more sense
22:17 forrest yea, I place it in it's own state usually
22:17 forrest then you can make config changes on your minion and run that, you're good to go
22:17 forrest you might need to adjust the at time depending on the time of your run
22:17 dmick (that's contained in the URL I posted)
22:17 dmick bmatt claims it's unnecessary; I'd like to test that
22:18 forrest yes as far as I'm aware you can't restart the salt minion without at currently
22:18 bmatt we have a state that munges our minion config
22:18 forrest so I'd like to know the results as well dmick
22:18 bmatt I'm not aware of it requiring any manual intervention, but I'm not certain
22:18 viq then how https://github.com/saltstack-formulas/salt-formula/blob/master/salt/minion.sls manages to restart itself? Or doesn't it?
22:18 forrest viq, well, this is from 2013
22:18 UtahDave I believe that has more to do with the init system your os is using. I restart my minions on Ubuntu all the time without a hitch
22:18 forrest and I know it didn't work then
22:19 forrest UtahDave, from a state?
22:19 jY what do people use if your minions run a highstate each say 10 minutes.. to make sure everything is running correctly?
22:19 UtahDave yep
22:19 forrest UtahDave, how does that work? The current job gets cut if that happens I thought
22:20 UtahDave well, if you do it in a state, then you have to have the minion set up to run a highstate on startup. The state obviously won't continue where it left off.
22:21 forrest right
22:21 forrest so in the event you make multiple changes, where one of those steps needs to be a minion restart
22:21 forrest you should use at, unless you want to re-highstate the minion (which hopefully does not have the restart state)
22:22 forrest unless I am thinking incorrectly regarding what you are saying
22:22 viq Or use watch, and have minion require all the other states so it's done last?
22:22 masterkorp hello
22:23 JordanRinke joined #salt
22:23 combusean joined #salt
22:23 forrest masterkorp, hi
22:28 gothix joined #salt
22:28 gothix joined #salt
22:28 gothix_ joined #salt
22:29 alunduil joined #salt
22:35 dmorrow thanks guys, think that has given me a few ideas :) , much appreciated
22:36 dmick anyone know anything about the status of EPEL7 packages?
22:36 dmick it would make my life some easier if they were available soon
22:38 forrest dmick, are you running the beta?
22:38 dmick of RHEL7?  yes
22:38 DaveQB joined #salt
22:38 forrest Did they make it public? Last time I checked it wan't
22:38 forrest *wasn't
22:38 forrest you could try to just build the RPM, we have all the stuff up on github
22:38 forrest and see if it works
22:38 dmick ftp://ftp.redhat.com/redhat/rhel/rc/7/
22:38 dmick I've built it
22:38 dmick but getting it into EPEL7 is the bit that would help
22:39 forrest ahh yea, terminalmage any word?
22:40 forrest dmick, terminalmage is the guy who builds the package, so if he responds we'll see if he's tested it at all
22:40 dmick awesome, tnx
22:40 dmick was just chasing down the official maintainers
22:45 jslatts joined #salt
22:48 oz_akan_ joined #salt
22:49 robawt jinja is sometimes magic and sometimes hatred
22:49 robawt sometimes
22:49 bmatt hm. it appears that (on debian) the network state will alter /etc/network/interfaces but not actually restart them
22:49 whiteinge robawt: sounds about right
22:49 bmatt robawt: sometimes? so the other times it's always magic and always hatred
22:49 robawt hahah
22:50 robawt glad I'm not alone :)
22:54 robawt question:  .keys()[0] feels shady but it works, anyone have an opinion on that?
22:55 bmatt dict order is (usually) not deterministic
22:55 bmatt unless you're using an OrderedDict, in which case it's perfectly cromulent
22:56 robawt thx bmatt
22:57 dmick OrderedDicts are abominations
22:57 dmick ;)
22:59 shaggy_surfer joined #salt
23:00 tdegrunt joined #salt
23:01 ZombieFeynman joined #salt
23:07 Outlander joined #salt
23:13 * combusean wishes salt 'api*,cron*' test.ping worked when those would otherwise match hosts
23:15 izibi joined #salt
23:16 whiteinge salt -E '(api|cron).*' test.ping
23:17 whiteinge combusean: ^^ that work?
23:17 tdegrunt joined #salt
23:18 jslatts joined #salt
23:20 whiteinge oh, or:  salt -C 'api* or cron*' test.ping
23:20 whiteinge combusean: ^^  :)
23:20 stanchan joined #salt
23:23 combusean sweet!
23:23 combusean that works
23:23 * combusean 's life is easier now =)
23:25 dmick terminalmage: aroudn?
23:25 dmick *around?
23:26 forrest dmick, if he hasn't responded by now he probably isn't
23:26 forrest he's usually quick to respond
23:26 forrest maybe check back tomorrow?
23:26 dmick thought he might have come back and not scrolled back
23:26 dmick but sure
23:26 manfred he is testing a pull request
23:27 forrest oh is he on site with you guys manfred ?
23:27 manfred he is not
23:27 manfred i was just talking to him a couple minutes ago
23:28 forrest dmick, https://github.com/saltstack/salt/issues/13272
23:29 tdegrunt joined #salt
23:29 dmick tnx, will subscribe
23:29 forrest I've tagged him there as well
23:29 forrest np
23:32 agliodbs this seems to indicate some kind of bug in salt: Requisite pgbouncer failed for stage on minion req_|-fail_|-fail_|-None
23:32 aw110f joined #salt
23:34 manfred forrest: you got scolded
23:34 forrest ?
23:35 forrest manfred, what
23:35 manfred check your issue
23:35 manfred https://github.com/saltstack/salt/issues/13272
23:35 quickdry21 joined #salt
23:35 forrest I did a search for epel
23:35 forrest and it didn't find SHIT
23:35 manfred heh
23:35 manfred should have searched redhat 7
23:35 forrest https://github.com/saltstack/salt/search?q=epel&amp;ref=cmdform&amp;state=open&amp;type=Issues
23:36 forrest that doesn't find anything either
23:36 manfred dat 7
23:36 manfred https://github.com/saltstack/salt/search?q=epel7&amp;type=Issues
23:36 manfred :P
23:36 manfred
23:36 forrest yeaaaaaaaa
23:37 forrest I'm not taking the blame for that one
23:37 forrest search through 3000 issues /yaoming
23:37 manfred heh
23:40 * whiteinge starts to question forrest's dedication
23:40 forrest :(
23:40 forrest I know
23:40 forrest searching epel, and rhel, didn't return results
23:40 forrest clearly, I should have known better
23:40 alekibango_ joined #salt
23:41 dmick "I have altered the meaning of 'search'.  Pray I do not alter it further."
23:41 whiteinge haha
23:45 to_json joined #salt
23:46 jrdx joined #salt
23:51 Shenril joined #salt
23:52 agliodbs I'm getting this error: Comment: These values could not be changed: {'groups': []}
23:53 agliodbs which seems to be related to this bug: https://github.com/saltstack/salt/issues/7337
23:53 agliodbs except that I'm not defining a "groups" setting *at all* in my config
23:53 bemehow_ joined #salt
23:54 mpoole_ joined #salt
23:55 agliodbs it seems like Salt is trying to set the groups to nothing
23:56 oz_akan_ joined #salt

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