Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2015-07-15

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

All times shown according to UTC.

Time Nick Message
00:02 rodr1c joined #salt
00:03 baweaver_ joined #salt
00:03 juanito i cant find the doc about parallell execution
00:03 iggy there isn't any... don't do it
00:03 juanito i know that we can execute multiple states at the same time on a minion because there is a lock
00:04 juanito can't
00:04 juanito but what about modules
00:04 juanito it seems to work from my testing but just want to make sure :)
00:05 fsteinel_ joined #salt
00:05 juanito iggy: yeah i know just want to make sure i can call a module on a minion at the same time without having it to faiul
00:05 juanito if that makes sense :p
00:06 ninjada joined #salt
00:08 napsterX joined #salt
00:08 g3cko joined #salt
00:15 murrdoc joined #salt
00:17 fsteinel joined #salt
00:18 TyrfingMjolnir joined #salt
00:20 bfoxwell joined #salt
00:20 quasiben joined #salt
00:22 hasues joined #salt
00:22 hasues left #salt
00:32 yomilk joined #salt
00:34 aqua^c joined #salt
00:36 zsoftich1 joined #salt
00:37 quasiben joined #salt
00:41 primechuck joined #salt
00:42 cowpunk21 joined #salt
00:43 quasiben joined #salt
00:54 mteufel joined #salt
00:59 UtahDave joined #salt
01:00 murrdoc joined #salt
01:01 packeteer hmm, is topic old? brew just installed 2015.5.3
01:06 jespada__ joined #salt
01:07 UtahDave iggy: thanks for that atom pr!
01:08 UtahDave left #salt
01:10 napsterX joined #salt
01:11 gadget-girl UtahDave how it going
01:14 gadget-girl i am try to write _state for aranogodb but not sure how to pass options
01:23 beauby joined #salt
01:26 quasiben joined #salt
01:33 Ryan_Lane juanito: it's possible to parallel execution, assuming you really know what you're doing
01:34 Ryan_Lane juanito: http://ryandlane.com/blog/2014/09/02/concurrent-and-queued-saltstack-state-runs/
01:35 quasiben joined #salt
01:35 Ryan_Lane juanito: one thing to note about both concurrent and queued is that if you do a run with concurrent and a second run at the same time, and that second run isn't marked concurrent or queued, it'll fail
01:36 Ryan_Lane which makes sense, but it'll annoy you the first time it happens
01:36 * Ryan_Lane uses concurrent all the time
01:38 beauby joined #salt
01:42 Nazzy joined #salt
01:45 aqua^c joined #salt
01:47 ilbot3 joined #salt
01:47 Topic for #salt is now Welcome to #salt | 2015.5.2 is the latest | Please use https://gist.github.com for code, don't paste directly into the channel | 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:51 otter768 joined #salt
01:56 murrdoc joined #salt
02:04 beauby joined #salt
02:04 mosen hiya murrdoc
02:05 mosen it seems like making a PR to salt isn't a hugely difficult thing to do, so i might suggest taking my modules mainstream
02:08 zsoftich1 joined #salt
02:11 napsterX joined #salt
02:11 yomilk joined #salt
02:12 druonysus joined #salt
02:12 druonysus joined #salt
02:13 murrdoc mosen :)
02:18 napsterX joined #salt
02:25 beauby joined #salt
02:27 evle joined #salt
02:28 murrdoc do it already mosen
02:28 mosen hehe
02:28 murrdoc dont be like <insert-other-people-here>
02:29 murrdoc all talk
02:29 mosen I'm using it on macs, client side, so the application is pretty unusual for saltstack
02:30 timoguin joined #salt
02:30 murrdoc aight
02:31 aqua^c joined #salt
02:32 favadi joined #salt
02:32 mosen theres some basic stuff though.. like the ps module just returns false for virtual
02:32 mosen probably most things should support ps
02:32 zsoftich1 joined #salt
02:33 CheKoLyN joined #salt
02:34 murrdoc share cos u care
02:34 * murrdoc does
02:34 mosen for sure :)_
02:35 ageorgop joined #salt
02:39 kusams joined #salt
02:44 beauby joined #salt
02:45 Savemech joined #salt
02:48 quasiben joined #salt
02:52 TyrfingMjolnir joined #salt
02:57 nycrochelle joined #salt
02:58 cowpunk21 joined #salt
03:01 nycrochelle How does one run two sysrc.managed function calls underneath one id declaration using the yaml syntax for a sls file?
03:01 Furao joined #salt
03:02 murrdoc u cant have two functions from the same state moduel under one id
03:02 * Gareth hacks on a simple usage tracking Salt engine
03:03 murrdoc ?
03:04 nycrochelle murrdoc: I need to set two configuration values in an rc.conf file using sysrc.managed(name, value) for a single pkg: which is installed.  Is there a way to do that?
03:05 Gareth murrdoc: an engine watching the salt event bus for events, if the event has 'fun' send it along to a simple Flask app that counts usage of functions.
03:05 murrdoc Gareth:  nice , salt-eventsdb ?
03:06 murrdoc nycrochelle: u can use one state to install, two states to file.manage and then use listen_in to tell the package to start the service as needed
03:06 beauby joined #salt
03:07 Gareth murrdoc: salt-eventsdb?
03:07 murrdoc https://github.com/felskrone/salt-eventsd
03:08 whytewolf nycrochelle: https://gist.github.com/whytewolf/d36f1759274e7c1eb7b7
03:08 dendazen joined #salt
03:09 whytewolf they don't all need to be in the same id to work
03:09 Gareth murrdoc: Hadn't played with this.  Interesting.
03:10 furrowedbrow joined #salt
03:11 murrdoc Gareth:  it works native with mysql
03:11 murrdoc not sure about other dbs
03:12 murrdoc like you might be able to do a simple counter using stats
03:12 murrdoc statsd
03:14 TyrfingMjolnir joined #salt
03:19 mbrgm_ joined #salt
03:22 nycrochelle whytewolf: Thank you! I follow that.  I required those extracted states, what type of requisites would they be for the purpose of the require list? (ie: - require:\n  - ?: item1\n  -?: item2)
03:36 kusams joined #salt
03:45 baweaver_ joined #salt
03:52 otter768 joined #salt
03:52 ageorgop joined #salt
04:01 hal58th joined #salt
04:06 mosen joined #salt
04:08 cowpunk21 joined #salt
04:09 TyrfingMjolnir joined #salt
04:28 jhauser joined #salt
04:29 stoogenmeyer joined #salt
04:35 dendazen joined #salt
04:42 ninjada joined #salt
04:47 ramteid joined #salt
04:48 impi joined #salt
04:54 impi joined #salt
04:55 jaybocc2 joined #salt
04:57 napsterX joined #salt
04:58 jarpy joined #salt
04:59 dendazen joined #salt
05:01 dopesong_ joined #salt
05:02 napsterX joined #salt
05:04 otter768 joined #salt
05:06 malinoff joined #salt
05:28 stephanbuys joined #salt
05:30 jaybocc2 joined #salt
05:31 snaggleb joined #salt
05:32 mbrgm_ joined #salt
05:34 snaggleb hi everybody - i've hit the end of my googling skilss on this and am curious about if i'm trying to attack an issue correctly.  i'd like to have an init.sls make a check to see if a config file is present, and if it fails (onfail), include another sls "deploy.sls" which can then install and configure the application.
05:35 snaggleb i'd like to separate these states so that a user could also directly call the deploy.sls state
05:36 snaggleb ane example of what i _think_ should work/but can't seem to figure out is this:
05:36 jalbretsen joined #salt
05:36 snaggleb state_id:
05:37 snaggleb file.exists:
05:37 rdas joined #salt
05:37 snaggleb - name: <config>
05:37 napsterX_ joined #salt
05:37 snaggleb - onfail:
05:37 jalbretsen left #salt
05:37 snaggleb - sls: .deploys.sls
05:38 snaggleb tried a bunch of variants and can't get it to work -- is this even a solid approach?
05:38 onewheelskyward joined #salt
05:39 onewheelskyward left #salt
05:41 evle joined #salt
05:41 jmreicha joined #salt
05:42 jaybocc2 joined #salt
05:45 khebbie joined #salt
05:50 jmreicha joined #salt
05:51 aurynn so what you're probably wanting to do is include the deployment SLS anyway, and have it triggered by an on change of the file. So if the file exists and is the right content, nothing will happen
05:51 aurynn using -watch
05:52 catpigger joined #salt
05:52 aurynn part of the difficulty of config management systems is moving from imperative programming (if not this, do this) to declarative programming (ensure this final result, I don't care how)
05:53 stoogenmeyer joined #salt
05:53 snaggleb ok, i think that kinda makes sense
05:53 snaggleb so, effectively in init, include deploy
05:53 malinoff aurynn, sometimes "how" matters, unfortunately
05:53 snaggleb but then in deploy, have my "install this" state then define the config check as the onfail?
05:53 aurynn malinoff, sometimes yes, but I'm more trying for the overarching "there is going to be some impedence mismatch here"
05:54 aurynn snaggleb, what is "install this" in this case?
05:55 snaggleb so, this is just the beginning, but for example, i want to see if the local_settings.py config file for graphite exists already (indicating that it has been setup)
05:55 snaggleb and if not, then let's assume it's not installed or broken
05:55 snaggleb and then start "installing/configuring it"
05:55 snaggleb largely doing things like install prereq packages
05:55 snaggleb drop the config down
05:55 snaggleb etc.
05:56 aurynn snaggleb, so, for instance, pip package states are idempotent and don't need to be gated in the way you're describing
05:57 colttt joined #salt
05:57 snaggleb aurynn not sure if i'm quite getting that, though, i did just get some success
05:57 snaggleb let me copy it into a gist
05:58 snaggleb if you don't mind seeing if this is thorougly not sensible :)
05:58 aurynn I mean, you can just declare some_packages: pip.installed: - a_package, and salt will Do The Right Thing, without you needing to test for if it's already installed
05:58 aurynn (I'm assuming Pip because you mentioned python)
05:59 snaggleb oh, sorry -- so yeah, sorry for the confusion.  i'm checking to see if a config file that i'm managing is there (but isn't dropped by a package)
05:59 snaggleb so, example
05:59 snaggleb i install a bunch of a prereqs
05:59 snaggleb pkg.installed -- pretty simple, works great
05:59 snaggleb then, after that, i drop my own config file for graphite itself
06:00 snaggleb so then, i want to do a check for that custom config file (so, not something included by the package itself)
06:00 snaggleb if it's there, let's assume all is installed and configured
06:00 snaggleb and just ensure that the appropriate services are running through watch and prereq
06:01 snaggleb etc.
06:01 snaggleb but if that config is not there, let's assume this is a new instance
06:01 snaggleb and try to do All The Right Stuff to config the instance to become a graphite monitoring instance
06:01 snaggleb again, i may be stuck in the bad brain mode you're suggesting
06:02 aurynn sure, I'm just not getting why you need to gate that at the SLS level yourself, and not just let salt check all the various things itself?
06:02 snaggleb but it seemed logical to me
06:02 snaggleb hmmmm
06:02 aurynn like, as malinoff mentions, there are times you have to do that
06:02 aurynn so I'm wondering if I'm missing something particular in your environment that can only be done once and is difficult to express in salt :)
06:03 jaybocc2 joined #salt
06:03 snaggleb so, what you're suggesting is to break down (as i would have anyway) each of the components of the "role" if you will
06:03 snaggleb configs, services, etc.
06:03 snaggleb and just build the logic into each one to make sure that its own unique dependencies are in place?
06:04 snaggleb effectively allowing it to ensure that the whole big picture, as you were suggesting earlier, is in place
06:04 snaggleb and not worry about the precise ordre?
06:04 colttt joined #salt
06:04 aurynn without knowing more about your environment
06:04 aurynn you *mostly* don't have to worry about writing "has this already been done?" gates yourself
06:05 snaggleb kk - yeah, i think that's making sense :)
06:05 snaggleb i think i'm approaching this very sys-admin linearly -- and yeah, i see what you mean
06:05 aurynn so what I'm failing to say clearly is that you can describe the *end state*; what a fully configured system looks like, and let Salt check each stage of that
06:05 snaggleb yeah, no -- that makes sense
06:06 snaggleb i'm stuck in the brain mode of: has this been installed and configured, if not, do all-these-things
06:06 aurynn and things like "if this file exists, do this" are sorta in the realm of describing "how", not "what"
06:06 snaggleb yeah, that makes sense
06:06 aurynn It's not an easy shift! It took me like 6 months
06:06 snaggleb lk, i care that configs are there, services are started, packages are installed
06:07 snaggleb just make sure all that is the case
06:07 aurynn right.
06:07 snaggleb and salt will make it happen
06:07 snaggleb yeah, wow, brain re-wire time :)
06:07 aurynn and you care that the services are started after the packages are installed, by adding a require: block to the service block
06:07 snaggleb thanks aurynn, i think that's a huge mental step forward
06:08 aurynn it helps me to think of it as, salt will do the "if md5(file) != md5(expected_content) then replace", and I just have to say "file(content)", for each thing I declare
06:08 snaggleb ahh, so i did just think of a small mental exercise that i'd love to propose
06:09 snaggleb so, what if the grand picture is actually a fair amount of work
06:09 snaggleb (due to a complex app)
06:09 snaggleb and i need to run that highstate every 30m
06:09 snaggleb it seems like that's going to take a comparative hunk of time and do a ton of, maybe, unnecessary stuff?
06:09 aurynn Once it's done it the first time, most of the work becomes a no-op
06:09 snaggleb kk, so really, just don't worry about it :)
06:10 aurynn well you might have to :)
06:10 snaggleb lol
06:10 aurynn depending on your environment
06:10 aurynn but it won't be doing all the things, it'll be running a test to say "Is this done? Okay, yes, next thing"
06:11 snaggleb ok, so yeah, even if that's 20 things, just accept that and move on?  :)
06:11 aurynn it may be sensible to write all this out and then use orchestration or a one-off runner to do the initial setup and have the highstate do a small amount of upkeep work
06:11 snaggleb cuz what you're saying then is if i have enough reqs and watches in place, the resultant actions won't have to happen cuz all the right stuff is there, installed, and running?
06:11 aurynn Yup! Exactly :)
06:11 snaggleb ahh, so yeah, that's another approach then yah...
06:12 snaggleb maybe the init state does more basic stuff like, make sure service is running
06:12 snaggleb and then, orchestration explicitly calls the deploy state after the fresh instance is stood up?
06:12 snaggleb is there any way to make this reactor based?
06:13 aurynn Sure, if you want to
06:13 snaggleb lk, could i set a "i'm brand new" grain or something in my image, then have a reactor that does the deploy, and then when the deploy is done, it kills the i'm new grain?
06:13 snaggleb maybe over thinking this
06:13 snaggleb i've only academically read up on reactors
06:13 aurynn there is a "I'm new" event that a salt minion sends
06:14 snaggleb but that strikes me as a possible approach
06:14 snaggleb oh really!
06:14 aurynn when it first connects to the controller
06:14 snaggleb i hadn't apparently hit that yet in the docs
06:14 aurynn like, first time ever
06:14 snaggleb i will def. look into that!
06:14 snaggleb w/o doing a ton of work do you have a keyword i can search for?
06:14 snaggleb otherwise, i'm sure a search can find it
06:14 aurynn I don't remember the exact term, sorry
06:14 aurynn it was somewhere in the reactor/event docs
06:15 snaggleb super -- that's perfect, i'll go dig
06:15 snaggleb cuz yeah, i'm trying to sort of take the sys admin approach to SOA
06:15 dopesong joined #salt
06:15 snaggleb i.e., make every server instance be incredibly pointed and tuned for its one precise job
06:16 aurynn but it's really just another way of handling service.running.requires(service.installed.requires(service.packages.installed, service.config_file.present, etc))
06:16 snaggleb so, if i deploy an instance, it's safe to then assume that on that first run, i should then call some "go-do-this-deploy/install stuff"
06:16 aurynn of describing what you want, not how you want it
06:16 snaggleb sure ... totally get it
06:16 snaggleb it'll give me a few approaches to see what works best
06:17 snaggleb in this case, i was just thinking that it may be easier to do the install, then assume things are mostly there
06:17 snaggleb for example, that way i don't have to make sure that database schemas are already there, etc.
06:17 snaggleb this specific task of setting up graphite is kinda heavy
06:17 aurynn personally I prefer to have everything be ensured during the run, so it's repeatable, but some things don't fit into that
06:18 snaggleb in any case, i really appreciate your thoughts
06:18 snaggleb this is a lot of good food for thought
06:18 jaybocc2 joined #salt
06:20 trikke joined #salt
06:20 aurynn happy to help :)
06:24 dopesong joined #salt
06:24 primechuck joined #salt
06:32 simmel joined #salt
06:32 mens joined #salt
06:39 julienlavergne joined #salt
06:41 kawa2014 joined #salt
06:45 KermitTheFragger joined #salt
06:50 keimlink joined #salt
06:53 AndreasLutro joined #salt
06:54 jaybocc2 joined #salt
06:59 sunkist joined #salt
07:05 dkrae joined #salt
07:07 eseyman joined #salt
07:09 jaybocc2 joined #salt
07:18 sirex joined #salt
07:18 sirex joined #salt
07:19 trikke joined #salt
07:19 ninkotech_ joined #salt
07:20 Ztyx joined #salt
07:22 ndrei joined #salt
07:24 Ztyx joined #salt
07:26 vlcn joined #salt
07:30 jaybocc2 joined #salt
07:30 snuffychi_ joined #salt
07:31 stqism_ joined #salt
07:31 ajw0100 joined #salt
07:31 jmreicha_ joined #salt
07:36 Sniper^^ joined #salt
07:45 jaybocc2 joined #salt
07:46 admgre joined #salt
07:49 ValF joined #salt
07:53 markm joined #salt
07:54 shiin joined #salt
07:55 shiin salt seems to ignore --state-output=mixed or --state-output=terse when not running test=True, how can I get it to reduce the amount of green output to see what's actually changed or failed?
07:55 Tecnico1931_ joined #salt
07:56 mrpull joined #salt
07:57 keimlink joined #salt
08:00 AndreasLutro shiin: try adding state_verbose: false to your master config
08:00 ninjada joined #salt
08:00 shiin I had that. It seems to be working with the brew version rather than the checked out salt repository.
08:01 AndreasLutro hm, works fine for me @ git 2015.5
08:01 AndreasLutro though I think --state-output may override it
08:10 fredvd joined #salt
08:17 jhauser joined #salt
08:19 Xevian joined #salt
08:21 s_kunk joined #salt
08:21 jaybocc2 joined #salt
08:30 jmreicha joined #salt
08:37 jaybocc2 joined #salt
08:45 impi joined #salt
08:48 Furao joined #salt
08:49 kawa2014 joined #salt
08:50 dopesong_ joined #salt
08:52 ndrei joined #salt
08:53 peno joined #salt
09:01 ninjada joined #salt
09:05 kbaikov joined #salt
09:11 keimlink joined #salt
09:27 jaybocc2 joined #salt
09:38 thalleralexander joined #salt
09:39 jespada__ joined #salt
09:41 mbrgm_ joined #salt
09:43 jaybocc2 joined #salt
09:45 N-Mi joined #salt
09:47 cliluw joined #salt
09:55 N-Mi joined #salt
09:55 N-Mi joined #salt
09:56 ndrei joined #salt
09:57 CeBe joined #salt
09:59 ninjada joined #salt
10:01 denys joined #salt
10:19 rdas joined #salt
10:26 ITChap joined #salt
10:26 Furao joined #salt
10:26 jeddi joined #salt
10:27 ITChap Hi
10:27 ITChap I am looking for sample of advanced top.sls
10:27 phx #define advanced?
10:28 ITChap something like using the state that match a grain
10:28 ITChap I saw an example on the official doc few days ago and no wait to find it again
10:29 ITChap something like if my grain "role" = webserver use the state webserver
10:29 ITChap I want to do it for my pillar top.sls actually not states but it should be same
10:30 aidin_ joined #salt
10:31 XenophonF joined #salt
10:34 jaybocc2 joined #salt
10:36 ITChap for now I use something like https://bpaste.net/show/4a3729d747dc but it does feel right
10:36 ITChap doesn't*
10:37 ITChap I remember few examples using {{ env }} or {{ self }} but no idea where
10:42 mks1945 joined #salt
10:46 dendazen joined #salt
10:50 jaybocc2 joined #salt
10:53 lloesche joined #salt
10:55 XenophonF left #salt
10:57 aqua^c joined #salt
10:58 Furao joined #salt
11:01 ndrei joined #salt
11:02 rjoensen_ joined #salt
11:03 rjoensen_ is there a howto on how to get the salt-minion installed on "gentoo"
11:06 aidin_ joined #salt
11:12 elfixit joined #salt
11:12 giantlock joined #salt
11:25 ninjada joined #salt
11:28 jim_ joined #salt
11:29 elfixit1 joined #salt
11:30 bretep` joined #salt
11:30 dstokes_ joined #salt
11:30 peno_ joined #salt
11:31 saltsa_ joined #salt
11:31 jacksontj_ joined #salt
11:31 CSa__ joined #salt
11:32 armguy_ joined #salt
11:32 ]V[_ joined #salt
11:32 nocturn00 joined #salt
11:33 joehh1 joined #salt
11:33 matthew-1arlette joined #salt
11:33 jerryc joined #salt
11:35 sirex joined #salt
11:36 Furao joined #salt
11:37 eseyman joined #salt
11:38 s_kunk joined #salt
11:38 ujjain joined #salt
11:38 ujjain joined #salt
11:38 neocid joined #salt
11:41 wm-bot4 joined #salt
11:43 denys joined #salt
11:51 arapaho joined #salt
11:54 linjan joined #salt
11:56 jaybocc2 joined #salt
12:00 DammitJim joined #salt
12:01 zer0def joined #salt
12:02 Zytpx joined #salt
12:06 saltman joined #salt
12:08 Xevian joined #salt
12:08 saltman Hello, I try to use salt-cloud -m app1 with 2015.5.2, and I got this error: [ERROR   ] Failed to deploy 'app1'. Error: A wrong password has been issued while establishing ssh session. The thing is that I can ssh to this machine (In addition, I check /root/.ssh/authorized_keys, and the public key is there)
12:10 evle1 joined #salt
12:11 jaybocc2 joined #salt
12:13 logix812 joined #salt
12:13 logix812 is this production ready? https://github.com/saltstack-formulas/iptables-formula
12:15 ndrei joined #salt
12:16 aidin_ joined #salt
12:20 eflamm joined #salt
12:23 wnkz joined #salt
12:29 amcorreia_ joined #salt
12:29 quasiben joined #salt
12:31 zer0def joined #salt
12:31 Ymage joined #salt
12:32 jaybocc2 joined #salt
12:34 furrowedbrow joined #salt
12:36 yomilk joined #salt
12:38 rhodgin joined #salt
12:42 neocid joined #salt
12:43 dendazen joined #salt
12:44 aidin_ joined #salt
12:44 Bryson joined #salt
12:47 _JZ_ joined #salt
12:47 jaybocc2 joined #salt
12:50 joeto joined #salt
12:53 teryx510 joined #salt
12:55 giantlock joined #salt
12:56 rhodgin joined #salt
12:59 aqua^c joined #salt
13:00 GrueMaster joined #salt
13:02 jdesilet joined #salt
13:06 spo0nman joined #salt
13:07 spo0nman Hello, just wanted to ask if anyone knows anything about https://github.com/saltstack/salt/issues/25447
13:07 saltstackbot [#25447]title: SaltMaster is crippled with Minion Re-Authentication  | I have been facing a problem with Salt Minions, where the minion fails to decrypt the payload on a salt master poll event raises an exception and then re-authenticates with the master. ...
13:07 cpowell joined #salt
13:08 jaybocc2 joined #salt
13:09 ingslovak joined #salt
13:09 shnbdrtgsd joined #salt
13:10 shnbdrtgsd where does salt take minion names from?
13:10 shnbdrtgsd minion names as in `salt-key -L` output
13:11 shnbdrtgsd can't be hostnames, i changed mine before installing salt-minion yet i still got the old name of the host
13:11 racooper joined #salt
13:13 shnbdrtgsd i believe it is properly called "minion id"
13:14 AndreasLutro shnbdrtgsd: minion config, or /etc/salt/minion_id
13:14 AndreasLutro hostname is the fallback
13:18 subsignal joined #salt
13:18 shnbdrtgsd AndreasLutro:  i see it created /etc/salt/minion_id for me... might be pre-install hook of the ubuntu package
13:19 jim_ joined #salt
13:20 Furao joined #salt
13:22 primechuck joined #salt
13:23 jaybocc2 joined #salt
13:26 perfectsine joined #salt
13:30 icflournoy joined #salt
13:30 giantlock joined #salt
13:31 sporkd2 joined #salt
13:32 peters-tx joined #salt
13:33 bhosmer joined #salt
13:33 sporkd2 hey everyone, this merge says it was backported to 2015.5 but when I clone the repo the fix is not there, it is however in 2015.5.8, am I understanding correctly that the fix should be in 2015.5 too? https://github.com/rallytime/salt/commit/51c941f59d7e527445e77043142e33ad405d8e34
13:33 shnbdrtgsd it turns out it's not the package that creates "/etc/salt/minion_id"
13:33 yomilk joined #salt
13:33 shnbdrtgsd i can't find any mention on the file in the source code either
13:33 shnbdrtgsd so where does they come from?
13:33 shnbdrtgsd *do
13:34 mpanetta joined #salt
13:43 kawa2014 joined #salt
13:43 cowpunk21 joined #salt
13:46 neocid_ joined #salt
13:50 ekristen joined #salt
13:52 kaptk2 joined #salt
13:53 mbrgm_ joined #salt
14:01 timoguin joined #salt
14:03 otter768 joined #salt
14:03 pcdummy joined #salt
14:03 pcdummy joined #salt
14:04 hasues joined #salt
14:05 evilrob why do I get a bunch of extra whitespace in my config files where I use jinja vars?
14:06 pliniker joined #salt
14:06 sporkd2 evilrob: http://jinja.pocoo.org/docs/dev/templates/ (ctrl+f whitespace control)
14:08 pliniker joined #salt
14:09 evilrob I've already trim_blocks on, I'll look at lstrip_blocks closer.  thanks
14:10 favadi joined #salt
14:10 sporkd2 evil put a - in your jinja blocks
14:10 sporkd2 evilrob:
14:10 clintberry joined #salt
14:10 sporkd2 evilrob: {%- -%} the dash removes whitespace
14:11 julienlavergne Hello
14:11 julienlavergne When I try to install the last release RC
14:12 julienlavergne I got some errors about minion and master start up
14:12 julienlavergne v2015.8.0rc1
14:14 primechuck joined #salt
14:14 evilrob was lstrip
14:14 evilrob I'm re-using someone elses state files that work fine on their boxen.
14:17 Ymage joined #salt
14:19 al joined #salt
14:19 hasues left #salt
14:22 jonlangemak joined #salt
14:25 sunkist1 joined #salt
14:29 kusams joined #salt
14:29 shiin left #salt
14:31 zmalone joined #salt
14:32 jalbretsen joined #salt
14:33 breakingmatter joined #salt
14:36 cowpunk21 joined #salt
14:37 GrueMaster joined #salt
14:39 ndrei joined #salt
14:42 Brew joined #salt
14:43 jmreicha joined #salt
14:48 aqua^c joined #salt
14:48 UtahDave joined #salt
14:53 Gareth UtahDave: ping
14:54 UtahDave hey, Gareth!
14:54 UtahDave sorry I pinged you yesterday and then ran off to a meeting.  lol
14:54 UtahDave how've you been?
14:55 Gareth UtahDave: no worries :) I figured something came up :) been good.  job hunting :) Yourself?
14:55 UtahDave been doing fine.
14:55 Gareth Glad to hear it :)
14:56 UtahDave I had a question for you.  If I remember right you've worked with the people at the Texas Linux Fest, right?
14:56 UtahDave Do you know anyone on the  committee that's working on the call for papers?
14:57 Gareth UtahDave: I know some of the people that work on the event.
14:57 UtahDave everyone I know who submitted a paper has received notification of yay or nay, except for me.  And nobody has responded to my emails about it
14:57 Gareth UtahDave: I might...I can ping someone.
14:57 UtahDave Do you know someone in particular I could contact?
14:58 Gareth UtahDave: I submitted and didn't receive a nay either....I figured the lack of yay meant a nay.
14:58 UtahDave I'm trying to sort out my schedule and I kind of need to know if I'm going to be speaking or not.
14:58 UtahDave ah, ok.
14:58 speriyasamy joined #salt
14:58 UtahDave a coworker got a nay, so I figured they were sending them out.
14:59 bhosmer joined #salt
15:01 mschiff Oo... since the last salt update I am getting this (This minion is running within a chroot): [ERROR   ] An un-handled exception was caught by salt's global exception handler: IOError: [Errno 2] No such file or directory: '/proc/1/cmdline'
15:02 mschiff If salt makes assumptions that pid 1 must always exist, this is not true ;)
15:02 mschiff (Version is 2015.5.3)
15:02 gadget-girl is salt python 3 or 2
15:03 mschiff 2.7
15:03 mschiff Only in case that was inmy direction ;)
15:04 Gareth UtahDave: pinged someone involved in the show.
15:05 UtahDave gadget-girl: python 2.6 and 2.7.   Python 3 is being worked on right now
15:05 UtahDave thanks, Gareth!  I appreciate it.
15:06 scottpgallagher joined #salt
15:06 dfinn joined #salt
15:06 gadget-girl https://gist.github.com/sarasfox/652fbcba9385c83f0fec  UtahDave what do you think so far of this
15:07 UtahDave ooh, cool. arangodb.  I've been wanting to check that out
15:08 Gareth UtahDave: no worries :) will let you know what I hear.
15:08 UtahDave cool
15:08 sdm24 joined #salt
15:09 UtahDave gadget-girl: I think it looks pretty great!
15:10 UtahDave gadget-girl: on line 25, as the cmd is being composed of kwargs, is that going to give you the correct spacing between arguments?
15:12 napsterX joined #salt
15:12 CheKoLyN joined #salt
15:12 gadget-girl thinks
15:22 perfectsine joined #salt
15:22 julienlavergne hello
15:22 julienlavergne I try to install the last rc
15:22 julienlavergne but it fails
15:23 julienlavergne output:
15:23 julienlavergne start: Unknown job: salt-master
15:23 julienlavergne * ERROR: No init.d support for salt-master was found
15:23 julienlavergne * ERROR: Failed to run install_ubuntu_restart_daemons()!!!
15:23 jondonas joined #salt
15:25 iggy I have a bug open about it
15:26 julienlavergne @iggy: same problem ?
15:26 gladiatr joined #salt
15:27 iggy for some reason the init script doesn't get installed
15:27 iggy I haven't checked 2015.8 branch (post-rc) to see if it's fixed
15:29 ericw joined #salt
15:31 zsoftich1 joined #salt
15:38 UtahDave iggy: do you remember the issue number?
15:40 zmalone joined #salt
15:40 iggy https://github.com/saltstack/salt/issues/25270
15:40 saltstackbot [#25270]title: [2015.8.0rc1] salt-bootstrap fails to properly install a minion | `curl -s -L https://bootstrap.saltstack.com | sudo sh -s -- -U -P -p python-jinja2 -A master git v2015.8.0rc1`...
15:40 pcdummy joined #salt
15:41 iggy also... https://github.com/saltstack/salt/issues/created_by/iggy
15:41 sdm24 I have a simple question but I can;t find a simple answer. How do I load a custom value if a value doesn't exist? I want to load pillar values in a for loop, and have a default value if none
15:42 sdm24 host: {{ args['host'] | default('localhost') }} or something like that
15:42 iggy salt['pillar.get']('path:to:pillar:key', 'Default')
15:43 sdm24 even if its in a for loop called args?
15:43 TyrfingMjolnir joined #salt
15:43 iggy try pasting what you have
15:43 iggy it's a lot easier than you trying to recap what your code does in verbal form
15:44 sdm24 https://gist.github.com/sdm24/f93665f5dfc464566c94
15:44 sdm24 and its that host line I'm unsure about
15:46 iggy args.get('host', 'default')
15:46 sdm24 thanks!
15:46 iggy at that level, you're just doing dict.get()
15:46 doriftoshoes joined #salt
15:46 sdm24 ah
15:46 sdm24 I actually kinda know what that means after studying salt!
15:47 iggy if you needed actual pillar/grain lookups (i.e. with : traversal) you'd have to use salt['pillar.get'] or grains.get)
15:47 masterkorp https://groups.google.com/forum/#!topic/salt-users/F5qsju7hfpM
15:47 masterkorp shameless link asking for extra help :p
15:48 ericw related to that question, I'm actually having difficulties with a pillar loop as well.  I'm trying to use nested loops and the inner loop isn't finding any data
15:48 ericw eg: {% for instance in salt['pillar.get']('tomcat:instances') %}{% for webapp in salt['pillar.get']('tomcat:instances:{{instance}}:webapps') %}
15:49 iggy masterkorp: I would personally use master/minion where the instances are on constantly and salt-ssh elsewhere
15:49 iggy and afaik salt-ssh has the user/sudo stuff built-in
15:50 Ahlee i'd probably go masterless on the not-always-on with something in /etc/rc.local to update the base directory and run salt-call --local state.highstate
15:50 iggy or that
15:50 iggy ryan d lane's site has a lot of good info about running masterless
15:51 tkharju joined #salt
15:53 masterkorp iggy: hmm, salt-master is really heavy, most my servers are really low power, low consumer stuff
15:54 geekatcmu if you think salt-master is really heavy, you've never looked at Chef or Puppet.
15:54 masterkorp yeah, i used chef and puppet before
15:54 julienlavergne @iggy: a post rc branch ? where?
15:54 masterkorp i am saying that they're heavy on this hardware
15:54 iggy I've not used salt-ssh, but I wouldn't expect it to work without a master
15:54 masterkorp only one machine as more than 512mb or ram
15:55 iggy julienlavergne: just the normal 2015.8 branch
15:55 iggy i.e. https://github.com/saltstack/salt/tree/2015.8
15:55 masterkorp iggy: can the master be my computer ?
15:56 julienlavergne @iggy: ok thx
15:56 masterkorp i would like automate the stuff to start the master on demand
15:56 iggy masterkorp: I'm going to bow out of this discussion as I have very little knowledge of the parts of salt you're trying to use
15:56 kawa2014 joined #salt
15:57 masterkorp iggy: i see, thank you very much still
15:58 masterkorp http://ryandlane.com/blog/2014/08/26/saltstack-masterless-bootstrapping/
15:58 masterkorp this seems interesting
15:59 UtahDave masterkorp: yeah, you can have your laptop be the salt master when using salt-ssh
16:00 UtahDave iggy: I just checked and that issue you opened is on our high priority list and has been assigned to an engineer. It will be fixed for sure.
16:00 iggy if not I'm sure you'll hear more about it
16:01 theologian joined #salt
16:01 iggy I suppose I could check the branch to see if it's still a problem, but... lazy
16:02 masterkorp UtahDave: and is salt-ssh able to start the salt-minion on demand ?
16:02 UtahDave :)  I don't think it's been fix
16:02 UtahDave salt-ssh doesn't require a salt-minion daemon be running
16:02 masterkorp oh, it makes sense
16:03 BretFisher joined #salt
16:03 UtahDave I use salt-ssh in conjunction with regular salt a lot.  kind of a backup if I jack something up while doing development. I can use salt-ssh to get in and reconfigure the regular salt-minion
16:03 otter768 joined #salt
16:04 iggy (there's even a salt-ssh roster for that)
16:04 * iggy wonders why shell.openExternal isn't working in atom-salt
16:09 aparsons joined #salt
16:12 cowpunk21 joined #salt
16:13 mike25de joined #salt
16:13 mike25de hi guys - i want to test mysql returners - do i need to add the mysql credentials to ALL minions config? Can i add that to the master config?
16:14 bhosmer joined #salt
16:14 UtahDave mike25de: if you have pillar_opts: True in your master config, then yes you can just put the mysql creds in your master config
16:14 mike25de UtahDave: AWESOME!!!
16:14 mike25de thanks man
16:15 UtahDave also, have you considered using the master job cache  instead? Then only the master has to know anything about the mysql database
16:15 rm_jorge joined #salt
16:15 sdm24 could you put it in a pillar anyways?
16:15 mike25de UtahDave: i don't know abouyt the master job cache.. no idea what that is ... i will look for it.
16:18 jaybocc2 joined #salt
16:18 UtahDave mike25de: I kind of like the master job cache better than using the returners, in general
16:18 UtahDave back in a little while
16:19 spookah joined #salt
16:20 jcristau joined #salt
16:20 dstokes joined #salt
16:20 davisj joined #salt
16:20 armguy_ joined #salt
16:20 nahamu joined #salt
16:20 ska-fan joined #salt
16:20 keimlink joined #salt
16:20 hax404 joined #salt
16:20 jerryc joined #salt
16:21 mfournier joined #salt
16:21 sarlalian joined #salt
16:21 mike25de thank you!
16:22 jchadwick joined #salt
16:24 KyleG joined #salt
16:24 KyleG joined #salt
16:25 favadi joined #salt
16:32 theologian joined #salt
16:37 aqua^c joined #salt
16:42 neocid_ joined #salt
16:43 sdm24 I had a random question with returners. for mySQL, it says "To enable this returner, the minion will need the python client for mysql installed". Does "the minion" refer to the machine sending the data to mysql, or is it the minion that has the mysql database?
16:48 ndrei joined #salt
16:49 wendall911 joined #salt
16:50 lexter joined #salt
16:52 manfred the minion that you are running modules on
16:52 SheetiS sdm24: It'd be the minion running whatever state would need the python mysql client so that it could connect to the mysql server to write the return
16:52 manfred it will send the data back to mysql and not to the master
16:52 joeto joined #salt
16:54 sdm24 ok thanks guys. The docs were a little confusing
16:54 snarfy joined #salt
16:56 gladiatr joined #salt
16:56 ferbla joined #salt
16:58 venu0336 joined #salt
17:03 theologian joined #salt
17:08 wendall911 joined #salt
17:11 ajw0100 joined #salt
17:16 impi joined #salt
17:20 mclosson joined #salt
17:21 yota joined #salt
17:23 AlexStraunoff joined #salt
17:29 gadget-girl joined #salt
17:33 aw110f joined #salt
17:36 ajw0100 joined #salt
17:42 scottpgallagher joined #salt
17:43 eriko_ joined #salt
17:48 hal58th_ joined #salt
17:51 baweaver joined #salt
17:52 andrew_v joined #salt
17:55 kusams_ joined #salt
17:58 kusams joined #salt
17:59 donmichelangelo joined #salt
17:59 cowpunk21 joined #salt
18:00 ndrei joined #salt
18:02 perfectsine_ joined #salt
18:03 ageorgop joined #salt
18:03 kwork joined #salt
18:03 kwork joined #salt
18:03 markm joined #salt
18:04 otter768 joined #salt
18:08 icflournoy joined #salt
18:08 ericof joined #salt
18:10 viq joined #salt
18:13 JordanRinke joined #salt
18:18 lexter joined #salt
18:19 rodr1c joined #salt
18:19 rodr1c joined #salt
18:20 murrdoc joined #salt
18:23 quasiben joined #salt
18:25 aqua^c joined #salt
18:26 bluenemo joined #salt
18:27 bluenemo hi guys. when I have a syntax error in the pillar files, salt will not use any pillar data but still run the states. is there a setting to syntax check the pillar data and fail and not executing any states in that case?
18:29 otter768 joined #salt
18:31 gadget-girl better would be tool to check any changes
18:32 sdm24 bluenemo: I'm not sure if there is a direct way to do it, but one way would be to check {% if salt['pillar.get']('key') %} I think
18:32 pcn bluenemo: if you know what parts of the pillar you care about in the state, maybe https://github.com/saltstack/salt/issues/13929 ?
18:32 saltstackbot [#13929]title: Informational state to report or raise an error | There are many times when it would be useful to have a noop state that simply reports some information based on some jinja magic in a state....
18:34 timoguin_ joined #salt
18:40 jaymc joined #salt
18:41 julienlavergne joined #salt
18:41 perfectsine joined #salt
18:45 bluenemo Hm yes I think this is a little hacky, but I'm doing it myself atm gadget-girl sdm24 pcn. I thought about putting a syntax checker thingy, that aborts the highstate if anything renders incorrectly. states do have that - salt aborts when i write 'asdf' somewhere for no reason.
18:46 bluenemo Also i'm not sure what happens if I use multiple pillar files for say the openvpn:and-so-on pillars. if it only excludes one of the files for syntax errors, using   if pillar('foobar' exists   doesnt help either
18:47 perfectsine joined #salt
18:47 iggy failhard
18:48 iggy test modules
18:48 iggy etc
18:48 bluenemo ah failhard does that?
18:48 bluenemo i thought it only fails everything when a state fails
18:48 iggy state.highstate test=True
18:48 surge__ joined #salt
18:49 iggy it does, but that's where the test modle and writing your states properly comes in
18:49 bluenemo if i have a syntax error in the pillars, i observerd that salt will continue to use the old pillar data when i    state.sls foobar   instead of updating it. it will set the pillar data to empty when i saltutil.refresh_pillar
18:50 ajw0100 joined #salt
18:51 surge__ joined #salt
18:51 ajw0100 joined #salt
18:51 iggy salt is a big gun... its got a couple safeties, but it cant completely keep you from shooting your own foot off
18:51 Ahlee "Don't make mistakes in pillar" is our mantra here
18:51 denys joined #salt
18:52 iggy oh and... test first
18:52 surge__ Hi everyone. I’m looking for some guidance on how to best set up the Chef equivalent of environments or versioned cookbooks.
18:52 Ahlee we require three approvals to merge PRs into the pillar repo, and you have to run pillar.items against a standalone node detailing out it didn't break the world
18:52 bluenemo iggy, :)
18:53 Ahlee bluenemo: would love better options myself, but it's tough to implement
18:53 Ahlee "A linter would solve everything!"
18:53 Ahlee (not really)
18:53 bluenemo iggy, how would you use test states? as dependency for other states in state files?
18:53 iggy and everybody is going to have different reqs
18:53 bluenemo doing a "syntax check" of the yaml is probably hard because of the jinja stuff in between of it..
18:54 iggy bluenemo: pit them at the top, make them fail if pillar is bad/etc
18:54 robawt joined #salt
18:54 Ahlee valid yaml isn't valid states, too.
18:54 iggy stupid phone keyboard
18:54 surge__ I see that I can specify different subdirectories, but it doesn’t seem very DRY to do so. Maybe I’m thinking of going about this the wrong way. I want to make a change to a deploy tool that my predecessor wrote, but I don’t want to change its behavior for production deploys. It’s under ./salt/_modules currently so I don’t want to copy/paste that to a salt/dev/_modules/ directory to test a change.
18:54 bluenemo hm
18:55 bluenemo iggy, my problem there is, if pillar is bad and i use state.sls, it will not update the pillar data salt will work with but use the pre-broken cached one
18:55 Ahlee surge__: so you want environments without environmentt
18:55 bluenemo (until i saltutil.refresh_pillar , then its empty)
18:55 iggy surge__: thats probably your best option with file roots
18:55 Ahlee surge__: salt falls through for environments. so, under your prod directory specify another fileroot and do your work there
18:56 Ahlee i believe in that config first match would win
18:56 Ahlee but, *shrug*
18:56 surge__ Uh, I don’t know what the salt-ism is. In chef, I could just increase the cookbook version, restrict DEV to $NEW_VERSION and then verify everything is okay. There is no versioning in Salt (that I can see), so I wanted to know how to do it the “salt way".
18:56 iggy bluenemo: if you are changing pillars and testing with state.sls, youre going to have to throw a refresh_pillar in there
18:56 iggy no way around that
18:56 mordonez joined #salt
18:56 surge__ Ahlee: So whatever the best practice of doing it is, I’ll go that route.
18:57 bluenemo ah state level failhard. DID learn something again M)
18:57 bluenemo iggy, thank you for your input :)
18:58 bluenemo I think I'll build sth that fails-hard if pillars are completely empty
18:58 pppingme joined #salt
18:58 bluenemo that wont  get me far with multiple pillar files for one subpillar thingy but it'll be a hack for having sth now
18:59 pcn bluenemo: if you know the pillar data you need, check for it.
19:00 quasiben joined #salt
19:00 Ahlee surge__: the way we accomplish what you're doing is with environments, but under your file_roots: you can specify multple directories, and missing items fall through. So, if you have file_roots: - /path/to/dev/env - /path/to/prod/env then toss your new state into the dev version. If you're using gitfs backend no need, each branch is its own environment
19:01 perfectsine joined #salt
19:02 surge__ Ahlee: The old guy didn’t specify environments at all. ::doh:: Sigh lol
19:02 surge__ Can’t believe they went this long without anything of that sort.
19:02 Ahlee surge__: it's fine, they do'nt actually help IMO ;)
19:03 Ahlee but, yeah. Probably want to throw up a local master/minion and set up multiple paths under file_roots and tinker
19:03 Ahlee I _think_ that's going to be easiest solution for you
19:03 bluenemo pcn, well salt will also fail if you try to assign stuff to pillars without settting defaults - but i have some formulas that allow for there being "no pillar data" because that might also make sense. I'll give those some pillar data like foobar:test: true or something now. However I still have to know which files belong to the formula fooobar - if I have a dir for the foobar pillar files, I'll have to change the state code to add and check new pi
19:03 bluenemo llar files. so thats the limitation of this way.
19:04 ingwaem joined #salt
19:05 pcn bluenemo: I find it a bit odd that you're thinking in terms of your pillars as files.  Is your end goal pillar files or abstract pillars?
19:06 meteorfox_ joined #salt
19:07 Sokel joined #salt
19:07 surge__ Ahlee: How do I reference a module under a different path ? I’m still very green to Salt, so i’m not sure what to Google for.
19:07 surge__ err… under a different environment
19:08 Ahlee surge__: there's multiple ways (get use to that answer, salt's nothing if not opinionated)
19:08 Ahlee surge__: if you have multiple directories defined under a file_roots, it should either merge the contents together, or return the first match. Getting it straight when it does which is something i still struggle with.
19:09 Sokel Question... In one of my jinja maps, I'm doing an if statement to check for a grain. However, some servers do NOT have that grain, and thus, the state fails with a 'dict object' esque error pointing right at my if statements. If I do salt-call grains.setval grainname '' (which is blank) it then works.
19:09 Ahlee If you have multiple environments defined under file_roots, then you can specify --saltenv=my_other_environment on the CLI (--env=my_other_environment for old versions)
19:09 Sokel What can I do to make the if statement work or so
19:09 KyleG joined #salt
19:09 KyleG joined #salt
19:09 ajw0100 joined #salt
19:09 pcn Sokel: grains.get
19:09 cowpunk21 joined #salt
19:09 surge__ Ahlee: Alright. Will give that a go.
19:11 Ahlee g'luck.
19:11 Ahlee bbl
19:11 Sokel pcn: That does not answer my question.
19:11 murrdoc joined #salt
19:12 Sokel {% if grains['grainname'].startswith('grainvalue') %} -- that's the first part of my if statement. But, because /etc/salt/grains does not have 'grainname' it fails and salt points to this line.
19:13 pcn if grains.get('grainname', '').startswith('grainvalue')
19:13 murrdoc {% if salt.grains.get('grainname', False) %}
19:14 pcn I'd believe murrdoc's syntax before my own.  But you can see how grains.get well let you default to an object that has a "startswith()" method that you can set as you wish.
19:15 murrdoc grains.get is a python funciton
19:15 murrdoc salt.grains.get is a salt function that lets u use the : delimiter if u want to use some sort of nesting
19:15 murrdoc pcn thats the only difference
19:15 iggy ^ truf
19:20 zmalone1 joined #salt
19:28 perfectsine joined #salt
19:30 pcn Cool.  That about wraps up that.
19:30 bluenemo pcn, what do you mean by abstract pillars? An example for what I mean: I have an openvpn formula, which sets up multiple openvpn Server instances with each having several clients. I want to manage those pillars like /srv/pillar/openvpn/{customers.sls,intern.sls,misc.sls} and so on. so I use a /srv/salt/openvpn/init.sls file in which I include all those files - for this however, I'd have to write an additional test (or extend that test) for each of
19:30 bluenemo those files.
19:33 babilen pcn: And just to explain it a bit more: salt.grains.get is essentially syntactic sugar for salt['grains.get'] (i.e. the grains.get execution module function in the salt dictionary)
19:35 pcn bluenemo: I mean e.g. pillars from ec2 APIs or similar, so thinking of the data as files is confusing to me.
19:36 Sniper^ joined #salt
19:36 pcn babilen: that is the syntax I always forget.  Thanks.
19:36 ageorgop joined #salt
19:36 baweaver joined #salt
19:37 murrdoc joined #salt
19:42 babilen pcn: http://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.jinja.html#calling-salt-functions (sorry, I can *never* find that documentation)
19:43 babilen (note that that only works in 2014.7+)
19:49 iggy and if youre using older, dont
19:49 dopesong joined #salt
19:54 ndrei joined #salt
19:55 mbrgm_ joined #salt
19:55 pcn is there a simpler way than this to check if my initrd has my mdadm.conf in it? https://gist.github.com/pcn/73d822d957de0bdd1c5f
19:55 Sokel murrdoc: How exactly is the 'False' being interpretted? It looks like if 'grainname' is undefined then do whatever, but it's doing the exact opposite.
19:56 Sokel The documentation clearly shows there is nothing where 'False' could be placed
19:57 danlsgiga joined #salt
19:57 baweaver joined #salt
19:57 XenophonF joined #salt
19:59 pcn Sokel: use "" instead of False
19:59 danlsgiga hey guys... I'm using yamlex to merge my dictionaries and I'm facing a big issue. The pillar rendering works as expected, but when I run the state the SLS is generate having all my keys/values in double quotes "
20:00 baweaver joined #salt
20:00 danlsgiga so, salt is throwing this: Package '"screen"' not found (possible matches: screen). Package '"htop"' not found (possible matches: htop).
20:01 danlsgiga Also, the state IDs are coming in double quotes: ID: "core-pkgs-installed"
20:05 ayee `if 'minion' in salt['pillar.get']('kube_nodes:' ~ grains['host'] ~ ':type')`
20:06 ayee How can I see the boolean result of that? from the master or the minion, it doesn't matter.
20:06 ayee I think I can do salt-call stuff, but I'm not sure where to run that command or the syntax
20:10 subsignal joined #salt
20:12 iggy ayee: there's not a way to render freeform bits of jinja
20:13 ayee iggy: How can I debug if this statement is true or not?
20:14 iggy do the pillar lookup and wing it
20:14 intel joined #salt
20:16 ndrei joined #salt
20:18 murrdoc joined #salt
20:24 Bryson joined #salt
20:24 giantlock joined #salt
20:24 surge__ joined #salt
20:26 ayee iggy: https://gist.github.com/anonymous/b5aeaa2bfe4715253bfe , hmm, for some reason
20:27 danlsgiga Is anyone using the yamlex renderer here?
20:28 iggy ayee: so you need an entry for b-kubernet-r15e14* in that list
20:28 iggy danlsgiga: I'd rather castrate myself with rocks
20:29 ayee iggy: https://github.com/JohnTheodore/kubernetes-saltstack/blob/master/pillar/kube_data.sls
20:29 ayee I'm specifying the ipaddress.
20:30 ayee https://gist.github.com/anonymous/0d04412cf2ba8aa8f1fe <- it does some stuff to the node and installs things
20:30 ayee but it doesn't seem to execute minioninstall or masterinstall
20:30 iggy I doubt it's getting the ipaddress from that data
20:30 danlsgiga iggy: lol... why?
20:31 iggy at least not the same way as that kubernetes "formula" works
20:32 iggy danlsgiga: that syntax makes my entire being hurt
20:32 ayee iggy: Well the pillar.items has the kube_data, I think it's relying on 'minion' being in the type string
20:32 mbrgm_ joined #salt
20:32 ayee if 'minion' in salt['pillar.get']('kube_nodes:' ~ grains['host'] ~ ':type')
20:32 iggy I'd rather write/use an ext_pillar that wasn't so horrendous if I needed that kind of functionality
20:33 CeBe1 joined #salt
20:33 theologian joined #salt
20:33 iggy ayee: grains['host'] (should) = hostname
20:34 iggy so you're looking at data on minions called b-r15..... and that dict has names like kubminionN
20:34 iggy NO MATCH
20:35 danlsgiga iggy: the !aggregate tags?
20:35 iggy danlsgiga: si
20:36 danlsgiga iggy: I'm just looking to an alternative to deep merge dictionaries without deviating too much from the salt top.sls way of working...
20:37 danlsgiga iggy: I've tested pillarstack, which is awesome! But, managing all my pillars through it sucks because I can't simply do a core.pkg.mysql
20:37 iggy fair enough, I didn't say you were wrong... just that I'd never go down that path without a gun to my head
20:38 danlsgiga iggy: I always look for best practices... do you think using yamlex is that bad?
20:38 baweaver joined #salt
20:42 surge__ joined #salt
20:44 ayee iggy: https://gist.github.com/anonymous/5595b9e3f17dd871e9c3 `Comment: Unable to render top file: Jinja variable 'dict object' has no attribute 'hostname'`
20:46 iggy it's grains['host']
20:46 iggy but that's not going to do anything
20:47 ayee 16:34 < iggy> ayee: grains['host'] (should) = hostname
20:47 iggy unless you've got minion in the hostname after b-kubernet-r16e14
20:47 ayee I thought you said to make it hostname?
20:47 iggy no, I meant that grain is equivalen to the host's name
20:49 ayee I'm confused
20:49 ayee https://gist.github.com/anonymous/74516f59060b5179885d should 'kubeminion1' be say a hostname like b-kubernet-r16e14 ?
20:52 stoogenmeyer joined #salt
20:52 sdm24 it should be the minion id if that is a pillar file
20:56 ayee How can I print out the minion IDs?
20:56 sdm24 salt '*' grains.get id
20:57 sdm24 or do you mean {{ grains['id'] }} in a state file?
21:01 baweaver joined #salt
21:04 fredvd joined #salt
21:10 perfectsine joined #salt
21:20 Garo_ joined #salt
21:21 RandyT afternoon miners
21:21 RandyT quick question
21:21 RandyT is it possible to Include: a file in master pulling from an external filestore like s3fs?
21:21 RandyT working on ways to centralize configuration in secure off-master location
21:23 iggy if you set s3 up as a fileserver backend, the minion sees all files the same (i.e. a file at /srv/salt/sites/example_com.sls could include a formula from gitfs which could in turn include a file from s3fs)
21:25 RandyT iggy: was thinking in context of the master config, salt.providers, etc...
21:25 Garo_ joined #salt
21:25 BradThurber joined #salt
21:25 RandyT maybe I am overthinking it, but would like to keep keypair info off of the master if possible...
21:25 iggy and vice versa (we have a formula that is in gitfs that includes nginx, but we didn't like the nginx formula, so we just wrote our own nginx states and put them under /srv/salt/nginx/init.sls and the formula is none-the-wiser)
21:26 iggy depends what it is
21:26 iggy a lot of stuff uses config.get (which will pull from config files, pillars, etc)
21:26 iggy but not everything
21:26 RandyT was thinking in terms of Include: at top of key files in /etc/salt that would pull the config files from s3fs or gitfs
21:27 iggy no
21:27 RandyT roger that
21:27 RandyT tks
21:28 twork n00b debian question: i'm writing a state that installs a package that resides in a non-standard package repository. i'm reading http://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html and i wonder, should 'pkgrepo.managed' and friends go inside my state, or get a state of its own (given that other packages might also come from there)? and following that, what's the mojo to make [package].sls depend on [repo].sls?
21:29 iggy RandyT: you could use something like salt-formula to configure the master via pillar data that's pulled from git
21:29 iggy but you're still going to need the keys/credentials to pull that git repo somewhere on the master
21:30 RandyT unless in aws I can get this to work with instance role
21:31 RandyT and pull files via s3fs
21:32 bhosmer joined #salt
21:34 zz_cro joined #salt
21:39 druonysus joined #salt
21:40 baweaver joined #salt
21:41 ndrei joined #salt
21:41 twork n/m, i think i'm on the trail. never fails, ask the world, my eyes open up.
21:43 murrdoc joined #salt
21:44 aurynn This can be replicated with a rubber duck that you explain things to, as well
21:45 twork or a grease spot on the wall. but none of them are as effective as irc or a mailing list.
21:47 s_kunk joined #salt
21:47 s_kunk joined #salt
21:52 rabbitheart joined #salt
21:54 bhosmer joined #salt
21:55 jonlangemak joined #salt
21:56 cowpunk21 joined #salt
21:58 bhosmer joined #salt
22:02 aqua^c joined #salt
22:04 chuyzero joined #salt
22:05 chuyzero left #salt
22:08 ajw0100 joined #salt
22:08 baweaver joined #salt
22:08 druonysuse joined #salt
22:09 clintber_ joined #salt
22:10 RandyT I'm a bit confused by the options for pillar_backends vs fileserver_backends
22:11 RandyT can I also use s3fs for pillar_roots, or do these non-root pillar resources fall to ext_pillar?
22:13 UtahDave RandyT: unfortunately pillar_backends and fileserver_backends don't share any code at the moment.
22:13 gladiatr joined #salt
22:13 UtahDave RandyT: the gitfs and git_pillar are undergoing some refactoring to share code at the moment, though. Which I'm really looking forward to
22:14 RandyT UtahDave: good deal
22:14 RandyT this line in the docs started my confusion "The configuration for the pillar_roots in the master config file is identical in behavior and function as file_roots:"
22:14 sunkist joined #salt
22:16 bhosmer joined #salt
22:17 bfoxwell joined #salt
22:19 zmalone joined #salt
22:19 LV-426 joined #salt
22:19 hasues joined #salt
22:22 hasues left #salt
22:26 khris joined #salt
22:29 napsterX joined #salt
22:30 ndrei joined #salt
22:30 bhosmer joined #salt
22:31 ayee iggy thanks for your patience and help, I didn't have the right grain host information in kube_data.sls
22:32 iggy I Tried telling you that but I was doing a bad job of it (lot of stuff going on here today)
22:39 rideh joined #salt
22:41 bezeee joined #salt
22:45 iggy bahaha, guess I'm not the only one partaking of prime day
22:46 baweaver joined #salt
22:48 Ztyx joined #salt
22:56 cowpunk21 joined #salt
22:57 mrpull left #salt
22:58 murrdoc joined #salt
23:01 druonysus joined #salt
23:02 theologian joined #salt
23:03 aparsons joined #salt
23:04 yomilk joined #salt
23:04 surge__ joined #salt
23:04 surge__ Is it possible to define an environment in a top.sls file without explicitly requiring a “.sls” file to be run ?
23:05 surge__ I am mainly interested in saying “if a node matches this grain, use this dev environment” but I only care for the ./dev/_modules directory.
23:06 iggy if not, it'd be a good FR
23:07 markm_ joined #salt
23:07 cberndt joined #salt
23:08 iggy I have a sneaking suspicion the way the data is processed, the answer is no
23:08 iggy in which case, just make an empty.sls and assign it
23:08 napsterX joined #salt
23:09 surge__ iggy: I also had that feeling. I guess it could be worse than making an empty init.sls file. Thanks
23:10 mosen joined #salt
23:12 primechuck joined #salt
23:12 surge___ joined #salt
23:13 breakingmatter joined #salt
23:16 nebuchadnezzar joined #salt
23:16 Aidin joined #salt
23:17 LV-426 joined #salt
23:18 baweaver joined #salt
23:40 kusams joined #salt
23:44 heshuge joined #salt
23:44 aidin_ joined #salt
23:48 UtahDave surge__: what I do for that is have it match, then list an   "- empty.sls"   which is an actual empty file
23:49 surge__ UtahDave: so I don’t need to “mkdir dummy && touch dummy/init.sls” ?
23:50 UtahDave yes, I think you do. Otherwise Salt will barf saying it can't find the file you referenced in your top.sls
23:50 tkharju joined #salt
23:51 aqua^c joined #salt
23:51 rhodgin joined #salt
23:53 surge__ Ah okay. Yeah so I’ll go ahead and continue using that.
23:53 aqua^c joined #salt
23:56 gadget-girl Changes:   Invalid Changes data: mailer-mailgun was install at /test
23:56 gadget-girl what should go here
23:58 gadget-girl https://gist.github.com/sarasfox/d96ecc6b9e43dae0ce9f

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