Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2015-01-27

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

All times shown according to UTC.

Time Nick Message
00:00 iggy markmarine: you likely had an issue with the latest versions of something not being synced (which happens explicitly during a highstate)
00:11 laax joined #salt
00:14 markmarine iggy: probably so. Don't know what it was because I specifically sync'd the pillar, but at least it's working now. Thank you so much for your help
00:15 markmarine murrdoc: that's a good solution, I'll get one of those setup. Thank You
00:16 jerematic joined #salt
00:16 GabLeRoux joined #salt
00:16 murrdoc http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCkQFjAB&url=http%3A%2F%2Fdocs.saltstack.com%2Fen%2Flatest%2Ftopics%2Ftutorials%2Fquickstart.html&ei=yNjGVPiVBcvjoASP7YAY&usg=AFQjCNGiQxTsA3Wk9Sx2cQem3wyOpM6VtQ&bvm=bv.84607526,d.cGU
00:16 murrdoc ah damnit
00:16 murrdoc http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html
00:18 tligda joined #salt
00:20 elfixit1 joined #salt
00:22 viq joined #salt
00:23 bfoxwell joined #salt
00:23 gadams Anyone using SALT with windows server 03/08/12?
00:23 brian_ joined #salt
00:27 brian_ joined #salt
00:27 aqua^mac joined #salt
00:29 PovAddict left #salt
00:29 tligda joined #salt
00:39 druonysus joined #salt
00:39 druonysus joined #salt
00:41 shanedlee left #salt
00:42 thedodd joined #salt
00:43 dmick joined #salt
00:43 dmick anyone happen to know if referring to salt. or salt[] in 2014.1.10 is broken?
00:44 dmick 2014.7 syntax is breaking only on rhel6, where 2014.7 apparently isn't available, but I thought it predated 2014.1
00:44 dmick {% set username = salt.environ.get('SUDO_USER', 'vagrant') %} fails with "Jinja variable 'salt' is undefined"
00:46 anotherZero joined #salt
00:47 canci joined #salt
00:51 andrej Can I execute a script *on the master* from a state file?
00:51 andrej If yes: how? :)
00:54 dmick one way is to use state.template
00:55 dmick salt-call --local state.template <path-to-sls-file>
00:56 andrej I'll have a look at salt-call ; thanks dmick
00:57 markm_ joined #salt
00:58 andrej Hmmm. No, I need to run a script on the master, not the minion. When I push splunkforwarder out I need to generate a password-file on the master
01:01 glyf joined #salt
01:02 Brew joined #salt
01:03 dmick well, its manpage is a bit misleading imo
01:03 dmick salt-call --local I think of as "run it here, shut up about minion and master"
01:03 andrej Oh, ok
01:04 dmick there may be a more salty way to do what you need, but
01:04 dmick I think this works
01:04 Outlander joined #salt
01:05 forrest joined #salt
01:05 Outlander running a salt command against a group of boxes with -G
01:05 Outlander 'id:whatevergroupid'
01:05 Outlander but the command returns immediately and doesn't run the action against the remote nodes
01:05 Outlander is there a max limit of boxes in a group before it exits/quits?
01:07 Outlander or a max # of nodes to tail output from?
01:08 abe_music joined #salt
01:11 bhosmer joined #salt
01:11 UtahDave Outlander: what version of salt are you using?
01:16 andrej dmick - I think I'm starting to understand what you were saying.  How would I get the  {{ grains[ 'fqdn' ] }} from the original init.sls into the state.template <path-to-sls-file> ?
01:16 dmick templates are supposed to have access to grains, period
01:16 dmick is it breaking?
01:20 andrej Hmmm ... breaking is not the  right word. It runs to completion, doesn't generate any output, and doesn't create the file I expect to see.
01:20 dmick adding -l debug can be useful
01:20 andrej I just bumped up the log level, and will look at the master log
01:23 andrej Can't see any reference to the salt-call ... no errors, either.
01:24 dmick -l debug adds logging ot the console for the salt-call
01:25 andrej oh, OK ... so I do that in my init.sls, then
01:26 otter768 joined #salt
01:27 dmick ?  no, *on the cli of salt-call*
01:27 __number5__ anyone have an example/tutorial how salt.pillars.pepa works?
01:27 andrej dmick .. aight
01:27 andrej I'll try command-line first
01:29 clintberry joined #salt
01:30 andrej Hmmm ... Function salt://splunk_forwarder/make_hash.sls is not available
01:30 andrej But it's there
01:31 andrej salt-call -l debug --local salt://splunk_forwarder/make_hash.sls
01:31 dmick no idea what salt:// means; I've only ever used filesystem paths
01:32 andrej Function /srv/salt/splunk_forwarder/make_hash.sls is not available
01:32 andrej same result
01:32 shaggy_surfer joined #salt
01:32 dmick and you're missing "state.template"
01:32 andrej dang
01:33 andrej sorry
01:34 andrew_v joined #salt
01:35 andrej that's not that helpful :/
01:35 andrej local:
01:35 andrej Data failed to compile:
01:35 andrej The function "state.highstate" is running as PID 1515 and was started at  with jid req
01:38 clintber_ joined #salt
01:39 dmick lost me.
01:39 andrej Heh
01:40 andrej me too ... what's what it spewed out at the bottom of the debug output
01:40 dmick so..maybe there's something informative not at the bottom?...
01:40 dmick dunno
01:41 notnotpeter joined #salt
01:42 clintberry joined #salt
01:43 andrej http://pastebin.com/MKntuHHY
01:43 andrej I can't see anything useful in there
01:45 clintberry joined #salt
01:46 dmick seems like it's hung up in the pillar construction?...
01:52 andrej There's nothing there ... it's still present from the initial install, and was never used for anything.
01:53 dmick where is the "local:" line?
01:57 andrej I didn't change the formatting of the output.
01:58 andrej It's straight after [DEBUG   ] LazyLoaded .returner
01:58 dmick yes; I mean "is that echoing something in some of your salt code"
01:58 dmick I'm not used to seeing it
01:58 andrej Oh
01:58 andrej I didn't add local: anywhere
02:00 laax joined #salt
02:05 aqua^mac joined #salt
02:12 ckao joined #salt
02:13 otter768 joined #salt
02:14 shaggy_surfer joined #salt
02:19 ToeSnacks joined #salt
02:22 malinoff joined #salt
02:23 hasues joined #salt
02:23 andrew_v joined #salt
02:23 hasues left #salt
02:29 druonysuse joined #salt
02:29 druonysuse joined #salt
02:38 neogenix joined #salt
02:45 MugginsM joined #salt
02:51 Outlander so no way to measure a document's size on disk or total size on disk for the results of a query?
02:53 thedodd joined #salt
02:53 murrdoc joined #salt
02:58 jhauser joined #salt
03:00 Furao joined #salt
03:00 echtish joined #salt
03:04 mosen joined #salt
03:05 GabLeRoux joined #salt
03:12 shaggy_surfer joined #salt
03:15 schristensen joined #salt
03:15 GabLeRoux joined #salt
03:18 GabLeRou_ joined #salt
03:20 aqua^h joined #salt
03:26 jerematic joined #salt
03:28 Nazzy joined #salt
03:30 __number5__ Anyone using AWS with salt, may I ask how do you solve the minion id issue
03:30 twellspring joined #salt
03:31 __number5__ to be more precise all our ec2 instances are in VPC
03:33 tligda joined #salt
03:33 dude051 joined #salt
03:38 Outlande1 joined #salt
03:41 JDiPierro joined #salt
03:42 yetAnotherZero joined #salt
03:49 laax joined #salt
03:50 andrew_v joined #salt
03:55 kitp joined #salt
03:56 laax joined #salt
03:58 TheThing joined #salt
04:00 hvn joined #salt
04:07 neogenix joined #salt
04:10 cberndt joined #salt
04:11 nitti joined #salt
04:12 andabata joined #salt
04:15 laax joined #salt
04:20 h8 joined #salt
04:23 saltnewb joined #salt
04:24 Ch3LL_ joined #salt
04:26 saltnewb i just started out testing salt and running into a problem getting salt orchestration to work via ssh, i dont know any python so im at a loss where to start looking for errors, can anyone point me in the right direction? here is the error im facing when adding ssh: True to a orchestration state
04:26 saltnewb Comment: An exception occurred in this state: Traceback (most recent call last):                 File "/usr/lib/python2.7/dist-packages/salt/state.py", line 1533, in call
04:26 saltnewb AttributeError: 'NoneType' object has no attribute 'split'
04:26 saltnewb the state in question (in the orchestration file), is just a simple test as follows:
04:26 saltnewb test_function:   salt.function:     - name: cmd.run     - tgt: '*'     - ssh: True     - arg:       - touch /tmp/foo
04:27 saltnewb when i remove the ssh: true it compiles fine and doesnt run, but as soon as I add ssh: True im getting this python stack trace and now im bit stuck
04:28 saltnewb salt-ssh '*' test.ping is running fine
04:28 smcquay joined #salt
04:30 saltnewb this is at the end of the stacktrace, i see something about "backends", but im just using the file backend, so not sure what its complaining about:
04:30 saltnewb File "/usr/lib/python2.7/dist-packages/salt/roster/__init__.py", line 39, in __init__                   self.backends = backends.split(',')               AttributeError: 'NoneType' object has no attribute 'split'
04:34 clintberry joined #salt
04:37 markm_ joined #salt
04:46 brian_ joined #salt
04:47 brian_ joined #salt
04:49 otter768 joined #salt
04:52 ajw0100 joined #salt
05:00 twellspring joined #salt
05:00 SheetiS joined #salt
05:07 Furao i never really worked with chef and need to do few things in opsworks and it’s so much pain compared to saltstack
05:10 echtish joined #salt
05:18 saltnewb is there an example of salt orchestration somewhere besides the tutorial in the official doc? Im really stuck on the above, it seems salt is complaining about some configuration variables that are not defined, e.g. i patched salt/roster/__init__.py to hardcode the backends variable, but then it just complains about some other optons (config_dir) not being found, so somehow i must have something fundamentally wrong :(
05:22 kitp joined #salt
05:27 Furao joined #salt
05:31 kermit joined #salt
05:31 twellspring joined #salt
05:35 felskrone joined #salt
05:50 ramteid joined #salt
06:01 __number5__ saltnewb: I don't think salt orchestration work with salt-ssh, you need a salt-master to "orchestrate"
06:03 signull_ saltnewb: run: salt-ssh 'some.minion-hostname.com' sys.doc
06:03 signull_ obviously replace "some.minion-hostname.com"
06:04 signull_ that will tell you all the available commands
06:04 signull_ also copy paste the full error into something like pastebin (dot) com
06:04 signull_ also include output from /var/log/salt/master
06:05 signull_ it looks like you are either missing a python module or your configuration is incorrect.
06:06 saffe joined #salt
06:09 signull_ My assumption. the output you put so far. "tgt: '*'" so the target is all. then "AttributeError: 'NoneType' object has no attribute 'split'" ... well you cant split up the servers if its not finding any servers. Possibly salt is not getting the "*" or more exactly it is not retrieving the asterisk for shell globbing. you can find out right away by typing in the direct hostname of a minion instead
06:09 signull_ if that works try \*
06:09 pdayton joined #salt
06:09 saltnewb signull_, thanks so much for your response, let me work through your suggestions!
06:10 signull_ saltnewb: no problem. I am still new to salt as well. But i am enough of an experienced sysadmin/devops guy to make sense of some errors
06:11 hvn joined #salt
06:12 signull_ saltnewb: let me know how it goes. I am kind of curious
06:12 saltnewb so for the sys.doc test, "salt-ssh minion1 test.ping" -> returns True, however "salt-ssh minion1 sys.doc" returns retcode:         254     stderr:         Password authentication failed
06:12 saltnewb im already super confused by that, since test.ping works i would have assumed minion1 is configured correctly in /etc/salt/roster (it looks to me like it is, and test.ping works, but sys.doc returns the password auth error)
06:13 signull_ Nice!!! now we know more. How can you run a touch on servers if you cant connect to them. so if you have a list of "none" you wont be able to run the split function. This explains your error above
06:13 signull_ test.ping works because it only pings the host. It does not need to connect to them
06:14 brendanashworth joined #salt
06:15 signull_ saltnewb: is this making sense so far?
06:15 jhauser joined #salt
06:15 brendanashworth left #salt
06:15 saltnewb ah i see, i wrongly assumed test.ping actually connects to the host - duh!
06:16 Ryan_Lane joined #salt
06:17 signull_ saltnewb: steps from here on. Try to ssh to them normally. Lets just make sure you can. More importantly we can re-confirm the password. This way we know connecting to them works. The next step is connecting to them via salt-ssh. Revert back to the salt-ssh documentation and lookup how to add minions via salt-ssh. I know saltmaster will need to place pub keys on them.
06:18 saltnewb right, thanks so much! i will work on getting the connection up, fingers crossed it all works then :)
06:19 signull_ best of luck on your endeavors
06:32 calvinh joined #salt
06:39 calvinh joined #salt
06:40 CeBe joined #salt
06:42 Eliz_ joined #salt
06:49 desposo joined #salt
06:50 calvinh_ joined #salt
06:53 hvn joined #salt
06:54 linjan joined #salt
06:59 calvinh joined #salt
07:00 otter768 joined #salt
07:03 colttt joined #salt
07:05 jer__ joined #salt
07:09 calvinh_ joined #salt
07:10 AndreasLutro joined #salt
07:13 bhosmer_ joined #salt
07:21 laax joined #salt
07:25 stoogenmeyer__ joined #salt
07:25 Flusher joined #salt
07:34 GabLeRoux joined #salt
07:35 brian__ joined #salt
07:36 fragamus_ joined #salt
07:42 toanju joined #salt
07:42 brendanashworth joined #salt
07:42 mikeywaites joined #salt
07:42 brendanashworth left #salt
07:45 CeBe joined #salt
07:47 chiui joined #salt
07:49 flyboy joined #salt
07:50 CeBe joined #salt
07:55 hojgaard joined #salt
07:55 Auroch joined #salt
07:55 calvinh joined #salt
07:55 TheThing joined #salt
07:55 calvinh_ joined #salt
08:00 ptinkler joined #salt
08:04 CeBe joined #salt
08:05 trikke joined #salt
08:12 calvinh joined #salt
08:13 calvinh_ joined #salt
08:15 hebz0rl joined #salt
08:22 fredvd joined #salt
08:22 calvinh joined #salt
08:23 calvinh_ joined #salt
08:32 calvinh joined #salt
08:32 trikke joined #salt
08:33 calvinh_ joined #salt
08:35 mikeywaites joined #salt
08:36 KermitTheFragger joined #salt
08:36 mikkn joined #salt
08:37 bluenemo joined #salt
08:38 mikeywaites joined #salt
08:39 jhauser joined #salt
08:39 cberndt joined #salt
08:41 intellix joined #salt
08:43 kawa2014 joined #salt
08:43 epcim joined #salt
08:47 lb1a joined #salt
08:49 Outlander joined #salt
08:50 calvinh joined #salt
08:54 keeth joined #salt
08:58 mikeywaites joined #salt
09:00 Hydrosine joined #salt
09:01 otter768 joined #salt
09:05 calvinh_ joined #salt
09:09 karimb joined #salt
09:10 karimb joined #salt
09:14 xsteadfastx joined #salt
09:15 CeBe joined #salt
09:17 CeBe1 joined #salt
09:21 flebel joined #salt
09:22 CeBe joined #salt
09:23 xsteadfastx joined #salt
09:23 Nazca__ joined #salt
09:24 xsteadfastx joined #salt
09:26 xsteadfastx joined #salt
09:31 mdupont joined #salt
09:33 Nash joined #salt
09:34 CeBe joined #salt
09:39 jtang joined #salt
09:46 che-arne|2 joined #salt
09:51 jer__ joined #salt
09:54 ganes joined #salt
09:54 ganes hey
09:55 ganes salt formulas for provisioning server in aws or any provider...
09:56 ganes with out configuring in /etc/salt/clou.profiles.d and cloud.profiles.d in master,   Need to provision dirct from formulas...
09:56 ganes any samples?
09:57 stoogenmeyer__ joined #salt
09:59 phx AFAIK formulas are not really for creating new instances
09:59 phx states are run on the minion, if there's no minion it cannot run on it
10:02 badon_ joined #salt
10:04 zadock joined #salt
10:04 ganes actually  we should configure in /etc/salt/cloud than only we can do any operations in any provider
10:04 ganes right??
10:05 Grokzen joined #salt
10:05 ganes configure and excute through cmd line this is the way right?
10:06 ganes i expect in complete action in formulas!!\
10:06 ganes i dont know how to struture the formulas!
10:06 ganes any sample formulas
10:07 ganes u understand my expectation?
10:07 Furao ganes: last month I gave you this link https://github.com/bclermont/states and you ignored it. and I gave it 2 more times in the following weeks
10:10 badon joined #salt
10:10 Outlander joined #salt
10:11 jalaziz joined #salt
10:12 ganes Furao: that link not cover my topics
10:13 ganes Furao: I totally confused
10:13 ganes Furao: u understood my expectation
10:15 giantlock joined #salt
10:15 viq ganes: you have wrong expectations. Formulas do stuff _on_ nodes. To _create_ nodes you need salt-cloud
10:15 ganes I am having master and slave setup already..... simple formula for cloud provisioning in any provider with out configuration in my master?
10:18 ganes but we can provision or list through command line  right ?   with configurations in /etc/salt/cloud
10:19 viq I believe so, yes
10:19 ganes like salt-cloud  -p hp_cld salt-test
10:19 ganes it provision a server in hp
10:19 ganes then why cant through salt formulas any restrictions?
10:20 viq because those are different tools, and do different things
10:20 viq It's like expecting ssh to be a file server
10:22 ganes anything....what can i do for my needs? or it is possible through on ly command line........
10:23 phx what does that dash mean in the jinja templates? sometimes i just see {% %}, sometimes {%- %}, and sometimes {% -%}, and i cannot find a lot on this
10:23 viq What are your needs?
10:23 viq phx: remove whitespace
10:23 babilen phx: Whitespace control (i.e. removal)
10:23 phx remove leading/trailing whitespace of the generated code?
10:23 babilen phx: http://jinja.pocoo.org/docs/dev/templates/#whitespace-control
10:23 phx s/code/text/
10:24 ganes viq:  salt-cloud  -p hp_cld salt-test  .......this concept can handle throgh formulas r n ot
10:24 phx i see thanks
10:25 viq ganes: no, I don't think so
10:25 TyrfingMjolnir joined #salt
10:25 babilen ganes: Formulas aren't for that and I don't understand what you even mean by using a formula in lieu of "salt-cloud  -p hp_cld salt-test". FWIW, salt-cloud is a command line tool so I am also not sure what you mean by "only from command line"
10:26 ganes no what are all actions we can do with salt-cloud commands that is possible throgh formulas?
10:29 ganes formulas with cloud providers and profiles details we can do cloud operations?
10:29 babilen What does that mean? salt-cloud is a tool, while formulas are collection of states that are being configured through pillars.
10:30 ganes kk...in ur way formulas are collection of states that are being configured through pillars we can do any operations with any provider?
10:31 babilen ganes, please
10:31 babilen What are you really trying to do?
10:32 _mel_ joined #salt
10:32 ganes see i am having salt master setup,
10:32 TyrfingMjolnir joined #salt
10:32 ganes i provision a server in aws and hp cloud through salt-cloud cli commands...
10:33 ganes not only provisioning , listing and many  k
10:33 zadock joined #salt
10:33 ganes i am clear wth this
10:33 babilen "and many k" what do you mean by that?
10:33 babilen Why many k and not one and what is "k" ?
10:34 ganes it means more action items and "k" means just ok
10:34 slafs joined #salt
10:35 _mel_ Hi. i try to use " win_servermanager.installed". can i somehow append an option like "-source c:\source"
10:35 ganes babilen: conf in /etc/salt/cloud  for cli commands these and all okfor me
10:36 ganes now i need to do this all actions through formulas ... thars all
10:36 slafs left #salt
10:36 babilen ganes: No, forget about formulas. What are you trying to do that you cannot do with salt-cloud?
10:37 babilen (or why do you think formulas are what you need?)
10:37 ThomasJ Anyone familiar with salt and file descriptor usage? Running 2014.7.0 master and minions, and each Linux minion uses 25 file descriptors on the master, and windows ones seem to be bugged as they using default configuration causes anywhere from 5k to 10k file descriptors
10:37 mndo joined #salt
10:37 viq Or, to expand on that - what do you think formulas are?
10:38 Grokzen joined #salt
10:38 ganes babilen: i can do all actions through salt-cloud ....that is not my Question....
10:38 babilen So why don't you do that?
10:39 babilen (and I would also be interested in the answer to viq's question)
10:40 ganes hmmm... i am creating a service for our application....in that cloud actions need in formulas not in cmd line
10:41 xsteadfastx joined #salt
10:41 babilen Please try to say what you want to do without using the word "formula"
10:42 babilen And why can't you use salt-cloud? What is it about your setup that prohibits you from using it?
10:42 karimb joined #salt
10:42 ganes becoz in application we cant interrpt with cmd line right...just schedule the states and execute
10:42 esharpmajor Anyone using salt and orchestration to trigger backup runs? My thinking is a schedule on master triggers a series of jobs on the minions...
10:42 esharpmajor Targetting specify relevant folders for duplicity etc..
10:43 viq ganes: please explain what you think formulas are
10:44 ganes Viq: formulas are collection of states that i kn ow..
10:44 xsteadfastx joined #salt
10:45 viq ganes: right. So now try again explaining what you're trying to do without using the word "formula"
10:45 viq esharpmajor: why orchestration?
10:46 viq esharpmajor: wouldn't http://docs.saltstack.com/en/latest/topics/jobs/schedule.html suffice?
10:46 ganes cloud activities can do anyother way without command line?
10:46 viq ganes: what are you trying to do?
10:47 karimb joined #salt
10:47 ganes list the security groups or key pair or create  and delete in amazon or hp
10:48 viq ganes: maybe salt-api would let you do that?
10:48 phx ganes, you can access most of the functionality from the python API as well, with this you can integrate practically everything into other management stuff that salt manages
10:49 esharpmajor Viq: there's some confusing / unfamiliar language in schedule, does the master cause the scheduled jobs to run, or the minions individually? If scheduled by master, then it seems you need a runner, not a function, which lead me to orchestration
10:50 esharpmajor I would like all jobs to start at approx the same time (e.g. midnight), but sequentially, to reduce load
10:51 ganes api's are available for all cloud actio items??
10:51 viq esharpmajor: from reading the page it seems like you can schedule states. I think if it's in pillar, it's the minion that "decides" to run it. I don't know if schedule supports batching, doesn't look that way
10:52 viq esharpmajor: it would be trivial to run that way from CLI, but don't know from scheduler. Unless you used some external locking mechanism
10:52 TyrfingMjolnir joined #salt
10:54 tux_ joined #salt
10:55 tux_ hello everyone, has anyone managed to run the bootstrap script on a centos 6.5? for me its not working
10:57 esharpmajor Viq: thanks, that's the conclusion I came to also. Nice to get confirmation. That notwithstanding, it seems doing this with salt beats any manual thing held together with ssh and bits of string
10:59 tux_ http://pastie.org/9865100 its allways failing on install_centos_check_services
10:59 tux_ any ideas?
10:59 xsteadfastx joined #salt
11:00 tux_ would be nice because our infrastructur relies on centos 6.5
11:01 otter768 joined #salt
11:02 viq esharpmajor: if you already have infrastructure, you could modify the backup script to eg try to get a lock on say central mysql server, and wait if it can't
11:04 viq tux_: maybe modify the ssh invocation to add -v and try again, see if that would give any hints. I wonder what "profile error" means
11:04 ralala joined #salt
11:05 viq esharpmajor: or, a hackish way, put on master in cron "salt \* -b 1 state.sls backups"
11:05 esharpmajor Viq: interesting, this could also scale to N simultaneous jobs, where N is something sensible in terms of the target drives
11:06 esharpmajor Viq: yes, I saw that hack also.. actually wouldn't be too horrible, easy to understand and manually test
11:06 viq esharpmajor: aye. Only question remains what to do with the output
11:07 esharpmajor Viq: pgsql returner I think ;)
11:07 viq esharpmajor: or syslog, whatever blows your float ;)
11:09 esharpmajor viq: ;)... we are currently using bacula, so the database log is familiar, but that could be Stockholm syndrome
11:12 viq haha
11:12 viq I want to try bacula for my home needs, didn't get around to it yet
11:13 ptinkler I'm trying to put a template value in a state, basically require `{{ some_variable }}.txt` file, and `some_variable` be production/development etc based on which environment I'm provisioning for
11:13 ptinkler where can I read up more on this? i  don't know what topic to search for :)
11:14 ralalala joined #salt
11:19 esharpmajor viq: it is a very powerful system, but making it work on removable disks is a nightmare, and the database gets confused, schedules lots of seemingly uncancellable jobs (you can cancel them, but they come right back), and things go south from there
11:19 heaumer hi; how can i "wrap" every functions exported by a module? (to log which functions/argument/at which time is called into some private file)
11:20 viq esharpmajor: eh :( Right now I kinda have backuppc, but it somewhat died on me, the web panel part anyway
11:21 calvinh joined #salt
11:22 agend joined #salt
11:22 esharpmajor viq: I've heard good things about burp for small/home use... my plan for the work system is pare it right back to a simple scheduler and duplicity... much easier to repair problems without fighting the software
11:22 bhosmer joined #salt
11:22 calvinh_ joined #salt
11:22 bhosmer joined #salt
11:22 viq mhmm
11:23 viq you know of duply? Handy frontend for duplicity
11:24 esharpmajor viq: saw it on my travels, will probably end up using it
11:26 viq I'm thinking of trying to use it with hubic for off-site backups
11:30 esharpmajor viq: wow, their prices are incredibly reasonable
11:30 heaumer oh, in case someone is interested, decorators seems to match (http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/)
11:30 viq yeah, though amazon glacier would probably beat them
11:31 esharpmajor a bit over 1c/GiB on glacier from memory
11:31 esharpmajor but glaicer is tape-backed, whereas it seems hubiC is near-line
11:34 viq so 10 USD for 1 TB and 100 for 10? Huh, hubic _is_ cheaper
11:35 esharpmajor http://aws.amazon.com/glacier/pricing/
11:35 esharpmajor viq: yes, significantly so
11:36 viq shame it's more awkward to access
11:37 esharpmajor viq: I suspect they are relying on overselling to keep their prices down, i.e. most people on the 10TiB plan won't use anything close to that
11:37 viq probably, yeah
11:38 calvinh joined #salt
11:38 philipsd6_ query esharpmajor
11:41 jtang backblaze is reasonably priced
11:47 aqua^mac joined #salt
11:47 viq jtang: does backblaze run on BSDs ?
11:48 CeBe joined #salt
11:52 calvinh_ joined #salt
11:56 elfixit joined #salt
11:57 jtang viq, not that i am aware of
11:57 jtang I think they may offer an API if you really need it
12:00 viq jtang: their offering does seem interesting, but I don't think I could easily use it
12:02 jtang yea, back blaze is nice for certain things
12:02 jtang they are cheap compared to amazon
12:02 jtang we tend not to use too many of those services in our work place, it's just asking for trouble if you need to backup 50tb+
12:04 trikke joined #salt
12:07 monkey66 joined #salt
12:08 xsteadfastx joined #salt
12:08 slafs joined #salt
12:08 slafs left #salt
12:09 xsteadfastx joined #salt
12:11 slafs joined #salt
12:11 slafs left #salt
12:16 Jahkeup joined #salt
12:16 tux_ is there any possibility to change the vmware network interface with salt-cloud
12:22 hvn joined #salt
12:25 the_drow joined #salt
12:27 diegows joined #salt
12:33 hasues joined #salt
12:34 monkey66 left #salt
12:35 hasues left #salt
12:42 toanju joined #salt
12:50 bhosmer_ joined #salt
12:51 intellix joined #salt
12:52 linjan joined #salt
12:53 LookThrough joined #salt
12:53 LookThrough WHO LOVES SALT?
12:53 TheThing me o/
12:54 tkharju joined #salt
12:55 LookThrough Take lots of it
12:55 LookThrough To induce heart failure
12:55 LookThrough left #salt
12:56 ughloru joined #salt
12:56 elfixit1 joined #salt
12:59 GabLeRoux joined #salt
13:00 karimb joined #salt
13:01 gngsk joined #salt
13:01 Furao joined #salt
13:02 otter768 joined #salt
13:03 che-arne joined #salt
13:07 aquinas joined #salt
13:08 Nazzy joined #salt
13:15 wm-bot4 joined #salt
13:16 Nazca__ joined #salt
13:17 bhosmer_ joined #salt
13:21 Furao troll robot?
13:24 CeBe1 joined #salt
13:26 lothiraldan joined #salt
13:31 hvn joined #salt
13:35 aqua^mac joined #salt
13:36 housl joined #salt
13:36 johnkeates joined #salt
13:38 jerematic joined #salt
13:38 johnkeates does anyone know when 2014.7.1 is due to be installed in the debia repo?
13:39 bretep joined #salt
13:40 Andre__ joined #salt
13:44 nkuttler johnkeates: well, it's already in experimental
13:45 nkuttler probably when the freeze is over. or never if another salt gets released before that...
13:45 nkuttler johnkeates: i just use the saltstack.com repos
13:52 numkem_ joined #salt
13:59 Guest72230 Hello, anyone here who have time for a question?
13:59 bhosmer_ joined #salt
14:00 jeremyr joined #salt
14:01 johnkeates I'm using the saltstack repos too, but it's not in there :)
14:02 johnkeates nkuttler: do you have 2014.7.1 via the saltstack repo?
14:03 kitp joined #salt
14:03 nkuttler johnkeates: oh sorry, no 2014.7.0
14:04 JDiPierro joined #salt
14:07 babilen It has not been packaged yet
14:08 nitti joined #salt
14:08 _JZ_ joined #salt
14:10 jer__ joined #salt
14:11 ponpanderer joined #salt
14:11 ponpanderer Hello
14:12 one joined #salt
14:12 johnkeates where do I check for packaging status? I'm having trouble finding information on release schedules etc
14:13 ponpanderer I started using the 'Minion' field that appeared in responses in 2014.7 that list the minions targeted by the action. I was just testing the master_job_cache with Redis and noticed in that case it does not populate a list of targeted minions. Bug? By design? Another way to get a list of targeted minions as a workaround?
14:16 analogbyte ponpanderer: do you mean the minions set in redis in not populated?
14:16 timoguin joined #salt
14:16 yetAnotherZero joined #salt
14:16 StDiluted joined #salt
14:17 analogbyte that would be a bug I guess, it works fine for me with ext_job_cache, which should amount to the same thing as I understand it
14:17 abe_music joined #salt
14:18 ponpanderer analogbyte: yes, the field isn't part of the job. in 2014.1 there was no 'Minions' in the response (list of just names matched by the compound target). noticed in 2014.7 it appeared and was quite useful, unfortunately it doesn't create the field when using redis and then doing a jobs.print_job
14:21 analogbyte ponpanderer: ah, you mean within the return data? I did not even notice that field yet, as I am looking at my return data mostly through redis... that one does not appear with ext_job_cache either
14:21 bhosmer_ joined #salt
14:22 ponpanderer analogbyte: ok, makes sense. I like the field as from a script I can tell if the job is actually done or not (by comparing the list of minions targeted to those that actually replied)
14:23 ponpanderer know of another way to get a list of instances that would be targeted by an action (as a workaround just backfilling that on job creation would be "ok" for now)
14:25 zadock joined #salt
14:27 dude051 joined #salt
14:29 _two_ joined #salt
14:30 intellix joined #salt
14:30 schlueter joined #salt
14:31 NV joined #salt
14:32 hvn joined #salt
14:32 yomilk joined #salt
14:33 yetAnotherZero joined #salt
14:33 yetAnotherZero joined #salt
14:33 ptinkler If i have a code repo that I want to use salt masterlessly with, but I want to be able to set out whether it's a dev/prod environment being privisioned, how can I do that? I understand it's usually done with minion id's but I don't know how to have a dynamic minion id with only one minion config file
14:36 signull joined #salt
14:39 mdupont joined #salt
14:39 mpanetta joined #salt
14:40 stoogenmeyer_ joined #salt
14:41 scoates_ joined #salt
14:42 redzaku joined #salt
14:42 toanju joined #salt
14:43 kaptk2 joined #salt
14:50 monkey66 joined #salt
14:53 Brew joined #salt
14:55 berserk joined #salt
14:56 smcquay joined #salt
14:58 mohae joined #salt
15:01 JDiPierro joined #salt
15:03 otter768 joined #salt
15:07 twellspring joined #salt
15:09 gladiatr joined #salt
15:10 berserk_ joined #salt
15:11 TheoSLC joined #salt
15:13 felskrone joined #salt
15:13 kermit joined #salt
15:13 _prime_ joined #salt
15:13 kermit joined #salt
15:15 analogbyte ponpanderer: you can't do that on data from redis alone... you'd have to investigate why the following ret instance does not contain a minions field
15:15 analogbyte https://github.com/saltstack/salt/blob/develop/salt/returners/redis_return.py#L88
15:16 analogbyte but as I said, I have not yet managed to see a minions field containing targeted minions... how do you do that?
15:17 trikke joined #salt
15:18 andrew_v joined #salt
15:22 ALLmightySPIFF joined #salt
15:22 mdasilva joined #salt
15:22 mdasilva morning all
15:23 hasues joined #salt
15:23 JDiPierro Good morn!
15:24 aqua^mac joined #salt
15:24 hasues left #salt
15:25 ALLmightySPIFF joined #salt
15:26 monkey66 left #salt
15:26 ekristen joined #salt
15:29 Deevolution Good morning.
15:29 Deevolution Anyone using pillar based schedules in 2014.7.0?
15:29 Deevolution I'm having some issues where sometimes they aren't getting applied to a node.
15:29 Deevolution Can't seem to figure out what exactly is going on.
15:30 iggy scheduling in general seems sketchy
15:31 iggy start low... make sure you can run whatever it is manually
15:31 iggy then up debugging and check in the minion logs
15:32 Deevolution iggy:  That all works fine.  I applied the same schedule to 2 minions.  1 is running it fine, the other is not.
15:32 iggy I got that
15:32 iggy are both minions _exactly_ the same? Probably not
15:32 Deevolution iggy:  I've been able to recreate this in a test system (Vagrant).  Sometimes the pillar schedule works, sometimes it doesn't.  There's nothing in debug logs showing why this would be the case.
15:32 iggy so you could have problems on one (missing python module, broken library, etc.)
15:33 TyrfingMjolnir joined #salt
15:33 Deevolution You're probably correct.
15:33 iggy then open a ticket
15:33 ptinkler viq: with vagrant +  salt is there any way of making the salt-call state.highstate run with args?  I want to do `salt-call state.highstate env=dev` ideally without resorting to shellscript to kick it all off.. but if that's the only way?
15:33 jeffspeff joined #salt
15:33 Deevolution I shall.  Just not sure how to put it since I can't give a precise way of recreating this.
15:33 Deevolution Thanks.
15:33 dober joined #salt
15:34 iggy give as much info as possible, hopefully they can reproduce it or give you some debug tips to help track it down
15:34 pipeep joined #salt
15:34 jeffspeff joined #salt
15:34 abe_music_ joined #salt
15:36 jeffspeff joined #salt
15:36 viq ptinkler: the initial one? You can configure vagrant to _not_ run highstate, and then run it by hand, for example
15:36 msheiny joined #salt
15:36 JDiPierro OOOoo is 2014.7.1 officially released?
15:36 JDiPierro Just noticed the docs say 'Latest Salt release: 2014.7.1'
15:38 ptinkler viq: Yeah the initial one. I guess running it by hand isn't terrible but it's an extra step that removes some of the automation so it's a little annoying
15:39 ptinkler i hoped vagrant-salt would have a way of letting me pass arguments
15:39 murrdoc joined #salt
15:40 calvinh joined #salt
15:40 Roee joined #salt
15:40 Roee Hi All,
15:41 Grokzen joined #salt
15:41 Roee someone may met a problem that a minion get sleeping
15:41 GabLeRoux @ptinkler maybe you can have a look at https://github.com/notanumber/django-vagrant for arguments, run startproject as he mentions so it compiles template tags, will be easier to read. I think it does some cool things to determine if salt is managed on a vagrant server instead of a prod server.
15:41 toanju joined #salt
15:41 Roee I mean, i'm trying to run a state on a minion
15:41 Roee and it returns nothing
15:41 iggy JDiPierro: yes
15:42 Roee and after few tries its coming up and response
15:42 JDiPierro Really happy to see pillar and compound matching re-enabled
15:42 Roee very strange
15:42 iggy Roee: yes, it's a fairly common issue
15:42 Roee how can i solve this ?
15:42 iggy I personally just run some test.ping's before I start working
15:42 Roee should i run a pings to all of my minions to disturb them from fell a sleeping ?
15:42 TheoSLC Celebrate.  2014.7.1 is the latest release!
15:43 TheoSLC EPEL builds are usually not far behind.
15:43 iggy Roee: I'm not sure anyone has figured out a good fix for the problem
15:43 Roee there is nothing smarter to do then run pings ?
15:44 iggy Roee: if you don't mind my asking, what kind of network setup do you have?
15:44 Roee all of my servers are running in AWS
15:45 iggy yeah, virtual networks seem to show it worse than others
15:46 Roee hmm
15:46 ptinkler GabLeRoux: thanks, I think that uses grains to work it out. I guess I could look into that a bit :)
15:46 Roee i saw something such change the "random_reauth_delay"
15:46 Roee in the minion
15:46 Roee did you tried this ?
15:48 felskrone Roee: how many minions do you have?
15:48 Roee not very much around 60
15:49 felskrone then you wont need that. the random_reauth_delay is to protect the master from being flooded on aes_key rotation
15:49 Roee ahhh
15:49 Roee ok
15:49 felskrone it has nothing to do with the problem you describe
15:50 Roee so, you also suggest to start running pings before starting a state ?
15:50 GabLeRoux ptinkler: sure, that's probably the way to go. Good luck
15:51 felskrone well, the "sleeping minions" issue is well known but the reasons seem to vary in in the setups. for some its virtual networks, for others its the aes_key rotation.
15:52 felskrone if you have a static set of minions, you can disable the aes_key rotation and see if that helps. if your setup is rather dynamic, i dont advise to do that
15:52 felskrone probably the easiest way it a little cronjob that pings the minions every 15min or so
15:53 murrdoc or
15:53 murrdoc just setup a mine function
15:53 murrdoc and a refresh
15:53 Roee what do you mean "static" and "dynamic"
15:53 felskrone yeah, thats the other way around, keeping the minion up to date instead of having the master do it :-)
15:53 Roee ok
15:54 Roee so cron with pings every 15 min
15:54 murrdoc state.scheduled > cron
15:54 Roee will solve the problem ?
15:54 felskrone Roee: dynamic being the minions changing regularly, like a aws instances coming an´d going. static being your 60 minions dont change unless you delete/add them manually
15:54 Roee ahh ok
15:54 iggy we have mine refresh set to 5 mins and we still end up with out-to-lunch minions
15:54 iggy so I don't think that's enough
15:55 Roee so what are you suggest
15:55 felskrone Roee: if you disable aes_key rotation for any reason, understand what that means before you do it please :-)
15:55 Roee ok, thanks...
15:55 kermit joined #salt
15:55 calvinh_ joined #salt
15:56 felskrone as i said, the by far easiest way is the cronjob
15:56 nitti_ joined #salt
15:57 Roee I will try this... thanks !
15:57 Roee does someone also using salt as a deployment tool ?
15:58 Roee I'm now dealing to build the right salt architecture to perfrom installation
15:58 Deevolution Roee:  I'm using salt to deploy other software.
15:58 calvinh_ joined #salt
15:59 viq ptinkler: I don't really know, sorry
15:59 Roee with consideration of, servers releases and customers
15:59 Roee already finished to built the states
15:59 Roee and the pillars
15:59 bfoxwell joined #salt
15:59 calvinh joined #salt
16:00 Deevolution Roee:  I'm primarily using modules to handle deployment tasks.  We have some states that are used to setup requirements or where modules didn't quite fit.
16:00 Roee but now i'm not sure what is the right way of installation specific component on a specific minion
16:01 kawa2014 joined #salt
16:01 Roee but how you are tracking versions
16:01 Roee let's say that each server has different version of component
16:02 Deevolution Primarily via grains.
16:02 Deevolution Our installation modules use grains/pillar data to figure out what version should be installed and if there is work to do.
16:03 jrluis1 joined #salt
16:03 Roee and in the higher level, lets say that each customer have a different architecture e.g : for one customer one server is "oneclick" (all components in one server) and for other customer each component installed on a different server
16:04 Deevolution Pillar data is how we're managing that kind of thing.
16:04 Deevolution Pillar for each server represents what pieces are supposed to be installed.
16:04 Roee i'm using pillar to manage version
16:05 Deevolution Say:  Server 'A' gets components 1,2,3 (the full system), Server 'B' gets 1,2 and Server 'C' only gets 3.
16:05 Deevolution The pillar data can show that, and can also provide configuration information (associating 1,2 on server 'B' with 3 on server 'C'.
16:05 Roee (although that after each installation i need to manually modify the pillar with the updated data
16:05 mdasilva Roee: i use salt for deployment
16:06 Deevolution Roee:  I'd recommend that you have pillar drive the deployment, not the other way around.
16:07 mdasilva i set a grain to define the product class, which in turn then pull product bundles/versions from a pillar file
16:07 mdasilva all specifics are in the pillar
16:07 Roee what do you means ? that the pillar drive the deployment ?
16:09 Deevolution Roee:  That your deployment states/modules read from Pillar to determine what to deploy and how to configure it.
16:09 Roee I created a script the before every installation it creates the pillar with the updated arguments for the installation - then the states takes the arguments from that pillar
16:10 felskrone How do you guys (and girls) handle the versioning of your custom modules and deploying them to your minions? after a saltutil.sync_all there is no definite version you could report to your master.
16:10 notnotpe_ joined #salt
16:10 eriko joined #salt
16:10 MorbusIff joined #salt
16:11 rawzone^ joined #salt
16:13 capricorn_1 joined #salt
16:13 clone1018_ joined #salt
16:13 Deevolution felskrone:  All our salt code is in git by environment, so there's an assumption that each minion will have the same version (post sync_all) as that environment's git.
16:14 johnkeates joined #salt
16:14 mik3_ joined #salt
16:14 ptinkler abstract question: all the examples of website (e.g.) deployment seem to involve using salt:// to serve the website files. Who exactly is committing project code into their salt-master repo in order to allow that?
16:15 amatas_ joined #salt
16:15 JDiPierr_ joined #salt
16:15 johnkeates i have a crappy netcon, i asked before, but i'm not sure of the answer yet :p here goes again: where does one find the status on the packaging for the saltstack repo?
16:15 felskrone Deevolution: how do you verify that all your minions are up to date? after a sync there is no git-hash you could check on a minion
16:16 arif-ali_ joined #salt
16:16 mdasilva ptinkler: id recommend using the appropriate version control state to pull down content
16:16 robawt1 joined #salt
16:16 mdasilva define what/where to pull that with pillar definitions
16:16 ptinkler mdasilva: ok, so they're just using salt:// as an example?
16:16 mdasilva ptinkler: sure
16:16 hellerbarde_ joined #salt
16:16 ptinkler ok, thanks
16:17 Deevolution felskrone:  I tend to assume that they're not up to date, so usually I run a sync_all before doing anything.
16:17 mdasilva ptinkler: salt is super flexible find what makes sense to you
16:17 Deevolution I suppose it's mostly unnecessary, but it ensures I have the expected version.
16:17 monkey66 joined #salt
16:17 lothiraldan_ joined #salt
16:18 leszq joined #salt
16:18 clintberry joined #salt
16:18 felskrone Deevolution: now assume that you have 15.000 minions that need to be up to date if you change something in a module. i wonder how to do that properly :-)
16:18 ponpanderer joined #salt
16:18 Ahrotahntee joined #salt
16:18 Ahrotahntee joined #salt
16:19 scooby2 joined #salt
16:19 Deevolution felskrone:  LOL.  Bit more then I"m dealing with at the moment.  Add a version string to the module and a grain to pull out that version? (off the top of my head).
16:19 Grokzen felskrone, python package them?
16:19 eagles0513875 joined #salt
16:19 lothiraldan_ joined #salt
16:20 felskrone Grokzen: that is actually the only idea i have at the moment, automate packaging and report that packages version to the masters
16:20 clintberry joined #salt
16:20 Guest76429 joined #salt
16:20 hvn joined #salt
16:21 felskrone but that package would need to do all the stuff the minion does on a sync, might be tricky
16:21 linjan joined #salt
16:21 Deevolution You could have a module that just thinly wraps your python package and thus just use the versioned python package.
16:22 wm-bot461 joined #salt
16:23 TheoSLC joined #salt
16:23 jalbretsen joined #salt
16:23 jla joined #salt
16:23 dude051 joined #salt
16:24 felskrone hm, i would prefer is salt could do that somehow, maybe i have a look at the code and add that as a feature. i definitely not the only who would like that i think
16:24 __number5__ joined #salt
16:24 Mindfartio joined #salt
16:25 sifusam o
16:26 sifusam I'm looking for some pointers on getting tags defined for ec2 instances
16:26 sifusam I know I can use salt-cloud from the cli, but would like to do so via a custom module?
16:26 StDiluted joined #salt
16:27 Mindfart joined #salt
16:27 ponpanderer asked earlier, but maybe a different crowd here now will have an answer: is there a way to see what minions the targeting will match instead of just waiting on responses for a jid and hoping all that were supposed to be targeted replied?
16:27 racooper joined #salt
16:27 sifusam I may have found it. looks like I overlooked the salt module "clouds"
16:28 sifusam s/clouds/cloud/
16:28 Deevolution ponpanderer:  As far as I know, it's not possbible
16:28 Deevolution I usually just do a salt -v 'WHATEVER' test.ping
16:28 peters-tx Same here
16:29 wm-bot461 joined #salt
16:29 ponpanderer as of 2014.7 this appears in the job as a list named 'Minions', but unfortunately using master_job_cache = redis that field seems to be omitted/forgot/bug when the feature was added to 2014.7 sadly
16:30 ponpanderer generally i compare the Minions list VS the Result and consider a job "done" when all minions expected to reply have replied
16:32 ajw0100 joined #salt
16:33 doobi-sham-96336 joined #salt
16:34 jrluis joined #salt
16:35 theologian joined #salt
16:36 jla I'm trying to dive into Salt Stack again. I dove in a while ago and started getting some understanding. I remember jobs are fired off and if they take too long you can look them up, but I've forgotten and am failing to find where that is documented.
16:37 lothiraldan jla: salt-run jobs.list_jobs
16:37 lothiraldan jla: http://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.jobs.html
16:37 jla lothiraldan: thank you
16:38 nitti joined #salt
16:38 jla I went through the tutorials and initial chapters again and missed that. I don't know where I learned about it before. Maybe a video. This helps. Thanks
16:38 agend joined #salt
16:38 nitti joined #salt
16:39 lothiraldan jla: I'm also developing a web UI for launching jobs and showing past jobs, it may be useful to you, still in beta: https://github.com/tinyclues/saltpad
16:40 jla cool
16:41 Grokzen joined #salt
16:42 jla I just read about Salt Runners (1.25) and it says they can be synchronous or asynchronous, but I don't see in that page or the one about salt-run any way to specify which way it's run. Is that up to the module writer?
16:42 analogbyte can somebody verify that jinja rendering of variables which are passed into a template via defaults or context is broken when using file.append?
16:42 I3olle joined #salt
16:43 Guest76429 left #salt
16:43 I3olle hey there.
16:44 I3olle is there a way to use a path on the salt master as target directory when using file.managed?
16:44 I3olle so that it can generate files on the salt-master basedon pillars and grains from the minions?
16:44 totte joined #salt
16:46 conan_the_destro joined #salt
16:46 Ahlee I3olle: file.managed uses your file_roots, and I believe returns first match
16:47 nitti joined #salt
16:47 tligda joined #salt
16:48 I3olle so looking at this i would have to add a line with the master server address in here?
16:48 I3olle http://docs.saltstack.com/en/latest/ref/configuration/master.html#file-roots
16:49 I3olle somehow this doesn’t feel right
16:50 Ahlee so the way file.managed works, if template: jinja is specified is the file is rendered on the master and then sent to the minion, filling in any jinja values prior to sending down
16:51 perfectsine joined #salt
16:51 Ahlee if template: jinja is excluded it just moves the raw file
16:51 Ahlee if you need finer grain control over file versionings you'll need to explore environments
16:51 schlueter1 joined #salt
16:51 __JZ__ joined #salt
16:51 jer__ joined #salt
16:52 I3olle and i don’t want it to send it to the minion. i just want it to access the pillars and grains and create the files on ethe master itself
16:53 tligda1 joined #salt
16:53 I3olle and yes i have the template included
16:53 Ahlee the design paradigm then would be to run a minion on your master, target your master's minion and have it render the file out
16:55 babilen joined #salt
16:56 APLU joined #salt
16:56 JDiPierro joined #salt
17:00 twellspring Anyone know state/formula for attaching storage disks to Rackspace servers?
17:01 I3olle Ahlee: thank you for helping me. i don’t think that your solution is what i want. maybe i misunderstand you. maybe i need to state my goal a bit clearer: i want to go through all my minions, read out specific grains and pillars, generate files on my master and then send them over to another minion. yes i know about the mine but i don’t want my minions to have access to other minions data
17:04 Ahlee I3olle: ah.  Ok.  In that case, you might be able to do what you want with a runner.  It executes on the master, should have full access to a __grains__ and __pillars__, etc
17:04 thehaven joined #salt
17:04 lothiraldan jla didn't know about runners that can be asynchronous
17:04 otter768 joined #salt
17:05 jla lothiraldan: I'm just going off of 1.25.3 here: http://docs.saltstack.com/en/latest/ref/runners/ I may be barking up the wrong tree and that aspect is unrelated to what I'm digging for. Still researching
17:05 neogenix joined #salt
17:05 I3olle Ahlee: oh. i see. i haven’t used runners yet but i read about them in the docs a few times. i’llprobably have to read up on them a bit more. thanks for hinting me in the right direction
17:06 jer__ joined #salt
17:06 Ahlee I3olle: no problem, sorry about the misunderstandings initially
17:06 kalessin joined #salt
17:07 ChrisC1 joined #salt
17:07 ChrisC1 left #salt
17:07 Ahlee I3olle: also, if you're not afraid to get your elbows a little dirty, you can write straight python (via LocalClienet (http://docs.saltstack.com/en/latest/ref/clients/) and just do it all yourself with calls out
17:08 I3olle Ahlee: maybe that’s even better
17:08 I3olle thanks again
17:08 I3olle gotta go already
17:08 I3olle have a nice day
17:09 jla Is there a way to get the salt or salt-run command to return it's jid? I'm not finding it on the salt or salt-run man pages or in http://docs.saltstack.com/en/latest/topics/jobs/
17:09 Ryan_Lane joined #salt
17:09 Ahlee jla -v
17:09 peters-tx joined #salt
17:09 jla Ahlee I can't believe I overlooked that, ty
17:10 Ahlee np
17:13 mgariepy joined #salt
17:13 aqua^mac joined #salt
17:14 GabLeRoux joined #salt
17:14 mgariepy hello, i would like to know if it's possible to trigger a state.highstate when a number X of minions are up
17:14 Tyrm joined #salt
17:15 schlueter joined #salt
17:17 aparsons joined #salt
17:19 SheetiS joined #salt
17:20 FRAN_T joined #salt
17:20 FRAN_T I am getting this problem in my salt-master
17:20 FRAN_T [WARNING ] Unable to bind socket, error: [Errno 98] Address already in use
17:20 FRAN_T The ports are not available to bind
17:21 signull joined #salt
17:21 twellspring FRAN_T:  is it possible salt-master is already running?   I have seen salt not shut down properly when I did a server salt-master restart and have similar problems.
17:22 imaack joined #salt
17:22 FRAN_T twellspring I restart the Server....
17:23 FRAN_T Same problem :(
17:23 KyleG joined #salt
17:23 KyleG joined #salt
17:23 twellspring try stopping the server.  Then do ps -ef | grep salt-master
17:23 twellspring to see if something is still running
17:24 murrdoc pkill -f salt
17:25 FRAN_T root       2691   1503  0 12:24 pts/0    00:00:00 grep salt-master
17:25 FRAN_T this is what I get
17:25 twellspring try  ps -ef | grep salt
17:25 jla also netstat -tln | also netstat -tlnp | egrep '(4505|4506)'
17:25 twellspring not sure if salt-master is platform specific.
17:25 jla sorry, paste fail: netstat -tlnp | egrep '(4505|4506)'
17:26 FRAN_T jla nothing
17:26 FRAN_T I ran salt-master --log-level=debug
17:26 jla FRAN_T: is this a virtualized system, maybe using containers?
17:26 FRAN_T I get stock here
17:26 FRAN_T [INFO    ] Worker binding to socket ipc:///var/run/salt/master/workers.ipc
17:27 FRAN_T Yes it is jla
17:27 wt joined #salt
17:27 jla in some containers, if the host system has bound to a port the container can't
17:27 linjan joined #salt
17:27 wt Is there a way to set a variable (like a version number) so that it can be used from both jinja and pyobject states?
17:28 wt well, really python states
17:28 jla eg, if the host is running ssh on port 22, the container can't bind to the same ip and use port 22 (and there is conflict with "localhost" on some container systems)
17:28 FRAN_T got it
17:28 thedodd joined #salt
17:28 FRAN_T jla I have another problem
17:28 jla the solution is usually to get the host to stop binding *:port and bind ip:port so other_ip:port works for container
17:28 FRAN_T I configure my minion
17:29 ralalala joined #salt
17:29 FRAN_T I get this on my master
17:29 FRAN_T [DEBUG   ] This salt-master instance has accepted 0 minion keys.
17:29 FRAN_T I cannot see the keys
17:30 dave_den joined #salt
17:30 jla salt-key -L to list
17:30 jla http://docs.saltstack.com/en/latest/ref/cli/salt-key.html
17:30 FRAN_T I did
17:30 snave joined #salt
17:31 FRAN_T I will show you mi minion output
17:31 jla it doesn't list any unaccepted or rejected keys? then it sounds like minion has not contacted master
17:31 wt FRAN_T, is this a fresh minion?
17:32 FRAN_T Look https://www.refheap.com/45fc0775e2d31fb7f166c0f36
17:32 johnkeates for some reason some minions decide not to reconnect to the master after a master reboot, the docs don't say much on that, anyone have any ideas?
17:32 wendall911 joined #salt
17:33 FRAN_T wt I just install the minion and configure master
17:33 FRAN_T .
17:33 FRAN_T I configure /etc/salt/minion
17:34 wt Do you have a master and minion config that you can share?
17:34 stevednd johnkeates: are the minion services still running? If they're not configured with something that keeps them running even when they die then if the master takes too long to come back they will stop
17:34 mschiff does salt require a special version of pygit2? I have 0.22 but salt master does not find it and asks if GitPython is installed...
17:34 johnkeates stevednd: checking...
17:35 wt Also, are you 100% sure that they are the same version?
17:36 amustafa joined #salt
17:36 FRAN_T wt yes
17:37 wt FRAN_T, Are you using filesystem backends?
17:37 wt s/filesystem/fileserver/
17:37 teskew joined #salt
17:37 FRAN_T no
17:37 wt as opposed to local files?
17:37 wt ok
17:37 FRAN_T this is brand new
17:38 johnkeates stevednd: seems like the daemon died indeed, so salt-minion should be monitored locally and restarted if it dies i guess
17:38 wt FRAN_T, did you share your configs?
17:38 FRAN_T I do not know what is the problem I been working with salt for the last 2 month  now I created a VM for production and I cannot see the minion and I do not know why :(
17:38 FRAN_T no give me a sec
17:39 johnkeates use a telescope
17:39 amustafa hey guys, is there a way to see the last time a minion connected aside from digging through logs?
17:39 wt Was the minion talking to another master before?
17:39 stevednd johnkeates: yes. upstart, runit, supervisord. whatever floats your boat
17:40 wt amustafa, maybe "salt-run jobs.list_jobs"?
17:40 wt You can look for the minion in the list of jobs.
17:42 FRAN_T wt there is my master conf file https://www.refheap.com/02acbdd201e70f86116dc989b
17:42 iggy mschiff: libgit2 must be at least 0.20.0 (pygit 0.20.3, so you're good there)
17:42 mschiff iggy: maybe 0.22 is too new? salt does not seem to find it...
17:43 xt arent all you guys busy patching libc?
17:43 andrew_v_ joined #salt
17:43 mschiff I also tried with explicit "gitfs_provider: pygit2" but that didnt help
17:43 xt https://news.ycombinator.com/item?id=8953545
17:43 signull_ joined #salt
17:43 mschiff it keeps telling me "[CRITICAL] Specified ext_pillar interface git is unavailable"
17:43 FRAN_T wt here is the minion https://www.refheap.com/9118ee838f3d417671f55f81c
17:44 iggy xt: I doubt that impacts most people that don't allow remote logins (and aren't running something like php which frequently allows running randomly uploaded code)
17:44 wt FRAN_T, does /etc/salt/master/pki exist?
17:44 iggy xt: even then... distro lag, etc.
17:45 wt FRAN_T, on the master?
17:45 dimeshake iggy: waaay more than web apps
17:45 dimeshake kinda scary, but a lot of mitigating circumstances
17:45 xt iggy: distroes are all updated
17:45 dimeshake all you need to do is trigger a dns lookup to a dns server you control
17:46 wt FRAN_T, can you ping the master from the minion?
17:46 dimeshake xt: haven't seen rhel6/7 patches yet
17:46 xt dimeshake: those aren't vulnerable I don't think
17:46 xt not sure, I don't run those
17:46 dimeshake rhel6 is glibc 2.17 which is
17:47 dimeshake rhel7 too actually
17:47 lothiraldan joined #salt
17:47 iggy once packages are available: sudo salt '*' pkg.install libc refresh=True
17:47 dimeshake glibc* :)
17:47 xt libc on *deb
17:47 xt libc6
17:47 babilen You would probably have to restart a bunch of services or reboot the boxes
17:48 FRAN_T wt yes
17:48 spookah joined #salt
17:48 FRAN_T to the ping question
17:48 babilen But yeah, salt++ in this situation (once again)
17:48 iggy ENOTWORRIED
17:48 dimeshake babilen: yeah. basically everything that can do DNS lookups and uses glibc should get restarted
17:48 dimeshake which is... everything lol
17:48 amustafa wt, these look like master run jobs. I've been running pings so that's all it shows
17:48 iggy but yeah, I'm sure some of you are shitting your drawers right about now
17:49 FRAN_T wt pki exist
17:49 FRAN_T on mininon and master
17:50 Edgan Opinions of putting pillar repos in github as private vs running your own git server for the that purpose?
17:50 iggy how much do you trust github
17:50 iggy fwiw, we do
17:51 murrdoc how much money u got
17:51 mschiff iggy: It seems ext_pillar git backend at lease does not work with pygit2 yet. After installing git-python, it looks better
17:51 nkuttler what's there to trust? do you mean for private repos?
17:51 Edgan murrdoc: Enough to easily go either way
17:51 Yoda-BZH joined #salt
17:51 murrdoc where are your nodes
17:51 twellspring Edgan:  I am using private cloud repo like github.   I have sensitive pillar data encrypted.
17:51 stevednd Edgan: if you take advantage of the gpg renderer you can keep your pillars in there even with sensitive information
17:51 nkuttler Edgan: i would put sensitive data on github
17:51 nkuttler wouldn't..
17:51 iggy mschiff: ahh, yeah, pillar git backend is completely different than roots gitfs backend
17:51 murrdoc serious question
17:51 murrdoc where are your nodes
17:52 murrdoc github enterprise works for us
17:52 Edgan stevednd: So encrypted data, and then have the key to decrypt manually on the salt-master?
17:52 wt FRAN_T, can you look at my private message to you?
17:52 murrdoc u get all the github stuff
17:52 Edgan murrdoc: nodes in ec2
17:52 murrdoc ah
17:52 twellspring Edgan, don't need to decrypt manually.  You setup salt to do that for you.
17:53 Edgan murrdoc: If I wanted on sit github, I will just got with stash. It is $10 for 10 users.
17:53 twellspring http://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.gpg.html
17:53 murrdoc sure
17:53 Edgan twellspring: I meant placing the private key
17:53 Edgan twellspring: It is shifting the problem
17:53 signull joined #salt
17:54 stevednd Edgan: no it's not
17:54 stevednd you only have to have the key on the master
17:54 stevednd yes you would probably have to put it there manually
17:54 monkey66 joined #salt
17:54 Edgan stevednd: Right, and you can't automate that step
17:54 stevednd though you could do an initial generation
17:54 stevednd it's a one time thing
17:55 Edgan I guess you could if you didn't put a passphrase on it, and had salt generate it.
17:55 twellspring That is the setup I have.  Generated key on salt master with no passphrase.   Then use the public key on my workstation to encrypt data for putting into the pillars.
17:56 twellspring As long as salt master does not get compromised, data is secure.
17:56 mschiff default for file base pillar is "base: /srv/pillar" how can I remove /srv/pillar here?
17:57 twellspring mischiff:  in /etc/salt/master or /etc/salt/master.d
17:58 iggy base: []
17:58 twellspring pillar_roots:
17:58 twellspring base:
17:58 twellspring - /data/salt/pillar
18:00 terminalmage joined #salt
18:00 desposo joined #salt
18:00 terminalmage left #salt
18:00 brian__ joined #salt
18:00 mschiff iggy: i was missing the [], thanks!
18:01 mschiff twellspring: thx, also. iggys solution seems more clean though ;)
18:02 I3olle joined #salt
18:03 eriko_ joined #salt
18:04 17SABM3I3 joined #salt
18:04 crack joined #salt
18:04 monkey66 joined #salt
18:05 Ahlee I want to do something if a service is disabled, I tried with a module.run service.disabled and a require: on the module, but when run through a state module.run service.disabled returns True even for services that aren't disabled
18:05 aw110f joined #salt
18:06 jcristau joined #salt
18:06 conan_the_destro joined #salt
18:08 mdasilva Ahlee: the state service.disabled verifies that the service is disabled for startup
18:08 Ahlee mdasilva: right, which win_service should translate as being Disabled in services, right?
18:09 mdasilva or manual
18:09 mdasilva not sure how it works for window services
18:09 Ahlee Right.  What I'm seeing is regardless of status, module.run service.disabled returns true
18:09 CeBe1 joined #salt
18:10 iggy it's fixed in 2014.7
18:11 mdasilva Ahlee: iggy knows all
18:11 Ahlee or iggy pokes fun.
18:11 iggy I'm totally poking fun this time
18:11 brian_ joined #salt
18:11 iggy but I am actually looking at the code to see if it's possibly fixed
18:11 murrdoc Ahlee:  knows all
18:11 murrdoc it is known
18:12 Ahlee fg
18:12 forrest joined #salt
18:13 signull_ joined #salt
18:14 iggy Ahlee: is powershell available on these minions?
18:14 Ahlee iggy: yes
18:15 iggy then it looks for any service that isn't set to "Auto" start (so disabled, manual, etc.)
18:15 Ahlee yeah, return name in get_disabled()
18:16 Ahlee I actually am looking through how module.run brokers this through
18:16 iggy did you try running the powershell command to see if it matches what you are expecting?
18:16 iggy Get-WmiObject win32_service | where {$_.startmode -ne "Auto"} | select-object name
18:17 shaggy_surfer joined #salt
18:18 nickdew joined #salt
18:19 tkharju joined #salt
18:19 brian_ joined #salt
18:23 Ahlee yes, it shows up in enabled/disabled just fine, depending on the state of the service
18:23 Ahlee so either return name in get_disabled() is broken, or module.run doesn't interpret that return as a failure
18:27 gattie joined #salt
18:28 keeth joined #salt
18:29 hal58th joined #salt
18:29 jer__ joined #salt
18:30 iggy the code is completely different in 2014.7 though, so... I _could_ be right (and not just trolling)
18:30 tkharju joined #salt
18:30 krelo joined #salt
18:31 markm__ joined #salt
18:31 ipmb joined #salt
18:31 Ahlee indeed
18:32 markfox joined #salt
18:32 shaggy_surfer joined #salt
18:33 markmarine joined #salt
18:34 tkharju joined #salt
18:35 johnkeates joined #salt
18:37 Ahlee dangit, their import of six is going to make backporting this new version as a _module rough
18:38 TheoSLC joined #salt
18:39 TheoSLC Is the Salt software repo for Windows broken in 2014.7.0 and 2014.7.1?
18:39 crazysim joined #salt
18:41 mdasilva are reactor definitions ordered?
18:43 krelo joined #salt
18:43 johnkeates joined #salt
18:43 ajw0100 joined #salt
18:44 jer__ joined #salt
18:44 Ahlee well, backporting what's in win_service.py behaves the same, the return value to module.run appears to be the result of running module.run (i.e., did it execute, so True), even if the value is actually false
18:45 iggy they _should_ be top down like states
18:45 Ahlee I don't see a module.py, so no clue where that actually lives, and no more time to spend on this so more powershell/jinja logic will have to do
18:45 murrdoc https://marc.info/?l=oss-security&amp;m=142237659419786&amp;w=2 glibc
18:47 seblu joined #salt
18:48 lothiraldan joined #salt
18:51 smcquay joined #salt
18:52 jalaziz joined #salt
18:53 GabLeRoux joined #salt
18:58 wm-bot4 joined #salt
18:58 echtish joined #salt
18:59 markmarine joined #salt
19:00 bhosmer__ joined #salt
19:01 kaiyou joined #salt
19:02 aqua^mac joined #salt
19:02 alainv Hi, is 2014.7.1 going to be published to the ubuntu PPA?
19:03 tkharju joined #salt
19:03 manfred yes
19:03 alainv Thanks
19:04 GabLeRoux joined #salt
19:04 babilen (not sure when though)
19:04 manfred yes we are
19:04 manfred it is when joe gets around to it
19:05 manfred not a definitive time table, but eventually
19:05 otter768 joined #salt
19:05 iggy I should go work for saltstack for a few weeks just to get the packaging stuff sorted out once and for all
19:07 druonysuse joined #salt
19:07 druonysuse joined #salt
19:09 zadock joined #salt
19:09 JDiPierro joined #salt
19:09 forrest iggy: All the package stuff is in the repo
19:10 manfred forrest:  hi buddy :)
19:10 iggy I mean like setting up repos, etc
19:10 babilen Has 2014.7.1 been announced yet?
19:10 forrest manfred: hey
19:10 manfred I have been buy
19:10 manfred busy*
19:10 iggy I know all the spec/debian files are there
19:10 iggy babilen: yes
19:10 manfred babilen:  not yet, it isn't packaged for ubuntu/deb
19:10 manfred iggy:  it has?
19:10 iggy babilen: see /topic
19:10 murrdoc its been announced
19:10 manfred oh, so it has
19:10 iggy it was on salt-announce
19:11 manfred i should subscribe to that, i am only on the packagers list
19:11 babilen likewise + salt-users
19:12 murrdoc links ?
19:12 murrdoc i ll sub too
19:12 iggy el goog knows all
19:12 manfred i am on that one, it goes to my salt-users folder and gets marked read
19:12 babilen Now, if only gmail wouldn't suck so hard for mailing lists :)
19:12 babilen https://groups.google.com/forum/#!forum/salt-announce murrdoc
19:13 iggy inbox is a little better
19:13 manfred if only email would stop making me top post
19:13 theologian joined #salt
19:13 manfred does inbox bottom post? or have it configurable?
19:13 babilen iggy: They still won't sent you a copy of the mails you send
19:13 murrdoc You have limited access to public groups inside your domain. Contact your domain administrator for more information.
19:13 murrdoc :|
19:13 murrdoc not cool job
19:13 murrdoc not cool
19:13 iggy babilen: I think that's a setting on the group actually
19:13 ralalala joined #salt
19:14 babilen iggy: It isn't. Gmail just thinks "well, I have that in Sent already so the user surely doesn't want it again". You have to do some hacky spam-filtering-whitelisting-and-tagging to get them still (with messed up headers)
19:15 babilen One reason why I really hate it when projects use google groups as ML
19:15 murrdoc 'Salt usenet page '
19:16 murrdoc there is one ?
19:17 dimeshake if i use pkg.installed with a source://path/to/package.rpm -- how can i trigger that to reinstall when the rpm is replaced? it doesn't upgrade as the package is already installed, and pkg.latest doesn't support source:
19:17 Vinny4 joined #salt
19:18 dimeshake i know the correct answer is probably 'set up your own repository' but I'd not like to do that for this single piece of software
19:18 babilen I personally prefer mailman mailing lists (which you can also control via mail), but meh. http://www.list.org/mailman-member/node41.html makes it much easier. Usenet would be even better, but I haven't really used that since the late 90s
19:19 babilen dimeshake: Install it again explicitly after you upgraded it?
19:19 dimeshake i'd need to uninstall it first, i think
19:20 dimeshake if i just call the same state again, it doesn't install the new version.
19:20 babilen I think you can trigger a new install by simply running http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.aptpkg.html#salt.modules.aptpkg.install
19:20 iggy murrdoc: I thought that was referring the reddit page, but who knows
19:21 babilen dimeshake: I wouldn't tie package upgrades to states anyway but roll those out explicitly
19:22 iggy pkg.absent: pkg-0.0.1\n pkg.present: pkg-0.0.2 ?
19:22 dimeshake maybe that's the way to do it. I can target minions that have this package via grain, because i set a role
19:23 babilen But then, why not a repository? It is trivial for something simple with, say, dpkg-scanpackages ..
19:24 iggy or the aptly-formula
19:25 Emantor joined #salt
19:26 monkey66 joined #salt
19:28 seblu joined #salt
19:29 Vinny4 Hi. Anyone have experience setting up a Salt master on an Amazon Linux box? The install seems to work, but the /etc/salt files aren't created.
19:32 shanedlee joined #salt
19:32 d joined #salt
19:36 crane joined #salt
19:37 bluenemo joined #salt
19:39 chrism_ joined #salt
19:39 chrism_ good afternoon iggy
19:39 cberndt joined #salt
19:39 chrism_ or anyone that can help (for that matter)
19:40 chrism_ newbie question: is there a way for the minion to check a file mount? and return information about it via a python wrapper?
19:41 stoogenmeyer_ joined #salt
19:45 ilbot3 joined #salt
19:45 Topic for #salt is now Welcome to #salt | SaltConf 2015 is Mar 3-5! http://saltconf.com | 2014.7.1 is the latest | Please be patient when asking questions as we are volunteers and may not have immediate answers | Channel logs are available at http://irclog.perlgeek.de/salt/
19:46 dimeshake salt is all python
19:46 dimeshake i'm confused about what the problem is :)
19:46 chrism_ maybe it's just a matter of digging into the api even more.     apologies for the newbie question.
19:47 chrism_ thanks for your help dimeshake
19:47 dimeshake have you done the walkthrough?
19:47 JDiPierro joined #salt
19:47 chrism_ about 1/2 way through it.   Just started on this from Friday (last).   very exciting stuff!
19:48 dimeshake seems you might have some misconceptions about how things work - people generally don't write scripts that call salt to automate things (though you certainly can). the state system is used to define the end goal, and then you run that state against the minion
19:49 chrism_ last question.    has anyone used the salt proxy minion to talk to an F5 appliance - and report back info (eg. network config)?
19:49 chrism_ gtknow thanks dimeshake
19:50 dimeshake you'd probably need to write that yourself but there might be something out there. There is an F5 salt runner to do things like add/remove servers from load balancer, but that's in develop branch
19:52 jalaziz joined #salt
19:55 shaggy_surfer joined #salt
20:00 z3uS joined #salt
20:00 druonysus joined #salt
20:09 davet joined #salt
20:10 nickdew I'm aware of batch, but is there an easy way to handle rolling restarts? For example, after upgrading the kernel and I need to restart all my servers with out service disruptions.
20:13 thedodd joined #salt
20:15 smcquay joined #salt
20:15 jla Is there a way to call additional libvirt / virsh methods like pool-start and pool-destroy short of cmd.run?
20:18 TyrfingMjolnir joined #salt
20:18 nickdew jla: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.virt.html
20:19 nickdew jla: Is that what you are looking for?
20:19 hal58th nickdew maybe you can write a script that runs the kernel upgrade and restart one box at a time. Just watch for a zero exit code? You can use && for executing serial commands with 0 exit code
20:20 jla nickdew: I've played with all of those commands. I think I'm looking for something lik salt.modules.virt.pool_start and virt.pool_stop
20:21 murkey joined #salt
20:21 nickdew hal58th: Hmm... maybe. I've seen it done in Ansible, were you can give it couple things to check before moving on.
20:22 Deevolution joined #salt
20:22 arapaho_ joined #salt
20:22 fintler__ joined #salt
20:22 Samos123_ joined #salt
20:22 Giloo joined #salt
20:23 hal58th Salt can use "unless" and "onlyif" but that's just to watch another state. I don't think salt can do something similar with multiple hosts
20:23 nickdew jla: You might also want to look at the libvirt-formula: https://github.com/bechtoldt/saltstack-libvirt-formula/blob/master/libvirt/pools.sls
20:23 imanc_ joined #salt
20:23 Edgan_ joined #salt
20:23 jerryc joined #salt
20:23 mfournier1 joined #salt
20:24 esharpmajor_ joined #salt
20:24 gamingrobot_ joined #salt
20:24 xnxs joined #salt
20:25 clintber_ joined #salt
20:25 jla nickdew: Thanks. I'm trying to get my head around that. I am not sure yet what ensure|default does. I see it's using a bunch of pillar data. It appears to be using cmd.run to call virsh. Am I getting the general gist?
20:26 smcquay joined #salt
20:26 Sway|Away joined #salt
20:27 Sub_Oracle joined #salt
20:27 georgemarshall_ joined #salt
20:27 rreboto joined #salt
20:27 JPau1 joined #salt
20:28 dimeshake nickdew: http://salt.readthedocs.org/en/latest/topics/tutorials/states_pt5.html#states-overstate
20:28 dimeshake or orchestrate
20:28 dimeshake http://salt.readthedocs.org/en/latest/topics/tutorials/states_pt5.html#orchestrate-runner
20:29 iggy nickdew: a number of people have requested that lately, maybe check/file an issue for that?
20:29 iggy don't use overstate for new code
20:30 cwright is there a salt command to see the running minion config?
20:33 esharpmajor joined #salt
20:33 jla nickdew: I'll take the existance of cmd.run in that formula to indicate that no, there isn't currently another way to do pool-start. Thanks
20:34 nickdew jla: Not that I'm aware of, sorry.
20:34 jla it helps me stop spinning my wheels looking, thanks
20:37 nickdew dimeshake: Thanks for the links. Have you used either for rolling restarts?
20:37 dimeshake i haven't. but that's where I'd start
20:38 dimeshake orchestrate, specifically
20:38 anotherZero joined #salt
20:38 iggy cwright: not that I know of
20:39 iggy orchestrate can't really do "one at a time"
20:39 iggy that's why I said check/file an issue
20:39 druonysus joined #salt
20:39 druonysus joined #salt
20:40 nickdew Yeah. I'm looking over feature requests.
20:40 nickdew Thanks iggy.
20:43 linjan joined #salt
20:44 jer_ joined #salt
20:47 iggy I think it would be a nice feature to have (and at the very least, it's been mentioned in here at least 4 times in the last week)
20:49 nickdew Very much agreed. I'm seeing tickets asking for it be implemented in states.
20:51 dimeshake my thinking was to group the machines logically with orchestrate and do it that way
20:51 dimeshake but you could target by nodegroups just as easily if you wanted to just statically define lists of servers to do in chunks
20:51 aqua^mac joined #salt
20:51 dimeshake for example, only a portion of the web servers at a time
20:52 iggy the problem becomes actually checking if a certain part passed/failed
20:52 stevednd anyone doing any redis clustering with salt?
20:53 iggy salt's error returning is notoriously bad (i.e. it returns True when a specific section has run on all targets (even if it fails on every one of them)
20:55 Ozack-work joined #salt
20:57 JDiPierro joined #salt
20:59 nickdew iggy: It does look like there are a couple tickets asking for similar functionality. So, here is to hoping.
21:00 druonysuse joined #salt
21:00 druonysuse joined #salt
21:01 twellspring joined #salt
21:03 JDiPierro joined #salt
21:04 intellix joined #salt
21:06 otter768 joined #salt
21:10 druonysus joined #salt
21:10 druonysus joined #salt
21:13 Outlander joined #salt
21:15 laax joined #salt
21:17 bluenemo joined #salt
21:17 bluenemo joined #salt
21:21 Ryan_Lane joined #salt
21:23 smcquay joined #salt
21:25 jhauser joined #salt
21:26 Brick joined #salt
21:27 amos joined #salt
21:28 giantlock joined #salt
21:29 dave_den joined #salt
21:30 johtso joined #salt
21:32 bfoxwell joined #salt
21:38 ponpanderer does master_job_cache support multiple returners like regular returners (e.g. local_cache + mongo) or just the one?
21:38 ponpanderer (something i could easily test, but sometimes easier to ask :))
21:39 iggy I'd just test... I don't know too many people in here using returners very extensively
21:41 aboe joined #salt
21:42 aboe can somebody from saltstack transfer my sysctl-formula to saltstack-formulas?
21:42 johnkeates joined #salt
21:42 aboe see: https://github.com/aboe76/sysctl-formula
21:44 johnkeates joined #salt
21:44 repl1cant So, anyone looking at patching for GHOST yet?
21:45 johnkeates joined #salt
21:45 _JZ_ joined #salt
21:47 iggy aboe: I think basepi is your best bet
21:47 aboe thanks iggy , ping basepi
21:47 ponpanderer iggy: thanks. just confirmed it doesn't work unfortunately. I'm surprised returners (especially master_job_cache) are not used more. Local cache can be quite a bottleneck on a busy system (as in people not minions). It would be nice to have a flume/fluentd returner then all the other destinations could be abstracted....hmm ideas...
21:47 iggy omg, people need to stop naming bugs
21:48 johnkeates who's naming what bug
21:48 stevednd what are we naming?
21:48 johnkeates are we talking about glibc?
21:49 johnkeates oh, the media is calling it GHOST right?
21:49 dimeshake the guys at qualys named it GHOST
21:49 druonysus joined #salt
21:49 druonysus joined #salt
21:50 johnkeates regardless, we should stop naming bugs indeed. BEAST, POODLE, Heartbleed, Shellshock..
21:50 johnkeates there as another SSL bug with another stupid name a while ago
21:51 repl1cant but if you don't name it something intimidating people won't patch
21:51 repl1cant *snicker*
21:51 johnkeates maybe we should find the people naming bugs, and force them to name the whole CVE list
21:51 repl1cant also won't make headlines
21:51 ponpanderer MOAB - mother of all bugs
21:51 ponpanderer it's the bomb
21:51 robawt joined #salt
21:52 repl1cant seen a POC for EXIM but haven't seen one for anything else
21:52 repl1cant trying to figure out if it's hype or not
21:52 johnkeates BUG - Bug... Ugh, Great.
21:52 johnkeates yeah, that POC is to be added to metasploit
21:52 johnkeates also it'll work on anything with that gethostbyname (or whatever it was) function
21:53 repl1cant yup, that's the function
21:53 johnkeates Also, it has been patched for a while now, but as a 'bug' and not as a 'security issue' so distro's didn't merge upstream into their stable repos
21:54 johnkeates so now that the status is going from bug to security problem it'll simply merge with stable distro repo's and all will be well
21:54 johnkeates also, if you look at https://marc.info/?l=oss-security&amp;m=142237659419786&amp;w=2 you can see that it is a veeeeeeery limited bug
21:54 johnkeates yes, you can exploit it, but it really depends on where your injected code ends up
21:55 codysoyland repl1cant: if you haven't figured it out... if your minions are Ubuntu (perhaps other distros as well), run "salt '*' pkg.install libc6 refresh=True" and restart any services that use libc6
21:56 druonysus joined #salt
21:56 druonysus joined #salt
21:57 repl1cant ya, the minions i'm thinking of are ubuntu 12.04 and i've already test patching. it's just gonna be a pain to reboot all of them.
21:59 _JZ_ joined #salt
22:01 analogbyte ponpanderer: if youre looking for some way to check the cached data and already use the redis returner you might be interested in this litte webapp I wrote: https://github.com/analogbyte/saltobserver no solution for the missing minions field tho
22:01 dmick left #salt
22:02 shaggy_surfer joined #salt
22:06 neogenix joined #salt
22:06 druonysus joined #salt
22:06 druonysus joined #salt
22:06 utahcon when I start salt-master manually, it loads up and runs, when I start it with service, it dies immediately...
22:06 utahcon thoughts?
22:08 mosen joined #salt
22:09 signull joined #salt
22:10 Linuturk joined #salt
22:10 shaggy_surfer joined #salt
22:11 jghazally joined #salt
22:12 markmarine joined #salt
22:14 druonysuse joined #salt
22:14 druonysuse joined #salt
22:16 markmarine joined #salt
22:18 mosen joined #salt
22:18 smcquay joined #salt
22:19 basepi aboe: should be done, whiteinge  grabbed it.
22:21 hal58th1 joined #salt
22:22 aboe thanks basepi
22:22 johnkeates joined #salt
22:24 clintberry joined #salt
22:25 rap424 joined #salt
22:26 jghazally joined #salt
22:26 hal58th1 utahcon permission problems? Check out http://docs.saltstack.com/en/latest/topics/troubleshooting/master.html
22:26 Gilou joined #salt
22:27 serenecloud joined #salt
22:27 serenecloud hi - I've set up salt on my PC plus two VMs and I'm trying to run "salt '*' pkg.upgrade refresh=True"
22:27 serenecloud on the minions I'm seeing " [salt.loaded.int.module.cmdmod               ][ERROR   ] retcode: -15" in the logs and the command just hangs
22:28 serenecloud host is debian, VMs are ubuntu, salt installed from package repo
22:28 serenecloud ...and just now I realise the salt version is the debian one on all three, that might be the problem :(
22:29 hal58th1 serenecloud yeah, 2014.7.0 required
22:30 murrdoc try 2014.7.1
22:30 murrdoc if u have the option to
22:31 serenecloud Setting up salt-minion (2014.7.0+ds-2precise3) ...
22:36 johnkeates at what url are tickets listed?
22:36 gzcwnk joined #salt
22:37 murrdoc https://github.com/saltstack/salt/issues
22:37 johnkeates ah ofc
22:37 johnkeates stupid me was searching for a jira or redmine or trac url
22:37 moises_ joined #salt
22:38 theologian joined #salt
22:39 gzcwnk how do i trace this fault pls? TypeError encountered executing state.highstate: can't serialize ConstructorError(). See debug log for more info.
22:39 johnkeates See debug log for more info
22:40 gzcwnk nothing i can see in /var/log/salt/master
22:40 johnkeates run /w -l debug or -l trace
22:40 aqua^mac joined #salt
22:40 gzcwnk that is the msg out of -l debug
22:40 johnkeates salt <your stuff here> -l debug
22:40 johnkeates salt <your stuff here> -l trace
22:40 johnkeates ?
22:41 jalbretsen joined #salt
22:41 moises_ left #salt
22:44 gzcwnk sorry wife rang...
22:44 ajw0100 joined #salt
22:45 gzcwnk um, nothing I see of use
22:45 MindDrive joined #salt
22:45 MindDrive www.saltstack.com is offline right now?
22:46 johnkeates yes
22:46 murrdoc someone ran highstate
22:46 murrdoc :D
22:46 johnkeates haha
22:46 johnkeates just what i was about to say :D
22:46 johnkeates aaand it's back
22:47 tmmt joined #salt
22:47 johnkeates someone did a git rollback and a new highstate :p
22:47 gzcwnk ok removing my new modules in to.sls and it runs, so a conflict somehow
22:47 gzcwnk top.sls
22:48 MindDrive The site isn't fully loading for some reason, but mostly back now for me... hmm, also noticed that saltconf.com still isn't loading for me (tried a few weeks ago, no response) - where is it being held anyhow?
22:48 lesel joined #salt
22:48 johnkeates in salt lake city i suppose
22:49 johnkeates where else would you host a salt con
22:49 woolcap joined #salt
22:49 murrdoc slc
22:49 murrdoc march 3-5
22:49 johnkeates the site is up btw
22:49 johnkeates i think you might have an ISP issue
22:50 murrdoc its up
22:50 murrdoc git revert ; salt '*' state.highstate success
22:51 SpX joined #salt
22:51 zemm joined #salt
22:51 rypeck joined #salt
22:51 MindDrive Doubt it's an ISP, since this is from my office; more likely a firewall issue (though why for this site, I have no idea).
22:52 gzcwnk probably your microsoft admin thinks its subversive open source so he's blocked it
22:53 johnkeates An office that blocks websites needs to revise it's plans and rules, who does that anymore :-/
22:53 johnkeates It's like telling your workforce they have to do their work but can only do so with the lights off
22:53 johnkeates or blindfolded
22:56 bhosmer joined #salt
22:57 MindDrive Actually, we've been pushing Windows out the door here (official supported desktop OS is OS X).
22:57 johnkeates Well, at least you get an Unix
22:58 johnkeates OS X isn't so bad, and since most devs live inside a text editor or shell, the rest of the OS just has to facilitate the rest
22:58 johnkeates and tbh, Windows gets in the way of work a lot
22:59 MindDrive Quite a few Linux users here as well, and all our servers for our site's infrastructure are CentOS/RHEL
22:59 johnkeates i sometimes wonder why people still want to live in RPM hell :p
22:59 yes456 joined #salt
22:59 johnkeates it's gotten better over the years, but it still sucks compared to most other systems
22:59 aurynn deb > rpm > *
22:59 johnkeates hell, even gentoo is doing a great job
23:00 johnkeates yep
23:00 aurynn it's better than the alternatives, but not as good as apt
23:00 rudi_s joined #salt
23:00 johnkeates deb is boss. I'm not sure if it's actually a lot more work for devs to package for deb vs. rpm, but it works like a charm
23:00 gngsk joined #salt
23:00 aurynn it's no work because fpm
23:01 johnkeates that is true, if you use fpm :p
23:01 MindDrive There is a movement here to move to Debian, actually; I'm one of those people who despise RPM, so I'm all for it. :)
23:01 aurynn why would you not use fpm?
23:01 johnkeates ah yes
23:01 johnkeates i don't know why people would or wouldn't use fpm :p
23:01 johnkeates also, I have moved pretty much all i had a say in to debian
23:01 johnkeates and everything has just gotten better
23:02 johnkeates except the few boxes that have to run the ugly Zend Server stack which keeps failing no matter what
23:02 johnkeates but we have ubuntu for that so all is not lost.
23:05 druonysuse joined #salt
23:07 otter768 joined #salt
23:10 Outlander joined #salt
23:11 mosen joined #salt
23:11 eliasp just playing with an EC2 (RHEL7) instance, but salt-bootstrap fails to install python-jinja2 … it looks like this is only provided through the "optional" EPEL repo… is it possible to hook up a CentOS repo to RHEL7 to get python-jinja2?
23:11 eliasp anyone else running EC2 RHEL7 instances?
23:12 Edgan_ eliasp: yes
23:13 eliasp Edgan_: how are you dealing with this missing python-jinja2 dependency?
23:13 Edgan_ eliasp: let me look
23:14 Edgan_ python-jinja2.noarch                                                            2.7.2-2.el7                                                             @base
23:14 Edgan_ It is in base
23:14 signull joined #salt
23:14 eliasp hmm, weird… RHEL7?
23:14 Edgan_ Actually CentOS 7
23:14 eliasp ah, yeah… that makes the difference
23:14 Edgan_ eliasp: Why RHEL?
23:15 eliasp wanted to run CentOS7 too instead of RHEL7, but I'm still in "free trial" mode and CentOS isn't available there
23:15 eliasp just wanted to see whether AWS/EC2 fits my needs and didn't want to pay for it until I finished evaluating it
23:15 Edgan_ aurynn: rpm > deb. dpkg has way too much auto magic for the package build process. rpm's spec files are super clear.
23:16 gzcwnk aws doesnt seem to bad, but no console sucks
23:16 eliasp ran CentOS7 locally before…
23:16 Edgan_ eliasp: where is there? There are CentOS 7 amis
23:16 eliasp Edgan_: yes, but not in the free tier
23:16 Edgan_ eliasp: I am pretty sure I can spin centos 7 amis as t1.micros
23:17 eliasp hm, let me check again
23:17 johnkeates Edgan_: but with deb you wouldn't have your current rpm problem. ha.
23:17 bluenemo_ joined #salt
23:17 Edgan_ gzcwnk: I agree it is annoying, but for work it is by far the market leader. So if you want the best jobs, you do aws.
23:18 eliasp usually, I run none of both (RPM/DEB) … but well, the current project settled on CentOS ;)
23:18 Edgan_ johnkeates: There is always things that aren't packaged. Luckily fpm makes deb/rpm very easily 90% of the time.
23:18 yomilk joined #salt
23:20 dave_den don't use FPM for any production packages outside of your own shop.
23:20 schlueter1 joined #salt
23:21 eliasp yeah… bypassing regular packaging is always a no-go…
23:21 Edgan_ dave_den: It is awesome for gems, python modules, and node modules.
23:21 eliasp same goes for CPAN, gems, PECL etc.
23:21 eliasp Edgan_: you're right… there's a free tier CentOS7 AMI… no idea why I didn't spot this before
23:21 TaiSHi joined #salt
23:21 TaiSHi Hi everyone
23:21 Edgan_ eliasp: You can also use packer and customize it. :)
23:22 TaiSHi My master is rather loaded, >1.5 at all times, I have ~70 minions atm
23:22 eliasp Edgan_: yeah, for now I have enough new terms and stuff to fit into my head and to make sense of them… AWS is a completely new world ;)
23:22 Edgan_ eliasp: It gets even more run when you start using rbenv, and have to make whole trees of packages for a certain ruby version.
23:23 eliasp eek, no… rbenv, virtualenv and all this fun… I know the pains of packaging (doing Gentoo packaging/QA since ~13 years)
23:24 Edgan_ eliasp: you saying you like virtualenv, or don't like the whole idea of rvm/rbenv/virtualenv?
23:24 eliasp I don't like the whole idea of 3rd party packaging systems
23:25 eliasp they bypass the distribution's packaging mechanisms and just introduce a huge load of issues this way
23:25 Edgan_ eliasp: I agree, but fpm will let you put rbenv in deb/rpm
23:25 eliasp Edgan_: yeah, but still with no proper dependency/conflict tracking etc… that's some generic mechanism which might catch ~75% of the depdendencies, but the actual ugly/important stuff will slip through
23:25 Edgan_ eliasp: You aren't every going to get every random gem/module version that some developer requires.
23:26 johnkeates FPM is for non-public stuff
23:26 dave_den Edgan_: fpm has some very easily overlooked bugs that will cause you much pain - https://github.com/dlanderson/fpm/commit/c690a77d93f6e337a7a9b696b1da7f061e913603
23:26 dave_den that one little space will prevent you from upgrading a deb package.
23:26 eliasp Edgan_: I do… but that's something which most likely only will work in a packaging system like Gentoo's portage (SLOTS) or NixOS' envs
23:26 dave_den and will break apt-get
23:26 Edgan_ eliasp: It auto does dependencies defined in the Gemfile. Perfect no, but would be insane to try to hand package everything.
23:26 johnkeates but regardless, FPM is nice if you want to do something locally and non-invasive and know you won't have dependency hell waiting for you in the future
23:27 BerndSch_ joined #salt
23:27 eliasp johnkeates: full ACK… same goes for Docker… either as a local dev/test environment or in a huuuuge scale where you properly build your Docker images… but everything inbetween is just a workaround for broken packaging
23:27 Edgan_ dave_den: Software has bugs, and I have run into a few over time. But it has also saved much loads of work.
23:28 BerndSch_ hello, I have a short question. Are there any plans when the next release (Lithium) will be released?
23:28 Edgan_ eliasp: Docker still needs plenty of love. I like the idea, and it has lots of support. I think it will get there, but I see it as a huge work in progress.
23:28 GhostwheelX joined #salt
23:28 johnkeates yep, that's what happens with most easy/fancy/new/shiny stuff that tries to circumvent doing the actual work to make quality happen.. you cut corners and create RPM hell, DLL hell and other kinds of hell on your systems.
23:29 dave_den also: this is not valid on ubuntu: https://github.com/jordansissel/fpm/blob/master/templates/deb/preinst_upgrade.sh.erb#L3
23:29 johnkeates unless you run a shop big enough to create your own standards or if you do something that has zero impact, better stick with the 'normal' methods
23:29 eliasp exactly
23:29 Edgan_ johnkeates: I know it's limitations. A huge one is all files in the package have to have the same user:group. Hence why I said for modules and it is only a 90% solution.
23:30 dave_den anyway, caveat emptor
23:30 johnkeates Edgan_ yeah, it's probably also nice to have something project-independent, so you aren't stuck with project package managers and can do things in a more system-wide way
23:31 GhostwheelX Greetings, looking for help with iMule and i2p if someone has a moment :-)
23:31 Edgan_ johnkeates: I like it a lot better than gem install foo
23:31 woolcap left #salt
23:32 wm-bot4 joined #salt
23:32 johnkeates anyway, the whole scale thing has kept my mind busy for quite a time.. some days i want to work for a multinational big enough to create standards that make the FOSS world better when they release it, some days i want to be that small shop where you can do what you want, run bleeding edge if you like etc.
23:33 johnkeates oh well, that's life i guess. can't ever win :p
23:33 Edgan_ johnkeates: yeah, I know how you feel. I lean towards a small shop, or a small team in a bigger company.
23:34 johnkeates Edgan_: that's what I do as well, I currently run my own small company and integrate in to bigger company's teams where DevOps/SysOps are needed or needed to be cleaned up
23:34 utahcon for those concerned... our custom init script was causing the failure... now I know we are running a custom init script (ugh)
23:34 TaiSHi Hi, I'm trying to use minion info on a pillar, how can I achieve this?
23:34 johnkeates where the last thing happens a lot. For some reasons, companies think it's reasonable to not have a dedicated ops person or team to make sure everything it doing what it's supposed to do.
23:34 TaiSHi I mean, I can use the OS, and other stuff, but not an interface IP
23:34 Edgan_ johnkeates: nod
23:35 rhand joined #salt
23:35 johnkeates TaiSHi: pillar is for "static" data to be pushed to a minion, not the other way around
23:36 johnkeates TaiSHi: data usually flows pillar->map->formula
23:36 johnkeates TaiSHi: what you are looking for are grains
23:36 TaiSHi johnkeates, been trying grains inside pillars, yet I seem to be failing at it
23:36 TaiSHi grains['os'] works
23:37 TaiSHi Yet grains['ip4_interface:eth1'] doesn't
23:37 eliasp TaiSHi: grains['ipv4_interface']['eth1']
23:37 johnkeates do you get the grain data when you grab it using salt-call on the minion?
23:37 johnkeates also: what eliasp said
23:37 eliasp TaiSHi: use the foo:bar syntax for salt['grains.get'](foo:bar)
23:38 stevednd anyone doing any redis clustering with salt?
23:38 johnkeates no, but I am putting salt on my steak when grilling. does that help?
23:38 johnkeates (sorry, bad joke mood)
23:39 TaiSHi eliasp, just tried the following: bind: {{  grains['ipv4_interface']['eth1'] }} on my pillar and got Jinja variable 'dict object' has no attribute 'ipv4_interface'
23:39 TaiSHi Just changed it to ip4_interface and still same error, just in case
23:40 Edgan_ TaiSHi: I don't think you are meant to put grains in pillars.
23:40 eliasp TaiSHi: what does "salt this-minion grains.get ipv4_interface:eth1" return?
23:40 eliasp Edgan_: grains in pillars work… just not pillars in pillars
23:40 johnkeates pillarception
23:40 Edgan_ eliasp: What is the point in what he is doing though?
23:41 johnkeates i shall go make bad jokes elsewhere
23:41 Edgan_ eliasp: Why not just use the grain directly
23:41 TaiSHi eliasp, returns the correct IP
23:42 TaiSHi Ah great, I got it to work with {{ salt['grains.get']('ip4_interfaces:eth1') }}
23:43 TaiSHi Much appreciated eliasp and Edgan_  and johnkeates who left
23:44 TaiSHi Now, the output is rather non usable: bind ['10.128.106.187']
23:44 TaiSHi I need to strip those ['']
23:45 eliasp TaiSHi: ah, just append [0]
23:45 eliasp TaiSHi: eth1 returns a list of IPs, as it theoretically could have more than 1 IP
23:45 eliasp so either loop over all the returned IPs or just pick the 1st one… depending on your setup
23:46 TaiSHi No, [0] works flawlessly
23:46 eliasp if you plan to loop, to salt['grains.get']('foo:bar').iteritems()
23:46 eliasp ok
23:46 TaiSHi Thanks again, been busting my head with this, heavily
23:46 TaiSHi Also, iirc, grains data wont be available until first highstate runs, right?
23:46 eliasp asking is most of the times the fastest way to a solution ;)
23:47 TaiSHi Well I even opened an issue, not my smartest move
23:47 TaiSHi And tried to solve this one by myself :P
23:47 eliasp hehe
23:47 TaiSHi What's your username in GH? So I can reference you and close the issue itself
23:47 eliasp TaiSHi: the same as here ;)
23:48 murrdoc joined #salt
23:48 TaiSHi There we go
23:50 TaiSHi {{ grains['ip4_interfaces']['eth1'][0] }} also works
23:51 TaiSHi Not sure why wasn't it working earlier, I think I was using ('eth1') instead of []
23:51 msheiny joined #salt
23:51 TaiSHi dict, lists, need to revisit those terms
23:56 eliasp TaiSHi: these are just generic Python terms
23:56 eliasp dict = indexed array, hash
23:56 eliasp list = array
23:57 TaiSHi I know, I'm not a dev and usually screw up with things like that
23:57 TaiSHi Specially arrays...
23:58 jalaziz joined #salt

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