Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-08-19

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

All times shown according to UTC.

Time Nick Message
00:02 robawt manfred: what's your salt version + OS?
00:02 sherbs80 manfred: I’m working with robawt
00:03 aparsons joined #salt
00:03 manfred robawt: develop
00:07 robawt manfred: you're too high speed for us
00:07 aparsons_ joined #salt
00:07 robawt :)
00:07 aw110f in states.pkg is there a way to control stop and start of an RPM ?
00:07 rawkode joined #salt
00:08 aw110f found it... states.service
00:08 robawt aw110f: don't forget the enable method in states.service to keep it persistent between boots
00:09 aw110f how about runlevel, is there a way to control that?
00:09 skyler Thanks manfred!
00:10 manfred aw110f: the run level of your system?
00:10 mechanicalduck joined #salt
00:10 manfred or the run level it should be enabled for?
00:10 SheetiS joined #salt
00:10 manfred it doesn't go modifying upstart scripts afaik
00:10 aw110f the run level the rpm should be enabled for
00:11 manfred ahh
00:11 manfred pretty sure it just does an enable or disable
00:11 manfred not custom enables for your chkconfig
00:12 manfred actually it does
00:12 manfred well, the module can do it
00:12 manfred i don't see it in the state
00:13 aw110f manfred: so I'm confused can it do it or not?
00:13 manfred https://github.com/saltstack/salt/blob/develop/salt/states/service.py#L118
00:14 manfred aw110f: should be able to just pass runlevel: in the service.enabled state, but it doesn't look like it works if you just use the enable: True in the service.running state
00:15 robawt aw110f: it appears you'll have to specify with a command, since the existing service state doesn't have an option
00:15 manfred it passes **kwargs to the service.enable module
00:15 manfred it should work
00:15 robawt enable is just a method :|
00:15 manfred yes
00:15 manfred it is a method in the service state
00:15 robawt i'd look at the code just in case
00:15 manfred enabled
00:15 manfred def enabled
00:15 aw110f the run level is done with chkconfig
00:16 manfred https://github.com/saltstack/salt/blob/develop/salt/states/service.py#L393
00:16 manfred that is the def enabled in the state
00:16 robawt aw110f: in RHEL/Centos it is, but now you're using salt
00:16 manfred it passes **kwargs to _enable() https://github.com/saltstack/salt/blob/develop/salt/states/service.py#L66
00:16 manfred which in turn passes kwargs to the service.enable module https://github.com/saltstack/salt/blob/develop/salt/states/service.py#L118
00:16 manfred which takes name and runlevel
00:16 manfred so just have
00:16 manfred nginx:
00:17 manfred service.enabled:
00:17 manfred - runlevel: 34
00:17 jsm_ Well this seems to work, salt-cloud -C /etc/salt/sea/cloud --providers-config=/etc/salt/sea/cloud.providers
00:17 jsm_ I just get errors for all the profiles that don't match
00:17 aw110f cool, thanks manfred: and robawt: , i'll try it
00:18 robawt manfred: any help pointing me to the code in __salt__?
00:19 godber ok manfred  and forrest, I've changed the wording a bit and moved the code out of the note block
00:19 manfred i just gave it to you
00:19 godber http://3df8a554.ngrok.com/ref/states/all/salt.states.git.html#module-salt.states.git
00:20 robawt i see that, and thank you.  I think I meant to say where can I find the __salt__[service.XXX] code?
00:20 manfred oh
00:20 manfred how it populates __salt__?
00:20 robawt yes
00:20 manfred yeah, one second
00:21 robawt i haven't written a module yet, so i'm unfamiliar with the exact place to look
00:21 manfred no worries
00:21 manfred it injects it into the modules in the loader.py iirc
00:21 manfred https://github.com/saltstack/salt/blob/develop/salt/loader.py#L26
00:21 manfred it creates it there
00:22 jslatts joined #salt
00:22 manfred and then
00:22 manfred it loads the functions into the module here https://github.com/saltstack/salt/blob/develop/salt/loader.py#L696
00:23 robawt awesome, ok
00:23 manfred so each module has __salt__
00:23 manfred it does it differently for every other type of object iirc
00:23 manfred https://github.com/saltstack/salt/blob/develop/salt/loader.py#L267
00:24 forrest godber, that looks awesome
00:24 godber fixed indentation problem :-/
00:24 manfred oh, nope
00:24 manfred does it the same way, it is just packign them all up
00:24 manfred robawt: right there, it just passes renderers, outputters and states etc all through the _create_loader
00:25 robawt ok cool
00:25 robawt going to follow this when I get home, I'd like to know the exact path, even if it's just in my head
00:25 robawt thanks for the pointers
00:26 godber forrest: should I create an issue to associate my commit/pull request with?
00:26 manfred robawt: no worries
00:26 manfred robawt: that is the same reason I went digging through the loaders
00:26 manfred that and to add the override stuff for anmes
00:26 manfred names*
00:27 forrest godber, no, just click on the green 'pull request' icon at the top of your repo
00:27 forrest once you've committed the changes to your fork
00:27 godber yeah
00:28 Singularo joined #salt
00:31 godber oh, that was on the 'develop' branch, I assume thats correct
00:33 forrest godber, yep!
00:33 forrest should get merged in at some point and then be live on the docs
00:33 godber ok cool ... good month for my doc contributions ... I contributed to NumPy a couple weeks ago
00:34 forrest godber, nice
00:34 forrest get dem commits
00:34 forrest then you can go 'look at all these documentation commits' and people can respond 'documentation? No one gives a shit about that!'
00:35 forrest godber, but you can feel good, that your changes actually maybe helped someone.
00:37 sherbs80 joined #salt
00:37 possibilities joined #salt
00:38 n8n joined #salt
00:43 badon joined #salt
00:46 n8n joined #salt
00:46 alanpearce joined #salt
00:51 schimmy joined #salt
00:52 bhosmer joined #salt
00:54 schimmy1 joined #salt
00:55 rallytime joined #salt
01:03 srage joined #salt
01:05 srage_ joined #salt
01:14 miles32 we got a hit list of what documentation needs documentin?
01:16 Sauvin joined #salt
01:16 Ryan_Lane miles32: yep
01:16 manfred miles32: yes
01:16 miles32 where might one find said list?
01:17 Ryan_Lane https://github.com/saltstack/salt/labels/Documentation
01:17 manfred miles32: https://github.com/saltstack/salt/issues/12446
01:19 miles32 how long are the sprints?
01:20 Ryan_Lane we're probably due for another sprint soon
01:20 Ryan_Lane they're generally 6 hours or so
01:21 miles32 hours?
01:23 Ryan_Lane yeah, we usually have a sprint that's on a particular day
01:23 miles32 ah, I gotcha
01:23 * Ryan_Lane works at Lyft, not at SaltStack Inc
01:24 miles32 "we're gonna jam on this day, get your salty hats ready"
01:24 manfred that is almost exactly what I was told when the last one was being planned
01:25 miles32 https://github.com/saltstack/salt/issues/12015 << why is that blocked?
01:27 manfred no idea, would be best to ask that in the issue
01:28 miles32 (I don't know github, thought it might have a special place to put "blocked because x,y and ur mum")
01:30 jeffrey4l joined #salt
01:32 __number5__ miles32: generally that would be in comments of the issue
01:46 dalexander joined #salt
01:46 dalexand_ joined #salt
01:48 ilbot3 joined #salt
01:48 Topic for #salt is now Welcome to #salt | 2014.1.10 is the latest | Please be patient when asking questions as we are volunteers and may not have immediate answers | Channel logs are available at http://irclog.perlgeek.de/salt/
01:56 jeffrey4l joined #salt
01:57 mechanicalduck joined #salt
01:57 Nazca joined #salt
01:57 Heartsbane_ joined #salt
01:57 vbabiy joined #salt
01:57 jason` joined #salt
01:57 robinsmidsrod joined #salt
01:57 chitown joined #salt
01:57 che-arne|2 joined #salt
01:57 BogdanR joined #salt
01:59 mechanicalduck joined #salt
02:00 Gao1 joined #salt
02:01 miles32 left #salt
02:02 Gao joined #salt
02:08 Gao1 joined #salt
02:10 Sypher joined #salt
02:14 Zeroidle joined #salt
02:19 bhosmer joined #salt
02:29 otter768 joined #salt
02:35 rojem joined #salt
02:35 smcquay joined #salt
02:41 bhosmer joined #salt
02:48 dccc joined #salt
02:53 TyrfingMjolnir joined #salt
03:00 beneggett joined #salt
03:02 rojem joined #salt
03:08 VictorLin joined #salt
03:16 ramishra joined #salt
03:16 schimmy joined #salt
03:18 kelseelynn joined #salt
03:18 kelseelynn left #salt
03:18 scoates joined #salt
03:20 schimmy1 joined #salt
03:26 catpigger joined #salt
03:27 timbermaniac I'm having trouble running a state file, and getting "No matching sls found for 'common.pip_packages.trac' in env 'base'"
03:27 timbermaniac and clearly have "/srv/salt/common/pip_packages/trac/init.sls"
03:28 manfred that should work
03:28 timbermaniac I know, right? Running 2014.1.10 on EL7. Haven't had any other issues
03:29 manfred did it work on previous versions of 2014.1?
03:29 chutzpah joined #salt
03:29 timbermaniac it's a clean install, really couldn't say
03:29 timbermaniac new project
03:29 manfred is this your first time using salt then?
03:30 timbermaniac No, I'm familiar with 0.17.4, using it at work
03:30 manfred does it work on 0.17.4?
03:31 timbermaniac Haven't tested, this isn't in the same env
03:31 mosen maybe have a quick look at file roots?
03:31 manfred i know it works on my salt server, but I am running develop
03:31 manfred i am wondering if multiple directories weren't added until after 2014.1
03:32 ramishra joined #salt
03:32 timbermaniac file_roots are default
03:33 johngrasty_ Hey, can the file.recurse be used as a watch: file?  I'm primarily looking at having dovecot restarted when an of the managed files in conf.d/ get changed.
03:34 manfred johngrasty_: yes, you can watch anything, just point the watch to the name of the state
03:34 manfred /some/thing/
03:34 manfred bah
03:34 manfred /some/thing/:
03:35 manfred file.recurse:
03:35 manfred - dir_mode: 2775
03:35 manfred - file_mode: 664
03:35 manfred
03:35 manfred some.thing:
03:35 manfred - watch:
03:35 manfred - file: /some/thing/
03:36 manfred if the file.recurse makes a change to anything, it will run the second one
03:36 manfred if you aren't managing the files with that file.recurse, it won't run in the watch
03:36 manfred you have to watch the exact state that is managing the file
03:37 manfred otherwise, you want incron, to run commands based off of inotify events, and configure that on the server... beyond that if you have systemd as your init... you can use .path units to watch for inotify events as well
03:37 Corey manfred: Plz, paste some more. :-)
03:38 manfred Corey: pfft
03:38 possibilities joined #salt
03:46 panchisco joined #salt
03:47 orion_ joined #salt
03:48 alanpearce joined #salt
03:49 malinoff joined #salt
03:59 johngrasty_ manfred: Thanks. I thought that's how it should work, but I was struggling to find an example with that.
04:00 pengyao joined #salt
04:00 panchisco joined #salt
04:01 manfred johngrasty_: this one should include all current requistes in salt http://docs.saltstack.com/en/latest/ref/states/requisites.html
04:01 johngrasty_ Thanks.
04:01 manfred np
04:02 joehoyle joined #salt
04:03 ramishra joined #salt
04:05 johngrasty_ Bingo. That worked swell. I though that I had done that, but I wasn't careful enough to see that it needed the id/name of the state.
04:06 gzcwnk any idea what Im doing wrong here pls?  http://pastebin.com/3ck4Durk
04:15 gzcwnk nm I missed a #  :/
04:15 panchisco joined #salt
04:16 smcquay joined #salt
04:19 dvestal joined #salt
04:25 jeffrey4l joined #salt
04:26 ajw0100 joined #salt
04:26 possibilities joined #salt
04:29 bhosmer joined #salt
04:31 panchisco joined #salt
04:36 joehoyle joined #salt
04:36 xmj joined #salt
04:44 joehoyle joined #salt
04:44 felskrone joined #salt
04:45 panchisco joined #salt
04:48 thayne joined #salt
04:49 alanpearce joined #salt
04:50 ramteid joined #salt
04:50 dvestal joined #salt
04:52 iggy joined #salt
04:53 jalbretsen joined #salt
04:57 j-saturne joined #salt
05:00 panchisco joined #salt
05:08 kelseelynn joined #salt
05:08 orion_ joined #salt
05:09 dccc_ joined #salt
05:16 panchisco joined #salt
05:21 EWDurbin_ joined #salt
05:21 ikanobori joined #salt
05:22 mordonez joined #salt
05:24 joehoyle joined #salt
05:31 panchisco joined #salt
05:33 kwmiebach__ joined #salt
05:34 simonmcc__ joined #salt
05:38 fxdgear_ joined #salt
05:39 CaptTofu_ joined #salt
05:42 akoumjian joined #salt
05:42 pwiebe_ joined #salt
05:42 abele joined #salt
05:43 munhitsu_ joined #salt
05:44 flebel joined #salt
05:45 panchisco joined #salt
05:50 alanpearce joined #salt
05:52 mordonez joined #salt
05:54 joehoyle joined #salt
05:54 bmatt hm. what's the intersection between #!py state files and pillar rendering?
05:54 Gao joined #salt
05:54 bmatt the highstate structure docs don't mention pillars
05:59 orion_ joined #salt
05:59 schimmy joined #salt
06:00 panchisco joined #salt
06:03 schimmy1 joined #salt
06:09 bmatt oh yay it works
06:09 bmatt three cheers for cleverly solving problems the wrong way
06:15 panchisco joined #salt
06:18 cym3try joined #salt
06:18 bhosmer joined #salt
06:21 ramishra joined #salt
06:30 panchisco joined #salt
06:35 snuffeluffegus joined #salt
06:36 snuffels joined #salt
06:37 snuffeluffegus joined #salt
06:45 panchisco joined #salt
06:51 alanpearce joined #salt
06:53 mordonez joined #salt
07:00 panchisco joined #salt
07:05 sectionme joined #salt
07:08 j-saturne joined #salt
07:11 ml_1 joined #salt
07:11 pastacino joined #salt
07:12 matthiaswahl joined #salt
07:15 jhauser joined #salt
07:15 claytron joined #salt
07:16 panchisco joined #salt
07:18 Schmidt Has any of you used Salt for hardware and software inventory? It looks like writing custom grains to collect systems info is the way to go, but I am fairly new to Salt. We should be using something like roles ideally in the future for describing functionality/service but we don't right now.
07:20 mosen I havent but it seems to make sense
07:20 mosen im not sure whether salt-mine covers that kind of functionality, or is solely oriented towards collecting states
07:21 Schmidt mosen: i will read the salt-mine docs one more time.
07:21 Schmidt thansk
07:28 claytron joined #salt
07:29 badon joined #salt
07:30 panchisco joined #salt
07:32 linjan joined #salt
07:33 boyombo joined #salt
07:35 ramishra joined #salt
07:44 bhosmer joined #salt
07:45 panchisco joined #salt
07:48 pastacino joined #salt
07:51 alanpearce joined #salt
07:54 mordonez joined #salt
08:00 panchisco joined #salt
08:00 mordonez joined #salt
08:03 shorty_mu joined #salt
08:07 bhosmer joined #salt
08:12 alanpearce joined #salt
08:12 stephanbuys1 joined #salt
08:12 shorty_mu Hi all, I'd like to accomplish the following: In Pillars top.sls I want to look up if a Pillar file exists and only then load it. But I can't figure out how to look if the file exists. Can anyone help me?
08:16 panchisco joined #salt
08:18 brain5ide joined #salt
08:20 brain5ide I hope it's a simple question about user/group states and yet I don't seem to find an answer or a way to do it: Is there a way to assign an existing user to an existing group? When I use group state- it just says the group already exists. When I use the user state - it seems to overwrite the user, which I don't want.
08:23 tkharju1 joined #salt
08:24 brain5ide This situation arises when I want to manage a vagrant machine (Debian).
08:24 tmh1999_ joined #salt
08:25 darkelda joined #salt
08:25 darkelda joined #salt
08:30 panchisco joined #salt
08:42 babilen brain5ide: What do you mean with "overwrite the user" ?
08:45 panchisco joined #salt
08:47 brain5ide Well, vagrant box has a user 'vagrant' by default, which belongs to sudoers, and other things as well. If I create a state for it to belone to www-data group, it does that. But it no longer belongs to sudoers and other groups.
08:47 brain5ide *belone=belong
08:48 * csa
08:49 shorty_mu Ahh, yu mean like the command "grouppadd -g blah -a" where the "-a" stands for append?
08:49 cnf joined #salt
08:50 brain5ide Maybe, I don't fully get it.
08:50 brain5ide The thing is - I need apache and vagrant user to share a group.
08:51 brain5ide Apache creates www-data user by default. I want vagrant user belonging to that group too. And I can't do it.
08:52 brain5ide So groupadd doesn't fit, I think, as it creates a new group. Right?
08:52 babilen brain5ide: And you don't want to manage that user with salt? http://docs.saltstack.com/en/latest/ref/states/all/salt.states.group.html "addusers" might be what you are looking for.
08:53 brain5ide I tried addusers and members
08:53 brain5ide Both do not work.
08:54 brain5ide They check if the group exists, and it does my case. So they don't change anything.
08:54 babilen brain5ide: I would strongly recommend to not think about things you do with salt as "I can't use that as that would create a new group" but as "I simply tell salt everything that should be true once it finished running". Salt naturally creates a group (or user for that matter) if you want to use that group and add users to it, but it would only do so if it doesn't exist already.
08:55 babilen You mean you use group.present with adduser: - your_user and it does not add your user to that group?
08:55 brain5ide Yeah, it says that the group exists already and doesn't execute a change.
08:57 babilen Okay, that is unfortunate and a bug in the way salt checks this. (it should check that all requested users are members too)
08:58 babilen And using user.present with a suitable groups: behaves the same?
09:00 brain5ide I'll just give it a try to be sure.
09:00 veselin joined #salt
09:00 mechanicalduck_ joined #salt
09:00 panchisco joined #salt
09:01 veselin left #salt
09:01 mordonez joined #salt
09:04 tmh1999_ joined #salt
09:07 jeffrey_ joined #salt
09:09 mechanicalduck_ joined #salt
09:14 ramishra joined #salt
09:15 panchisco joined #salt
09:18 cnf i can use salt-ssh to push salt config without a master, right?
09:24 lcavassa joined #salt
09:26 lcavassa joined #salt
09:30 panchisco joined #salt
09:30 thehaven joined #salt
09:30 shorty_mu left #salt
09:42 shorty_mu joined #salt
09:43 che-arne joined #salt
09:45 panchisco joined #salt
09:47 stephanbuys joined #salt
09:48 ujjain joined #salt
09:51 ujjain joined #salt
09:56 mechanicalduck joined #salt
09:56 bhosmer joined #salt
10:00 babilen brain5ide: Does that work?
10:00 babilen cnf: That was my understanding too, yes.
10:00 panchisco joined #salt
10:01 cnf babilen: cool
10:01 cnf babilen: but it still needs a salt-minion to be installed, right?
10:01 babilen Indeed
10:02 mordonez joined #salt
10:02 cnf hmm, ok
10:03 bhosmer joined #salt
10:04 martoss joined #salt
10:06 kelseelynn joined #salt
10:11 Daviey joined #salt
10:12 martoss joined #salt
10:14 peters-tx joined #salt
10:15 panchisco joined #salt
10:18 brain5ide user.present state adds the user to the group. But it removes the user from groups that it belonged to before. This is consistent, I guess.
10:21 shorty_mu There should also be an option to append groups to a user, like you can do with "usermod -G yourgroup -a".
10:22 ajprog_laptop joined #salt
10:24 greyhatpython joined #salt
10:24 greyhatpython joined #salt
10:29 Shenril joined #salt
10:30 panchisco joined #salt
10:32 Nazca joined #salt
10:38 martoss joined #salt
10:39 intellix joined #salt
10:40 martoss joined #salt
10:42 martoss joined #salt
10:45 panchisco joined #salt
10:46 APLU joined #salt
10:50 capitalfellow joined #salt
10:51 martoss left #salt
11:00 panchisco joined #salt
11:01 tmh1999_ joined #salt
11:03 mordonez joined #salt
11:04 yomilk joined #salt
11:09 yomilk joined #salt
11:10 muzammil joined #salt
11:12 dsolsona joined #salt
11:15 panchisco joined #salt
11:16 muzammil i am trying to use rest_cherrypy api to install memcached(wrote my own module which return True/False), when i try to with curl the return is empty, but with cli the output is fine not sure what i am doing wrong. http://paste.ubuntu.com/8087966/
11:20 stephanbuys1 joined #salt
11:25 philipsd6 joined #salt
11:25 cym3try joined #salt
11:29 capitalfellow joined #salt
11:29 yomilk joined #salt
11:30 panchisco joined #salt
11:42 yomilk joined #salt
11:44 jaimed joined #salt
11:45 bhosmer joined #salt
11:45 bhosmer joined #salt
11:46 panchisco joined #salt
11:51 SheetiS joined #salt
12:00 hobakill joined #salt
12:00 panchisco joined #salt
12:03 mordonez joined #salt
12:04 brain5ide_ joined #salt
12:04 SheetiS joined #salt
12:13 yomilk joined #salt
12:14 jslatts joined #salt
12:14 ghartz joined #salt
12:16 panchisco joined #salt
12:16 ramishra joined #salt
12:23 intellix joined #salt
12:30 j-saturne joined #salt
12:30 panchisco joined #salt
12:35 linjan joined #salt
12:45 panchisco joined #salt
12:46 SheetiS joined #salt
12:47 dsolsona joined #salt
12:48 stephanbuys joined #salt
12:56 linjan joined #salt
12:57 intellix joined #salt
13:00 panchisco joined #salt
13:01 Twiglet_ joined #salt
13:04 micko joined #salt
13:04 mordonez joined #salt
13:11 yomilk joined #salt
13:11 mpanetta joined #salt
13:15 panchisco joined #salt
13:19 schristensen joined #salt
13:19 racooper joined #salt
13:19 miqui joined #salt
13:28 rawzone joined #salt
13:30 thayne joined #salt
13:30 panchisco joined #salt
13:30 mapu joined #salt
13:34 TheThing joined #salt
13:39 quickdry21 joined #salt
13:40 dccc_ joined #salt
13:42 dccc_ joined #salt
13:43 dccc_ joined #salt
13:44 just_ joined #salt
13:45 just_ does salt have commercial support in Beijing, China
13:45 panchisco joined #salt
13:45 manfred basepi: whiteinge ^^
13:45 dccc_ joined #salt
13:46 manfred just_: they would be the ones in the channel rigth know now that would know
13:48 dude051 joined #salt
13:54 masterkorp hello salt usersa
13:55 patrek joined #salt
13:57 masterkorp http://0bin.net/paste/4vZEKAyDeP36nao+#psx0hqFI3ynojC1yIM0lA8D-ftkPTEMASeL5xYKaq5A
13:57 tmh1999 joined #salt
13:57 masterkorp i have the following map
13:58 masterkorp and i get this error
13:58 masterkorp Jinja error: 'NoneType' object has no attribute 'get'
13:58 masterkorp ant ideas ?
14:00 panchisco joined #salt
14:01 ramishra joined #salt
14:05 tk75 joined #salt
14:05 mordonez joined #salt
14:06 kt76 joined #salt
14:07 ramishra joined #salt
14:08 smkelly joined #salt
14:10 whiteinge just_: not officially, not yet. Let me put you in touch with our services person though. PM
14:11 masterkorp god i am cluesless
14:14 aquinas_ joined #salt
14:15 jeffrey4l joined #salt
14:15 orion__ joined #salt
14:15 panchisco joined #salt
14:18 mordonez joined #salt
14:18 babilen Whoever thought that monkey patching grains, salt and pillars after importing modules is a good idea should drink only cold coffee from now on
14:19 dccc_ joined #salt
14:19 Ozack joined #salt
14:19 masterkorp babilen: lol, what happend ?
14:21 babilen masterkorp: Well, first I have to add "grains = None" at the top of every execution module or Python pillar I write because my static analyzers don't like it if I reference them (they are undefined)
14:22 masterkorp how the heck did that happen ?
14:23 babilen But the real painful thing is that you have to pay a lot of attention that they are never evaluated before they were patched (which makes it impossible to, say, define a dictionaries outside the run() method that make references to them.
14:23 babilen Did what happen?
14:23 unixbeardxd joined #salt
14:23 masterkorp babilen: how does one get into such situation ?
14:24 masterkorp are we talking about a custom saltstack of the holy grail salt upstream ?
14:24 babilen Whenever you write execution modules or pillars or custom grains in Python
14:25 masterkorp honestly when i sent my patches to the documnentation the amount of warning that thing trowed at me just scared me
14:27 tmh1999 joined #salt
14:28 kaptk2 joined #salt
14:30 panchisco joined #salt
14:32 rallytime joined #salt
14:32 yomilk joined #salt
14:38 ipmb joined #salt
14:39 ramishra joined #salt
14:39 ecdhe I'm using group.present with addusers, but I'm not able to add users to the group unless salt creates the group... since the group already exists, no users are added.  Is there any way to override that behavior and force salt to add users to the group?
14:39 ekristen joined #salt
14:39 ecdhe I'm running hydrogen.
14:40 jalbretsen joined #salt
14:42 mapu joined #salt
14:43 ajprog_laptop joined #salt
14:43 Schmidt i am trying to do something like salt '$hostname' grains.items.${item} (like productname). This example gives me "not available"-error, is there a way to get out one specific grain from a host?
14:44 ajprog_laptop2 joined #salt
14:44 manfred Schmidt: that is not how to use that module
14:44 manfred Schmidt: when referencing modules, it is only <modulename>.<functionname>
14:44 Schmidt aha
14:44 manfred Schmidt: https://github.com/saltstack/salt/blob/develop/salt/modules/grains.py#L118
14:44 Schmidt (I am used to facter, sorry for that)
14:44 unixbeardxd left #salt
14:44 manfred and .items only takes one argument, to sanitize or not
14:45 manfred you can do salt $hostname grains.get $item
14:45 manfred or grains.item $item
14:45 Schmidt o alright
14:45 manfred with grains.get you can also do 'grains.get $item:$key:$something'
14:45 manfred and do a whole list of dictionary keys all they way down
14:45 panchisco joined #salt
14:46 Schmidt thanks
14:48 VictorLin joined #salt
14:49 Schmidt they want some basic hardware inventory thing going here, and I thought grains would be a good start
14:50 masterkorp http://0bin.net/paste/4vZEKAyDeP36nao+#psx0hqFI3ynojC1yIM0lA8D-ftkPTEMASeL5xYKaq5A
14:50 masterkorp i have the following map
14:50 masterkorp but i get this error "Jinja error: 'NoneType' object has no attribute 'get'
14:50 masterkorp no idea why, since the function returns a dictionary
14:51 kballou joined #salt
14:52 conan_the_destro joined #salt
14:52 babilen Oh man ... "TypeError: can't serialize <functools.partial object at 0x3b5a890>" from msgpack. Anybody knows how to work around that?
14:53 * babilen apologises for his question without context and will make up for it in a second
14:56 davet joined #salt
15:00 panchisco joined #salt
15:01 Gareth morning
15:02 vejdmn joined #salt
15:04 ramishra joined #salt
15:06 wendall911 joined #salt
15:08 ecdhe has group.present '
15:08 ecdhe lost the addusers function?
15:09 ecdhe I have '- addusers:' in my sls file.
15:09 ecdhe But it won't add the users.
15:09 KaaK joined #salt
15:09 ecdhe It will add the group, but not the users.  The debug output shows an empty [] members list.
15:10 ecdhe But I am not specifying a members list, only 'addusers'.
15:10 KaaK can anyone point me to `onchange` examples? The docs are pretty anemic on the subject
15:10 KaaK i've got a cmd.run state that i'd like to only trigger when another state changes
15:12 mordonez joined #salt
15:12 felskrone joined #salt
15:12 cpowell joined #salt
15:13 SheetiS Kaak:  I think you want 'watch'.  This is pertinent: http://docs.saltstack.com/en/latest/ref/states/requisites.html#watch
15:13 econnell joined #salt
15:14 ecdhe http://pastebin.com/D9enp7q5
15:14 ecdhe It seems like my syntax is good; why won't group.present add the user to the group?
15:15 schristensen joined #salt
15:15 shorty_mu left #salt
15:15 ecdhe I'm running masterless salt-call 2014.1.10 (Hydrogen)
15:15 panchisco joined #salt
15:16 tyson_ joined #salt
15:19 ecdhe Does the code look bad?
15:20 jaimed joined #salt
15:21 kermit joined #salt
15:21 manfred just checking, the user exists before running that right?
15:22 SheetiS ecdhe: At first glance it looks good as long as the user exists  before that state is called.
15:22 ecdhe manfred, yes -- it's the editing user.  I'll triple check the spelling though.
15:22 manfred then i got no idea right now, would need to dig into it
15:22 SheetiS have you tried to run the salt-call with at least loglevel debug (-l debug)?
15:23 manfred any errors when running it with 'salt-call -l debug....'
15:23 manfred ?
15:23 SheetiS manfred: you think as I do :)
15:23 CeBe joined #salt
15:24 davet1 joined #salt
15:25 ecdhe working on it! Had to set my terminal scrollback history up a little bit!
15:25 ecdhe An interesting clue is that changings 'addusers' to 'members' with the same single-user list didn't change anything; no users were added to the group.
15:26 KaaK SheetiS, why would I want watch over onchanges? I want a state to run when changes occur in another state
15:26 KaaK watch is so damn awkward ... (personal opinion)
15:27 SheetiS start with watching the other state directly then I think
15:27 manfred KaaK: you are using develop or 2014.7?
15:27 alanpearce joined #salt
15:27 KaaK 2014.1.7
15:27 manfred onchanges isn't in 2014.1
15:27 manfred it is new in 2014.7
15:28 KaaK ... that would explain why its not working... lol
15:28 manfred and it is just an extension of watch
15:29 SheetiS watch reminded me a lot of the way puppet did things, so it made sense right away to me when I was first switching to Salt.
15:30 manfred if there is 'changes' returned from a state, and the state also has result: True, then if something is watching that state, the watching state runs
15:30 KaaK i feel like the onchanges paradigm is just so much more straight forward, and hides (or seems to hide) the watch boilerplate of `waiting`
15:30 panchisco joined #salt
15:32 KaaK probably my biggest issue with watch is having to go through the module.wait crap anytime i want to use it -- it really hurts readability and is hard for me to explain to the rest of my team
15:33 KaaK </rant>
15:33 manfred i never use module.wait
15:33 manfred ¯\(°_o)/¯
15:37 darkelda joined #salt
15:39 ocdmw joined #salt
15:42 che-arne joined #salt
15:42 ramishra joined #salt
15:45 panchisco joined #salt
15:50 ecdhe manfred, SheetiS, this from the logs:
15:50 ecdhe Executing command 'groupadd -r rvm' in directory '/home/ecdhe'
15:50 ecdhe {'passwd': 'x', 'gid': 999, 'name': 'rvm', 'members': []}
15:50 VictorLin joined #salt
15:50 ecdhe I didn't specify a password for the group.
15:51 ecdhe So it's like my dictionary is being populated for me -- with a passwd value I didn't pick and with an empty members list instead of my addusers list.
15:53 beneggett joined #salt
15:54 martoss joined #salt
15:55 jslatts joined #salt
15:56 ajolo joined #salt
15:57 dalexander joined #salt
15:57 troyready joined #salt
15:58 perfectsine joined #salt
16:00 panchisco joined #salt
16:00 cnelsonsic joined #salt
16:01 perfectsine joined #salt
16:03 berserk joined #salt
16:04 vejdmn joined #salt
16:06 sherbs80 joined #salt
16:11 berserk joined #salt
16:11 acabrera joined #salt
16:13 beneggett joined #salt
16:15 joehoyle joined #salt
16:15 jalbretsen joined #salt
16:15 KyleG joined #salt
16:15 KyleG joined #salt
16:15 panchisco joined #salt
16:15 perfectsine joined #salt
16:17 icebourg joined #salt
16:19 ninkotech joined #salt
16:19 alainv Is there a good way to debug "Specified SLS is not available" errors?
16:19 alainv oh actually it's probably a yaml indentation garbage
16:22 dsolsona joined #salt
16:22 smcquay joined #salt
16:23 alainv hm, doesn't seem to be. would the master log a different error if it was a parse error?
16:23 bhosmer_ joined #salt
16:26 alainv [CRITICAL] Pillar render error: Specified SLS 'my-box.test.com' in environment 'vpn' is not available on the salt master
16:26 * csa
16:27 alainv Any thoughts? The file is indeed in there, the pillar root 'vpn' is reading correctly as another file is loading fine
16:29 alainv ugh seriously it just doesn't like hostname-shaped SLS names? what?
16:30 bmatt alainv: dots in path specs are interpreted as directory markers (it's a carryover from how python does imports)
16:30 panchisco joined #salt
16:31 alainv AH! okay, that makes some sense
16:31 bmatt foo.bar.baz -> /srv/salt/foo/bar/baz.sls
16:31 possibilities joined #salt
16:31 SheetiS joined #salt
16:31 capitalfellow joined #salt
16:32 alainv huh, i feel like that should be in the docs but i have no clear idea where would have been intuitive
16:32 alainv thanks bmatt
16:33 bmatt np; it's sort of implied, yeah, but I don't think it's stated in a "hey check this out" sort of way
16:33 rap424 joined #salt
16:33 alainv It seemed like such a good way of storing sensitive data like a VPN key/cert
16:34 bmatt so, what I do
16:34 bmatt I've got a file, "cert.sls", and that file includes a file that has the minion ID as its name
16:34 alainv and that's not subject to the same import logic?
16:35 bmatt it is
16:35 schimmy joined #salt
16:35 bmatt oh, I guess if your minion IDs are fqdns
16:35 bmatt :-\
16:35 alainv yeah :s
16:35 MatthewsFace joined #salt
16:36 alainv that also seemed like a good idea at the time
16:36 alainv sigh
16:36 bmatt another possible solution
16:36 alainv i think i can use grains['host'], will have to see. Anyway. Thanks
16:36 bmatt yeah, I'd do that
16:36 bmatt one pillar file, with templated if statements to populate the dict
16:37 bmatt {% if grains['id'] == "foo.example.com" %}vpnkey: '...'{% endif %}
16:37 kelseelynn joined #salt
16:37 bmatt it's not maybe the most elegant, but it works
16:37 alainv Yeah, that seems uglier, but it would be matching purely on ID
16:37 schimmy1 joined #salt
16:37 alainv which was one of the goals
16:37 alainv hrm
16:37 viq http://docs.saltstack.com/en/latest/ref/output/all/salt.output.highstate.html  - can I pass those as flags to a run?
16:41 dalexander joined #salt
16:41 thayne joined #salt
16:42 alainv viq: I just tried state_verbose=False (similar to the test flag) and it had no impact
16:42 viq indeed :(
16:43 rojem joined #salt
16:43 viq --state-verbose=False doesn't seem to work either
16:43 alainv yeah that would be nice :/
16:44 viq eh, I guess time for | grep -v 'Result: Clean'
16:44 alainv bmatt: the 'host' grain could be overridden by a minion like any other, correct?
16:44 viq alainv: I don't think id can be overriden, can it?
16:44 alainv viq: don't forget -b2
16:44 viq alainv: hm?
16:44 alainv viq: ID cannot, afaik, but my IDs are all FQDNs
16:45 alainv grep flag, print 2 surrounding lines
16:45 bmatt alainv: afaik any grain can be overridden
16:45 mechanicalduck joined #salt
16:45 bmatt but it's kinda unlikely, I guess
16:45 viq Oh. I have already state_output: terse
16:45 panchisco joined #salt
16:46 scsinutz joined #salt
16:46 forrest joined #salt
16:47 davet joined #salt
16:47 scsinutz left #salt
16:47 alainv huh. I just tried overriding ID and it had no effect. Overriding host was only half-successful and had unexpected effects
16:47 ericof joined #salt
16:48 alainv fascinating
16:48 capitalfellow joined #salt
16:51 hisPeople joined #salt
16:53 chrisjones joined #salt
16:54 alainv ah, right, host is set through fuzzy /etc/hosts matching. so can be overridden locally, if somewhat roundabout. (in case anyone was curious)
16:55 KyleG1 joined #salt
16:57 KyleG joined #salt
16:57 KyleG joined #salt
16:57 rojem joined #salt
16:58 forrest alainv, Salt uses socket.getfqdn() as the primary lookup method
16:58 beneggett joined #salt
16:59 alainv yeah, i found https://github.com/saltstack/salt/issues/11275
17:00 alainv and so on. at least on debian-based, it does use the hosts file as opposed to the OS-defined hostname
17:00 joehoyle joined #salt
17:00 panchisco joined #salt
17:01 alainv which is just interesting/notable behaviour, not strictly a bug, but /etc/hosts line ordering suddenly matters, which otherwise i never encounter
17:02 SheetiS same thing happens when you run 'hostname -f' to get fqdn that way.
17:03 ml_1 joined #salt
17:04 alainv True enough
17:04 vejdmn joined #salt
17:06 jhulten joined #salt
17:07 forrest manfred, you're getting close to 5000 messages posted :P
17:08 manfred nice
17:09 tk75 joined #salt
17:09 manfred forrest: still pulling my hair out over the openstack issue :P
17:10 forrest manfred, shocking
17:10 manfred indeed
17:10 manfred though people are actually active in the channel now
17:11 forrest woah
17:11 mechanicalduck joined #salt
17:11 forrest IRC, where people log in to do nothing :P
17:12 intellix joined #salt
17:12 martoss joined #salt
17:14 robawt forrest: and complain
17:14 forrest robawt, true
17:14 manfred well what good is assisting with developing an opensource product if you don't get free reign to just yell at the main developers whenever you want
17:14 chrisjones joined #salt
17:14 manfred that is just un 'murikan
17:15 forrest manfred, heh
17:15 panchisco joined #salt
17:17 perfectsine joined #salt
17:18 rypeck joined #salt
17:18 aw110f joined #salt
17:20 martoss joined #salt
17:21 dalexander joined #salt
17:21 rojem joined #salt
17:22 aparsons joined #salt
17:25 bmatt are include statements rendered by the dictionary builder as keys, or are they parsed and includes rendered by the YAML renderer?
17:25 bmatt that is, can my python state scripts return an include key/value?
17:29 manfred bmatt: i think they are rendered seperately, one second
17:29 manfred so you could return it
17:29 manfred lemme check
17:29 bmatt I'll test in a few minutes once I remember how to make a minion revoke its keys in a state
17:29 manfred bmatt: https://github.com/saltstack/salt/blob/develop/salt/state.py#L2157
17:29 bmatt ah! keen.
17:29 manfred looks like it takes the include in the state, and then renders it out
17:30 bmatt thanks
17:30 manfred so it is just like actually physically including all the states in that file
17:30 manfred like 90% sure
17:30 manfred or
17:30 manfred actually,
17:30 panchisco joined #salt
17:31 bmatt but I should just be able to return {'include': ['foo', 'bar.quux']}
17:31 manfred yes
17:31 manfred it looks like it is attaching it to the include list, and then those get rendered and appended to that tops[saltenv]
17:31 davidone joined #salt
17:31 manfred but yeah, you should just be able to have a toplevel key named include
17:31 bmatt rad.
17:32 bmatt I'm writing a state which will cause a PXE-booted minion to reconfigure its network based on some Redis entries, then revoke its keys and reassociate
17:32 bmatt well, working on it, anyway
17:33 bmatt so being able to only worry about the stuff I know in the moment is very nice
17:34 srage joined #salt
17:36 kermit joined #salt
17:38 kt766 joined #salt
17:40 CeBe joined #salt
17:41 VictorLin joined #salt
17:49 mechanicalduck joined #salt
17:56 n8n joined #salt
18:00 joehoyle joined #salt
18:00 martoss joined #salt
18:01 aparsons joined #salt
18:03 aparsons joined #salt
18:04 ckao joined #salt
18:04 jhulten joined #salt
18:08 miles32 joined #salt
18:08 miles32 salty windows sure is annoying
18:08 forrest miles32, I think you mean 'windows sure is annoying'
18:09 miles32 "objects of type int can not be converted to unicode" when you use - user: in file.recurse
18:09 forrest lol
18:09 bmatt hm. using network.system to change the hostname doesn't take effect immediately :-\
18:09 forrest unicode :P
18:09 miles32 windows has a place and a purpose
18:09 miles32 and now global name __salt__ is not defined
18:09 forrest miles32, windows servers? I don't know
18:09 miles32 but if I rerun the state it clears through
18:09 bmatt that makes changing the minion id in situ ... maybe not possible?
18:09 miles32 Active directory and group policy are nice
18:10 forrest miles32, Yeah that's fair, but past that...
18:10 ecdhe bmatt, you might need a reboot to get that hostname to take...
18:10 miles32 to an organization, that's huge
18:10 bmatt ecdhe: calling /bin/hostname should do the trick, but I don't think the network module does that
18:10 jslatts joined #salt
18:10 miles32 exchange is great, if a pain to manage
18:10 forrest I never saw the point of exchange.
18:11 forrest I just don't care that much about email
18:11 bmatt calendaring is a Hard Problem
18:11 miles32 IIS? not that great
18:11 ecdhe forrest, http://devopsreactions.tumblr.com/post/74712023563/exchange-administrator-interview
18:12 forrest ecdhe, yeah I have worked with windows admins
18:12 forrest most of them nice guys
18:12 drawks hey all
18:12 forrest drawks, hello
18:12 drawks in what order are config files in the include statements applied?
18:12 miles32 windows just doesn't have all that flashy <insert flavor of the day framework name>
18:12 drawks i see the default config file for master has "#default_include: master.d/*.conf"
18:13 tcotav miles32: windows2012 + powershell isn't so bad
18:13 drawks but if i have conflicting config values in the configs in that dropdir how is precedence determined?
18:13 natewalck joined #salt
18:13 natewalck Morning/Evening
18:14 natewalck I currently use Puppet + Foreman and I was wondering if there was a Salt equivalent to PuppetDB
18:14 druonysus joined #salt
18:14 mechanicalduck joined #salt
18:14 dsolsona joined #salt
18:16 forrest natewalck, there is not. You could look at reclass, but it's not identical.
18:16 natewalck forrest: Thanks, I'll give it a look
18:17 natewalck I do a lot of end-user machine management with puppet
18:17 natewalck so having historical data is necessary
18:17 forrest natewalck, actually hang on maybe I am thinking of a different puppet component, been a few years
18:17 natewalck puppetdb is a cache of the run status
18:17 natewalck facts
18:17 natewalck and the most recently applied catalog
18:18 vejdmn joined #salt
18:20 intellix joined #salt
18:21 possibilities joined #salt
18:25 jeffrey4l joined #salt
18:27 Thiggy joined #salt
18:31 forrest natewalck, there might be something similar, but I don't have enough familiarity with puppet to say so. manfred is there anything in salt similar to puppetdb? Or have you even used puppetdb?
18:32 manfred what is puppetdb?
18:32 manfred is it like the saltmine?
18:32 kermit joined #salt
18:32 natewalck aha
18:32 natewalck that looks like PuppetDB
18:32 jhulten_ joined #salt
18:32 aparsons joined #salt
18:33 manfred natewalck: salt mine doesn't store stuff in there by deafult, but you can enable it in the master or minion configs to send stuff back to the master
18:33 forrest manfred, I thought the salt mine didn't provide all the functionality of puppetdb the last time someone brought it up...
18:33 manfred it mean... it might, i have no idea what puppet db does..
18:33 forrest maybe I am remembering wrong, but I thought there were some key points that were missing
18:33 natewalck is there an API for getting the info out of the salt mine?
18:33 manfred if it doesn't i would use the peering system after it
18:33 manfred natewalck: salt['mine.get']()
18:33 natewalck Sweet
18:33 tcotav puppetdb keeps record of state changes too I think
18:33 natewalck tcotav: it does indeed
18:33 manfred if you are using it as an actual api... salt-api would be the thing to do
18:34 natewalck my main concern is compliance reports
18:34 manfred salt-minion does not keep a record of it changing
18:34 tcotav ah -- compliance
18:34 manfred salt-mine*
18:34 natewalck n Nodes all have Anti Virus installed
18:34 manfred it just keeps track of the most recent time it reported back
18:34 bmatt hm. network.system appears not to be ready for prime-time
18:34 tcotav there are events for state changes, right?
18:34 natewalck I have 95% laptops, so I need to query against the most recent known state
18:34 tcotav the stuff that feeds halite
18:35 bmatt tcotav: are you talking about reactor events, or state watch requisites?
18:35 tcotav (I haven't worked with any of this so I'm just trying to grab pieces that seem to fit what natewalck is trying to get together)
18:35 natewalck much appreciated
18:35 manfred tcotav: what type of events? there are reactor event states that are added in 2014.7, but that isn't what halite uses from my understanding
18:35 natewalck I currently do a lot of puppet and I want to see if puppet is still the best choice or if it is a good time to switch to something else
18:36 manfred natewalck: so, the salt-mine is kind of similar to knife-search in chef... it is more used for storing information to be used on other minions
18:36 natewalck ah, I see
18:36 tcotav ok, so to go back and do a quick tl;dr -- natewalck I believe wants a history of state changes on his managed nodes
18:36 aparsons_ joined #salt
18:36 natewalck that would be like exported resources in puppet
18:36 drawks anyone have any idea how the dropdir config precedence is determined?
18:36 manfred natewalck: if you are trying to keep track of the value over time, i don't think we have something like that at this time
18:36 tcotav compliance reporting was what made it click for me
18:37 natewalck I don't even necessarily need what was is a month ago
18:37 patrek joined #salt
18:37 natewalck I need what is the most recently value
18:37 natewalck grains = facts, right?
18:37 tcotav oh -- well that's different
18:37 manfred then I would just use grains
18:37 tcotav I thought you needed history
18:37 manfred natewalck: have you seen custom grains?
18:37 natewalck even if a minion is offline
18:37 manfred i would write a custom grain and store it in the mine
18:37 natewalck I need to know what the value of a grain is for that minion as of its last run
18:38 natewalck manfred: gotcha
18:38 natewalck historical is a bonus, but I don't use that right now, so its not a big deal
18:38 manfred that would be stored in the mine, but i don't know if the master has access to the mine yet, just other minions
18:38 manfred but
18:39 manfred there was an issue about getting access to the mine for the master
18:40 natewalck Ok, one other question then. Say a minion cannot connect to the master
18:40 wackycaptain joined #salt
18:40 natewalck will it apply the most recent config until it regains connectivity?
18:41 tcotav that sort of thing is highly configurable
18:41 tcotav and it kind of depends on how you set up the system
18:41 tcotav your system
18:42 natewalck ok, so it is doable
18:42 natewalck currently in puppet, I need to do custom scripting to get that done
18:42 natewalck if it cannot contact the master it just fails
18:43 tcotav but you want it to just re-run what it has locally?
18:43 thayne joined #salt
18:44 natewalck correct
18:44 natewalck so if it cannot see the master, re-run what is cached
18:44 natewalck to enforce that state
18:45 Gareth forrest: similar to that other video chat service you had menitoned a few weeks back: http://gizmodo.com/rabbit-lets-you-watch-tv-with-friends-no-matter-where-1623786571
18:45 forrest Gareth, cool, is the max higher?
18:45 forrest though I don't care much about watching tv together
18:45 forrest but still interesting
18:45 Gareth forrest: nope.  still 10.
18:45 forrest Gareth, :(
18:46 forrest Gareth, I don't get why there isn't an app with more
18:46 tcotav natewalck: ok, I don't think it would work that way.  you'd have to figure out some way to get that behavior
18:47 natewalck Understood
18:47 Gareth forrest: it has to be some limit somewhere, local browser with that much video maybe.
18:47 natewalck I know Salt is a little different model
18:47 forrest Gareth, yeah
18:47 natewalck Puppet is client-poll
18:47 natewalck whereas Salt is push-ish?
18:49 tcotav you can run it a couple different ways
18:50 tcotav if you ran it with no master and all masterless minions, you'd just have to sync the /srv states and then run salt locally
18:50 tcotav tutorial covers that a bit: http://salt.readthedocs.org/en/latest/topics/tutorials/quickstart.html
18:52 possibilities joined #salt
18:54 p3llin0r3 joined #salt
18:54 p3llin0r3 Ahh so: Continuous Deployment with Salt
18:54 p3llin0r3 I'm a bit lost
18:54 p3llin0r3 anyone with experince can recommend me a framework?
18:56 kt766 joined #salt
18:56 sectionme joined #salt
18:57 manfred i have been working on salt/jenkins
18:57 manfred using salt-api to drop webhooks into the reactor
18:57 manfred http://salt-api.readthedocs.org/en/latest/ref/netapis/all/saltapi.netapi.rest_cherrypy.html#saltapi.netapi.rest_cherrypy.app.Webhook
18:58 orion___ joined #salt
18:59 rlarkin joined #salt
19:00 orion___ joined #salt
19:03 orion__ joined #salt
19:03 p3llin0r3 manfred, thanks a ton, I've looked at that before
19:03 p3llin0r3 manfred, (Not being sarcastic, sorry if I came off that way! :) )
19:03 manfred oh, i didn't take it that way at all :)
19:04 manfred yeah, i currently use jenkins to do tests and then when they pass tell salt to grab the stuff and deploy it
19:04 forrest you should publicize that somewhere manfred, would be helpful
19:05 forrest I've been thinking about setting up something similar for a test environment
19:05 manfred unfortunately I can't
19:05 forrest you can't pull out the proprietary stuff?
19:05 manfred forrest: i cannot, it is all in house
19:05 manfred i am workin on a new one that could be though
19:06 forrest manfred, all of it's in house?? How is that possible if it's just dropping in via the api :\
19:06 manfred forrest: i am going to be working with the IUS rpmdev team at rackspace to help them switch over to a completely open build farm using just jenkins
19:06 forrest manfred, nice
19:06 manfred that one we will publish
19:07 forrest I still don't get how it's possible to be completely in house if you're just using the api to drop in hooks
19:07 vejdmn joined #salt
19:07 manfred oh, that part isn't ... i could publish that... but it isn't really meaningful
19:07 manfred imo
19:07 forrest fair enough
19:07 manfred i would rather have the whole setup/project available to be looked at
19:08 forrest yeah
19:08 forrest would be nice if it was a plug and play style setup
19:08 forrest that's for sure
19:08 manfred forrest: basically i am being loaned out to other departments now, for one day a week, my current one is about to come to an end, and the IUS team is my next engagement
19:08 forrest cool
19:08 manfred https://github.com/archlinuxarm/plugbuild
19:08 manfred this is the one I want to rewrite eventually.
19:08 forrest except not in perl
19:09 forrest and not for arch :P
19:09 manfred right
19:09 manfred pfft, i want it to be plugable by any distro
19:09 forrest make it so that more than 5% of the linux community can take advantage of it
19:09 forrest well, I mean not explicitly for arch
19:09 manfred so you would just provide your build script and test script and have it completely plugable
19:09 forrest yeah
19:09 forrest that would be good
19:09 forrest man, perl is brutal
19:09 manfred but that is... way down my list of things to do lol
19:09 manfred leming likes it /shrug
19:09 forrest just so awful
19:10 manfred and that thing works really well
19:10 forrest I'm not arguing that it works
19:10 forrest just any time I have to read perl it's painful
19:10 manfred all of archlinux arm is built from it just based of of the upstream svntogit, and the github archlinuxarm pkgbuild repository
19:10 manfred it is actually pretty slick
19:10 manfred but yeah, perl is annoying
19:13 manfred i will say... in increment function in perl... z increments to aa, baa, which is incredible
19:13 forrest Oh yeah, perl has good stuff, I just hate reading it
19:13 forrest that's all
19:14 joehoyle joined #salt
19:14 forrest should have been more specificy :P
19:14 forrest *specific
19:16 matthiaswahl joined #salt
19:18 berserk joined #salt
19:19 jslatts joined #salt
19:23 martoss joined #salt
19:37 bmatt hm. is network.system fixed in 2014.7?
19:38 bmatt I don't wanna be all "here's an issue!" for a dead version :(
19:38 forrest bmatt, https://github.com/saltstack/salt/issues/6922 ?
19:39 bmatt no, this is the hostname parameter not being handled correctly
19:39 bmatt (sort of oddly, actually)
19:39 forrest bmatt, https://github.com/saltstack/salt/pull/11986 ?
19:39 bmatt yeah, that too
19:39 bmatt heh
19:40 forrest bmatt, I've got nothing then, only thing I can suggest is to search for it
19:40 bmatt =]
19:40 forrest see if there's an issue or PR on it
19:43 bmatt well, I guess mostly I was just wondering if you/someone'd be like "oh yeah, we ripped all that out and replaced it"
19:43 forrest bmatt, haha, I don't write much salt code, most of my 'free' time that I work on salt is spent on the docs.
19:43 bmatt you're a gentleman and a scholar; you're a saint amongst mortal men. I owe you a beer. :)
19:43 forrest lol thanks
19:44 bmatt also, I hate documenting things
19:44 forrest yes a lot of people do
19:44 Gareth forrest: how many does that make for you now?
19:44 forrest Gareth, at least 1-2 6 packs I believe
19:45 Gareth nice.
19:46 * Gareth dives into returner code
19:47 forrest have fun Gareth
19:50 joehoyle joined #salt
19:52 robawt i feel like forrest drinks for free
19:52 forrest robawt, I don't really drink at all
19:52 forrest so yes, they usually give me water for free
19:52 tcotav he writes documentation -- that's not free
19:53 bmatt TANSTAAFF?
19:53 bmatt TANSTAAFD?
19:53 tcotav by water, do you mean commercial american lagers or actual water?
19:54 Ryan_Lane joined #salt
19:54 robawt tcotav: what we brew in commercial lagers we make up for with craft IPAs
19:54 forrest actual water
19:54 forrest I don't like the taste of beer
19:55 tcotav robawt: I'm well aware of the craft IPAs.  I live in seattle and am an avid beer drinker.  AVID. :D
19:55 robawt ha! very nice
19:55 robawt may Hoptopia continue to pour from your homeland
19:55 tcotav indeeeeed
19:55 robawt that was a highlight beer for me the last time I was up there
19:55 manfred tcotav: wanna send some to texas?
19:56 tcotav forrest is here too in Seattle.  I've claimed his quota of city beer already
19:56 manfred i will send you some prarie barrel aged stouts
19:56 jkleckner joined #salt
19:56 manfred i mean... what? that would be illegal
19:56 tcotav oooh -- I may be up for a swap...  if I could just figure out how to package properly
19:56 manfred oh
19:57 manfred me and terminal mage traded some the other day, I actually have a box on my desk i am sending him after work
19:57 manfred one second
19:58 manfred tcotav: http://www.reddit.com/r/beertrade/comments/atztu/trading_and_packaging_tips/
19:58 manfred taking this to /query if you want to continue
19:58 rojem joined #salt
19:58 patrek joined #salt
20:00 rojem joined #salt
20:01 tcotav roger
20:01 rlarkin joined #salt
20:01 jkleckner joined #salt
20:03 jslatts joined #salt
20:04 jkleckner joined #salt
20:04 Eugene I want beer
20:05 MTecknology joined #salt
20:05 Eugene But I don't want this belly
20:06 robawt Eugene: stick to whiskey? :P
20:06 Eugene Rum!
20:06 bhosmer joined #salt
20:07 jgelens joined #salt
20:07 tcotav cut back on your other sources of calories during the day
20:07 robawt like food
20:07 tcotav yep
20:08 tcotav side-effect -- it takes less beer to get you going
20:09 bmatt hm. so I can't seem to make changing a minion's hostname and minion_id atomic
20:09 bmatt I want a minion to revoke_auth() its key, delete its cached minion it, change its hostname, and re-associate with the master
20:10 bmatt er, cached minion id
20:10 bmatt is there a more canonical way to do that?
20:11 bhosmer_ joined #salt
20:14 capitalf_ joined #salt
20:16 capitalfellow joined #salt
20:17 lulzsp00n joined #salt
20:19 lulzsp00n anyone having problems running backtrack5r3 on Vmware
20:23 MTecknology joined #salt
20:24 schimmy joined #salt
20:26 orion__ joined #salt
20:26 schimmy1 joined #salt
20:30 joehoyle joined #salt
20:30 orion__ joined #salt
20:32 joehoyle joined #salt
20:32 jaimed joined #salt
20:32 bmatt I always feel bad when I submit issues without a corresponding fix :(
20:33 bmatt but I just don't have the time to test this in 2014.7 and develop too :(
20:34 druonysuse joined #salt
20:37 forrest bmatt, it happens
20:47 rawkode joined #salt
20:47 mpanetta joined #salt
20:47 rawkode Evening!
20:48 forrest hello
20:49 rawkode I have a really simple question :)
20:49 rawkode Do states and pillars inherit/follow-through? Will instances that match base '*' then also match on grains that come later in the file? Doesn't seem to from what I can get working on my server
20:51 conan_the_destro joined #salt
20:51 asdfgtedt joined #salt
20:52 lulzsp00n left #salt
20:54 rawkode How come you always solve a problem the minute you ask for help?
20:54 bmatt afaik yeah; we do a * match for "core" things, and then also match application-specific stuff further down in top
20:54 bmatt hahaha
20:54 forrest rawkode, that's how it works, you should get a debug duck :P
20:54 rawkode haha
20:54 forrest I have one at home
20:54 forrest purple and white striped, drew some 'are you stupid' eyebrows on him
20:54 rawkode Apparently salt fails to proceed with base_requirements.sls when you ask for php54-cli and php55-memcached
20:55 rawkode Who'd have thunk it
20:55 rawkode forrest: that must be quite intimidating at times
20:55 forrest rawkode, not really, I can just squeeze it to death if I want
20:56 forrest or more realistically just hide him behind the monitor
20:56 rawkode forrest: good call. he's only trying to help, there's no need to be mean
20:56 forrest right
20:58 orion__ joined #salt
20:58 asdfgtedt haha
20:59 asdfgtedt left #salt
20:59 rawkode Don't think he appreciated the squeezing of an innocent duck
20:59 lulzsp00n joined #salt
20:59 orion__ joined #salt
21:00 lulzsp00n the tension
21:01 martoss joined #salt
21:03 rawkode I got those two pull requests merged into salt and salt-contrib last night, forrest. Turns out a php guy can almost write python :P
21:03 forrest rawkode, haha
21:03 rawkode The lack of braces is, somewhat, still puzzling: though I guess, even in php, they're pretty much for show / redundant
21:04 forrest yea no braces is great
21:04 lulzsp00n pyyyyyyython -.-
21:06 rawkode I thought SaltStack was a Gollang project initially - I was surprised to learn that python was capable of such :P
21:07 lulzsp00n left #salt
21:12 darkcometwatchou joined #salt
21:12 darkcometwatchou why my sos file broke
21:13 darkcometwatchou =[
21:14 rawkode Did you drop it?
21:14 jkleckner left #salt
21:15 jkleckner joined #salt
21:16 kbar joined #salt
21:17 savvy-lizard joined #salt
21:19 druonysus joined #salt
21:19 jchen joined #salt
21:20 Eugene I was surprised when I learned that Go was capable of doing programming operations; I originally thoght it was a blog-post-creation pyramid scheme.
21:20 tcotav that's ruby
21:20 forrest I actually had to install go on a system today
21:20 forrest it was not a pleasant experience
21:20 Eugene No no no, Ruby transmutes VC money into github repositories
21:21 jchen you mean node.js
21:21 tcotav I **never** mean node.js
21:21 tcotav :D
21:21 Eugene There's no money with node.js
21:21 kermit joined #salt
21:21 kermit joined #salt
21:21 Eugene Unless you mean the meth money
21:22 tcotav has anyone here used serverspec to test out their work?  its pretty slick stuff
21:22 Eugene Never heard of it
21:22 robawt tcotav: i'm very interested
21:22 tcotav http://serverspec.org
21:22 tcotav I used it in a prior life (chef consultant)
21:22 robawt you still require the machine to be built but it is a set list of checks, right?
21:23 Eugene So it's salt's State system, implemented again? Yawn.
21:23 Eugene But without doing fixing-of-things
21:23 tcotav robawt: yep exactly
21:24 rojem joined #salt
21:25 tcotav I used to hook it up with jenkins + docker
21:25 tcotav to test my chef recipes (back in the day ;-) )
21:26 robawt that's what i'd like to see with current salt config
21:26 rawkode The docker module for Salt is pretty buggy / not really functional
21:28 jchen in 2014.7 or 2014.1.0?
21:28 linjan joined #salt
21:28 jchen 10*
21:28 rawkode 2014.7
21:29 jchen ah ok, that's not terribly unexpected
21:29 rawkode I need to use 2014.7 for the ec2-autoscaling reactor
21:29 jchen welp
21:29 jchen guess that's why it's still beta?
21:29 rawkode it's had some limitations thusfar, and it prety much breaks on a weekly basis
21:29 rawkode It's RC1 :/
21:29 jchen oh heh
21:30 jchen that's why it's still an RC :)
21:30 orion_ joined #salt
21:30 rawkode Fortunately I'm only integrating to our Vagrant and staging set-ups
21:30 rawkode Production can stick with puppet for now
21:30 rawkode All part of the fun, eh!
21:30 metaphore joined #salt
21:31 rawkode My most typed command of the last two weeks has been 'watch -n 1 "ps aux | tail"' as I constantly kill and boot CloudFormation templates
21:37 bmatt are cachedout or garethgreenaway around?
21:39 forrest bmatt, Gareth you are being summoned
21:39 forrest bmatt, cachedout is most likely on irc, but not in the channel, he's usually pretty busy
21:39 bmatt oh okay; I commented in the issue anyway
21:40 bmatt I just don't want to waste gareth's time if I can get it resolved myself
21:40 forrest bmatt, fair enough
21:40 bmatt wow. that was fast. he's already got a PR handy
21:40 bmatt hahahah
21:40 ericof joined #salt
21:40 XenophonF joined #salt
21:41 srage joined #salt
21:41 XenophonF hey everybody - does salt-ssh in 2014.1.4 ignore the "passwd" setting?
21:41 XenophonF i'm trying to do a test.ping as root on a newly-installed centos 7  VM but keep getting "permission denied" errors
21:42 bmatt hahaha oh man, salt-bootstrap blowed up again in 2014.7
21:42 XenophonF i'm running salt-ssh as root, as well
21:43 bmatt this damned salt-api vs salt-bootstrap thing is starting to grate on me :)
21:45 drawks anyone know what used to be at this dead url from the docs?
21:45 drawks The range server (and optional port) that serves your cluster information https://github.com/grierj/range/wiki/Introduction-to-Range-with-YAML-files
21:45 drawks the docs don't actually say what a range server is
21:45 drawks and the url is 404
21:46 rawkode I had nothing but trouble with salt-bootstrap and salt-api with 2014.7
21:46 forrest drawks, I don't, could you please create an issue to get that removed from the docs?
21:46 XenophonF drawks: nothing in wayback :(
21:47 forrest the dude whose repo that is looks like Kevin James...
21:48 bmatt rawkode: yeah, s0undt3ch seems really super eager to get moved to 2014.7 but it's not really well-baked yet
21:49 drawks forrest: https://github.com/saltstack/salt/issues/15093
21:49 forrest drawks, thanks.
21:49 Gareth forrest: Nod.  I saw it :)
21:50 forrest Gareth, cool
21:50 drawks np
21:50 forrest drawks, You should tweet at that guy, and be like 'wtf man'
21:50 forrest how DARE he remove his repo
21:50 drawks hehe
21:50 rawkode Anybody mind sharing one of their top files with me? I'm still having issues with mine
21:51 diegows joined #salt
21:52 forrest https://github.com/gravyboat/hungryadmin-sls/blob/master/salt/top.sls
21:52 forrest pretty basic top though
21:52 patarr joined #salt
21:52 patarr joined #salt
21:53 rawkode base:
21:53 rawkode 'ec2_tags:Application:myapp’:
21:53 rawkode - match: grain
21:53 rawkode - create_directories
21:53 drawks no pasting please
21:53 rawkode This isn't working, even though salt-call grains.get ec2_tags shows Application:myapp
21:53 rawkode Sorry, drawks. I thought 4 lines would be OK. No problem
21:55 tk75 joined #salt
21:56 rawkode It's not something silly to do with the case, is it?
21:57 kt76 joined #salt
21:58 eculver joined #salt
21:59 XenophonF man this is driving me crazy
21:59 XenophonF i ran salt-ssh with debugging enabled
21:59 XenophonF it tries to run ssh via sshpass
21:59 XenophonF i can take the ssh command, run it, and log into the target minion as root interactively
22:00 XenophonF but if i try the same thing only using sshpass, i get "Permission denied" errors
22:00 bhosmer joined #salt
22:00 forrest XenophonF, hmm, is there a chance that it's not passing everything through with sshpass/
22:00 forrest *?
22:00 XenophonF i think that's a strong possibility, forrest
22:00 forrest I know sometimes there are issues with environment variables depending on how it's configured
22:01 XenophonF clearly, not a salt-ssh problem
22:01 rawkode salt-ssh is still alpha though, right?
22:01 forrest rawkode, Kind of, it works but is lacking some functionality/features
22:04 XenophonF sshpass doesn't appear to have any debugging options
22:04 Gareth bmatt: Looked to be a simple fix.
22:05 rawkode Has anybody noticed that YouTube autoplays on Chrome now, without action?
22:05 Eugene It's always done that?
22:06 forrest always done that for me
22:08 KaaK is there any good way to pass through an entire dictionary (hash) to a file.managed's context?
22:10 bmatt not without jinja
22:11 bmatt but a reasonable (if not very straightforward) method can be found at https://github.com/bechtoldt/network-formula/blob/master/network/interfaces.sls#L26
22:11 rawkode Annoyingly, state.highstate works but not when being called through minion_start and the grain has already sync'd :(
22:13 ajolo joined #salt
22:14 KaaK bmatt, man... i guess if it works, it works
22:14 bmatt yeah, it's not pretty
22:17 kooroo joined #salt
22:18 skyler Hi, I am beginning to update a formula for the first time. When writing up the config file, defaults and example pillar, should I include every configuration option the program supports for that configuration file?
22:18 aw110f joined #salt
22:19 kooroo hey folks, is there a way to feed the apache state an entire subtree from a pillar to create apache confs?
22:19 viq joined #salt
22:19 forrest skyler, it depends. Keep in mind that everything you add to the pillar means it takes longer to compile. Usually I try to only put stuff in the pillar I know will change.
22:20 forrest skyler, because you can always update the conf itself and run the state, so passwords go in pillar, and so on
22:21 skyler forrest, I am trying to write a formula that I can use, and that we can merge into saltstack-formula's so I don't know what will change. I could go with my gut on what is likely to change, or I could provide all of the options that are specified in the default installed configuration file, but not other options.
22:22 forrest skyler, in that situation I'd look at one of the other formulas for examples. Some of them provide more items in the pillar than others.
22:22 skyler forrest, will do.
22:23 bmatt woohoo!
22:23 bmatt another reproducable bug :)
22:23 forrest lol
22:23 bmatt don't worry, this time it's in salt-bootstrap's handling of salt-api again :)
22:23 occupant joined #salt
22:23 forrest I'm sure s0undt3ch will be happy to see another bug report
22:25 geekmush2 joined #salt
22:25 bmatt alright, well, sorry Gareth, my attempt at fixing at least one of my bug reports has failed
22:26 bmatt back to trying to get 2014.1.10 working :-D
22:26 Ozack joined #salt
22:27 Gareth bmatt: was it the network hostname one?
22:27 bmatt yeah
22:27 Gareth did you see my pull request?
22:28 bmatt I did! Thank you
22:28 bmatt I was hoping to fix the requisites/changes-dict issue in network.system
22:29 bmatt (#15078)
22:29 bmatt er, #15087)
22:29 otter768 joined #salt
22:32 cachedout joined #salt
22:32 cachedout left #salt
22:33 kooroo hey, is there any way of seeing what the state files look like after jinja renders them?
22:33 Gareth bmatt: ah hm. yeah.  doesn't report changes when the hostname changes.  let me take a look at that.
22:34 bmatt kooroo: the best I'm aware of is to use state.show_highstate
22:36 berto- using gitfs, i added a .py file to the `_grains` directory.  I then ran `salt ‘*’ saltutil.sync_grains`  one minion, which happens to be on the master, got the grains file, the other didn’t.  Not even after highstate, sync_all, even restarting the minion.
22:36 berto- any ideas?
22:37 DaveQB joined #salt
22:39 occupant joined #salt
22:39 drawks is there an example anywhere of using the cmd_* pillar modules?
22:40 to_json joined #salt
22:43 bmatt drawks: I can't parse your question. pillar modules?
22:45 mosen joined #salt
22:47 dsolsona joined #salt
22:48 rawkode berto-: where is your _grains directory? /etc/salt or /srv/salt ?
22:48 berto- rawkode: I think you just answered my question just by asking that ...
22:48 rawkode One can hope :)
22:50 berto- rawkode: yep, thanks.  Needed to get the _grains directory in the right branch.
22:50 schimmy joined #salt
22:50 rawkode berto-: Glad it's working
22:52 schimmy1 joined #salt
22:54 drawks bmatt: ext_pillar
22:54 drawks there are modules for cmd_json cmd_yaml etc...
22:56 bmatt oh, I see
22:57 bmatt ¯\(°_o)/¯
22:57 tyson_ joined #salt
23:00 drawks omg I'm gonna jump out of a window. All the weird domain specific terms for salt are driving me crazy
23:00 tcotav dibs on drawks chair
23:00 bmatt drawks: admittedly, they are a bit confusing :(
23:00 tcotav the stuff that still gets me is state, formula, module
23:00 mosen coming from another system drawks?
23:01 drawks i have a very thorough asset database that includes arbitrary "role" tags on hosts I just want to map those to something usable for targetting
23:01 tcotav create a role grain
23:01 bmatt ^
23:01 forrest tcotav, formulas consist of state files (which contain states), which call modules :P
23:01 drawks roles are not exclusive
23:01 bmatt grains can be arbitrary structures
23:01 drawks such that a host may have the APPSERVER and DEBIAN_HOST role both
23:02 * rawkode rocks back and forward from the corner of the room
23:02 forrest why would you need the debian host role?
23:02 forrest just use salt's existing grains
23:02 forrest appserver is all that matters
23:02 drawks they were just two example roles
23:02 drawks there are about 200 of them
23:02 forrest lol
23:02 forrest wow
23:02 drawks they are more appropriately free form tags
23:02 forrest how many servers do you have?
23:03 drawks 2600 or so
23:03 forrest wow, that seems like way too many tags for so few servers L\
23:03 rawkode My minions have stopped performing highstate on launch and I haven't changed anything :/
23:03 forrest *:\
23:03 diegows does anyone tried salt-cloud with digital ocean recently?
23:03 drawks forrest thanks for you opinion.... :rolleyes:
23:03 forrest diegows, not for maybe.. 3 months why?
23:03 forrest drawks, sorry
23:03 diegows doesn't work for me :)
23:04 diegows and looks like DO changed their API :)
23:04 forrest diegows, how kind of them
23:04 drawks point being i'm just completely boggled how to map those roles into grains or pillars or node groups or whatever they need to be to use them for targetting
23:04 drawks i suspect they should map into external pillars somehow
23:04 diegows the old one is active, but something doesn't work... well, time to figure out what's gong on there :)
23:04 forrest drawks, Well, I'd say your first task should be to confirm, do you need 200 tags?
23:05 forrest because that seems to me like someone screwed up
23:05 drawks holy christ
23:05 drawks just pretend i said 20 and then we can move on to a solution
23:05 bmatt drawks: grains can be arbitrary structures
23:05 forrest drawks, well, I'm trying to say which roles aren't already covered by a grain salt provides?
23:06 drawks okay so if a grain is a list of strings for instance how does one target grains using compound expressions that are like "(role1 or role2) not role3"
23:07 drawks forrest: the tags range all sorts of purpose which range from descriptions of how a server is used to just arbitrary groupings of machines
23:07 bmatt I'd try "(G@foo:*role1* or G@foo:*role2*) not G@foo:*role3*" but I'd have to read the matcher code for a better guess
23:07 drawks forrest: unless salt is collecting the zeitgeist of 14 years of employee organic growth salt won't be able to recreate that programatically.
23:08 drawks bmatt: but that would choke on substring matches
23:08 forrest {% if 'thing' in salt['grains.get']('grain') %} works I believe
23:08 drawks wouldn't it?
23:09 bmatt perhaps you could move the "match", such as it is, into the states, as forrest is suggesting
23:09 bmatt in that case, it's a lot easier to manipulate the grain structure
23:09 forrest yeah I don't like the idea of doing that
23:09 sashka_ua joined #salt
23:09 bmatt well, you go to war with the army you have, etc
23:09 bmatt :)
23:09 forrest I'd really try to make it as modular as humanly possible regarding what goes on every machine, then start breaking it down from there
23:10 forrest you need to figure out how many variants of system you have
23:10 bmatt see https://github.com/saltstack/salt/issues/752 ?
23:10 bmatt drawks: something that requires more work on the "front" end would be mapping those roles into nodegroups
23:10 bmatt then populating the nodegroups with hosts
23:11 forrest bmatt, but then you have to maintain those nodegroups, which is a concern.
23:11 bmatt and matching states to individual nodegroups
23:11 bmatt forrest: yes, well, he's already maintaining one database he can't use :)
23:11 forrest lol
23:11 bmatt might as well maintain one that he can
23:11 forrest I still think doing that is premature. Start by breaking it down into how many different type of systems you have and go from there.
23:11 bmatt I wonder if I could do the #!py trick in the nodegroups.conf file and back the "file" with a database
23:12 forrest bmatt, hmm
23:12 drawks the thing is that if i want to get to something better/different its gonna live or die on how well it fits into existing workflows and expectations
23:12 bmatt drawks: no doubt; we're all living that particular trap too :)
23:12 forrest is your existing workflow good though?
23:12 drawks i don'
23:12 drawks t see a way to compound target nodegroups otherwise I'd have tried to tackle it that way
23:13 bmatt ah, don't compound match them
23:13 drawks forrest: whether it is good or not matters for nothing. I'm not the only one who works here. I don't get to just dictate from on high how everyone does their job
23:13 bmatt cut states along nodegroup lines
23:13 kooroo drawks: can you give an example of what your roles look like?
23:14 forrest drawks, I understand that.
23:14 kooroo cuz my brain is trying to make sense of a scenario like "webserver" and "mysql-server" NOT "solr-search-server"
23:15 rawzone joined #salt
23:15 bmatt forrest: first attempt at programmatic configuration file indicates no :(
23:16 homelinen joined #salt
23:16 drawks more like ((APPSERVER or DBSERVER) not FIOHOST) and NO_POSTGRES_AT_BOOT
23:16 rlarkin|2 joined #salt
23:16 forrest bmatt, whomp whomp
23:16 bmatt inorite
23:16 bmatt " expected <block end>, but found '}'"
23:16 drawks it would be more accurate to call them tags not roles. but the role nomenclature was adopted long ago when that made sense
23:16 homelinen joined #salt
23:17 kooroo so you have appservers/dbservers that ARE FIOHOST ?
23:17 drawks sure
23:17 kooroo and you want to exclude them?
23:17 drawks yup
23:17 drawks in this hypothetical example
23:17 bmatt in that case
23:18 bmatt you need a set of states for APPSERVER, and a set of states for DBSERVER, and a set of states for FIOHOST
23:18 forrest right
23:18 bmatt you can match a host on multiple nodegroups in the top file
23:18 bmatt basically eschew use of "not"
23:20 drawks wouldn't that also prevent easy use of "and" grouping
23:20 bmatt not at all
23:21 forrest you would just put the system in both groups for ands
23:21 bmatt ^
23:21 bmatt and/or
23:21 forrest right
23:21 drawks wouldn't that be an "or" ?
23:22 drawks heh
23:22 bmatt there's no difference
23:22 forrest if it's in both groups it would get all states for both groups
23:22 kooroo I"m reading he has stuff that goes into an APPSERVER unless it also got tagged as FIOHOST
23:22 drawks there is a difference between targeting "a and b" vs "a or b"
23:22 bmatt "(x or y) gets z" is the same as "x gets z and y gets z"
23:23 bmatt drawks: you're thinking about it in terms of targetting; don't.
23:23 drawks and why wouldn't i?
23:23 bmatt role <--> states
23:23 bmatt there's your key mapping
23:23 bmatt hosts can belong to multiple roles; ergo they get multiple possible states
23:24 bmatt host <one--many> role <one--many>state
23:24 bmatt that's hard to do in IRC :)
23:25 ajolo_ joined #salt
23:25 rawzone joined #salt
23:25 bmatt forrest: I need an IRC client that displays UML. go.
23:26 forrest bmatt, yeah let me waste time on that instead of something that makes money :P
23:26 drawks hrm
23:26 forrest bmatt, I want to work less, not more
23:26 bmatt =D
23:26 drawks so that issue #752 you pasted ^ up there bmatt
23:27 bmatt mmhmm
23:27 drawks what features differe between these two strategies?
23:28 bmatt no idea
23:28 drawks hehe
23:28 bmatt empiricism will win the day!
23:28 drawks yeah trying not to go too far down parallel tracks just to test things
23:29 drawks alright, time to fetch my kid.
23:29 drawks thanks for the help
23:29 drawks it was informative
23:29 drawks i'm sure i'll have some other questions out of left field tomorrow
23:35 Nazca__ joined #salt
23:36 toddnni joined #salt
23:36 homelinen joined #salt
23:36 rawzone joined #salt
23:36 homelinen joined #salt
23:37 jab416171 joined #salt
23:37 kelseelynn joined #salt
23:38 timbermaniac I'm having trouble running a state file, and getting "No matching sls found for 'common.pip_packages.trac' in env 'base'" file_roots is default, and I certainly have "/srv/salt/common/pip_packages/trac/init.sls". Running 2014.1.10 for both master and minion. Anyone come across something similar?
23:38 Singularo joined #salt
23:40 rome joined #salt
23:40 TheThing joined #salt
23:42 aparsons joined #salt
23:44 ajolo_ joined #salt
23:46 bmatt timbermaniac: do you include anything in trac.sls?
23:47 __number5__ timbermaniac: check if any sls included in your trac/init.sls is missing
23:47 bmatt not just included; syntax errors in included files result in that (admittedly cryptic) message
23:47 __number5__ the error messages sometimes is misleading
23:47 bmatt er, not just missing
23:49 skyler When using grains filter_by, the merge uption often looks like this: merge=salt['pillar.get']('apache:lookup')
23:49 skyler What does "lookup" mean in there?
23:50 skyler I can't find an explicit definition of "apache:lookup" anywhere.
23:50 timbermaniac bmatt: I have included "common.pip" and "common.pip_packages.pyscopg2"
23:51 bmatt timbermaniac: start hunting syntax errors in those files (and any other subsequently included files)
23:51 __number5__ skyler: in pillar, ":" is the separator just like "." in elsewhere
23:52 skyler __number5__: right, I am just confused about where "lookup" comes from since it isn't defined in the pillar, or anything.
23:54 rome joined #salt
23:54 timbermaniac bmatt: that very well much be it. admittedly, it's the first time I've used map.jina, and copied the syntax of init.sls and map.jinja from other formulas
23:54 ml_1 joined #salt
23:57 rome joined #salt

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