Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2016-02-04

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

All times shown according to UTC.

Time Nick Message
00:00 The_Loeki hm
00:00 The_Loeki latest version of salt 'n all that?
00:00 djgerm salt 2015.8.3 (Beryllium)
00:00 zmalone joined #salt
00:00 djgerm could be update I think....
00:00 The_Loeki yea, do that one just to be sure
00:00 djgerm did .4 just come out? this is a brand new lab
00:01 The_Loeki it did
00:01 The_Loeki but it's been a while between the two
00:01 shaggy_surfer joined #salt
00:01 The_Loeki so just maybe ;)
00:01 djgerm fingers crossed :
00:01 djgerm updating now
00:02 The_Loeki I'm looking at the latest 2015.8 code and I don't see anything wrong so far
00:02 The_Loeki in the end, that file.exists is exactly what the module does for instance, provided it picks up on the 'keyfile' (which fits with the docs)
00:03 djgerm update complete salt 2015.8.4 (Beryllium)…. still fails to use the key
00:03 djgerm i run with "-l debug"
00:03 djgerm when i do salt 'saltminion3*' -l debug state.sls ddns
00:04 The_Loeki that was gonna be my next question ;)
00:04 djgerm all I get for a comment is      Comment: Failed to create or update A record for "testhostname"
00:05 djgerm i can grab all the output if you think it'll help but there's no other warnings or errors....
00:05 The_Loeki try to do it with salt-call
00:06 The_Loeki you're asking for the wrong debug output ;)
00:07 djgerm salt-call also fails, but more output. checking that out
00:07 Guest18700 joined #salt
00:07 jfindlay yeah, you'll need the minion debug output
00:08 rem5 joined #salt
00:10 nikogonzo joined #salt
00:11 djgerm well… that didn't tell me anything new either…. the yaml rendering looks correct tho: http://pastebin.com/uTfxmi1T
00:15 The_Loeki @djgerm find the module in /lib/python and put a log line above the line that reads dns_update = dns.update.Update etc
00:15 The_Loeki like this oone:
00:15 The_Loeki log.warn('Calling with keyring={}, keyname={} keyalgoritm={}'.format(keyring, keyname, keyalgorithm))
00:15 The_Loeki salt-call again & see what happens
00:15 djgerm ok. right at the top?
00:16 djgerm oh i see sorry misread
00:17 djgerm ok. I see a warning in the log now
00:17 djgerm 2016-02-03 13:39:29,925 [salt.loaded.int.module.ddns][WARNING ][28251] Calling with keyring=None, keyname=ddns keyalgoritm=HMAC-MD5.SIG-ALG.REG.INT
00:18 djgerm why no keyring?!?!?!?!
00:19 jfindlay it seems that something is not wired up correctly
00:19 djgerm it's weird that it gets the keyname just fine
00:20 The_Loeki a few lines higher you see keyring= right
00:20 The_Loeki put the next log line below it:
00:20 The_Loeki log.warn('Keyring conf {} delivered us {}'.format(_config('keyfile', **kwargs), keyring))
00:20 The_Loeki rinse & repeat
00:20 djgerm roger that. thanks!
00:24 djgerm hmm… i must have borked the placement of that log.warn I get python errors now
00:24 The_Loeki mind the indentation, Python is *very* sensitive about that
00:25 kevinforbes joined #salt
00:25 jfindlay djgerm: is this (related) to your issue? https://github.com/saltstack/salt/issues/30853
00:25 saltstackbot [#30853]title: ddns execution module problem | I've been trying to update DNS records on a salt-minion using the ddns module but that wouldn't work. I made sure the `dnspython` is installed. ...
00:26 ALLmightySPIFF joined #salt
00:26 Guest18700 joined #salt
00:27 djgerm reading that not jfindlay. The_Loeki that didn't seem to output any additional WARNING
00:27 The_Loeki should've ;)
00:28 djgerm jfindlay: that bug is hard to say if it's the same issue…
00:28 djgerm it is lacking details.
00:28 jfindlay indeed :)
00:29 djgerm my ddns executiong IS hitting my server, and I see my server denying the update due to a lack of key.
00:29 The_Loeki by the way @djgerm, change the log line to read
00:29 The_Loeki log.warn('Keyring kwarg: {} conf {} delivered us {}'.format(kwargs.get('keyfile', 'NUTTIN'), _config('keyfile', **kwargs), keyring))
00:30 djgerm on line 175 right? when I have it at the same indentation as the line below it, I get python errors.
00:31 djgerm a tab fixes it
00:31 djgerm no NUTTIN in the log :/ tho
00:31 djgerm but I think it's the right track!
00:32 The_Loeki but you do still get the 'Calling' log warning?
00:33 djgerm Sorry, I don't understand what you mean.
00:33 Tyrm_ joined #salt
00:33 The_Loeki the one you put in earlier
00:33 djgerm oh yeah
00:33 djgerm 2016-02-03 13:53:49,762 [salt.loaded.int.module.ddns][WARNING ][29274] Calling with keyring=None, keyname=ddns keyalgoritm=HMAC-MD5.SIG-ALG.REG.INT
00:33 The_Loeki and a few lines above it the other one doesnt show up???
00:33 djgerm nope.
00:34 The_Loeki well then buckle your seatbelt dorothy because kansas is going byebye
00:34 djgerm wow my time is way off… if only I could install ntp on these things in some automated fashion....
00:34 The_Loeki or something
00:34 djgerm haha
00:34 The_Loeki and that's what salt is for ;)
00:35 The_Loeki anyhow, pastebin the python error if you put the indentation right
00:35 djgerm k
00:36 djgerm http://pastebin.com/sPCXEUDY
00:37 The_Loeki you put it *above* the keyring = line
00:37 The_Loeki correct?
00:37 djgerm yes
00:37 djgerm above keyring = _get_keyring(_config('keyfile', **kwargs))
00:37 The_Loeki UnboundLocalError: local variable 'keyring' referenced before assignment
00:38 djgerm maybe put it below ?
00:38 The_Loeki that's the main error
00:38 The_Loeki yup
00:38 djgerm python is so EASY
00:38 The_Loeki yup
00:38 ajw0100 joined #salt
00:38 djgerm well helllllllooooo
00:38 djgerm 2016-02-03 14:01:08,836 [salt.loaded.int.module.ddns][WARNING ][29655] Keyring kwarg: /src/salt/ddns_key.txt conf /src/salt/ddns_key.txt delivered us None
00:39 The_Loeki the plot thickens
00:39 cliluw joined #salt
00:41 smkelly joined #salt
00:41 qman__ joined #salt
00:41 djgerm so…. something it doesn't like about my file I am guessing… it's not able to parse the keyname and key from it…. or something
00:42 Guest18700 joined #salt
00:42 The_Loeki well you're going to have to ask others to continue with this one; there's a bug in _config() that makes it deliver None when it should've delivered your keyfile config
00:43 akhter joined #salt
00:43 The_Loeki but I don't see what's wrong with it now and I'm off to bed, sorry
00:43 okfine joined #salt
00:43 djgerm thanks! you've gotten me much further!
00:43 The_Loeki maybe @jfindlay is still reading this?
00:44 The_Loeki this info probably should go with that bug he linked here btw
00:44 Vye joined #salt
00:44 The_Loeki than others can see it & pick it up too
00:44 The_Loeki anyway, I'm off... goodnight
00:44 djgerm i'll add my comments I suppose.
00:45 djgerm thanks again!
00:45 jhauser joined #salt
00:45 The_Loeki good luck and don't worry; it's a very light problem
00:46 jfindlay thanks, djgerm
00:47 nethershaw joined #salt
00:49 hoonetorg joined #salt
00:53 grumm_servire joined #salt
00:56 murrdoc can i use a pillar
00:56 murrdoc in a custom module ?
00:56 murrdoc probably not
01:00 djgerm jfindlay: I updated that bug. Is there more I can put there?
01:01 JDiPierro joined #salt
01:02 jfindlay murrdoc: you should be able to
01:02 jfindlay djgerm: no, that should be enough for now
01:02 jfindlay I'll look into it tomorrow
01:06 brianfeister joined #salt
01:08 woodtablet left #salt
01:09 Guest18700 joined #salt
01:15 murrdoc jfindlay: u no say
01:24 djgerm jfindlay: it looks like the state module calls the execution module here: https://github.com/saltstack/salt/blob/develop/salt/states/ddns.py#L57
01:24 djgerm then if you look at the code in the execution module: https://github.com/saltstack/salt/blob/develop/salt/modules/ddns.py#L150
01:24 djgerm it doesn't even look for the keyfile
01:28 Guest18700 joined #salt
01:31 malinoff joined #salt
01:34 baweaver joined #salt
01:36 quasiben joined #salt
01:42 baweaver joined #salt
01:45 jfindlay djgerm: sounds like a bingo to me
01:45 jhauser joined #salt
01:45 djgerm I am inept at python however...
01:45 djgerm so ¯\_(ツ)_/¯
01:46 jfindlay don't worry, I'll look at it :)
01:47 jfindlay but I'm ready to be done for today.  I've probably interacted with over ~130 issues in the last 10 hours
01:48 djgerm what's one more? ;)
01:48 Guest18700 joined #salt
01:56 djgerm jfindlay: i fixed it....
01:56 djgerm it's not a bug
01:56 djgerm problem exists between chair and keyboard.
02:03 lorengordon joined #salt
02:07 Tyrm joined #salt
02:08 adamisos joined #salt
02:09 shaggy_surfer joined #salt
02:10 antpa joined #salt
02:19 k_sze[work] joined #salt
02:19 fxhp joined #salt
02:27 ALLmightySPIFF joined #salt
02:30 zmalone joined #salt
02:37 antpa joined #salt
02:41 Tyrm joined #salt
02:47 totzky joined #salt
02:47 quasiben joined #salt
02:48 jhauser joined #salt
02:48 brianfeister joined #salt
02:51 joe_n joined #salt
02:51 evle joined #salt
02:57 cheus joined #salt
02:58 donmichelangelo joined #salt
03:21 antpa joined #salt
03:23 _beardedeagle joined #salt
03:23 chequers joined #salt
03:23 beardedeagle joined #salt
03:24 chequers hi. I'm finding my salt master on a 1gb ram machine is slowly growing in memory usage over a few days until it starts OOMing. I have about 20 clients. Is this expected? And how can I tune salt's memory usage?
03:28 ALLmightySPIFF joined #salt
03:35 totzky joined #salt
03:35 kellytk joined #salt
03:38 Guest18700 joined #salt
03:42 bhosmer joined #salt
03:45 hightekvagabond joined #salt
03:47 mapu Hello. I am using salt-cloud to instantiate a cluster of machines. I create 1 machine (admin.domain.com) to test, and then added the rest of the machines to the map file. However - we changed the nomenclature to XXXX.prod.domain.com, so all machines are of that form except the admin.domain.com machine. I successfuly renamed it using ‘salt-cloud -a rename admin newname=admin.prod’.
03:48 mapu However- running ‘salt-cloud -m map.conf -Q’ shows all of the machines except the admin machine.
03:48 mapu I have changed the name in the map file too.
03:48 jhauser joined #salt
03:49 mapu running ‘salt '*.prod.*' test.ping shows the rest but not the admin node. Any guidance would be most helpful.
03:52 brianfeister joined #salt
03:53 gordonm joined #salt
03:58 racooper joined #salt
04:02 justanotheruser joined #salt
04:03 justanotheruser joined #salt
04:10 gordonm joined #salt
04:11 onlyanegg joined #salt
04:11 ashb_ joined #salt
04:12 kellytk joined #salt
04:12 thallera1 joined #salt
04:13 saltstackbot joined #salt
04:13 jcristau joined #salt
04:13 arapaho joined #salt
04:14 GrueMaster joined #salt
04:14 rideh joined #salt
04:14 [vaelen] joined #salt
04:14 Sketch joined #salt
04:14 kevinquinnyo joined #salt
04:14 mapu got it- had to modify the id in /etc/salt/minion
04:14 matrix3000 joined #salt
04:14 Laogeodritt joined #salt
04:15 matrix3000 has anyone figured out how to create and access the new salt enterprise gui?
04:15 matrix3000 or knows where the documentation is
04:15 Phtes joined #salt
04:15 thehaven_ joined #salt
04:16 goki joined #salt
04:17 munhitsu_ joined #salt
04:17 berto- joined #salt
04:17 troubled_ joined #salt
04:17 totzky_ joined #salt
04:17 evle1 joined #salt
04:18 imanc joined #salt
04:18 supermike___ joined #salt
04:18 frankS2 joined #salt
04:18 wiqd joined #salt
04:19 Ryan_Lane_ joined #salt
04:19 kutenai joined #salt
04:19 mortis joined #salt
04:19 Micromus joined #salt
04:19 __alex joined #salt
04:19 melbogia joined #salt
04:19 quarcu joined #salt
04:19 colinstgeorge_ joined #salt
04:19 ekkelett joined #salt
04:19 ekkelett joined #salt
04:19 garphy joined #salt
04:19 ventris joined #salt
04:19 skarn joined #salt
04:20 colttt joined #salt
04:20 N-Mi__ joined #salt
04:20 emid joined #salt
04:20 muep joined #salt
04:20 babilen joined #salt
04:20 Diaoul joined #salt
04:20 elektrix joined #salt
04:20 chequers left #salt
04:20 unusedPhD joined #salt
04:20 Ssquidly joined #salt
04:20 mdupont joined #salt
04:20 B1nny joined #salt
04:20 penguin_dan joined #salt
04:21 akhter joined #salt
04:21 nexsja joined #salt
04:23 akoumjian joined #salt
04:24 colinstgeorge joined #salt
04:25 m0nky_ joined #salt
04:26 jfindlay djgerm: lol, nice!
04:32 jhauser joined #salt
04:36 zmalone joined #salt
04:36 Guest18700 joined #salt
04:43 djgerm although… I can't see to get PTR records added properly…
04:43 joe_n joined #salt
04:44 Furao joined #salt
04:44 voidspacexyz joined #salt
04:48 nlb joined #salt
04:48 ajw0100 joined #salt
04:54 Furao joined #salt
05:14 Furao joined #salt
05:16 djgerm oh got it. you need quotes around your name
05:19 Guest18700 joined #salt
05:20 hightekvagabond joined #salt
05:22 quasiben joined #salt
05:26 kellytk left #salt
05:29 Furao joined #salt
05:29 mohae joined #salt
05:36 Furao joined #salt
05:41 nethershaw joined #salt
05:42 pseudomonas joined #salt
05:42 malinoff joined #salt
05:45 pseudomonas Hi! Is there a way to have two states where one blocks the other from being installed even if they're both applied to the same minion? Thanks!
05:49 forrest pseudomonas, There aren't a lot of people around at this time of night. As far as I'm aware there isn't a way to 'block' a state like that. I usually use grain matchers in the top file to ensure things get properly applied. Can you clarify what you're trying to do?
05:52 voidspacexyz People, need some help with multi master setup. I have documented my whole setup here. http://pastebin.com/BCFVC6ft
05:54 forrest voidspacexyz, Looks pretty similar to this: https://github.com/saltstack/salt/issues/29753
05:54 saltstackbot [#29753]title: New minion fails to authenticate properly to multi-master setup | I configured a multi-master setup using the following documentation: https://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html...
05:56 voidspacexyz @forrest looking at it now
05:56 calvinh joined #salt
05:56 joe_n joined #salt
05:57 brianfeister joined #salt
05:58 pseudomonas forrest: so the current example is for ntp service. It would be easiest to apply a ntp-client state to '*' and ntp-server to 'somefqdn'. Both states can't co-exist on the same minion, so I'd like to make ntp-server preferred over ntp-client and have the two block each other
05:59 voidspacexyz @forrest, not sure if I am right, but , My first time setup is happening ok, I was able to talk to my minions, but its only after the primary master reboots, I face this issue
05:59 forrest pseudomonas, Gotcha, did you already look at grain matching?
05:59 pseudomonas not closely enough to realize if it's something I can use here
06:00 forrest voidspacexyz, Yeah I am not saying it's identical, it's just very close and similar authentication mechanics happen when a minion auths every time. Can you add your example to that issue? The salt team might have more details
06:00 pseudomonas I know I can set an arbitrary grain in /etc/salt/grains on the minion, but what would I do with it on the top file side?
06:00 forrest pseudomonas, So you can set grains in the minion config like this: https://docs.saltstack.com/en/latest/topics/targeting/grains.html#grains-in-the-minion-config, and then match them in your top file like this: https://docs.saltstack.com/en/latest/topics/targeting/grains.html#matching-grains-in-the-top-file
06:01 pseudomonas I'm trying to think of a way to do that without effectivly un-grouping the hosts
06:01 pseudomonas so maybe set a ntp type grain?
06:01 forrest pseudomonas, I mean you can have the server and client on the main ntp server right?
06:01 forrest pseudomonas, Yeah
06:02 pseudomonas the problem with having both apply to the same minion is the config files that are pushed out would conflict
06:03 pseudomonas the ntp clients would be set to not listen for other nodes asking for the time, but the server would
06:03 forrest pseudomonas, Gotcha, yeah I'd say just make two grains, you could also do some compound matching like this: https://docs.saltstack.com/en/latest/topics/targeting/compound.html
06:03 forrest pseudomonas, I've never tried to do a inverse matcher though
06:03 pseudomonas yeah, I haven't seen a doc on it yet, and I've done quite a bit of googling
06:04 pseudomonas lots of Paula Deen recepies show up too....
06:04 forrest pseudomonas, but you could do a matcher like '* and not L@ntp-server-name': to apply the ntp state, then one that's 'L@ntp-server-name':
06:04 pseudomonas so I could match on the grain easily enough in the state sls file, I already have to do that to handle a few differences between distros
06:05 forrest So you create your base and match that everywhere, then ntp-client for the not, and ntp-server for the L@ntp-server-name one
06:05 forrest Yeah, grain is possible, compound matcher is possible as well
06:05 forrest just depends on what is easier for you
06:06 pseudomonas I was trying to stick to a model for the top file where I didn't always have a match for host-x and then a second match for !host-x
06:06 pseudomonas apply a config that nearly every server will need to '*' and then limit it for the one host that is the exception
06:07 pseudomonas if that makes sense, kinda a weird thing to describe
06:07 jack joined #salt
06:07 forrest Yeah I understand, the only way I can think to do it is have your base, then a second section that does the ntp-client, and a third that does the ntp-server.
06:07 forrest Or do grain matching, either way it's kind of a pain
06:07 voidspacexyz @forrest, has posted, lets see if somecan help. I have been stuck with this for quite some time
06:08 forrest voidspacexyz, For sure, hopefully there will be an answer, multi-master is still kind of weird it seems.
06:08 forrest pseudomonas, You might try tomorrow in the morning/early afternoon west cost US time, someone might have a better solution
06:08 pseudomonas yeah, sure, I can pop in again tomorrow. Mountain time here so it's not too late
06:09 pseudomonas doesn't hurt to float the idea one more time
06:09 forrest For sure.
06:09 forrest Mountain time and you're working?? I hope you're on shift
06:09 pseudomonas haha, this is for a personal project
06:09 pseudomonas work is still chef... for now...
06:09 pseudomonas thanks for the help mate
06:10 forrest Yeah I've noticed that in my job search, a LOT of places are chef
06:10 forrest for sure, have a good evening
06:15 voidspacexyz That is primary because, chef has been around for long
06:16 voidspacexyz I love salt, primary because it is python, and it is super simple to get started and understand it
06:16 forrest Initial release was Jan 2009, where as Salt is March 2011.
06:16 forrest So only 2 years additional time, but apparently enough to be used at most of the places I've applied
06:17 forrest Anyways I've spent enough time in here for an evening so I'm outta here, have a good one.
06:18 terratoma joined #salt
06:18 Guest12597 joined #salt
06:20 MikaT_ joined #salt
06:28 zer0def joined #salt
06:32 pseudomonas left #salt
06:38 terratoma joined #salt
06:39 LostSoul Hi
06:39 LostSoul Is it possible to set up pills to be catched from git repo list states?
06:40 snowpig joined #salt
06:43 Guest12597 joined #salt
06:44 robawt getting salt to give me an odd package version when installing from pkg.installed
06:44 robawt yum shows newer version from the command line, high state is attempting to install an old version
06:45 snowpig hi, Where can I find docs about How to configure a local Master (behind a DHCP server) for controlling Minions on EC2 ?
06:45 linjan_ joined #salt
06:47 TyrfingM1olnir joined #salt
06:55 onlyanegg joined #salt
06:57 kawa2014 joined #salt
06:59 giantlock joined #salt
07:00 Guest12597 joined #salt
07:01 adrienr joined #salt
07:01 akhter joined #salt
07:04 rotbeard joined #salt
07:04 MikaT_ Hi. I tried to search irclogs and found out that there have been some .deb repo issues at some point. I'm getting "Failed to fetch http://repo.saltstack.com/apt/ubuntu/ubuntu12/latest/pool/main/p/python-tornado/python-tornado_4.2.1-1_amd64.deb  Size mismatch" right now, is that a known issue?
07:11 kawa2014 joined #salt
07:16 nidr0x joined #salt
07:17 Meep joined #salt
07:17 Meep Evening all.
07:19 Meep Anyone here?
07:19 matrix3000 lol
07:19 matrix3000 Usually not
07:19 Meep Okay.  Looking for insight on pillars for protecting passwords.
07:19 matrix3000 I wonder if there is an IRC channel for Enterprise customers, cause even with an Enterprise license support is slow and not very helpful
07:20 matrix3000 and somehow my company feels the need to pay licensing fees for something that still has issues on the agent side doing highstate intervals
07:21 matrix3000 Meep: what do you mean, like encypting them within salt?
07:22 jcockhren Meep: https://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.gpg.html
07:23 Meep In particular, what are the best practices for targeting subsets of minions.
07:24 Meep @jcockhren (forgive my hipchatisms), that is useful.
07:25 jfindlay MikaT:
07:25 Meep Ideally I want to jinja render a pillar information based on other pillar data.
07:25 impi joined #salt
07:26 Meep But it looks like pillar data isn't available within pillars.
07:26 Meep Something like..
07:26 Meep accounts: {%  if salt['pillar.get']('roles:apache:kerberos') %}   ldap-bind-user:     username: asdasd     password: asdasd {% endif %}
07:26 Meep (excuse the collapsing into a single line.
07:27 rotbeard joined #salt
07:27 kalessin joined #salt
07:27 Meep Any thoughts?  Or any preferred web based forums that might be helpful?
07:28 AndreasLutro Meep: that's currently not possible
07:28 matrix3000 yea, i don't think you can use pillars in pillars,
07:29 jfindlay MikaT: that is the old repo layout.  You should try http://repo.saltstack.com/apt/ubuntu/12.04/amd64/
07:29 Meep I've gathered that, so I'm looking for ways of restricting (in this case) ldap user information to a subset of machines.
07:30 Meep Obviously don't want to use grains, and don't 100% trust the minion targeting.
07:30 jcockhren Meep: there are a number of ways to targeting minion -> https://docs.saltstack.com/en/2015.5/topics/targeting/index.html
07:30 snowpig hi, Where can I find docs about How to configure a local Master (behind a DHCP server) for controlling Minions on EC2 ?
07:31 jcockhren Meep: maybe I'm misunderstanding what you're asking in terms of restricting pillar data to a subset of machines
07:32 jcockhren Meep: grains are one way but there's, subnet matching, id matching and pillar matching
07:33 jfindlay snowpig: the master needs a clear inbound connection to port 4506
07:33 jcockhren you can also define your minion as a nodegroup and target that group
07:33 jcockhren minions*
07:33 matrix3000 What would call a salt 'myhost' state.highstate to return no output and just return a new line?
07:33 matrix3000 but on the server it looks like state.highstate might have actually ran
07:34 ruxu joined #salt
07:34 MikaT jfindlay: Right, I'll try that. Thanks.
07:35 Guest12597 joined #salt
07:35 Meep jcockhren, Seen that, the targeting works 100% for states.  But not for pillars.
07:35 Kumar__ joined #salt
07:36 Kumar__ @here: Need help. I'm trying to create a new vm on azure using saltstack but throws the profile is not defined.
07:36 Kumar__ ubuntu@u2salt:/etc/salt/cloud.profiles.d$ sudo salt-cloud -f create my-azure name=vm1 [INFO    ] salt-cloud starting Error: There was an error running the function: No cloud providers matched 'my-azure'. Available selections: ubuntu@u2salt:/etc/salt/cloud.profiles.d$ sudo salt-cloud -f create azureprovider-config  name=vm1 [INFO    ] salt-cloud starting Error: There was an error running the function: No cloud providers matched 'azurep
07:37 jcockhren Meep: hmm. yeah. In my pillar I've only used Id, grains and compound
07:37 snowpig jfindlay: Since i'm on a internal network with an IP like 192.168.x.x, and the IP visble to the world is of the Squid server .. I read a few posts on this and it seems normally people have a instance for Master in EC2
07:37 iggy matrix3000: the minion times out... you can check the job cache for what happened
07:37 jcockhren Meep: subnet targeting would at least be a good addition
07:37 atmosx joined #salt
07:38 KermitTheFragger joined #salt
07:38 onlyanegg joined #salt
07:38 jfindlay snowpig: if you're able to get inbound traffic on port 4506 routed to the master, it should work, but I don't have any experience with it
07:38 Meep I have pillar that controls our semi-baked systems with roles.
07:39 Kumar__ Error:  ubuntu@u2salt:/etc/salt/cloud.profiles.d$ sudo salt-cloud -p basevm_profile vm2 [INFO    ] salt-cloud starting [ERROR   ] Profile basevm_profile is not defined Error:     Profile basevm_profile is not defined
07:39 snowpig jfindlay: that I could look into. Thank you!
07:39 Meep For example an open apache and apache with kerberos.
07:39 netcho joined #salt
07:40 Meep Only those instances that are assigned to the kerberos role should see the LDAP configuration.
07:40 snowpig left #salt
07:41 Aron joined #salt
07:41 Meep Subnet won't work, minion won't work (we have auto accept on keys for dev machines).
07:42 Aron Hello, is there a way to know the fileserver environment you are on from within state files?
07:42 Meep Pillar seems to be the only trusted way.
07:43 matrix3000 iggy: it actually ran though, minion didn't fail
07:44 iggy matrix3000: it's not exactly failing... the master just won't wait forever for minions
07:44 denys joined #salt
07:44 matrix3000 is forever less than 1 second?
07:44 iggy matrix3000: you can up the timeout in the master config or the -t command line option
07:45 Guest12597 joined #salt
07:46 matrix3000 setting -t to 30 still returns nothing
07:46 matrix3000 but salt master is able to talk to the salt minion
07:46 GreatSnoopy joined #salt
07:46 matrix3000 and i can see on the minion that salt master told it to run salt
07:46 matrix3000 [eanderson@salt01 ~]$ sudo salt 'ericcentos*' state.highstate -t 30
07:46 matrix3000 [eanderson@salt01 ~]$
07:52 futuredale_ joined #salt
07:52 jbax joined #salt
07:53 Aron fyi {{saltenv}} returns the fileserver environment from within state files
07:59 anmolb joined #salt
08:08 ruxu joined #salt
08:12 malinoff joined #salt
08:20 viq joined #salt
08:22 slav0nic joined #salt
08:28 jxm_ joined #salt
08:29 kshlm joined #salt
08:29 treaki joined #salt
08:44 dariusjs joined #salt
08:44 Guest12597 joined #salt
08:46 krymzon joined #salt
08:48 Bryson joined #salt
08:48 brianfeister joined #salt
08:52 jhauser joined #salt
08:54 Rumbles joined #salt
08:59 malinoff joined #salt
08:59 s_kunk joined #salt
08:59 matrix3000 left #salt
09:00 nebuchadnezzar joined #salt
09:02 brianfeister joined #salt
09:03 Guest12597 joined #salt
09:05 keimlink joined #salt
09:07 bhosmer joined #salt
09:08 GreatSnoopy joined #salt
09:10 Guest12597 joined #salt
09:11 wych joined #salt
09:20 voidspacexyz joined #salt
09:29 Guest12597 joined #salt
09:30 VR-Jack2 joined #salt
09:34 joe_n joined #salt
09:37 Guest12597 joined #salt
09:38 joe_n joined #salt
09:38 fredvd joined #salt
09:38 onlyanegg joined #salt
09:43 cyteen joined #salt
09:54 Rumbles joined #salt
09:59 SunPowered joined #salt
10:13 ggoZ joined #salt
10:13 Firewalll joined #salt
10:18 colegatron joined #salt
10:23 zer0def joined #salt
10:24 atmosx joined #salt
10:26 parasciidick joined #salt
10:29 bdrung_work_ joined #salt
10:29 joshin joined #salt
10:33 totzky joined #salt
10:36 voidspacexyz1 joined #salt
10:36 zerthimon joined #salt
10:39 michelangelo joined #salt
10:39 Jimlad_ joined #salt
10:40 marwood joined #salt
10:40 jfindlay joined #salt
10:40 totzky joined #salt
10:40 chesty joined #salt
10:40 pviktori joined #salt
10:41 nihe joined #salt
10:41 freelock joined #salt
10:42 avozza joined #salt
10:42 Corey joined #salt
10:42 Cottser joined #salt
10:42 tzero joined #salt
10:42 devtea joined #salt
10:42 wm-bot4 joined #salt
10:45 giantlock joined #salt
10:49 malinoff joined #salt
10:56 bhosmer joined #salt
10:56 Guest772 joined #salt
10:56 Guest772 Hii
10:59 izrail joined #salt
11:12 cztanu joined #salt
11:12 cztanu Hey folks! Was just wondering... is anyone using beacons in prod/commercial scenarios?
11:15 Lionel_Debroux joined #salt
11:19 tongpu joined #salt
11:19 kawa2014 joined #salt
11:20 tongpu joined #salt
11:24 kshlm joined #salt
11:25 felskrone joined #salt
11:32 totzky joined #salt
11:35 zer0def joined #salt
11:37 Guest12597 joined #salt
11:40 AndreasLutro does anyone have a clever way of managing gpg public keys in salt? what I'm doing obviously only works with curl-able keyfile urls https://bpaste.net/show/9b12003f159c
11:40 dheeraj joined #salt
11:42 dheeraj hi, I was wondering if there is an option of defining "follow" state
11:42 cztanu follow what?
11:42 dheeraj i.e. State A follows state B
11:42 felskrone1 joined #salt
11:42 cztanu you can do an include
11:42 dheeraj if State B is "executed" that would be followed by State A
11:42 AndreasLutro dheeraj: require
11:43 dheeraj but if state A is "executed" all by itself, B will not be touched
11:43 dheeraj adding a require adds a two-way chain
11:43 cztanu You could add a module call to state.apply on B
11:44 abednarik joined #salt
11:45 AndreasLutro err
11:45 AndreasLutro onchanges then?
11:45 cztanu We are talking about a totally different statefile here
11:45 AndreasLutro it's not clear what you want to achieve, a state is not really executed by itself
11:46 dheeraj cztanu: I'll look into that
11:46 dheeraj AndreasLutro: I am having a hard time figuring the requisites
11:46 cztanu I forget the syntax... salt['state.apply']('minion') ... Maybe?
11:46 dheeraj in a nutshell
11:46 cztanu salt['state.apply']('state', 'minion')
11:47 AndreasLutro well, can you be more precise about what you actually want to achieve?
11:47 dheeraj I want to run a command to download signature files when a new RPM of a software is installed...after the files are downloaded, i want to run a test command
11:47 hojgaard joined #salt
11:48 dheeraj but I should also be able to run test command (without downloading new signature files)
11:48 AndreasLutro right
11:48 dheeraj the RPM part is easy, I have a state for pkg.installed and onchanges for watching for changed versions
11:49 AndreasLutro I'm not sure you can do that with states alone, I'd probably write a custom module for the test command so that I can call it any time I want
11:49 ajw0100 joined #salt
11:49 dheeraj AndreasLutro: when you say custom module, I assume it is an execution module?
11:49 AndreasLutro then use module.run mymodule.myfunc with onchanges: - pkg: my_pkg_install_state
11:49 AndreasLutro yeah
11:49 dheeraj that would make sense...
11:50 AndreasLutro alernatively you could create a pillar variable "always_run_test" or whatever
11:50 dheeraj thanks for the pointers
11:50 AndreasLutro then wrap the onchanges bit inside {% if pillar.get('always_run_test') %}
11:50 bhosmer joined #salt
11:51 dheeraj I guess as a general rule, If I find myself writing too many cmd states, I should look at an execution module
11:52 AndreasLutro I don't think that's exactly true, but you need to do some parts of the highstate outside of the highstate, so it makes sense to write a module
11:54 AndreasLutro or, you could just create a shell script for your tests and do `salt my-minion cmd.script salt://mytest.sh`
11:54 AndreasLutro but if you need to pass in variables etc that could get annoying
11:55 Guest12597 joined #salt
12:00 pouldenton joined #salt
12:00 dheeraj AndreasLutro: yeah...I'll have to rethink a bit
12:00 ruxu joined #salt
12:02 pouldenton Hello! I have a stupid question how can I pass "state" variable to if statement in construction like this:
12:02 pouldenton {% for env, state in salt['state.show_top']('queue=True').iteritems()  %}
12:02 pouldenton {% if salt['grains.get']('software_flags:assigned_states').count(state) == 0 %}
12:04 fredvd joined #salt
12:07 pouldenton I'm trying to compare value of "state" variable with the same name key in grains by getting count...
12:08 Guest12597 joined #salt
12:09 evle joined #salt
12:12 brianfeister joined #salt
12:13 AndreasLutro pouldenton: that should work I guess
12:18 catpig joined #salt
12:19 Guest12597 joined #salt
12:19 pouldenton AndreasLutro: Unfortunately no, similar construction without variable in count statement works, but this rise an error: Rendering SLS 'dev:base_settings.minion.state_grains' failed: Jinja syntax error: expected token 'end of statement block', got 'scoped';
12:20 AndreasLutro your error is probably elsewhere
12:21 pouldenton sorry, not that error, that was experiment with "scoped" from jinja manuals
12:22 pouldenton Rendering SLS 'dev:base_settings.minion.state_grains' failed: Jinja error: expected a character buffer object
12:22 pouldenton TypeError: expected a character buffer object
12:23 rideh joined #salt
12:23 AndreasLutro can you put the full error message on gist.github.com or some other pastebin please?
12:23 quasiben joined #salt
12:26 pouldenton Here it is - http://pastebin.com/0zkUEjWV
12:27 fe92 joined #salt
12:34 iceyao joined #salt
12:36 Guest12597 joined #salt
12:44 akhter joined #salt
12:45 ajw0100 joined #salt
12:46 AndreasLutro pouldenton: that's odd... what if you remove the == 0 bit, then remove the .count(state) bit?
12:47 flughafen_ joined #salt
12:48 flughafen_ is this the channel for both dev and general chat?
12:48 pouldenton Same error, when removed == 0 - http://pastebin.com/HjetkFZv
12:48 thehaven joined #salt
12:49 mohae_ joined #salt
12:51 wych_ joined #salt
12:51 troubled_ joined #salt
12:51 voidspacexyz1 joined #salt
12:52 AndreasLutro pouldenton: and if you remove .count(state) ?
12:52 AndreasLutro flughafen_: sure
12:52 pouldenton And no error if remove .count(state)
12:52 pouldenton But this state was not applyed
12:53 Guest12597 joined #salt
12:53 AndreasLutro that's fine for now, we're just debugging
12:53 unusedPh- joined #salt
12:53 jcristau_ joined #salt
12:54 Phtes joined #salt
12:55 dober joined #salt
12:55 dober joined #salt
12:55 colegatron joined #salt
12:55 AndreasLutro I don't think salt['state.show_top']('queue=True') is returning what you think it is. I don't even know if calling  show_top in a state file like that is supported
12:56 mdupont joined #salt
12:57 teryx510 joined #salt
12:58 pouldenton Yes, I know that it is strange use of state.show_top. I have reported a feature request - https://github.com/saltstack/salt/issues/30890, but looking for temporary solution right now...
12:58 saltstackbot [#30890]title: Get assigned states inside minions | Hello!...
12:59 rem5 joined #salt
12:59 bluenemo joined #salt
13:01 abednarik joined #salt
13:01 pouldenton It's even more strange that this state is partially working, it add grains if I replace variable by static valuy...
13:01 pouldenton It's even more strange that this state is partially working, it add grains if I replace variable by static value...
13:03 Guest12597 joined #salt
13:04 iceyao joined #salt
13:04 alxf joined #salt
13:05 totzky joined #salt
13:06 totzky joined #salt
13:10 stevednd joined #salt
13:15 lothiraldan joined #salt
13:20 jdubski joined #salt
13:21 XenophonF flughafen_: i think many of the saltstack devs live in utah (UTC-7)
13:21 XenophonF they might not be awake yet
13:21 Guest12597 joined #salt
13:25 pouldenton Maybe there is some better solution which i am missing?
13:25 Tanta joined #salt
13:27 KennethWilke joined #salt
13:30 XenophonF pouldenton: what's that if statement trying to do?
13:31 pouldenton I'm trying to compare value of "state" variable with the same name key in grains by getting count...
13:32 sroegner joined #salt
13:32 XenophonF well i can see that
13:32 XenophonF i mean, what in a more general sense are you trying to accomplish?
13:33 XenophonF what is the purpose of this software_flags:assigned_states grain? (which I assume is a custom grain)
13:34 XenophonF how is the data in the software_flags:assigned_states grain structured?
13:34 XenophonF if it's a list, you can just do something like `{% if state in salt['grains.get'](...) %}`
13:36 XenophonF from the snippet of code in your pastebin, it looks like you're trying to set software_flags:assigned_states to be a list of states
13:38 flughafen_ XenophonF: i dont have specific questions yet. but thanks.
13:38 XenophonF it would be much, much simpler if you just dumped the results of show_top() into the grain
13:39 XenophonF hang on let me throw a gist together to show you what i mean
13:39 zsoftich1 joined #salt
13:39 quasiben joined #salt
13:41 bhosmer joined #salt
13:42 XenophonF oh and another thing, you wouldn't set the queue kwarg to show_top() using the code `'queue=True'`, as that just passes a string "queue=True" to function
13:42 XenophonF you'd just use `queue=True` (unquoted)
13:42 XenophonF output of show_top() seems to be the same either way, though
13:43 pouldenton It is just some experiments with self-documenting structures in Salt, main problem is that minion don't know what states are going to be assigned to him and i can't get such information with simple ways: https://github.com/saltstack/salt/issues/30890 , http://projects.theforeman.org/issues/13534
13:43 saltstackbot [#30890]title: Get assigned states inside minions | Hello!...
13:44 XenophonF pouldenton: try this - https://gist.github.com/xenophonf/fa11500113b40663b64c
13:44 XenophonF i'm booting up a dev minion to try it out myself
13:44 abednarik joined #salt
13:44 XenophonF i'm not sure what you mean by "minion don't know what states are going to be assigned to him"
13:45 pouldenton i'll  try in several minutes
13:45 XenophonF because of course the minion knows which states are assigned to it---how else would a highstate job work?
13:45 XenophonF or show_top() for that matter
13:45 lompik joined #salt
13:45 XenophonF let me take a look at those issues
13:46 numkem joined #salt
13:46 XenophonF i don't understand the foreman bug report---what are inherited states?
13:47 stbenjam hosts have host groups, and you can add states to either, the ones a host inherits from a host group don't show in the api call
13:47 stbenjam i think pouldenton wanted to use the foreman api to do something inside salt to get the list of states, but grabbing them from what's in the top systems sounds like a better solution
13:49 XenophonF me too
13:49 sroegner joined #salt
13:49 vpm joined #salt
13:50 XenophonF pouldenton: what does this mean in your error report? "automatically handle mutually exclusive states without any conflicts"
13:51 XenophonF pouldenton: i think you're doing it wrong if you have states that are mutually exclusive
13:52 XenophonF pouldenton: for example, here's my state formula for postfix https://github.com/irtnog/salt-states/tree/development/postfix/
13:52 subsignal joined #salt
13:52 pouldenton Foreman provide web interface for salt, basic functionality to assign states is to assign them through foreman groups, then all hosts inside that group will inherit that states
13:53 XenophonF pouldenton: and here's my default postfix client configuration set via pillar https://github.com/irtnog/salt-pillar-example/blob/master/defaults.sls#L65
13:53 XenophonF pouldenton: and finally, here's my postfix mail relay configuration set via pillar https://github.com/irtnog/salt-pillar-example/blob/master/mx1/example/com/init.sls
13:54 XenophonF pouldenton: you can look at the top files in both repos to get an idea of how the targeting works
13:54 XenophonF pouldenton: it's all very logical, based on my server naming conventions
13:54 pouldenton but we can't override inherited states in host configuration, we can only add more states, and there is a problem
13:55 JTeatime heh, XenophonF... is it really necessary to reference RFC 2119 and OSHA 1910.145 in your top.sls?
13:55 XenophonF JTeatime: :-D
13:56 JTeatime :)
13:56 JTeatime I highly recommend adopting https://tools.ietf.org/html/rfc6919
13:56 XenophonF pouldenton: my point is that for services like ntp (from your example), a single formula can handle all cases: server, peer, client
13:56 pouldenton Yes, i agree that Salt targeting system is great, but when using salt with foreman it's more simple to use foreman web interface
13:56 XenophonF JTeatime: oooh i like it!!!
13:57 XenophonF god knows that'd be more accurate than 2119
13:57 morissette joined #salt
13:58 TooLmaN joined #salt
13:59 Guest12597 joined #salt
13:59 XenophonF pouldenton: i hate to be that guy, but i really think you're doing it wrong
14:00 XenophonF pouldenton: take a look at ntp-formula, specifically the newer ntp.ng states - https://github.com/saltstack-formulas/ntp-formula/tree/master/ntp/ng
14:00 adamisos joined #salt
14:00 XenophonF pouldenton: the state formula is written so that it is generic
14:01 brianfeister joined #salt
14:02 XenophonF pouldenton: whether you push a server-type configuration to the minion (i.e., ntp is reading time from a radio or an atomic clock and acting as a stratum 1 time source) or whether yyou push a client-type configuration (i.e., ntp gets its time from another server but won't try to sync the upstream server's clock) depends wholly on the pillar data assigned to the minion
14:02 tuxx_ hey any salt devs here?
14:03 tuxx_ if i want to add a new output format, its as easy as adding a new file to /usr/lib/python2.7/dist-packages/salt/output/rrd.py right?
14:03 pouldenton Imagine situation, when you can configure all things through web interface, based on simple groups. If so, you wouldn't wont to find what pillar must be assigned to current minion to get it working
14:04 pouldenton It's like role based structure in salt grains, but through web interface.
14:06 pouldenton And it's real, all you need is properly configured states, yes states will be more complex, but states are written only once...
14:06 racooper joined #salt
14:07 pouldenton Unfortunately all formulas don't optimized for such usecase... They know nothing about Foreman
14:10 JDiPierro joined #salt
14:10 Rumbles Hi
14:11 Rumbles I'm having some trouble setting up a deb pkgrepo in saltstack, the repo has a slightly unusual structure and is failing
14:11 Rumbles one sec, I will pastebin
14:11 abednarik joined #salt
14:12 Rumbles http://fpaste.org/318419/45951481/
14:12 Rumbles anyone know how best to get salt to include the trailing slash in the file?
14:13 Guest12597 joined #salt
14:13 GreatSnoopy joined #salt
14:16 XenophonF Rumbles: take out the `dist` kwarg in the state
14:16 JTeatime also, I think trusty/main would do the same thing for you, if that doesn't work
14:17 Rumbles I tried "trusty main"
14:17 Rumbles I can try trsuty/main
14:17 Rumbles I will try taing out dist also
14:18 XenophonF tuxx_: you'd add another module to salt/output/
14:18 akhter joined #salt
14:19 XenophonF tuxx_: so yeah, if you have a new output format named 'rrd', you could put that code in salt/output/rrd.py
14:20 Rumbles JTeatime, your suggestion didn't work, thanks though, XenophonF that worked, thanks!
14:21 JTeatime yeah, I realize I was thinking of "trusty main" which doesn't help you
14:21 Rumbles np
14:23 bhosmer joined #salt
14:23 XenophonF tuxx_: iirc the salt devs are in utah (UTC-7)
14:23 mapu joined #salt
14:24 Guest12597 joined #salt
14:24 voidspacexyz joined #salt
14:24 brianfeister joined #salt
14:24 dendazen joined #salt
14:24 pouldenton XenophonF: Thank you! Looks like it's working - https://gist.github.com/xenophonf/fa11500113b40663b64c
14:25 antpa joined #salt
14:25 XenophonF ah good
14:25 teryx510 joined #salt
14:25 dendazen Does anyone distribute the ssh private key via salt? I have some service acc which uses github to pull configs, can I distribute its private ssh key with salt?
14:26 JTeatime you certainly can
14:26 JTeatime I have a personal preference for generating private keys on the hosts they live on, and never transferring them off
14:26 XenophonF pouldenton: if you need to flatten the list (merge the list of states across all saltenvs), just set a new variable, e.g. {% set all_states = [] %}, and then loop through the dictionary doing something like {% set all_states = all_states + states %}
14:26 JTeatime but what you want to do seems perfectly reasonable
14:28 kawa2014 joined #salt
14:28 pouldenton XenophonF: It always report "Changes" like new state, but without duplicates inside grains. It's just great for undocummented solution that shouldn't work :)
14:29 dendazen Ok, i mean that acc will have read access to some repo in git, nothing esle, even if it gets compromised it can't do anything too bad.
14:29 XenophonF dendazen: i distribute keys via salt
14:29 JTeatime just read access?  does github let you do that?
14:29 XenophonF dendazen: specifically via pillar
14:30 XenophonF JTeatime: yes you can have an account with read-only access
14:30 dendazen So i will just have to distribute the key like regular file? How do you do it via pillar?
14:30 JTeatime and yes, pillar is where you want to put them for sure, because pillar data is only available to the targeted host
14:30 JTeatime you don't want them available to all hosts
14:30 XenophonF JTeatime: e.g., my salt master has its own github service account which gives it read-only access to my various salt repos
14:30 dendazen I am only aware of ssh_auth
14:30 XenophonF dendazen: i use users-formula, hang on i'm pulling up an example config
14:31 dendazen but that is for 'authorized_keys' it seems
14:31 debian112 joined #salt
14:31 XenophonF dendazen: https://github.com/irtnog/salt-pillar-example/blob/master/salt/example/com/init.sls#L18
14:31 Guest12597 joined #salt
14:31 XenophonF dendazen: and https://github.com/irtnog/salt-pillar-example/blob/master/salt/example/com/init.sls#L48
14:31 dendazen Thank you.
14:32 abednarik joined #salt
14:32 XenophonF np
14:33 Kumar joined #salt
14:33 dendazen oh is there such a thing as 'privkey: pubkey:" ?
14:33 Kumar azureprovider-config:   ssh_pubkey: ssh-rsa  #  driver: azure   ssh_key_file: /root/.ssh/azure_self   certificate_path: /root/.ssh/azure_self   subscription_id: xxxxxx1   requests_lib: True    minion:     master: <<IPAddress>>
14:34 Kumar provider.conf.d/provider.conf
14:34 akhter joined #salt
14:34 Kumar profile.conf.d/profile.conf
14:34 XenophonF dendazen: what do you mean?
14:34 dendazen well in that sample you gave me
14:35 dendazen in the state file
14:35 teryx5101 joined #salt
14:35 dendazen for users_root_ssh_keys:
14:35 Kumar basevm_profile:   provider: 'azureprovider-config'   image: '14_04_3-LTS-amd64-server-20160119-en-us-30GB'   size: 'Standard_A0'   location: 'East US'   slot: dev   ssh_username: 'ubuntu'   media_link: ''
14:35 XenophonF Kumar: stop - please use gist or bpaste.net or fpaste.net
14:35 dendazen there is pubkey, privkey stanzas
14:36 Hetman Hello can anyone tell me is that because maybe wrong version of salt: I'm trying to use this formula https://goo.gl/etrfyE and getting this error: http://pastebin.com/md5e619g
14:36 XenophonF dendazen: right - unfortunately, you must specify both keys
14:37 XenophonF dendazen: one of them can be an empty string, if that's what you need
14:37 dendazen oh ok, it's no problem
14:37 Kumar sorry  XenophonF
14:40 XenophonF Hetman: i don't use the state but maybe something's missing from your config? perhaps pillar data needed by the state isn't getting assigned to the minion?
14:41 XenophonF Hetman: did you install the formhelper module referenced in the readme?
14:42 Hetman XenophonF: yeah I've got this its sits in my _module and i done salt util to sync_all
14:43 JDiPierro joined #salt
14:43 Kumar I'm using this config http://ur1.ca/ohb1o for profile
14:43 Hetman I've copied entire example pillar file to my host file and still not a problem, ok need to crack this out
14:43 jeddi joined #salt
14:44 Guest12597 joined #salt
14:44 geomacy joined #salt
14:44 Kumar I'm using the following for provider config http://ur1.ca/ohb1z
14:44 netcho_ joined #salt
14:45 _JZ_ joined #salt
14:45 Kumar when executed sudo salt-cloud -p basevm_profile returns   error "Error: Profile basevm_profile not defined"
14:45 Kumar request to share me the provider config for Azure pls
14:46 Kumar and also profile config for Azure pls
14:46 Kumar I'm trying to create a new vm on Azure using salt-cloud
14:46 XenophonF Kumar: you need to create a profile that references the Azure driver
14:46 teryx510 joined #salt
14:46 XenophonF Kumar: i am afraid i don't have an example handy
14:47 jcristau joined #salt
14:47 XenophonF Kumar: maybe this will help? https://docs.saltstack.com/en/latest/topics/cloud/azure.html#cloud-profiles
14:48 akhter joined #salt
14:48 Kumar I had referenced the same url and did the above.
14:49 hasues joined #salt
14:49 XenophonF Kumar: that media link doesn't look right?
14:49 XenophonF Kumar: does `salt-cloud --list-images azureprovider-config` work?
14:50 XenophonF Kumar: also in the provider config you pasted, the provider is named `zureprovider-config`
14:50 XenophonF Kumar: is that a spelling error in the paste or in the source file?
14:50 Kumar spelling error in the paste
14:50 XenophonF Kumar: a past of the complete error would help
14:51 _JZ__ joined #salt
14:51 Kumar media_link = 'https://qubolestorage1.blob.core.windows.net/vhds'
14:51 Kumar ubuntu@u2salt:~$ sudo salt-cloud --list-images azureprovider-config [INFO    ] salt-cloud starting Error: There was an error listing images: No cloud providers matched 'azureprovider-config'. Available selections:
14:52 tuxx_ XenophonF: strangely its ignoring changes to my rrd module.. maybe its being cached somehow
14:53 tuxx_ rrd output module i mean
14:53 Hetman XenophonF: Ive got a feeling that service name somehow missing from defaults.yaml file if im correct it's failing on live {{ datamap.service.ensure|default('running') }} so its trying to fecth name of service from defaults file and see is it running but i cannot see it anywhere there
14:53 zsoftich1 joined #salt
14:54 hasues left #salt
14:54 gh34 joined #salt
14:55 Tyrm joined #salt
14:56 abednarik joined #salt
14:56 Kumar when I used the profile as parameter and get the following error:
14:56 Kumar ubuntu@u2salt:~$ sudo salt-cloud -p basevm_profile vm2 [INFO    ] salt-cloud starting [ERROR   ] Profile basevm_profile is not defined Error:     Profile basevm_profile is not defined ubuntu@u2salt:~$
14:56 Guest12597 joined #salt
14:57 Kumar http://ur1.ca/ohb4f
14:57 mavhq joined #salt
14:58 XenophonF Kumar: please try salt-cloud --list-images azureprovider-config and paste the output
14:58 XenophonF Kumar: let's make sure the provider works first
14:58 Kumar cmd: sudo salt-cloud --list-images azureprovider-config
14:58 XenophonF Hetman: yeah that formula is pretty magical. i'm not sure what's going on. sorry :(
14:59 Kumar xenophoF: http://ur1.ca/ohb4q
15:00 zmalone joined #salt
15:03 rm_jorge joined #salt
15:03 XenophonF Kumar: looks like something is wrong with the provider
15:04 cpowell joined #salt
15:04 XenophonF Kumar: try running `salt-cloud --log-level=DEBUG --list-images azureprovider-config`
15:05 quasiben joined #salt
15:06 XenophonF Kumar: that might tell you what's wrong with the profile
15:06 XenophonF er, provider i mean
15:07 XenophonF Hetman: you could try emailing Arnold Bechtoldt
15:07 XenophonF Hetman: his email address is in the readme
15:10 Kumar XenophonF: http://ur1.ca/ohb6b debug error level attached.
15:10 andrew_v joined #salt
15:10 penguin_dan joined #salt
15:12 cpowell does anyone know when 2015.8.5 will be in the repos? The patch was merged, but I don't see it in there yet.
15:12 Guest12597 joined #salt
15:13 zmalone 2015.8.5 isn't announced yet, https://docs.saltstack.com/en/latest/topics/releases/2015.8.4.html
15:13 zmalone Possibly because there is additional testing going on, possibly because of additional patches, I don't know.
15:14 XenophonF Kumar: read the error message
15:14 cpowell I understand, but the latest bug https://github.com/saltstack/salt/issues/30820 is impacting
15:14 saltstackbot [#30820]title: State runs involving watch_in or extending break on 2015.8.4 | Environment: rackspace, Ubuntu 14.04, salt packages from `http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest`...
15:14 cpowell it was patched 2 days ago
15:15 Kumar xenophonF: what is the driver: value to be given for Azure . when I gave driver: azure it failed
15:15 XenophonF Kumar: i dunno, don't use azure. should be in the docs.
15:17 berserk joined #salt
15:22 dendazen hey XenophonF when i use that template i get an error: Rendering SLS "base:users.velio.snapchat" failed: Illegal tab character; line 37
15:22 dendazen https://gist.github.com/anonymous/ce124421ff0e7c81a22f
15:23 jraby joined #salt
15:23 lothiraldan joined #salt
15:25 abednarik joined #salt
15:25 XenophonF dendazen: if i had to guess, your editor converted 8 spaces into a tab character
15:25 dendazen yeah trying to see what's up
15:26 XenophonF dendazen: you see line 9?
15:26 XenophonF dendazen: and line 7?
15:26 netcho_ joined #salt
15:26 teryx5101 joined #salt
15:26 dendazen yes
15:26 XenophonF dendazen: those indents must be spaces
15:26 dendazen oh i see
15:26 XenophonF dendazen: that's true for all the yaml files
15:26 XenophonF dendazen: which text editor are you using?
15:27 dendazen emacs
15:27 Brew joined #salt
15:27 XenophonF dendazen: hm, salt-mode or yaml-mode should do the right thing, then
15:27 XenophonF dendazen: or are you using indented-text-mode?
15:27 dendazen yes, idented-text-mode
15:27 Guest12597 joined #salt
15:28 netcho__ joined #salt
15:29 Delta1203 joined #salt
15:29 XenophonF dendazen: make sure you use yaml-mode or salt-mode for Salt state/pillar files
15:29 dendazen thank you i will
15:30 dendazen i am fixing it right now
15:30 dendazen i think tabs were the issue
15:30 XenophonF dendazen: you can install salt-mode from melpa or elpa or something
15:30 dendazen in the private key
15:30 XenophonF yeah
15:30 XenophonF in the public key too, ok?
15:30 zmalone cpowell: Yeah, I'd probably have moved it to the archived repos, and put 2015.8.3 back as the "latest"
15:30 zmalone or just rush the release, but I don't know what goes into that
15:31 zmalone I've tried the package builder states that were published, and found them awkward, and it looks like a process that involves a lot of working around broken stuff
15:32 ajw0100 joined #salt
15:33 jraby guys, I'm having a really weird issue with a jinja templated 'file.managed'.  Somehow it seems like the word 'manual' is disappearing from the output of the template.
15:33 jraby Here's the template:
15:33 jraby {% set vidange = pillar.get('diamond_service_manual', False) %}
15:33 jraby {% if vidange %}
15:33 jraby # if vidange
15:33 jraby manual
15:33 jraby manual
15:33 jraby wtf manual
15:33 jraby manual asdf
15:33 jraby # in double curly braces: {{ "manual" }}
15:33 jraby {%endif%}
15:33 jraby # vidange:  {{vidange}}
15:33 XenophonF jraby
15:33 jraby and the result:
15:33 jraby # if vidange
15:33 jraby wtf manual
15:33 jraby asdf
15:33 jraby # in double curly braces: manual
15:33 jraby # vidange:  True
15:33 XenophonF jraby: stop - please use gist or fpaste or bpaste
15:33 jraby I'm done ;-)
15:34 XenophonF dude, rude
15:34 jraby I'l use pastb next time sorry
15:35 XenophonF jraby: post your state and template as a gist/paste, if you don't mind
15:35 ruxu joined #salt
15:36 XenophonF jraby: that's definitely weird. manual isn't a keyword that i'm aware of
15:36 jraby yeah me neither..
15:37 jraby The setup is:  packer.io  starts an aws instance,  installs salt 2015.8 stable from the bootstrap,  and then runs a salt-call —local state.highstate
15:37 XenophonF ok
15:37 jraby and somehow the word 'manual' is disappearring
15:37 spiette joined #salt
15:37 jraby but, if I run the state afterward,  the word is there
15:39 XenophonF try running that first hightstate with --log-leve=DEBUG set
15:39 XenophonF sorry that should be --log-level=DEBUG
15:39 XenophonF then re-run the highstate, again with --log-level=DEBUG, and compare the two
15:40 XenophonF brb
15:43 jraby https://gist.github.com/jraby/1f188c35ad4c3999568a
15:48 onlyanegg joined #salt
15:52 abednarik joined #salt
15:58 spuder joined #salt
15:59 Guest12597 joined #salt
16:08 dendazen get another error now
16:08 dendazen https://gist.github.com/anonymous/23b0abcff45ae8ea2146
16:09 dendazen Data failed to compile:
16:09 dendazen ----------
16:09 dendazen The state "users" in sls users.velio.snapchat is not formed as a list
16:09 dendazen ----------
16:09 dendazen The state "snapchat_stash_ssh_keys" in sls users.velio.snapchat is not formed as a list
16:10 zmalone left #salt
16:10 LondonAppDev joined #salt
16:12 Tanta_G joined #salt
16:12 hightekvagabond joined #salt
16:12 digitalhero joined #salt
16:13 giannello joined #salt
16:13 tkeith joined #salt
16:13 tkeith What is the best way to get dynamic info like memory usage from minions? It seems like grains are designed for more static information, is there another approach I should use?
16:15 AndreasLutro tkeith: why would salt need to know about memory usage?
16:15 Guest12597 joined #salt
16:16 subsignal joined #salt
16:16 ruxu joined #salt
16:18 scoates joined #salt
16:18 bbradley tkeith: you may be looking for salt mine.
16:18 bbradley i dunno how you would get memory usage but you can get dynamic info from minions using salt mine.
16:20 oida_ join #420
16:23 jraby @XenophonF: I added the debug output from the state,   there's not much more info...
16:24 jraby I also confirmed that the cached version of the template correctly contains the 'manual' keyword  (in /var/cache/salt/minion/files/base/…)
16:24 ALLmightySPIFF joined #salt
16:25 ALLmightySPIFF joined #salt
16:25 djgerm has anybody here automated nagios host/service creation with saltstack? Any good examples?
16:26 Eugene It's on my Todo lisst
16:27 djgerm :) mine too@
16:27 ALLmightySPIFF joined #salt
16:27 viq Anyone has salt-master 2015.8.4 on debian 8 with systemd, or could spin up a test system and try to install such a combination? For me it removes systemd-sysv and renders system unbootable
16:28 AndreasLutro known issue viq
16:28 AndreasLutro not well known enough, arguably...
16:29 jfindlay AndreasLutro: which issue?
16:30 viq s://github.com/saltstack/salt/issues/30859 seems to be a decent starting point
16:30 viq erf, https://github.com/saltstack/salt/issues/30859
16:30 saltstackbot [#30859]title: installation on Debian Jessie fails | Hi,...
16:31 AndreasLutro https://github.com/saltstack/salt/issues/30696 jfindlay
16:31 saltstackbot [#30696]title: 2015.5 debian salt-master package forces sysvinit | Hello,...
16:32 RandyT anyone on today that has experience adding IIS apppool users to groups on windows?
16:33 viq also https://github.com/saltstack/salt-pack/issues/25
16:33 saltstackbot [#25]title: python-systemd is not in jessie | The current `salt-master` depends on `python-systemd | sysvinit-core` which causes the installation of sysvinit-core during the salt-master upgrade, because `python-systemd` is not available in jessie. This forces a switch from SystemD to SysVinit, which is surely neither intentional nor fortunate.
16:33 RandyT salt minion user.addgroup is not giving me the result I am looking for
16:34 RandyT lorengordon: any experience with this IIS beast?
16:34 lorengordon not a whole lot, from an automation perspective
16:35 lorengordon how are you specifying the username?
16:35 RandyT "from an automation perspective" is the key word there... :-)
16:35 RandyT trying to manage the described actions mentioned here: http://blogs.microsoft.co.il/idof/2013/08/20/fixing-iis-advanced-logging-performance-counters-errors/
16:36 RandyT attemtping to add 'iis apppool\poolname' to group IIS_USRS
16:36 RandyT salt minionname user.addgroup  'iis apppool\poolname' IIS_USRS
16:37 lorengordon there's this: http://stackoverflow.com/a/25279322
16:37 DammitJim joined #salt
16:37 lorengordon hurray for shelling out?
16:37 RandyT you are the master at that...
16:37 Bryson joined #salt
16:37 ruxu joined #salt
16:37 RandyT I will give that a try...
16:38 RandyT tried every incantation I can think of to deal with the \ and spaces thinking that may be it, but to no avail
16:38 RandyT tks
16:40 lorengordon salt may not be able to see the iss apppool user
16:40 lorengordon i'd have to muck around in the code to see how that function works
16:42 tkeith Is there a better way to do autoscaling than have a script that checks mines for resource usage and uses salt-cloud to create and destroy minions?
16:42 writtenoff joined #salt
16:42 lothiraldan joined #salt
16:43 Guest12597 joined #salt
16:43 RandyT lorengordon: I will dig into that code a bit later to see for myself.
16:43 RandyT I can attest that the script you referenced does work.
16:43 lorengordon cool
16:43 lorengordon maybe try other more normal users with the salt function?
16:44 lorengordon perhaps there is just a bug in the function on windows?
16:45 winsalt joined #salt
16:46 jorr-el joined #salt
16:47 tligda joined #salt
16:49 RandyT lorengordon: that is entirely possible...
16:51 RandyT lorengordon: I'm unable to just add a user, so there must be something more fundamentally wrong here.
16:53 catpig joined #salt
16:53 perfectsine joined #salt
16:55 AndreasLutro tkeith: I would rely on something other than salt for that, but if you really want salt to do that sort of thing, look into beacons maybe
16:57 djgerm tkeith: I've been looking at reactors and beacons to do that. I believe there's a growing group of folks who are keen to do what you're saying and I think I saw a saltstack video on that just recently….
16:57 digitalhero joined #salt
16:58 djgerm this one https://www.youtube.com/watch?v=qBYqo4lhwV4
16:58 digitalhero joined #salt
16:58 djgerm SaltStack webinar - "Predictive Orchestration with SaltStack"
16:59 tkeith AndreasLutro: Are you saying that I shouldn't use salt-cloud if I want any autoscaling, or I just shouldn't try to get salt to do the autoscaling?
17:00 RandyT lorengordon: adding user does work, but for some reason cannot assign a new user to guest account.
17:00 AndreasLutro tkeith: both, but - it's just my opinion
17:00 RandyT Looking at this code: https://github.com/saltstack/salt/blob/develop/salt/modules/win_useradd.py#L533
17:00 RandyT not sure what the limitations (if any) are of 'net localgroup'
17:06 onlyanegg joined #salt
17:06 jraby @XenophonF: I'm giving up for now,  I'm going to use  {{'manual'}}  instead  of  manual.  no idea why it works, and I'm afraid I'm sitting on a bug
17:06 jraby but I have not much hair left to pull so I'll leave it like that ;-)
17:09 adamisos joined #salt
17:11 KennethWilke joined #salt
17:15 amcorreia joined #salt
17:17 cpowell joined #salt
17:17 tkeith AndreasLutro: What would you suggest using instead? It still seems like salt-cloud seems like a good way to deploy & provision the instances
17:17 irctc720 joined #salt
17:18 irctc720 Hello All. I'm trying to come up with a method of auto-accepting minions based on a predefined set of Public keys.
17:18 irctc720 Is this an existing concept?
17:18 Tanta_G joined #salt
17:19 irctc720 I thought I could write a reactor to match the incoming key on minion registration against a known array?
17:19 irctc720 Unless there is a more elegant approach already of course.
17:19 AndreasLutro tkeith: amazon autoscaling groups would be my primary choice, if not, then probably some sort of salt beacon/reactor triggered by a monitoring solution like icinga
17:20 AndreasLutro we use terraform in place of salt-cloud at work
17:20 AndreasLutro irctc720: the recommended way is to pre-generate the key pair on the master, then copy it to the minion before starting the minion daemon
17:21 irctc720 AndreasLutro: Very well. How would you recommend dealing with unknown minion IDs?
17:21 AndreasLutro I would deal with it by finding a way to make them known :p
17:22 irctc720 Touche.
17:24 berserk joined #salt
17:26 Guest12597 joined #salt
17:27 KyleG joined #salt
17:27 KyleG joined #salt
17:28 grumm_servire joined #salt
17:29 heaje joined #salt
17:32 zach joined #salt
17:33 djgerm when you specify "watch_in: service: $servicename" does that trigger a RESTART or a RELOAD?
17:33 AndreasLutro djgerm: depends on whether you've specified reload: true in the service state
17:33 Tanta_G joined #salt
17:34 djgerm Ah! thanks. What if I want to, instead of "service name reload" I want to execute a command. In this case i want to cmd.run "rndc reload" when a file changes…..
17:35 djgerm there's probably a easily referenced doc for this use case
17:35 AndreasLutro cmd.run with onchanges
17:35 tkeith AndreasLutro: AWS groups are definitely nice but I need an option that works with multiple proviers. I will check out beacon and reactor, thanks
17:36 hightekvagabond joined #salt
17:36 ViciousLove djgerm: You would use watch as normal but use "cmd.wait" instead of "cmd.run" https://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html#salt.states.cmd.wait
17:37 AndreasLutro the .wait functions are deprecated afaik - onchanges is more flexible and the recommended way to go
17:39 gordonm joined #salt
17:39 djgerm oh thanks
17:39 Guest12597 joined #salt
17:39 djgerm hard to keep up :)
17:40 AndreasLutro https://github.com/saltstack/salt/issues/17177#issuecomment-62456799
17:40 saltstackbot [#17177]title: unless + cmd.wait don't work | If you have an SLS like...
17:40 AndreasLutro not really official
17:40 djgerm i question authority anyway
17:40 AndreasLutro but the issue illustrates why you should use onchanges instead anyway
17:41 ViciousLove this is true
17:43 snicers-work joined #salt
17:49 shaggy_surfer joined #salt
17:49 ruxu joined #salt
17:50 Tanta_G joined #salt
17:56 lorengordon RandyT: are you able to use the same command from the code to add the iis apppool user to the group?
17:57 zsoftich1 joined #salt
17:57 RandyT lorengordon: have not gotten there yet. ran back to the fire...
18:00 Tanta_G joined #salt
18:01 Guest12597 joined #salt
18:03 djgerm one more probably totally straight forward (for this quarter hour): if I want a state to be multiple things, how can I do that. For example I want to apply a ddns entry to ALL my name servers, but the ddns module is expecting simply the hostname/address of a name server. I would like to replace that with something like the hostname of all the minions that have a "nameserver" grain
18:03 Rumbles joined #salt
18:06 snicers-work I want to do a loop in jinja for each minion I have, how is this done? Looking to get an ec2 grain value.
18:07 grumm_servire joined #salt
18:12 ageorgop joined #salt
18:18 ruxu joined #salt
18:27 t0nyhays joined #salt
18:30 cpowell joined #salt
18:30 Guest12597 joined #salt
18:31 babilen snicers-work: I'd recommend to define a mine function for that grain and then get the data from the salt mine -- https://docs.saltstack.com/en/latest/topics/mine/
18:33 snicers-work babilen, that is what I am doing now ;) thanks
18:34 snicers-work I can just do jinja right in a state sls right babilen ?
18:35 Fiber^ joined #salt
18:36 babilen Not sure what exactly you mean, but: Yes, that is *exactly* where you would use jinja
18:39 JDiPierro joined #salt
18:41 snicers-work babilen, does this look right? https://gist.github.com/anonymous/a7d6a21177a9f15a6cf7
18:41 jfindlay djgerm: I'm unsure what you mean by that.  Can't you just run a state against all your name servers?
18:41 Guest12597 joined #salt
18:42 babilen snicers-work: Not quite, you typically get a dictionary with "hostname, value" -- So you want "for host, ec2 in .." in there I guess, but please play with https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.mine.html beforehand and check what it returns
18:42 DammitJim joined #salt
18:43 DammitJim joined #salt
18:43 t0nyhays Can I use a disk profile for a .iso file with virt.init?
18:44 dlam joined #salt
18:44 kawa2014 joined #salt
18:46 drew01 joined #salt
18:46 digitalhero joined #salt
18:47 snicers-work babilen, babilen so for example would I do `salt 'Salt-Minion-*' mine.get '*' ec2`?
18:47 djgerm jfindlay, so this is a ddns state that works http://pastebin.com/5WH6rE4C and you'll notice the nameserver variable. I want that to be all my nameservers…. oh i see. like… I could put localhost in there… and then run it on the nameservers....
18:47 shaggy_surfer joined #salt
18:48 digismack joined #salt
18:48 drew01 I have a salt-master running "salt 2015.5.5 (Lithium)". Now I want to install salt-minion on 3 number of hosts which are restricted to the internet. So, I am thinking about to get rpm, scp them and then install.
18:48 drew01 As, I am new to linux, I am sufferting from not getting right rpm for the version
18:48 drew01 Any help?\
18:49 drew01 Or any other way to do the installation on those hosts
18:49 MK_FG joined #salt
18:50 aw110f joined #salt
18:54 ruxu joined #salt
18:54 atmosx joined #salt
18:56 Guest12597 joined #salt
18:57 DammitJim joined #salt
18:57 shaggy_surfer I upgraded to 2015.8.4 and ran into this issue in my nginx module while using a "require_in". https://github.com/saltstack/salt/issues/30820  Is there a short term way to fix this while waiting for the 2015.8.5?
18:57 saltstackbot [#30820]title: State runs involving watch_in or extending break on 2015.8.4 | Environment: rackspace, Ubuntu 14.04, salt packages from `http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest`...
18:58 shaggy_surfer I am using official salt repo's on ubuntu
18:58 babilen .5 *is* the fix
18:58 snicers-work When I try to get mine information I just get this back: https://gist.github.com/anonymous/5860731fc86abc5952e8
18:58 shaggy_surfer so just wait then?
18:59 rawzone joined #salt
19:00 babilen shaggy_surfer: I guess, I'm not exactly sure why those packages haven't made it to repo.saltstack.com yet. We uploaded it to Debian unstable today and I had hoped that .5 has also been pushed to repo.saltstack.com
19:02 shaggy_surfer ok, thanks for the update babilen
19:02 babilen snicers-work: Did you run https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.mine.html#salt.modules.mine.update ?
19:03 babilen shaggy_surfer: It might be that https://github.com/saltstack/salt-pack/issues/25 is holding it back, but let me check if that applies to Ubuntu too. Which version are you on?
19:03 saltstackbot [#25]title: python-systemd is not in jessie | The current `salt-master` depends on `python-systemd | sysvinit-core` which causes the installation of sysvinit-core during the salt-master upgrade, because `python-systemd` is not available in jessie. This forces a switch from SystemD to SysVinit, which is surely neither intentional nor fortunate.
19:04 snicers-work babilen, I did, no fix
19:05 DammitJim joined #salt
19:05 antpa joined #salt
19:05 shaggy_surfer Ubuntu 14.04.3 LTS
19:05 babilen snicers-work: Could you paste your mine_functions pillar and an example of retrieving that grain with grain.get ?
19:06 cpowell joined #salt
19:06 babilen shaggy_surfer: No, that's not an issue there.
19:07 snicers-work salt 'Salt-Minion-*' mine.get '*' ec2
19:07 snicers-work https://gist.github.com/anonymous/145c0beb8dabaff667ac
19:07 snicers-work babilen, ^
19:07 quasiben joined #salt
19:08 babilen snicers-work: What does "salt 'theminion' pillar.get mine_functions" give you?
19:10 drew01 I have a salt-master running "salt 2015.5.5 (Lithium)". Now I want to install salt-minion on 3 number of hosts which are restricted to the internet. So, I am thinking about to get rpm, scp them and then install.
19:10 Bryson joined #salt
19:10 snicers-work babilen, guh, I didn't add the pillar to the top file.
19:11 drew01 but not able to find rpm "salt-2015.5.5-1.el6.noarch.rpm" or similar
19:11 snicers-work Trying that now, give me a few minutes.
19:11 jraby @XenophonF well I'm an idiot,  I had a service.enabled  state, so that state removed any line starting with 'manual' in the upstart script
19:12 babilen snicers-work: heh :)
19:12 babilen (don't forget to refresh pillars!)
19:13 ruxu joined #salt
19:15 Guest12597 joined #salt
19:15 digismack joined #salt
19:16 djgerm @jfindlay Something weird happened! I changed nameserver to 127.0.0.1 and not it's not presenting the key anymore!
19:16 denys joined #salt
19:17 drew01_ joined #salt
19:17 drew01 I have a salt-master running "salt 2015.5.5 (Lithium)". Now I want to install salt-minion on 3 number of hosts which are restricted to the internet. So, I am thinking about to get rpm, scp them and then install. but not able to find rpm "salt-2015.5.5-1.el6.noarch.rpm" or similar???
19:17 drew01 Any help on this??
19:18 mpanetta joined #salt
19:18 babilen drew01: That isn't the newest version, but it should be available in an archive. One second.
19:18 babilen (and no, don't upgrade to 2015.8.4 !!)
19:18 snicers-work babilen, that worked, not getting it in my jinja still though
19:19 thayne joined #salt
19:19 drew01 @babilen I have been trying to find the rpm
19:19 drew01 but cant find it
19:19 drew01 any useful link??
19:20 babilen snicers-work: What worked?
19:20 babilen drew01: Give me a second
19:20 * babilen is not a RH/CentOS/.. person :)
19:20 thayne Is perlhoser, a.k.a. techhat, a.k.a. Joseph around?
19:21 snicers-work salt '*' mine.get '*' ec2 <- works
19:21 drew01 babilen: sure.. take your time
19:21 thayne I want to chat about spm.
19:21 KennethWilke joined #salt
19:21 snicers-work this still does nto work babilen : https://gist.github.com/anonymous/5cf445e4287bbc58fba5
19:21 Kax joined #salt
19:21 babilen drew01: I only found https://repo.saltstack.com/yum/redhat/6/x86_64/archive/
19:21 babilen snicers-work: So, what does that mine.get return?
19:22 babilen drew01: That has >= 2015.5.6 though
19:22 snicers-work babilen, my ec2 grains
19:22 Crazy67 joined #salt
19:22 babilen snicers-work: Could you be more precise?
19:22 babilen Feel free to obfuscate your data, but *please* make the datastructure obvious
19:23 babilen And: What *does* happen if you run that state?
19:23 drew01 babilen: my master is running 2015.5.5
19:23 snicers-work strange... gist coming
19:23 drew01 so I cant have minion 2015.5.6, can I?
19:23 t0nyhays Can I use a disk profile for a .iso file with virt.init? If/so what does the config look like?
19:23 babilen snicers-work: I also don't think that you want "expr_from='pillar'" but expr_from='glob'
19:23 snicers-work https://gist.github.com/anonymous/ca83faaf81a9bc0f8156
19:24 snicers-work there is more but that gives the basic structure.
19:24 snicers-work I will try glob.
19:24 babilen drew01: No, that wouldn't be a great idea (it is generally recommended to ensure that the master is at least as new as the minions)
19:25 babilen snicers-work: "salt '*' mine.get 'Salt-Minion*' ec2 expr_from='pillar'" shouldn't return anything either
19:25 drew01 babilen: so what do you think I should go for?
19:25 babilen drew01: I'd update the master to 2015.5.6 along with the minions probably
19:25 babilen Is "6" the correct release for you?
19:25 snicers-work babilen, any idea why my minions are nested in this case?
19:26 babilen snicers-work: I do indeed
19:26 * snicers-work eagerly awaits.
19:27 babilen snicers-work: You run "mine.get" on *all* minions and you request data about *all* minions (hence you get data about all minions on all minions)
19:27 drew01 babilen: Anyways I was thinkning about to give upgrading salt a shot, But there is one more question I blocked by:: ..
19:27 babilen snicers-work: So, does your state work if you change expr_from='pillar' to expr_from='glob' ?
19:28 snicers-work babilen, I updated and it seems not to.
19:28 snicers-work nevermind, works
19:28 drew01 babilen: In my architecture, salt states, pillars and config files are on gitlab. So, salt uses gitfs as backend. So, I would only want to upgrade it is not going to affect them (gitfs and config)\.
19:29 snicers-work My god. It's beautiful. Thank you!
19:29 babilen snicers-work: You are most welcome. Enjoy! :)
19:29 babilen drew01: Your repositories shouldn't be touched by salt at all (unless you manage them with salt that is)
19:30 drew01 babilen: I did not get that, Can you please explain?
19:31 drew01 I am new to linux and salt, both.
19:31 drew01 so, sorry for confusing you!
19:31 babilen drew01: It should be pointed out that 2015.5.8 fixes a CVE and that 2015.5.9 is the newest release that is available on 2015.5 -- https://docs.saltstack.com/en/develop/topics/releases/index.html
19:32 babilen drew01: I don't quite understand why you think that upgrading salt would change your pillars and states on GitLab
19:32 babilen It *might* do that if you manage gitlab with salt, but then I wasn't under the impression as if you did that
19:33 babilen So, salt is simply reading them via GitFS
19:33 drew01 I think it should not, but it does, I will be in a big problem. So I want to make sure before I run an upgrade.
19:33 drew01 of course, gitlab is not managed bu gitlab.
19:33 babilen Well, I'm not promising you
19:34 drew01 When I say "affect by upgrade", I mean to say is " is an upgrade gonna make changes in any configuration", for example "is it gonna make any 'changed configuration' to 'default'
19:35 drew01 like also, "is it gonna affect the way salt-master reads from gitlab?"
19:36 babilen drew01: Read the release notes .. salt *did* change (there would be no point to a new release otherwise) and Saltstack tend to make more changes in point releases than I, as a Debian person, would be comfortable with. Having said that: 2015.5.9 is almost certainly the 2015.5 release you want to be tracking (as you *really* want the fix for that CVE for example)
19:37 babilen If it broke GitFS that would be a *huge* issue, but I'm not promising you anything (in particular given that this is on a platform that I don't work with)
19:38 adamisos joined #salt
19:39 Guest12597 joined #salt
19:40 drew01 babilen:  we don't have anything on master itself. Out /master.d/backend.conf file provides only the path to the our (dba's home directories) and gitlab path
19:40 quasiben joined #salt
19:42 mrMute joined #salt
19:42 drew01 So, for instance If i upgrade, salt is not suppose to change things like this... as well as the way states and pillar works
19:42 babilen drew01: I will not give you *any* guarantee that doing *anything* on your box will not break something. Even if that is just running "id" or "cat /proc/cpuinfo"
19:43 babilen I won't even guarantee that doing nothing won't break it ;)
19:43 AndreasLutro drew01: you just have to have a solid test environment, no one is going to give you any guarantees unless maybe you pay saltstack inc
19:43 drew01 babilen: I completely understand that.
19:44 babilen I still think that upgrading to 2015.5.9 would be a decent idea and I would recommend to read the release notes for the releases in between
19:44 babilen Make sure you have backups. if you can test the upgrade and then perform it.
19:44 drew01 AndreasLutro: I am thinking about to give it a try in vagrant
19:44 babilen That sounds like a great idea
19:44 AndreasLutro yes, do it
19:45 AndreasLutro I have like 10 vagrant boxes to test out all our various host types
19:45 mohae joined #salt
19:45 AndreasLutro usually means I spot breaking bugs right away
19:45 drew01 I have 5 vagrant box running already. The only thing is all have the latest salt installed onthem
19:46 antpa joined #salt
19:46 AndreasLutro why? you want it to mirror whatever you have in production
19:46 drew01 what???
19:46 akhter joined #salt
19:47 AndreasLutro I mean, if you want to test if upgrading from 2015.5.8 to 2015.5.9 will break anything, you install 2015.5.8 in vagrant, then upgrade in vagrant
19:47 akhter joined #salt
19:48 kevinquinnyo https://gist.github.com/kevinquinnyo/02623411cc28b134ffff  <- is there anything wrong with the 'require' syntax here?  I'm getting TypeError: unhashable type: 'dict' for the {'cmd': 'install-gvm'} line
19:48 drew01 I do haave a custom RHEL images that has repos in it already. While running on vagrant, it installs salt for me by simply doing "yum install salt-master && yum install salt salt-minion"
19:49 AndreasLutro so you have no control over which version of salt gets installed in your vagrant boxes?
19:49 drew01 Anyways, thanks @AndreasLutro and @babilen for the help
19:49 drew01 yeah
19:50 StolenToast do all my "include" statements have to be in one collection or can I have multiple include lines in my state?
19:50 AndreasLutro well that's bad!
19:50 drew01 wait!! i think it installs salt 2015.5.3 (Lithium) for me
19:50 brianfeister joined #salt
19:50 AndreasLutro StolenToast: they have to be in the same place for yaml to parse them correctly
19:50 StolenToast ok
19:50 drew01 it is still older than what I have on my master.... master has 2015.5.5
19:51 Guest12597 joined #salt
19:51 AndreasLutro StolenToast: but you can do {% set includes = [] %}, then {% do includes.append('my_state') %}, then include: {{ includes | yaml }} at the end of the state file
19:52 StolenToast oh good idea
19:54 kevinquinnyo oh regarding my issue, i found the problem, another stupid syntax issue -- i created a dict as the value to 'cmd.run' instead of a list
19:57 brianfeister joined #salt
20:03 Guest12597 joined #salt
20:03 ruxu joined #salt
20:06 ThomasJ joined #salt
20:12 babilen god, compiling sphinx pulls in everything and the kitchen sink
20:14 hightekvagabond joined #salt
20:18 JoeJulian hoonetorg: I've pushed a patch if you'd like to try it.
20:19 Guest12597 joined #salt
20:19 hoonetorg JoeJulian: i will do tonight and report on the issue
20:20 ajw0100 joined #salt
20:20 hoonetorg thx
20:20 JoeJulian You're welcome.
20:24 akhter joined #salt
20:30 Guest12597 joined #salt
20:30 hoonetorg ah i'm in CEST
20:30 hoonetorg so currently it's 21:30
20:30 hoonetorg 9:30pm :)
20:31 shaggy_surfer joined #salt
20:32 babilen CET? Or is *this* really summer?
20:33 AndreasLutro above 0, basically summer in norway
20:34 XarMonX joined #salt
20:36 hoonetorg babilen: good point
20:36 XarMonX Hi there. Has anyone a nice way of defining network definitions for deployment? (does that make sense?) Is it a case of an array with a loop until the correct hostname is encountered?
20:36 hoonetorg CET
20:37 hoonetorg AndreasLutro: :rofl:
20:37 joe_n joined #salt
20:39 sk_0_ joined #salt
20:40 ruxu joined #salt
20:40 mpanetta joined #salt
20:42 CrummyGummy_ joined #salt
20:42 tcolvin_ joined #salt
20:43 denys_ joined #salt
20:43 XarMonX Does anyone use salt to define the network interfaces?
20:43 gmoro_ joined #salt
20:43 Guest12597 joined #salt
20:44 kevinquinnyo is there any way to get environment variables in cmd.run?  I tried to make my command 'source /root/.bashrc && cd ${GOPATH}/src && # .. do things'
20:44 smkelly_ joined #salt
20:44 JTeatime_ joined #salt
20:44 edrocks joined #salt
20:44 AndreasLutro kevinquinnyo: if you look up the cmd.run documentation you'll find an "env" argument
20:44 kevinquinnyo i saw it, but that means i have to set those prior, correct?
20:44 garthk_ joined #salt
20:44 baweaver joined #salt
20:45 vpm_ joined #salt
20:45 mrbobbytables_ joined #salt
20:45 Taytay joined #salt
20:45 AndreasLutro prior?
20:45 AndreasLutro to what?
20:45 MadsRC_ joined #salt
20:45 AndreasLutro oh, *get* env variables
20:45 kevinquinnyo yes
20:45 FTfz_ joined #salt
20:45 baweaver joined #salt
20:46 AndreasLutro I don't know, I doubt it
20:46 totzky joined #salt
20:46 kevinquinnyo i guess a grains module could be written to snag them
20:46 pcdummy_ joined #salt
20:46 rmnuvg_ joined #salt
20:46 kevinquinnyo not even sure if that's possible though
20:47 jor_ joined #salt
20:49 quasiben joined #salt
20:49 DammitJim joined #salt
20:49 writtenoff joined #salt
20:49 Tyrm joined #salt
20:49 gh34 joined #salt
20:49 debian112 joined #salt
20:49 zer0def joined #salt
20:49 tongpu joined #salt
20:49 joshin joined #salt
20:49 muep joined #salt
20:49 bowhunter joined #salt
20:49 schinken joined #salt
20:49 rsFF joined #salt
20:49 v12aml joined #salt
20:49 zsoftich joined #salt
20:49 canci joined #salt
20:49 Ouzo_12 joined #salt
20:49 Bryson joined #salt
20:50 lionel joined #salt
20:50 quasiben joined #salt
20:51 Tyrm joined #salt
20:51 canci joined #salt
20:51 hacfi joined #salt
20:51 writtenoff joined #salt
20:52 Zachary_DuBois joined #salt
20:52 rsFF joined #salt
20:52 muep joined #salt
20:56 wendall911 joined #salt
20:58 twork i'm trying set up my minions with trust for each others' ssh host keys, so that automated processes won't be prompted to trust host keys and then croak.
20:58 snicers-work joined #salt
20:59 andrew_v_ joined #salt
20:59 twork i'm using the state from the openssh formula, that does exactly that.
20:59 netcho_ joined #salt
21:00 twork but -- and i should have said this probabl ins't a salt question per se -- even after salt successfully popluates all my host keys around, initial ssh connections still get that propt about the unknown host key.
21:01 babilen You want known_hosts too
21:01 babilen (for your user that is)
21:01 twork ah, thanks babilen
21:02 babilen It sounds as if you might have only done that for root, but *shrug*
21:02 twork actually...
21:02 babilen I was referring to https://docs.saltstack.com/en/latest/ref/states/all/salt.states.ssh_known_hosts.html#salt.states.ssh_known_hosts.present
21:03 schinken joined #salt
21:03 twork from what i read, it seems like /etc/ssh/ssh_known_hosts *should* be enough
21:03 twork reading...
21:03 babilen Ah, yes
21:03 DammitJim joined #salt
21:03 babilen Well .. you might want to start with detailing what you have done :)
21:04 ruxu joined #salt
21:04 zsoftich joined #salt
21:04 twork sorry. i meant to; but yeah, i was vague.
21:04 debian112 joined #salt
21:04 Guest12597 joined #salt
21:05 joshin joined #salt
21:05 joshin joined #salt
21:07 cliluw joined #salt
21:07 sbogg joined #salt
21:09 Pie_Mage joined #salt
21:10 antpa joined #salt
21:12 brianfeister joined #salt
21:12 keimlink joined #salt
21:14 ruxu joined #salt
21:14 Crazy67 joined #salt
21:14 nZac joined #salt
21:16 rotbeard joined #salt
21:20 Guest12597 joined #salt
21:22 toastedpenguin joined #salt
21:25 giantlock joined #salt
21:28 kevinquinnyo anyone know of a geodns module + execution module combo?  I'm looking to create one unless it already exists, so i can have record_present(), etc on a geodns instance
21:32 hasues joined #salt
21:32 Guest12597 joined #salt
21:32 hasues left #salt
21:34 FeatherKing joined #salt
21:36 twork okay, now to be a bit more concrete from what i said above: the template i'm cribbing from the openssh formula; the state i'm using to apply it; and some notes on my results: https://gist.github.com/mjinks/33af3271799c636319b4
21:36 lz-dylan joined #salt
21:36 lz-dylan Howdy, folks :)
21:37 nZac_ joined #salt
21:37 quasiben joined #salt
21:39 lz-dylan I'm having an issue with Salt choking on a formula I was previously using; in particular, I'm getting a KeyError when specifying the path to a config file (which already exists)
21:39 lz-dylan https://gist.github.com/arubis/a49352de9dec80295057
21:39 lz-dylan Any chance I could borrow a pair of eyes?
21:39 FeatherKing has anyone seen an issue with the master not showing the grain value of the minion
21:40 FeatherKing showing an old value
21:40 ruxu joined #salt
21:40 AndreasLutro lz-dylan: lines 23 and 43 won't work when you have two state functions within the same state ID - either split up the "logentries" state or change the requires to "file: logentries"
21:40 lz-dylan FeatherKing: you may have to update your grains
21:41 Guest12597 joined #salt
21:41 AndreasLutro FeatherKing: grains are cached, so that is a likely thing to happen
21:41 lz-dylan FeatherKing: try 'salt \* saltutil.sync_all'
21:41 FeatherKing ive run a saltutil.sync_all with no luck and also sync_modules
21:42 FeatherKing if i restart the minion it shows the correct value
21:44 lz-dylan AndreasLutro: Huh. Even though one's a `watch` and the other a `require_in`?
21:44 AndreasLutro I don't know if it's just one of them failing or both of them
21:45 lz-dylan What gets me is that this was working till I upgraded to 2015.8.4 from (I believe) 2015.8.1 :/ oh well, not my formula originally!
21:45 andrew_v_ joined #salt
21:45 Zachary_DuBois joined #salt
21:45 AndreasLutro yeah well
21:45 AndreasLutro such is the way of salt
21:46 lz-dylan I'll try changing the require statement
21:47 jfindlay kevinquinnyo: I don't know of any, although you should check https://github.com/salt/salt-contrib and https://github.com/saltstack-formulas to be sure
21:47 cliluw joined #salt
21:47 kevinquinnyo thanks jfindlay
21:48 kevinquinnyo correction https://github.com/saltstack/salt-contrib
21:49 jfindlay right, sorry
21:50 lz-dylan AndreasLutro: Well, for all of the inconsistency with it-was-working-here, that fix works. Thank you!
21:51 zer0def joined #salt
21:54 Guest12597 joined #salt
21:54 akhter joined #salt
21:56 hightekvagabond joined #salt
21:56 jgarr anyone know if there's a specific version of urllib3 salt 2015-8-3 depends on?
21:57 jgarr having an issue with the newer version so I'm trying to roll back but want to make sure I keep a version that works
21:57 jardoin so just a couple questions here since the homebrew channel is largely silent. What is the best practice for Homebrew, saltstack, and OSX? Should I be giving homebrew privilege, make the salt-minion run as a non-privileged user and configure directories, or something else entirely?
21:58 ageorgop joined #salt
21:59 brianfeister joined #salt
22:01 GreatSnoopy joined #salt
22:03 quasiben joined #salt
22:04 Guest12597 joined #salt
22:05 nZac joined #salt
22:10 teryx510 joined #salt
22:18 bhosmer joined #salt
22:19 ViciousL1ve joined #salt
22:19 subsignal joined #salt
22:20 subsignal joined #salt
22:22 Guest12597 joined #salt
22:24 __number5__ jardoin: I would give the salt minion root access  on OSX, since salt have the assumption you have root
22:25 __number5__ jardoin: btw what are you using saltstack to manage on OSX, GUI Apps?
22:26 trent_ joined #salt
22:29 trent_ sorry to jump in and immediatly ask a question ... but I've been baning my head against this one for a while and can't get it sorted out .. I have a state that sets grains and then another state that depends on them to know how to configure things ... no matter which way I include it or require it it won't recognize it ... I know its running because if I query after the fact everything is good ... I'm even calling saltutil.sync_all ...any clues as to where I
22:29 stevei101 joined #salt
22:31 The_Loeki joined #salt
22:31 kevinquinnyo trent_: are you using a require statement in the state that is supposed to run after the state that sets the grains?
22:32 trent_ yes I am
22:32 PredatorVI joined #salt
22:32 trent_ I include the state at the top of the file and then reqire the sls
22:32 geomacy joined #salt
22:33 trent_ I am polling for the grain in jinja ... should I not be doing that?
22:33 iggy nope
22:33 iggy jinja gets rendered at the very start
22:33 trent_ I'm usting the salt['grains.get']
22:34 trent_ ok that makes more sense what is going on
22:34 jardoin sort of
22:34 trent_ I'll change my method and hopefully that works
22:34 jardoin I'm not 100% on what I'm going to use it for yet honestly
22:35 jardoin it would be nice to be able to use it to manage everything but I'm not sure how suitable that is
22:35 jfindlay jardoin: we're working on OSX support for Boron
22:35 jfindlay native support, that is
22:35 jardoin ah. So maybe right now is not the best time?
22:35 Guest12597 joined #salt
22:35 jfindlay Boron comes out next month
22:36 jardoin Oh
22:36 jfindlay you could try the RCs
22:36 jardoin not to be too much of a noob here
22:36 jardoin but are there docs on it?
22:36 jfindlay 2016.3.0rc1
22:36 jardoin cool
22:36 jardoin boron implements rsync as well doesnt it?
22:36 jfindlay I'm not sure about docs.  There are inline docs in the new exec and state modules
22:37 jardoin ok
22:37 jardoin it's all test machines right now anyway so I could just wipe what I have going on and check it out
22:37 bart joined #salt
22:37 bart Hi guys
22:38 Guest44910 quick question, I'm simply trying to do a If else endif kinda thing
22:38 Guest44910 https://gist.github.com/anonymous/f372ee67ec030f2d0966
22:39 Guest44910 I did it before, but this one doesnt seem to work
22:39 Guest44910 seems pretty simple
22:39 Guest44910 I get error on line endif
22:40 feld joined #salt
22:42 Guest44910 Anyone has 1min  ?  :-)
22:43 PredatorVI Guest44910:  Just guessing, as I'm not a template expert but did you try removing that extra blank line before the endif?  And what is the error?
22:43 zenlot1 joined #salt
22:44 lz-dylan Okay, so _this_ is getting me. I've got an SLS file that defines a pillar with a single KVP, and Salt manages to pull it in, parse without error, attach the name at the root of the data structure to the right minions...and it's empty. No matter what I do, it's empty.
22:47 totzky joined #salt
22:50 Guest12597 joined #salt
22:50 PredatorVI I have a 3 node rabbitmq cluster I'm installing w/ salt.  I use a salt orchestration to make sure the primary node is up first before installing the secondary nodes.  If run the orchestration from the salt master on clean nodes, the first time it fails with an error that says it can't contact the rabbit node.  If I run again, the first works but 2nd fails, then on the 3rd attempt the first two work, but the third fails.  I'm stumped.
22:51 PredatorVI If I run 'salt-call state.highstate' from each minion in order it works fine.  Why would the orchestration fail?
22:51 JDiPierro joined #salt
22:52 kevinquinnyo PredatorVI: I had similar problems when doing the same thing with a galera xtreadb cluster -- the first one had to be 'bootstrapped' then the others could install after that
22:52 kevinquinnyo the only way i solved it was to add a stateful script to make sure that the first one was properly bootstrapped before the others could run
22:52 kevinquinnyo not sure if that applies to rabbitmq directly
22:54 PredatorVI kevinquinnyo: thanks...I'm not sure how I'd verify it is 'bootstrapped'.  I'm trying to leverage the 'rabbitmq-formula' and it is obviously checking to see if the node is up.  It only fails when called from the orchestration.
22:55 ageorgop joined #salt
22:56 kevinquinnyo thats weird -- have you tried keeping an open terminal on the 3 nodes and watch each with salt-minion -l debug
22:56 kevinquinnyo or even watch "ps auxf | grep something-here" to see if the order of operations is what its supposed to be?
22:57 PredatorVI I haven't directly, but this is the error:  https://gist.github.com/PredatorVI/3e7ea91595607d89943e
22:57 PredatorVI I'll try w/ debug
22:58 Guest12597 joined #salt
23:00 berserk_ joined #salt
23:05 rem5 joined #salt
23:09 Guest12597 joined #salt
23:09 PredatorVI First shot w/ debug.  I updated the gist with *most* of the output.. https://gist.github.com/PredatorVI/3e7ea91595607d89943e  Nothing jumping out at me being done out of order...
23:13 PredatorVI oops, I see an exception traceback...maybe a salt issue.  TypeError: can't serialize set([''])
23:17 Guest12597 joined #salt
23:18 PredatorVI Anyone familiar with salt internals available to glance at the stack trace at https://gist.github.com/PredatorVI/3e7ea91595607d89943e and see if anything obvious jumps out that might narrow down the cause?
23:21 brianfeister joined #salt
23:21 treaki joined #salt
23:22 ViciousLove joined #salt
23:26 jfindlay PredatorVI: I don't see anything immediate
23:26 jfindlay you should ping rallytime on github, though
23:26 jfindlay she has been trying to chase down all the rabbitmq bugs
23:27 PredatorVI k
23:27 PredatorVI thanks
23:27 baweaver joined #salt
23:28 spuder joined #salt
23:28 jfindlay I tried to make a pun out of that, but couldn't, sorry
23:30 PredatorVI :)
23:32 baweaver joined #salt
23:35 stevei101 Hi Everyone. How do you like using salt for solaris?
23:36 eseyman joined #salt
23:47 grumm_servire joined #salt
23:55 tligda_ joined #salt
23:55 mephx joined #salt
23:55 ashmckenzie joined #salt
23:56 Pie_Mage joined #salt
23:57 Guest12597 joined #salt
23:58 Tyrm_ joined #salt
23:59 tligda joined #salt
23:59 stevei101 joined #salt

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