Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2016-08-01

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

All times shown according to UTC.

Time Nick Message
00:00 ninjada joined #salt
00:10 flowstate joined #salt
00:30 Xopher joined #salt
00:40 sltstk joined #salt
00:41 sltstk Hi, Got a question about the "salt" rpm
00:41 sltstk it is available from epel
00:41 edrocks joined #salt
00:41 sltstk what is it's purpose, do I need to install it while installing master or minions?
00:42 mpanetta joined #salt
00:42 ktosiek joined #salt
00:45 badon left #salt
00:49 ageorgop joined #salt
00:52 hemebond sltstk: Were you knx? Someone answered you previously.
00:53 hemebond With a "yes"
00:54 timoguin joined #salt
00:55 sltstk hembond: thank you
00:56 sltstk I am completely new, trying to learn  basics
00:56 hemebond ūüĎć
00:57 amcorreia joined #salt
01:05 Brijesh1 joined #salt
01:09 flowstate joined #salt
01:15 edrocks joined #salt
01:19 Brijesh1 joined #salt
01:21 catpiggest joined #salt
01:35 rlarkin joined #salt
01:38 edrocks_ joined #salt
01:46 raspy_ joined #salt
01:46 raspy_ hi everyone, is there a way to build a specific host from a salt map
01:48 ilbot3 joined #salt
01:48 Topic for #salt is now Welcome to #salt! | Latest Versions: 2015.5.10, 2015.8.10, 2016.3.1 | Support: https://www.saltstack.com/support/ | Logs: http://irclog.perlgeek.de/salt/ | Paste: https://gist.github.com/ (please don't multiline paste into channel) | See also: #salt-devel, #salt-offtopic | Ask with patience as we are volunteers and may not have immediate answers
01:49 DEger joined #salt
02:03 Bryson joined #salt
02:10 flowstate joined #salt
02:16 pipps joined #salt
02:19 pipps joined #salt
02:19 DEger joined #salt
02:24 bluepaladin joined #salt
02:24 syndikate joined #salt
02:24 bluepaladin BYE
02:26 kshlm joined #salt
02:30 DEger joined #salt
02:30 moneylotion joined #salt
02:39 edrocks joined #salt
02:42 bastiand1 joined #salt
02:48 Tyrm joined #salt
02:51 Tyrm joined #salt
02:59 DEger joined #salt
03:01 mpanetta_ joined #salt
03:01 ninjada joined #salt
03:06 k_sze[work] joined #salt
03:08 Brijesh1 joined #salt
03:10 DEger joined #salt
03:11 flowstate joined #salt
03:12 hasues joined #salt
03:13 hasues left #salt
03:21 DEger joined #salt
03:22 DEger joined #salt
03:24 ZachLanich joined #salt
03:24 ZachLanich hemebond (or anyone): Can you explain the reasoning behind targeting a minion in this command?: salt myminion cloud.profile ec2-centos64-x64 my-new-instance - Docs explain what it is, but no reason for doing so: https://docs.saltstack.com/en/stage/topics/cloud/salt.html#state-module (a ways down under "Profile")
03:26 hemebond ZachLanich: It's calling the execution module cloud.create. You have to have something execute it. You might be able to use salt-run (run via the master) instead of salt myminion but I'm not sure.
03:27 hemebond I'm not really sure why it uses a minion in the examples or what the minion is supposed to be in that context; like, is it supposed to be a management minion? I don't know.
03:28 hemebond I think that's just an example of how you can call the cloud stuff from a minion.
03:28 hemebond For example, if your salt-master (where salt-cloud rests) doesn't have direct access to the cloud provider or environment.
03:28 hemebond You could use a minion as a proxy for the commands.
03:34 ZachLani_ joined #salt
03:35 antpa joined #salt
03:36 ZachLani_ hemebond: Ok, yea. That makes sense. I just couldn't think of a scenario without having more experience using Salt in production
03:36 Brijesh1 joined #salt
03:36 hemebond That whole page is more of a "you can also do this" page, not really about general usage.
03:40 evle joined #salt
03:44 lukeflynn joined #salt
03:45 lukeflynn Hi! I am attempting to switch from Ansible to Salt and am having some issues with installing packages.
03:45 lukeflynn using pkg.installed, it fails if the package already exists on the system.
03:45 lukeflynn I'm sure this is intentionally.. but is there anyway to ignore that and proceed?
03:46 ZachLani_ joined #salt
03:46 lukeflynn Obviously, this will cause dependencies to be unresolved in the same SLS file.
03:47 ZachLani_ joined #salt
03:48 ZachLani_ joined #salt
03:49 ZachLani_ joined #salt
03:50 iggy ZachLanich: I answered that already
03:52 iggy lukeflynn: can you gist the error you're seeing?
03:52 lukeflynn Yeah, give me just a sec
03:52 iggy salt is declarative, so it describes the state of a system... i.e. a pre-existing package really shouldn't cause an error
03:53 lukeflynn iggy: https://gist.github.com/LukeFlynn/8c718958bdd41570934d42bcd6b6c028
03:54 nmadhok joined #salt
03:54 iggy so it's saying vim failed to install
03:54 ZachLani_ iggy: I got kicked off last time and never saw the answer.
03:55 iggy the requirement of a pkg state with ID firewalld wasn't found
03:55 lukeflynn Yet it's installed.
03:55 iggy I think for that second one, you want require pkg common_pkgs
03:56 lukeflynn oh........
03:56 lukeflynn right.....
03:56 lukeflynn xD
03:56 iggy requirements aren't on literal pkg names, they are on state IDs
03:56 lukeflynn Yeah.. clearly I'm not accustomed to this.. right?
03:56 ZachLani_ I have sort of a broadstroke question/start of a discussion on what I'd like to accomplish overall and would love some advice from the Salt gurus in here if that's ok.
03:57 lukeflynn Vim isn't installing because vim-enhanced is already installed.
03:57 lukeflynn makes since.
03:57 lukeflynn I've been having some issues reading the documentation... I can't find a good starting point so it's just kind of touch and go
03:57 iggy lukeflynn: I was about to say... they seem contradictory, but I don't have any RH machines to check
03:57 iggy ZachLanich: shoot
03:58 WebDude P.S. I'm going by WebDude now, cuz it's shorter and it's my online identity more/less lol
03:58 lukeflynn yay!
03:58 lukeflynn works now
03:59 WebDude Background: I own a web development & marketing company and have a development background. I'm teaching myself systems administration and managing our own hosting infrastructure is a hobby and joy of mine, and I'd like to build it up over time to be something great and continue to make some money off of it to fuel my ability to keep putting time into it, so that's what fueled my interest in orchestration to begin with.
04:00 lukeflynn iggy: while I'm here.. where is the best place to start to get a grasp on Salt? I like it so far, and it's much faster than ansible.. but I am kind of lost.
04:00 WebDude I have experience with both Wordpress & Drupal development, as well as with their respective "kingpin" hosting platforms: WP Engine & Acquia, so I get some of my ideas from what they do since they have a very impressive infrastructure.
04:01 WebDude I currently have ~20 web servers simply running LAMP, WP CLI, etc and I'm focusing on Wordpress hosting right now.
04:03 WebDude I currently provision 512MB-1GB micro VPSs on Digital Ocean per client website so if I do have to make major changes or if something happens, I don't have to worry about multiple clients yelling all at once lol.
04:03 iggy lukeflynn: I'm guessing you've started with the official docs? It's tough to say... I generally learn better by doing, so the module index is my goto
04:03 iggy https://docs.saltstack.com/en/latest/salt-modindex.html
04:04 lukeflynn mmm, sounds good.
04:04 iggy but not everybody is like that
04:04 lukeflynn that's what I've been using.
04:04 WebDude I have one large Staging server for showing clients changes, and may eventually have a DO Dev server too for good measure, but for now, it's just staging. So here's my explanation of where I'm trying to get:
04:04 lukeflynn Yeah, that's how I learned Ansible.
04:04 lukeflynn xD
04:05 iggy lukeflynn: the formulas aren't bad as examples (well, about 60% of them or so)
04:05 lukeflynn I'm scared to learn how to use the pillars
04:05 lukeflynn they look scary
04:05 iggy lukeflynn: there are also a few books... I think base-to-the-pi is working on his second revision which would cover newer salt versions
04:05 antpa joined #salt
04:06 iggy pillars are actually pretty easy... just mapping data to hosts
04:06 hemebond Do the tutorial. Tutorial is okay from what I remember.
04:06 hemebond Though people do seem to get lost or stuck sometimes.
04:07 WebDude I like the concept that WP Engine & Acquia use where you add a "Site" or a "Multisite" to your account, and it automatically provisions a Prod and Stage server, connects them together for vhosts, etc and sets up one-click data migration/cloning in both directions, etc. I keep the codebase(s) under version control right now and use Deply.io for deployments.
04:08 iggy WebDude: seems fairly normal, you should be able to do something similar
04:08 flowstate joined #salt
04:09 WebDude I'd like to set up PHP7's APC caching and a Varnish Server for Prod as well, and have all this config automatically connect all parts together when a new site is added.
04:09 iggy (semi-OT: I really wish salt would call itself a config mgmt framework... it's just so general sometimes)
04:10 hemebond iggy: Don't they refer to it as a remote management framework?
04:10 lukeflynn hemebond: link to said tutorial? or is it easy to find?
04:10 WebDude In the future, I'm looking to add a GUI to this like WP Engine's where I can select whether or not a "Site" is High Availability, etc and use my GUI/App to generate some of the config that Salt would use to run cloud provisions, states, etc, but that's for reference of direction and the HA part is a bit down the road.
04:10 WebDude So I'd like this top down approach like so:
04:10 hemebond lukeflynn: https://docs.saltstack.com/en/latest/topics/tutorials/states_pt1.html
04:11 wolfpackmars2 joined #salt
04:11 hemebond Been a while since I used it. Maybe you're past all that.
04:11 wolfpackmars2 as far as I can find online, salt minions don't require any special firewall settings
04:12 wolfpackmars2 why then, after turning on the firewall on the minion, can the master no longer communicate with it?
04:12 hemebond lukeflynn: https://docs.saltstack.com/en/develop/topics/tutorials/index.html
04:12 hemebond wolfpackmars2: master doesn't talk to minions, minions talk to master.
04:12 lukeflynn hemebond: thanks! :)
04:12 WebDude 1. Define a "Site", with details like "Domains", "Production Active" (yes|no), and I'd like it to trickle down, create the necessary web servers (which I have one working right now), creating a slot on y staging server, create the vhosts, pre-install Wordpress (which I have working right now), connect prod to the Varnish server(s) etc, for starters.
04:13 wolfpackmars2 hemebond: how then works sending commands from master to minion?  minion maintains a connection to the master?
04:13 hemebond Correct, minion remains connected to master.
04:13 hemebond When you "send" a command, you're just putting it into a queue/message bus and minions grab the ask off the queue.
04:15 iggy see zeromq
04:15 WebDude 2. Then eventually I'd like to create an external connection to the following (eventually): "Deploy.io" - to set up my deployment config for this site, "Cloudflare" - to automatically add an A record for the staging site and maybe one for prod (not sure on the prod one yet), "Bitbucket" (if necessary - to create the repository if it doesn't exist by domain name, "Uptime Robot" for my uptime monitoring, "KeyBox" for SSH key management
04:15 WebDude by user (might deprecate this eventually though.
04:16 WebDude I'd also like to create a really solid backup/restore strategy, there's so many ways to skin a cat on that one, that I haven't gone down that road yet and I'm currently just using DO's built in backups.
04:17 iggy yeah, these things always tend to end up semi-intertwined with whatever cloud provider you're using
04:18 PerilousApricot joined #salt
04:18 wolfpackmars2 salt-master uses port 4505 and 4506.  does minion need these ports set up for outgoing communications in iptables?
04:18 hemebond wolfpackmars2: If your firewall rules prevent outbound connections on those ports, yeah, you'll need to update them.
04:18 iggy wolfpackmars2: if you are blocking outgoing connections, yes
04:19 hemebond Can you not telnet from the minion to the master on those ports>
04:19 WebDude So that's more/less it. The first step for me is devising a top strategy for Salt config files, and to gain a better understanding of Salt in this use case so I don't pigeon hole myself to much. That's why I'd like to open up a discussion of strategy and get suggestions from you guys on a good starting place, etc so I can start planning this out without wasting 100's of hours backpedaling because "There was a better way to do that in
04:19 WebDude Salt" lol. So any advice and help from anyone in here is hugely appreciated. Like I said, this is a passion project of mine as well as relevant to my job :)
04:19 zer0def joined #salt
04:20 iggy WebDude: first off, I'd start thinking of everything in terms of event driven
04:21 iggy pushes to git cause webhook calls, that causes salt to run states to push to dev/prod.... etc
04:22 WebDude iggy I've read a bit about reactor and played with it a tiny bit, but that's exactly the kind of advice I need.
04:22 iggy salt-api comes in handy
04:23 DEger joined #salt
04:24 WebDude Ok
04:26 WebDude iggy So is salt-api for handling incoming webhook and other api requests to trigger Salt to do stuff?
04:26 iggy exactly
04:28 WebDude Perfect
04:28 WebDude So I can definitely start mapping out my event flowchart for everything at least
04:30 iggy definitely keep us updated as you start mapping things out... the more specific you get about things, the easier it is to give suggestions
04:30 DEger joined #salt
04:31 WebDude iggy When it comes to site configuration, do you have any suggestions on how I should structure the config file hierarchy? Like I said, I'm looking for a "Site" -> "Site Options" -> "Web Servers", etc top down structure so the "Site" is an abstract concept that represents a number of webservers and configurations working together to host a Site or a Multisite, including multiple domains, etc. I like that technique of separation
04:31 WebDude because it will transport nicely to a WP Engine-esc model GUI down the road.
04:32 WebDude I'm 100% fine with just using YAML files to define the sites for now. That will be WAY more automated that I have it currently lol
04:39 DEger joined #salt
04:41 DEger joined #salt
04:43 edrocks joined #salt
04:46 DEger joined #salt
04:51 bluepaladin joined #salt
04:51 blueelvis joined #salt
04:53 smcquay joined #salt
04:53 iggy I know next to nothing about WP, so... maybe someone else will have some input on that aspect
04:58 zer0def joined #salt
04:59 DEger joined #salt
04:59 WebDude iggy, it's not a WP question lol. It's a salt config hierarchy question
05:00 WebDude Let me worry about the multisite bs details. I'm more talking about a good way to structure configs according to my top down approach and abstract concept of a "Site"
05:02 mpanetta joined #salt
05:12 moneylotion left #salt
05:24 irctc313 joined #salt
05:26 iggy I guess I don't understand what you want to know about that then... I'd say go with whatever is easiest to generate with salt I guess
05:26 iggy (yaml and json are both good candidates)
05:28 WebDude I intend to use YAML. I guess I've just seen so many different directories and ways of structuring config files (cloud providers, profiles, states, etc) and I've seen examples with different ways of handling inheritance and hierarchy structure and I was just initiating conversation to see if I could arrive at a starting point.
05:31 WebDude My thoughts are to create w/e structure YAML file I want for my "Sites" config, but then I'm not 100% sure what to do from there cuz all the Salt tutorials just tell you how to define a provider, profile and use salt-cloud to provision w/e is in your map file or w/e
05:31 iggy well, inheritance isn't built into yaml... so if you just have bare yaml, inheritance isn't really going to work
05:31 WebDude Kind of just makes my head spin when I try to make sense out my needs with the several different levels of Salt config below that
05:32 WebDude Well, I won't need inheritance for the Sites config file
05:32 WebDude Those will be straight forward.
05:32 iggy there is some salt-cloud functionality built into salt-formula you could look at
05:32 iggy ... I think
05:32 iggy don't remember if I ever ported that back from my last job
05:32 WebDude All I know is I guess I could include my sites file into the map file or womething
05:37 WebDude I'm having a hard time putting all of it together to formulate how I should go about this. I get the idea of the different parts of Salt (Pillar, States, etc), but I'm not 100% sure where to put this "Sites" data (Pillar, I'm assuming?) and how to handle telling my states, etc that "this site gets this data, that site gets that data", etc
05:39 WebDude And I know semantic naming of your minions comes into play so you can use globs, etc in your states, etc to intelligently apply correct state, etc to servers with a specific naing convetion
05:39 WebDude naming*
05:44 iggy if you are going to have some sort of frontend for customers, it's probably going to be writing to a database of some sort
05:44 iggy you could have an ext_pillar that talked to that database and output the data you need for the config files
05:46 WebDude Yea, I've been thinking that. I'm not writing a UI for a while though, so I'm trying to manage a way to get all the proper data to trickle down without having to touch 2-3 config files every time I add a new site. I feel like if I do it correctly, I might not have to?
05:46 Brijesh1 joined #salt
05:47 ZachLanich joined #salt
05:47 iggy that's the idea behind DRY
05:47 iggy theory vs practice though...
05:48 ZachLanich Right
05:50 ZachLanich I think I just need to scour the docs for Cloud, Map, Pillar, etc. and just stare at them for a little while and try to generate some ideas on the most succinct way to lay out the files.
05:53 iggy I'm not going to lie
05:53 colttt joined #salt
05:53 iggy I threw out my first 2 salt deployments completely
05:53 ZachLanich joined #salt
05:53 iggy and even the ones after that have undergone significant reworking and evolution
05:54 impi joined #salt
05:56 felskrone joined #salt
06:02 ivanjaros joined #salt
06:06 Brijesh1 joined #salt
06:08 flowstate joined #salt
06:11 MTecknology iggy: I'm still using almost the exact same setup I started out with and have just been tacking onto it.
06:13 Miouge joined #salt
06:22 mpanetta_ joined #salt
06:27 rdas joined #salt
06:36 zer0def joined #salt
06:42 colegatron_origi joined #salt
06:44 POJO joined #salt
06:51 wolfpackmars2 why is this not working to target minions with ID starting with either kijj or 7dtd?
06:51 wolfpackmars2 salt 'E@kijj* or E@7dtd*' state.highstate
06:54 iggy wolfpackmars2: salt -C
06:55 wolfpackmars2 ah, yeah.  should be automatic behavior I would think :p
06:55 iggy and you don't need the E@... the default match is globbing which should match
06:55 iggy no it shouldn't
06:55 iggy it's expensive
06:56 wolfpackmars2 for server or minions?
06:56 iggy when most people only need simple glob matches
06:57 iggy MTecknology: it's probably terrible too ;)
06:57 wolfpackmars2 not disagreeing, but I don't see why it matters if it is expensive for the master, if the only thing the master is doing is being a saltmaster
06:59 wolfpackmars2 at any rate docs are accurate, I just need to pay better attention to the examples.  thx iggy :)
06:59 the_ktosiek joined #salt
07:07 iggy because if the default matching were to change for the cli, it would have to change everywhere... and that would impact everything
07:08 iggy but like you said... you figured it out... just remember to include -C next time
07:09 flowstate joined #salt
07:13 DEger joined #salt
07:16 bocaneri joined #salt
07:18 MTecknology iggy: It's so super awesome that it'll stand the test of everything ever!!
07:19 babilen iggy: How did you organise your states and pillars? Mind sharing the building blocks?
07:20 iggy which time?
07:21 babilen "now"
07:21 MTecknology I just built a structure that scales up well up to maybe 2k clients. Not sure how well it'd do if you had more than that and they all performed unique functions. I've not done much on large scale. :(
07:22 ribx joined #salt
07:22 mpanetta joined #salt
07:22 iggy even now is different... I'm currently (helping) maintain(ing) 3 different salt setups
07:23 iggy and I probably should share any of those (mine isn't properly split up between states/pillars, the others aren't mine to share)
07:23 iggy *probably shouldn't
07:24 babilen Okay, I was just curious .. not in the actual states, but more in their organisation
07:24 iggy my personal one is very roles based
07:24 iggy another one is too
07:25 iggy work is tied to some existing infrastructure that doesn't really use roles but has types of servers
07:25 babilen So you have states for services and target those based on roles that you assigned to minions in one way?
07:26 iggy yes
07:26 babilen And things like "this server is hosting web application A" is a combination of roles and configuration in pillars?
07:26 ivanjaros joined #salt
07:26 babilen With no "webbapps/A.sls" state
07:27 iggy well, 2 of them really only "host" 1 thing
07:28 iggy work is a different beast
07:28 iggy ugh, this is getting confusing even to me
07:28 antpa joined #salt
07:28 babilen heh
07:29 lero joined #salt
07:29 iggy needless to say, I feel like the best way is to make things as modular as possible
07:29 iggy then the more you scale up, the better you can split things out into separate servers
07:29 babilen Sure, the question is "how?" and I thought I'd ask about your patterns to see different ways of achieving it.
07:31 iggy not really sure how to answer that... I can say this though... I don't like jinja in my top file and I believe targetting should be done in the top file
07:31 iggy I don't like tons of indirection
07:32 babilen I typically try to stick to formula-style (or plain formulas) states that are being targeted, while keeping pillars "per service". So boxes would simply get states, but pillars are organised more along the lines of "foo.website.example_com" (which can be split per service if the service is being offered by multiple boxes)
07:32 babilen Yeah, targeting entirely in top.sls
07:32 iggy if I have to dig through 8+ files to figure out what's going on... I feel like you're doing something wrong (or in $work case, dealing with legacy crap that will hopefully go away someday)
07:32 babilen I'm still trying to cut down on includes
07:33 ninjada_ joined #salt
07:33 CeBe joined #salt
07:36 iggy I don't really have the concept of multiple sites in anything I do... I'm trying to think of something similar in what I do
07:47 lovecraftian joined #salt
07:50 sagerdearia joined #salt
07:54 lero joined #salt
07:54 impi joined #salt
07:56 mpanetta joined #salt
08:02 POJO joined #salt
08:05 badon joined #salt
08:07 babilen iggy: That's essentially why I ask .. I mean you have to tie things together somewhere, but the question is where, which is why I am curious how other people approach it.
08:07 CeBe1 joined #salt
08:09 flowstate joined #salt
08:10 Mandorath joined #salt
08:10 fannet joined #salt
08:12 kbaikov joined #salt
08:18 mpanetta_ joined #salt
08:21 Mandorath Can i use a (second) piped linux command in a cmd.retcode or cmd.run statement?
08:21 Mandorath for example pvdisplay -c | grep [something]
08:27 GreatSnoopy joined #salt
08:27 Rumbles joined #salt
08:30 zer0def joined #salt
08:45 s_kunk joined #salt
09:12 CeBe joined #salt
09:24 Miouge_ joined #salt
09:30 jhauser joined #salt
09:33 syndikate joined #salt
09:34 blueelvis joined #salt
10:03 impi joined #salt
10:04 CeBe joined #salt
10:05 ravenx joined #salt
10:22 JohnnyRun joined #salt
10:28 ravenx im' trying to use this in my python script:  https://docs.saltstack.com/en/latest/ref/output/all/salt.output.highstate.html
10:28 ravenx the >salt.output.highstate.output
10:28 ravenx so i have imported python
10:28 ravenx however, when i go:  print salt.output.highstate.output("my state return string") it says:
10:29 ravenx https://paste.debian.net/786327/
10:30 ravenx it says that it has no attribute output.
10:30 mandorath_ joined #salt
10:30 hemebond ravenx: Because it's supposed to be a dictionary of stuff.
10:30 hemebond Have a look at existing Salt code for the "ret" variable.
10:30 hemebond That's likely what you need to provide.
10:30 ravenx could you please link me to a file?
10:31 hemebond The Salt source code.
10:31 hemebond Any module.
10:34 blueelvis joined #salt
10:34 sltnb joined #salt
10:35 ravenx hemebond: something like this:  https://github.com/saltstack/salt/blob/develop/salt/output/compact.py#L15
10:35 ravenx ?
10:37 sltnb Hello there, newbie trying to understand meaning of below salt error, can someone shed a light, what it means module service not available?
10:37 sltnb ID: enable_services_sshd Function: service.dead Name: sshd Result: False Comment: State 'service.dead' was not found in SLS 'centos7.install' Reason: Module 'service' is not available.
10:37 JohnnyRun joined #salt
10:38 sltnb I am thinking the states were written primarily for centos 6 and now they are running against centos 7 and some of them failing due to that
10:39 sltnb but reading service module info, i see it can also use systemctl
10:39 sltnb confused
10:41 hemebond ravenx: I'm not actually sure how you're supposed to use that outside of a highstate.
10:41 hemebond It was __opts__
10:41 hemebond *It wants
10:45 hemebond ravenx: Also this "The HighState Outputter is only meant to be used with the state.highstate function, or a function that returns highstate return data."
10:47 ravenx hemebond: awesome, i think i was missing _opts_
10:47 ravenx i am now looking into how to set opts
10:47 ravenx hemebond: cheers!
10:47 hemebond __opts__ is a global variable within a running Salt process that includes, e.g., the running configuration.
10:48 ravenx hemebond: correct.  i believe what i was missing was this:  https://docs.saltstack.com/en/latest/ref/clients/index.html#opts
10:48 ravenx the client_config section of things.
10:48 ekkelett sltnb: odd, I use CentOS 7 and I haven't had that problem :o
10:49 hemebond Oh, you're using that. Okay. That makes more sense. I thought you were just trying to use that one function in a script.
10:49 ravenx hemebond: gonna use that to output my fizzbuzz ;)
10:50 hemebond I don't know what a fizzbuzz is, but good luck ūüĎć
10:51 AndreasLutro sltnb: what version of salt?
10:51 sltnb 5.8,
10:53 s_kunk joined #salt
10:53 AndreasLutro 2015.8? should be fine then. check your minion's logs
10:54 sltnb will do,
10:54 sltnb looks like none of the service module functions are there
10:55 sltnb ID: cis-avahi_daemon     Function: service.disabled         Name: avahi-daemon       Result: False      Comment: State 'service.disabled' was not found in SLS 'security.cis.3_3-avahi'               Reason: Module 'service' is not available.      Started:      Duration:       Changes:
11:00 LessSneaky joined #salt
11:01 AndreasLutro alright, try running the same command again with `-l debug` at the end, and look for an error message related to the service module's "virtual" function
11:08 sltnb AndreasLutro: will do, thank you!
11:09 toanju joined #salt
11:14 DEger joined #salt
11:18 hoonetorg hi
11:18 hoonetorg how can i install packages from jessie-backports with pkg state module
11:18 hoonetorg ???
11:19 hemebond Add the repo then use pkg.install
11:19 hemebond Oh state, pkg.installed
11:19 hoonetorg apt-get install -t jessie-backports <pkg> would be the command
11:19 AndreasLutro use the fromrepo arg
11:20 hoonetorg AndreasLutro: thx will try
11:45 numkem joined #salt
11:47 rburkholder joined #salt
12:11 flowstate joined #salt
12:13 YPL joined #salt
12:14 sroegner joined #salt
12:16 YPL Hi, I'm attempting to pass a pillar variable for a state with cmd.run or unless or onlyif but salt passess the jinja brackets along with the string, and does not change the pillar keys with pillar values. any ideas?
12:17 johnkeates joined #salt
12:21 edrocks joined #salt
12:22 irctc415 joined #salt
12:22 irctc415 Hello. How can I restart a perticular service in state function sls file ?
12:23 irctc415 cant find docs.
12:26 babilen irctc415: You typically restart it when something changes by defining "watch_in" on the state that should trigger the restart
12:27 babilen (you watch_in the service.running state in question)
12:28 babilen YPL: Could you paste an actual example .. I'm not exactly sure what you mean by "passes the jinja brackets"
12:28 hemebond irctc415: https://docs.saltstack.com/en/latest/ref/states/requisites.html
12:30 TooLmaN joined #salt
12:32 evle joined #salt
12:37 Pilbbq joined #salt
12:41 DanyC joined #salt
12:41 syndikate joined #salt
12:43 Cadmus joined #salt
12:45 Cadmus Hello, I've got a jinja question. If I have a pillar like this https://gist.github.com/anonymous/471fa915e19b93e85b683b33d813c204
12:46 Cadmus Is there a good way to get just the list of 'bar's?
12:46 hemebond Cadmus: Look for Jinja map filter/function
12:46 Cadmus hemebond: Thanks
12:47 ravenx how can i use this:  https://docs.saltstack.com/en/2015.8/ref/clients/index.html
12:47 ravenx to pass in:   salt 'a' state.sls 'app' test=True
12:47 ravenx i am having troubles with the test=True
12:47 gh34 joined #salt
12:47 ravenx i have tried:
12:47 ravenx local.cmd('one', 'state.sls', ['app'], kwarg={'pillar={"branch":{"git_branch": "stable"}}', 'test=True'})
12:48 ravenx and that seems to do a normal highstate.
12:48 ravenx i have tried this as well and it gives the same:  local.cmd('one', 'state.sls', ['app', 'pillar={"branch":{"git_branch": "stable"}}'], test=True)
12:53 CeBe joined #salt
12:55 josuebrunel joined #salt
12:56 west575 joined #salt
13:01 KingOfFools_ joined #salt
13:01 SpX joined #salt
13:03 XenophonF ravenx: what are you trying to do?
13:04 XenophonF at the command line interface, test=True is an argument to the salt (or salt-call) command
13:04 ravenx i am trying to make a deploy script for my devs
13:04 ravenx correct, it is
13:04 ravenx and i am hoping that local.cmd can use that test=True as well.
13:04 XenophonF within python test=True is a kwarg to the function you're calling
13:04 XenophonF i don't recognize local.cmd
13:04 XenophonF do you mean cmd.run?
13:04 ravenx a kwarg to the function?
13:05 XenophonF yes
13:05 ravenx well i am doing this in my script, using the local.cmd https://docs.saltstack.com/en/2015.8/ref/clients/index.html#salt.client.LocalClient.cmd
13:05 ravenx basically, i need the local.cmd(...) version of this: `salt 'server1' state.sls 'super-app' test=True`
13:05 XenophonF ok, so test=True should be an argument to cmd.run
13:05 ravenx cmd.run.....?
13:05 XenophonF but the problem is that you're passing a string "test=True"
13:06 ravenx how will i be able to test my states if i dont use state.sls/
13:06 XenophonF when you ought to be passing a dict {'test': True}
13:06 XenophonF see the difference?
13:06 ravenx i see....
13:06 ravenx i can find a cmd.run here https://docs.saltstack.com/en/2015.8/ref/clients/index.html#salt.client.LocalClient.cmd
13:06 XenophonF yes i saw that - look here: kwarg={'pillar={"branch":{"git_branch": "stable"}}', 'test=True'}
13:06 XenophonF replace 'test=True' with {'test': True}
13:06 KingOfFools_ Sup guys. Is it possible to use jinja variables as a pillar key? For example: im iterating on pillars {% for container, container_info in pillar['lxc_containers'].iteritems() %} and then want to get item from another pillar by variable like this:- network_profile: {{ salt['pillar.get']('lxc_network_profile:{{ container }}') }}
13:06 ravenx lemme give this a shot
13:07 XenophonF KingOfFools_: use string catenation?
13:07 XenophonF or the |join filter
13:07 KingOfFools_ XenophonF: like lxc_network_profile:''+{{ container }}
13:07 KingOfFools_ ?
13:08 _JZ_ joined #salt
13:08 XenophonF e.g., ':'|join(['lxc_network_profile', container])
13:08 XenophonF or 'lxc_network_profile:'+container
13:08 ravenx XenophonF: i am getting some of these errors:   https://paste.debian.net/786349/
13:09 jkbbwr joined #salt
13:10 XenophonF kwarg is a dictionary
13:11 KingOfFools_ XenophonF: thanks. it works. Cheers :P
13:11 XenophonF KingOfFools_: np glad it works
13:11 XenophonF ravenx: you are using the wrong syntax
13:11 ravenx :/ gah
13:11 XenophonF as i said, kwarg is a dictionary
13:11 ravenx put i copied and pasted the test=True like you said
13:12 XenophonF the pillar argument you're using is a string which is also wrong
13:12 XenophonF it needs to be a dict too
13:12 ravenx if you would be so kinda, could you please show me the correct format of both my pillar and test?
13:12 ravenx the reason why i am confused at the moment is because the pillars data is registering with kwargs
13:12 ravenx but the test isn't :(
13:12 XenophonF local.cmd('one', 'state.sls', ['super-app'], kwarg={'pillar': {'branch': {'git_branch': 'stable'}}, 'test': True})
13:13 XenophonF you're treating it like a shell interface and passing shell-style arguments
13:13 XenophonF when you ought to be treating it like a function call and passing data structures
13:14 ravenx aaaaaah
13:14 XenophonF you're writing code not entering stuff on the command line
13:14 ravenx this works flawlessly,
13:14 XenophonF perfect
13:14 ravenx XenophonF: i suppose it's cuz i'm a full time sysadmin :P
13:14 XenophonF hah
13:14 ravenx XenophonF: thanks a bunch, i really appreciate your help
13:14 XenophonF np
13:14 ravenx XenophonF: first/2nd time playing with an api.
13:14 XenophonF glad it works :)
13:14 ravenx XenophonF: really appreciate you taking your time to help me with this blocker!
13:14 ravenx :)
13:15 ravenx (not all ircs channels are this nice ;_;)
13:15 XenophonF omg no kidding
13:15 ravenx i either get RTFM or pure silence lol
13:15 XenophonF it really doesn't matter what your skill level is, either
13:16 XenophonF b/c i've posted some pretty detailed questions into irc channels which will remain unnamed and got abuse in reply
13:16 XenophonF :-/
13:16 XenophonF tbh this community is why i use salt
13:17 racooper joined #salt
13:17 ravenx agreed, i say it's part of community
13:17 ravenx and how responsive people on GH are.
13:17 XenophonF yup
13:26 hasues joined #salt
13:27 hasues left #salt
13:29 tapoxi joined #salt
13:34 PerilousApricot joined #salt
13:34 perfectsine joined #salt
13:35 mapu joined #salt
13:38 protoz joined #salt
13:39 protoz joined #salt
13:40 whitenoise joined #salt
13:43 ALLmightySPIFF joined #salt
13:45 DEger joined #salt
13:45 scoates joined #salt
13:45 nmadhok joined #salt
13:47 Tyrm joined #salt
13:49 toanju joined #salt
13:51 toanju joined #salt
13:51 ravenx XenophonF: would you happen to know how to pass in another dictionary? along side a git_branch?
13:51 ravenx my kwargs part is starting to grow and looking rather omnious:  kwarg={'pillar': {'branch': {'git_branch': 'stable'}}, {'app': {'app_names': 'webapp'}}, 'test': True}
13:57 Tanta joined #salt
13:58 DEger joined #salt
13:59 jenastar joined #salt
14:00 PerilousApricot joined #salt
14:02 LessSneaky joined #salt
14:03 iceyao joined #salt
14:03 XenophonF i see another syntax error there ravenx
14:03 edrocks joined #salt
14:04 XenophonF er, maybe not, never mind
14:04 antpa joined #salt
14:04 Brew joined #salt
14:04 XenophonF maybe it is?
14:04 XenophonF is 'app' supposed to be a pillar key?
14:04 XenophonF i mean, you're asking how to merge two dictionaries, basically
14:05 ravenx correct
14:05 ravenx app is a pillar key
14:05 ravenx so i have something like this:  salt['pillar.get']('app:app_names'))
14:05 XenophonF so that needs to look like the following: kwarg={'pillar': {'branch': {'git_branch': 'stable'}, 'app': {'app_names': 'webapp'}}, 'test': True}
14:06 mpanetta joined #salt
14:06 XenophonF b/c pillar contains a dictionary of key-value pairs, each of which also contain dictionaries of key-value pairs, and so on
14:06 pcdummy ravenx: see this one: https://github.com/pcdummy/saltstack-lxd-formula/blob/master/lxd/map.jinja
14:06 ravenx i think i am doing something wrong...i mean what you gave me worked
14:06 XenophonF if we write it in yaml, it might become clearer to you
14:06 ravenx but for me, debuggin the brackets and colons was a nightmare.
14:06 pcdummy ), merge=True %} <-- :)
14:06 XenophonF hang on let me show you a different way
14:06 ravenx is there a merge function?
14:06 pcdummy }, merge=True) %}
14:07 ravenx XenophonF: please do
14:07 tapoxi joined #salt
14:07 pcdummy ravenx: you can do salt['pillar.get']("app:app_names", {stuff}, merge=True)
14:07 debian112 joined #salt
14:09 ravenx what would the stuff accomplish in this case, i mean this looks quite similar to what i have
14:09 ravenx minus the stuff and merge flag
14:10 pcdummy ravenx: "app:app_names" and {stuff} gets merged into one dict
14:11 ravenx aaaah i see
14:11 ravenx that means that i gotta do the same to my other pillar, no?
14:11 pcdummy ?
14:11 CeBe joined #salt
14:11 ribx joined #salt
14:12 pcdummy wherever you need that you need to do that line, or do {% set datamap = salt[...](...) %} and {% from "lxd/map.jinja" import datamap with context %}
14:12 ravenx gotcha
14:12 ravenx also, imma take a look at the example as well
14:12 trave joined #salt
14:14 johtso joined #salt
14:14 ravenx that looks very similar to what i want to do
14:14 ToeSnacks joined #salt
14:14 shawnbutts joined #salt
14:15 Awesomecase joined #salt
14:15 twodayslate joined #salt
14:15 tcolvin joined #salt
14:15 XenophonF ravenx: i wrote out the data structure you pass to kwargs as json, because github's syntax highlighter will show the error you made
14:15 czchen joined #salt
14:15 XenophonF https://gist.github.com/xenophonf/e8504c945216dbf0af6a64cb18fcadc7
14:15 thehaven joined #salt
14:16 cebreidian joined #salt
14:16 samkottler joined #salt
14:16 liviudm joined #salt
14:16 XenophonF incorrect.json is the way you structured the value of kwarg, correct.json is the way i did it
14:16 hillna joined #salt
14:16 akoumjian joined #salt
14:16 m0nky joined #salt
14:16 abele joined #salt
14:16 linovia joined #salt
14:17 phtes joined #salt
14:17 smakar joined #salt
14:17 clouddale joined #salt
14:17 ravenx wow
14:17 imanc joined #salt
14:18 XenophonF every element in kwarg needs to be a key-value pair, but the way you wrote it out, it end up being key-value pair, dictionary, key-value pair
14:18 WKNiGHT joined #salt
14:18 ravenx i should have done it the proper way by indenting like how you did.
14:18 hacks joined #salt
14:18 mihait joined #salt
14:18 copelco joined #salt
14:18 ravenx now that you've shown me that it is quite obvious :D
14:18 Freek joined #salt
14:18 JamieH joined #salt
14:18 mattl joined #salt
14:19 XenophonF i don't know you or want to make assumptions, but simple tricks like indentation really help make syntax clearer
14:19 gazarsgo joined #salt
14:19 simonmcc joined #salt
14:19 Andrew joined #salt
14:19 XenophonF note that the python syntax for dictionaries and the json syntax are almost identical except for things like double-quotes instead of single-quotes and true instead of True
14:19 knine joined #salt
14:19 ravenx XenophonF: i was doign this on a python interpreter....so all in one line.
14:19 pcdummy And the leading "," which is not allowed.
14:19 ravenx god i hate myself
14:19 ivanjaros joined #salt
14:20 XenophonF hey now
14:20 pcdummy ravenx: never do that mate :)
14:20 XenophonF you gotta learn some time
14:20 ravenx pcdummy: :(  lesson learned
14:20 ravenx XenophonF: :) i suppose now is a good time
14:20 ravenx never too late!
14:20 djural joined #salt
14:20 XenophonF so this usually encites religious warfare, but any decent editor by which i mean emacs supports syntax highlighting and indentation and all that stuff
14:20 XenophonF :0D
14:21 kutenai joined #salt
14:21 XenophonF or vim or eclipse or lighttable or whatever floats your boat
14:21 Tanta vim 4 life
14:21 XenophonF write the code in a proper editor, copy/paste into python command-line
14:21 XenophonF joe master race
14:21 ravenx XenophonF: i use vim to do all my sysadmin tasks lol
14:22 XenophonF emacs + inferior python = win
14:22 ravenx sorry those in teh emacs camp.
14:22 ravenx there is spacemacs....if you gusy want to see some abomonation
14:22 XenophonF lol
14:22 XenophonF there you go
14:22 XenophonF hell even idle would be good
14:22 XenophonF my point is that an editor with support for python will make it easier on you
14:23 bowhunter joined #salt
14:23 XenophonF especially if you're learning python as you go, which i'm guessing is the case here
14:24 ravenx i will need to get a plugin if i were to continue down this road successfully lol
14:24 XenophonF once you get more comfortable with the syntax, errors like the ones you made will jump out of the page, even when you write stuff all in one line
14:24 XenophonF then you can go on to make bigger and better mistakes! :)
14:24 Tanta I worked in a datacenter with over 5k servers running various unix, linux, bsd distros, -- vi was present on every single unix system
14:25 Tanta that's why I prefer it now
14:25 XenophonF sure, that's reasonable
14:26 ravenx different strokes for different folks
14:29 felskrone joined #salt
14:31 tpaul joined #salt
14:34 shanemhansen left #salt
14:36 TheBigNoob I have a salt question related to incrementing id numbers per minion
14:37 TheBigNoob I have 4 postgres database servers managed by salt, one is a master, the others are replication slaves to that master
14:38 TheBigNoob as it is, it automatically sets up everything in replication, and now i'm automating pgpool2 with my postgres setup through salt
14:38 TheBigNoob the catch is i need each server to have a unique number 1 -  4, and master must be 4
14:39 TheBigNoob i've been able to do this with jinja and salt mine, however i get some oddness once in a while where it'll skip a number in the loop so there's one server with an id of 1, two with 3, and the master with 4
14:39 TheBigNoob is there a better way of doign other then setting a static grain per host?
14:39 TheBigNoob ideally i'd like to just turn on the vm image in ec2 with the correct user data and it does everything automatically
14:40 quaie joined #salt
14:41 Andrew joined #salt
14:41 tapoxi joined #salt
14:42 flowstate joined #salt
14:42 dijit tornado keeps complaining that I have no space left on my device.
14:43 dijit except I have much capacity remaining.
14:43 pcdummy TheBigNoob: set in pillar?
14:43 pcdummy TheBigNoob: or get it from the hostname maybe.
14:44 TheBigNoob yeah i'm been jugling a few ideas around
14:44 dijit oh
14:44 dijit inodes.
14:44 dijit fuck
14:44 pcdummy TheBigNoob: babilen knows a lot about salt, may he is able to help you.
14:45 TheBigNoob most of the times my jinja loop works, but it seems like 1 out of 10 instances it does a weird loop where it skips a number
14:45 TheBigNoob i will idle while i test out a new loop
14:46 cmarzullo TheBigNoob: I've been unhappy with using grains for that type of dynamic data.
14:46 TheBigNoob yeah i'm trying to avoid, I'd like for my postgres cluster to be "reflexive" i guess
14:46 cmarzullo Pillar is a mo-better
14:46 TheBigNoob where it doesn't care about anything other then how many postgres machines there are and whom the master is
14:47 cmarzullo yeah that's the right way. People also use the salt-mine.
14:47 TheBigNoob i use salt mine for keeping an up to date record of master, in case of failover
14:48 cmarzullo So what are you looping over that isn't getting all the values?
14:48 cmarzullo you got pastebin of your loop.
14:48 TheBigNoob @cmarzullo, just opened my browser for it lol, one sec
14:51 TheBigNoob http://pastebin.com/KXHB5w50
14:51 TheBigNoob ignore the first line returned for wd_priority, that's part of the default config
14:54 TheBigNoob set minion variable to fqdn of machine and total count of slaves and the max total machines. in the first for loop we're simply setting master equal to the postgres-master server grain, and then for looping through all the postgres servers.
14:54 cmarzullo Is this pillar or a template file?
14:54 TheBigNoob this is a template file
14:55 TheBigNoob so in the for loop of all the postgres servers, if it's equal to the minion we got from salt grains (aka the current server the template is setting up on) it'll skip adding heartbeat destination
14:55 Brew joined #salt
14:56 TheBigNoob and add a wd_priority flag
14:56 TheBigNoob if that server is also the master, it will set it to the max number of postgres servers
14:56 Xopher joined #salt
14:56 Brew joined #salt
14:56 TheBigNoob seems like it likes to ++1 when it shouldn't
14:57 TheBigNoob i'm going to try and rewrite it so that the wd_priority flag is seperate from heart beat destinations
14:58 cmarzullo I see. Do you know about the special loop variables? It may help you. loop.index loop.last etc.
14:58 autofsckk joined #salt
14:58 TheBigNoob i do not, this is my first really "daunting" project with salt at my new employer :P
14:58 cmarzullo loop.length
14:58 TheBigNoob i'll check that out though
14:59 TheBigNoob is this a property of jinja then?
14:59 cmarzullo yeah
15:00 cmarzullo http://jinja.pocoo.org/docs/dev/templates/#for
15:00 TheBigNoob i'll give it a shot, thanks for the recommendation!
15:00 TheBigNoob beats cursing at my screen
15:01 cmarzullo Yeah I don't know enough about pg clustering and the file format. Generally I try to feed my templates with the correct data. I'd do all my lookups in pillar.
15:02 cmarzullo So my cmdb can change and the formula doesn't
15:02 xenoxaos joined #salt
15:03 west575_ joined #salt
15:05 DEger joined #salt
15:06 ZachLanich joined #salt
15:07 nonades joined #salt
15:09 lukeflynn joined #salt
15:09 lukeflynn Is there anyway to exclude a salt minion from a wildcard target in top.sls?
15:09 lukeflynn I want to exclude the salt-master from the run.
15:10 babilen lukeflynn: -C "... and not theparticularminion"
15:10 babilen Ah, that would be a compound matcher (match: compound) in the top.sls
15:10 lukeflynn something like '* and not salt-master.*'?
15:11 aljosa joined #salt
15:12 babilen For example .. but try it with test.ping
15:12 babilen 'salt -C "* and not salt-master.*" test.ping'
15:13 ravenx right now, i have local.cmd with:  ret = local.cmd(asdf, 'test.ping', expr_form='list')    with asdf being my hosts:  ['one', two']
15:13 corichar joined #salt
15:13 lukeflynn yay!
15:13 ravenx however, it only returns the ping of 'two'.  i have run it on the command line using salt -L 'one, two' test.ping and it works
15:13 ravenx meaning that my minions are for sure only
15:13 lukeflynn worked, thanks.
15:13 ravenx any ideas?
15:14 subsignal joined #salt
15:14 nmadhok joined #salt
15:14 gimpy2938 joined #salt
15:17 babilen ravenx: asdf = 'one, two' ?
15:17 babilen I had expected no space, but fair enough
15:18 babilen Yeah, it's always documented without the space after , -- but if you say that "salt -L 'one, two' test.ping" works then it is obviously not needed
15:20 ravenx and no brackets?
15:20 spuder joined #salt
15:20 babilen Yes, I want you to try to pass it as a string
15:21 ravenx babilen: i tried passing it as a string, and no luck.
15:21 ravenx and i'm using expr_form='list'
15:21 babilen With the space ?
15:21 babilen What did you do exactly and what was the result?
15:21 ravenx correct, it was with the space
15:21 ravenx so i what i did was;
15:21 ravenx set asdf = 'one, two'
15:21 ravenx then from my pthon script i have:
15:22 ravenx ret = local.cmd(asdf, 'test.ping', expr_form='list')
15:22 ravenx but only ever host one, or host two show up, never both.
15:22 mpanetta joined #salt
15:22 ravenx babilen: i'm using this local.cmd:  https://docs.saltstack.com/en/2015.8/ref/clients/index.html#salt.client.LocalClient.cmd
15:24 babilen local.cmd(['minion1', 'minion2'], 'test.ping', expr_form='list') should work
15:25 ravenx lemme give it a shot
15:25 simmel_ joined #salt
15:26 ravenx it only returned minion2 o_O
15:26 ravenx my command line is able to return both:  https://paste.debian.net/786387/
15:27 babilen ravenx: I have just tested it and it works here without issues
15:27 babilen So .. mind pasting the actual command and its output?
15:28 ravenx sure thing:
15:29 ravenx babilen: https://paste.debian.net/786389/
15:30 ravenx my hosts:  https://paste.debian.net/786390/
15:33 babilen ravenx: Please run the following and show the output: "import salt.client", "local = salt.client.LocalClient()", "local.cmd(['one', 'two'], 'test.ping', expr_form='list')" and paste the output
15:33 edrocks joined #salt
15:35 KingOfFools_ Guys, does anyone know how to use approve_key in modules.lxc.bootstrap? Looks like it should preapprove minion key, but it doesnt.
15:36 ravenx https://paste.debian.net/786392/
15:36 ravenx aha....so this works.
15:37 ravenx so i think this here:  salt.output.display_output(ret, "highstate", _opts_)   when i try to output it, is where it failes.
15:38 babilen Indeed
15:39 babilen (which is why it is important to paste what you are doing)
15:39 babilen :)
15:39 lovecraftian joined #salt
15:39 lovecraftian joined #salt
15:40 ravenx :)
15:40 ravenx i suppose now i have to iterate through this:  {'two': True, 'one': True}
15:40 ravenx first print the two's output, then the one's output.
15:41 ravenx but...man how on earth do you iterate over a dictionary?
15:41 CeBe joined #salt
15:41 heaje joined #salt
15:42 Tanta {% for k,v in salt['pillar.get']('dict_name', {}) %}
15:42 tapoxi joined #salt
15:43 ravenx hooo boy
15:43 ravenx i will deal with this tomorrow :D
15:44 tapoxi joined #salt
15:44 ravenx thanks for all of your help guys!
15:49 KingOfFools_ is it possible somehow to run wheel module from state file?
15:50 jab416171 joined #salt
15:53 blueelvis joined #salt
15:53 Cadmus Gyah, I find salt reasonably straightforward, but Jinja keeps throwing me
15:57 Cadmus If I have a pillar with a bit like this https://gist.github.com/anonymous/6725bc8e1c59dd45062cecba18b553d5
15:57 Cadmus Then I get an error when I try to do this {{ pillar['haproxy']['sites']|map(attribute='domain')|join(' ') }}
15:57 Cadmus It seems to be passing the list of sites as strings
15:57 Cadmus Wait, I need to do a .items() don't I?
15:58 PerilousApricot joined #salt
15:59 Cadmus Grr, that's not it
16:03 g3cko joined #salt
16:03 brotatochip joined #salt
16:03 flowstate joined #salt
16:04 ponyofdeath joined #salt
16:08 Llmiseyhaa Wow, this is mildly creepy.  My boss's wife just had a kid and they named said kid Cadmus.
16:08 Cadmus Fans of comics or Greek mythology?
16:11 Llmiseyhaa Both, I think?
16:11 Llmiseyhaa I didn't dig too deeply, didn't figure it was my business.
16:16 Brijesh1 joined #salt
16:19 Brijesh2 joined #salt
16:20 jwon joined #salt
16:23 josuebrunel joined #salt
16:24 antpa joined #salt
16:25 wendall911 joined #salt
16:31 Brijesh1 joined #salt
16:34 tapoxi joined #salt
16:34 lukehflynn joined #salt
16:34 woodtablet joined #salt
16:35 Edgan joined #salt
16:35 tapoxi is the api implemented as an engine?
16:35 lukehflynn Hi! When using * and not salt-master* running state.reply returns this https://gist.github.com/LukeFlynn/bc488a9fe6b5837de08052cf62078c36
16:35 tapoxi trying to learn more about salt architecture
16:35 lukehflynn the rest of the apply works, I just want to get rid of the error
16:42 jhauser joined #salt
16:42 ageorgop joined #salt
16:43 mapu joined #salt
16:43 Cadmus Still can't figure out why my thing is passing then names of the dicts as strings rather than the dicts themselves
16:48 Edgan lukehflynn: post your top file
16:48 cyborg-one joined #salt
16:49 Edgan lukehflynn: also salt '*' test.ping   and salt-key -L    Need to make sure it doesn't know about multiple hosts.
16:50 llua joined #salt
16:50 bluenemo joined #salt
16:51 whytewolf Cadmus: cause map works on lists not dicts?
16:51 scsinutz joined #salt
16:52 scsinutz Hello, is it possible to have returners at the minion level?
16:53 whytewolf scsinutz: unless I'm mistaken about what you are asking. returners ARE at the minion level
16:54 whytewolf by default they return data to the master
16:54 M-liberdiko joined #salt
16:54 scsinutz ahh, I thought it was minion ‚ÄĒ> master ‚ÄĒ> returner
16:54 scsinutz ok, that helps thanks
16:55 Brijesh2 joined #salt
16:56 bemehow joined #salt
16:58 whytewolf Cadmus: you might have better luck if you turn the level of foo and bar into a list.
17:00 tapoxi scsinutz its master on minion side: https://docs.saltstack.com/en/latest/topics/jobs/external_cache.html
17:00 tapoxi *or
17:01 whytewolf tapoxi: thats the job cache returner.
17:01 lukehflynn Edgan:
17:01 lukehflynn prod:   '* and not salt-master*':     - common
17:01 lukehflynn that's unformatted.
17:01 lukehflynn but
17:01 lukehflynn imagine it as yaml
17:01 ALLmightySPIFF joined #salt
17:02 lukehflynn I do have multiple hosts.
17:02 lukehflynn I am trying to run the states on every machine EXCEPT masters
17:03 POJO joined #salt
17:03 scsinutz it is possible for a minion to send it's return data to an external data-store and the master, correct?
17:05 nicksloan joined #salt
17:05 mapu joined #salt
17:07 whytewolf lukehflynn: the issue is that with '*' you are asking all minions to look up their top. including the masters which apperently have minions on them. but since there is no top data for the masters they throw that error.
17:07 nicksloan this was an interesting read: http://seedickcode.com/saltstack/salt-better-top-state-file/ (and part 2) Can anyone steer me toward alternate approaches, or other salt organization advice?
17:07 bowhunter joined #salt
17:08 whytewolf lukehflynn: what you could do is create a state file that has one state in it that is a test.nop. and in base: '*': - nop
17:09 whytewolf which would "run" on all minions and meet the requirments of '*'
17:09 whytewolf scsinutz: yes
17:10 ALLmightySPIFF joined #salt
17:10 _W_ joined #salt
17:11 drboyer joined #salt
17:12 lukehflynn whytewolf: I don't get it.
17:12 lukehflynn Any docs for that?
17:13 antpa joined #salt
17:15 Brijesh1 joined #salt
17:15 Slimmons joined #salt
17:17 whytewolf lukehflynn: not really. kind of hard to document a negative
17:17 whytewolf lukehflynn: https://gist.github.com/whytewolf/158ea8621afce4bc03d554c928c75d45
17:17 lukehflynn fair enough xD
17:17 edrocks joined #salt
17:17 whytewolf lukehflynn: https://docs.saltstack.com/en/latest/ref/states/all/salt.states.test.html#salt.states.test.nop
17:18 Slimmons I'm trying to send a cmd.run to a windows minion, and in order to run a specific program, I need the full path.  C:\Program Files (x86) is in that path, and I've been trying to escape the spaces and parenthesis like I normally would, but no matter how I escape it, I get "cannot find 'C:\Program'  So obviously the space isn't escaped.  Is there a way to escape it besides a single \
17:19 Slimmons Also, I just noticed that I hadn't escaped the \ after C:, so that's odd that it got to Program right?
17:25 lukehflynn whytewolf: that worked well, thanks.
17:26 pipps joined #salt
17:27 necronian joined #salt
17:27 M-MadsRC joined #salt
17:30 theblazehen joined #salt
17:30 hosttor joined #salt
17:32 onlyanegg joined #salt
17:34 ivanjaros joined #salt
17:37 Fredrick joined #salt
17:38 drboyer Hey all! Any word on when Salt 2016.3.2 will be released? Eagerly awaiting the cron.file bugfix in there (although I do have a workaround) :)
17:38 gtmanfred it is tagged and being tested internally
17:38 Fredrick trying to update my salt-minions from 2015.5.3 getting 'salt-minion : Depends: salt-common (= 2015.8.0+ds-2) but it is not going to be installed'
17:39 Fredrick Any ideas?
17:39 Fredrick salt-common gives just more errors
17:39 ipmb joined #salt
17:39 gtmanfred the errors with salt-common would be the reason you can't update salt
17:40 Fredrick salt-common install " salt-common : Depends: python-tornado (>= 4.2.1) but 2.1.0-2ubuntu0.1 is to be installed                Recommends: python-mako but it is not going to be installed"
17:41 Fredrick have tried updating python-tornado/python-mako
17:41 drboyer @gtmanfred Thanks. Any idea how long the internal testing process usually is?
17:41 gtmanfred drboyer: uhh, they wanna finish and release it this week
17:41 ajw0100 joined #salt
17:41 gtmanfred i haven't talked to qa since thursday
17:42 drboyer ok, sounds good. Thanks for the info
17:42 gtmanfred np
17:42 lukehflynn anyone here happen to have a state file for freeipa-client config that actually works?
17:42 gtmanfred Fredrick:python-tornado should be comming from the salt repo, cause we require a newer version than is available in the main ubuntu repos
17:43 Fredrick @gtmanfred:  ok will try.  Thanks
17:47 SpX joined #salt
17:48 bluepaladin joined #salt
17:51 antpa joined #salt
17:52 gimpy2938 I'm trying to remove any and all salt schedules from my minions; that worked on all but one ... what do now?   https://gist.github.com/jwhite530/cceebf7ed340faa994eb38f835b42b66
17:52 bluepaladin joined #salt
17:53 iggy you can't
17:53 iggy salt uses the scheduler internally
17:53 iggy see /etc/salt/minion.d/_schedule.conf
17:53 gimpy2938 iggy: ok, I want to remove what I put there, what "schedule.list" returns
17:53 babilen How did you put it there?
17:53 babilen Did you use pillars ?
17:54 tercenya joined #salt
17:54 gimpy2938 ... right now I've have problems with schedule and at this point I have minions crashing out of schedule.py and I fucking give up on this feature
17:54 gimpy2938 babilen: no, schedule.present in states
17:55 babilen Ah, okay. Never use that as pillars work just as well ..
17:55 gimpy2938 babilen: not for me, that's why I switched to doing it in states
17:55 iggy scorched earth approach?
17:55 Fredrick @gtmanfred Thanks that fixed it.
17:55 gimpy2938 ... but as I said, I give up this fucking pice of shit garbage schedule.py
17:56 iggy all of salt is like that
17:56 gtmanfred Fredrick: cool
17:56 iggy have you tried puppet? That's one way to solve the problem
17:57 Miouge_ joined #salt
17:57 gimpy2938 have you tried not being a useless prick?
17:57 gimpy2938 I'm having a problem with one feature of salt
17:57 babilen gimpy2938: Could you show the schedule.present state you used before?
17:57 gimpy2938 ... and I'm havning trouble even removing what I put into that feature
17:58 iggy piss off... you're the one pissing and moaning and cursing for no reason
17:58 * babilen hands out some fluffy kittens
17:58 gimpy2938 babilen: https://gist.github.com/jwhite530/7c9bdb1b470e62955933c0f73a90c0e7
17:58 iggy reason #1469324 that irc > slack.... /ignore
17:59 babilen hehe :)
17:59 gimpy2938 I have reason.  I stated my reason.  No one said you had to like it or agree to it.  However, suggesting that "Salt is just like that" is bullshit and unhelpful.
17:59 gtmanfred alright, simmer down
17:59 babilen gimpy2938: Yeah, you schedule.absent should‚ĄĘ have worked. I had hoped for a mismatch of the "name" argument. You could clear the minion's cache ...
18:01 gimpy2938 babilen: ran saltutil.clear_cache then the removal state again, same result
18:02 babilen gimpy2938: Which version of salt is that? I'd just like to check what schedule.present actually does, so that we can undo it manually if necessar
18:02 gimpy2938 babilen: 2016.3.1
18:02 babilen gimpy2938: I just used the pillar way of rolling out schedules and refreshing the pillar was all that was necessary
18:03 gimpy2938 babilen: I did that too, until it stopped working and causing crashes ... then I switched away from pillar and found a different crash, this one enough to kill the minion entirely
18:04 gimpy2938 (and yes, I submitted bug reports)
18:05 babilen gimpy2938: Did you also clear the master cache?
18:05 pipps99 joined #salt
18:05 Slimmons anybody know how to escape characters in cmd.run for windows minions?  for example salt 'winmin' cmd.run "C:\Program Files (x86)\A Program\runprogram.exe"  returns C:\Program is not recognized as an internal or external command.  Escaping with \ or / hasn't seemed to work.
18:05 brotatochip joined #salt
18:05 babilen gimpy2938: That's very annoying
18:06 pipps_ joined #salt
18:06 gimpy2938 babilen: is that still with saltutil.clear_cache?  If so, did that to every node and still get the same behaviour
18:08 vook joined #salt
18:08 babilen gimpy2938: Gah, the scheduler code is not easy to follow .. It fires off events that are being handled and persisted on the minion.
18:09 * babilen had hoped for something easier so that we could check the situation there
18:09 babilen I take it that recursively grepping in /etc/salt or /var/cache/salt on the minion for slum didn't provide much?
18:10 babilen *slurm
18:11 gimpy2938 babilen: matches under /var/cache/salt only, but not of the schedule.present state, just its comment-out version and the schedule.absent state
18:11 babilen Same on the master?
18:12 gimpy2938 babilen: *lots* more matching lines on the master, though that's not surprising
18:13 felskrone joined #salt
18:14 babilen Sure, you presumably have more than one minion
18:14 babilen let's be crazy ... could you try a pillar refresh?
18:14 babilen And a "pillar.get schedule" ?
18:14 ALLmightySPIFF joined #salt
18:16 gimpy2938 babilen: they show up in the pillar but the master has no pillars at all, for anyone, anywhere:  https://gist.github.com/jwhite530/5bfc46a1a0e9278d13183ac55b0c0ef3
18:18 Brijesh1 joined #salt
18:19 GreatSnoopy joined #salt
18:19 impi joined #salt
18:19 babilen gimpy2938: Well, that's at least in line with my expectations .. question is: Where is saved?
18:20 babilen I take it that you can "refresh_pillar" before the "pillar.get" ?
18:21 bowhunter joined #salt
18:21 babilen gimpy2938: Hmm, lets assume that this is a minion local setting. Could you try stopping the minion, ensuring that *no* minion process survived before starting it again?
18:21 anotherZero joined #salt
18:21 babilen Is the pillar still set?
18:22 gimpy2938 babilen: now it's gone ...
18:22 gimpy2938 refresh_pillar specifically did it, but not sync/refresh all
18:23 babilen Great
18:23 permalac joined #salt
18:23 whytewolf sync_all needs refresh=true to refresh pillars
18:24 gimpy2938 alright then, great, schedules are dead, hooray, now to go convert them into crontabs that Salt won't screw up ...
18:24 babilen gimpy2938: Well, at least that's somewhat logical behaviour. Not that the "schedule.absent" should have left any remnant of the scheduled job, but at least there is some consistency ;)
18:24 timoguin joined #salt
18:25 babilen gimpy2938: I am quite surprised .. we are using schedules a lot and I haven't had a problem with them. I haven't made the switch to 2016.3, but on 2015.8 it's working fine ..
18:25 gimpy2938 I forgot about that ... for some reason I thought calling "sync all" would sync everything between master and minion, silly me
18:25 babilen I now dread switching to 2016.3
18:25 babilen (for yet another reason)
18:25 JPT joined #salt
18:26 gimpy2938 babilen: I was on 2015.8 when I started having problems I think
18:26 babilen Curious
18:26 nicksloan still curious about any articles or references about best practices for organizing states and pillars. If anyone can point me in the right direction, I would appreciate it.
18:26 Tanta I use salt/common/statename, and salt/modules/statename
18:26 nicksloan I've seen some suggestions to organize everything like a formula
18:26 Tanta the common get applied to every system and the modules get applied selectively
18:27 nicksloan and basically use the pillar to determine what gets done.
18:29 whytewolf gimpy2938: I wonder if the issue you are running into has to do with using slashes instead of periods. in the arg and ID.
18:29 babilen nicksloan: I do that .. let me know if you find a nice article as I'm *very* interested in this question also
18:30 nicksloan babilen: one thing I found was this: http://seedickcode.com/saltstack/salt-better-top-state-file/
18:30 nicksloan though it glosses over that part and goes even deeper.
18:30 nicksloan (there are two parts in the series)
18:31 nicksloan not sure how widely accepted that practice is. I'm definitely curious though.
18:31 cmarzullo nicksloan: I do the (almost) everything is a formula method.
18:32 cmarzullo formulas tied to services that are all testable.
18:32 nicksloan cmarzullo: do you write most of your own, or have you reused a lot?
18:32 iggy I think I said it last night but don't know if you saw it... I'm not a fan of jinja in the top file...
18:33 cmarzullo I've (we've) written our own. For the most part the community formulas weren't the patterns I was looking for.
18:33 whytewolf me either.
18:33 gtmanfred same
18:33 whytewolf also rather against any kind of targetting based on grains. as that artical shows
18:33 impi joined #salt
18:33 Miouge joined #salt
18:34 cmarzullo we have about 55 formulas now.
18:34 Tanta most of the formulas I've seen were garbage
18:35 cmarzullo ^^
18:35 cmarzullo The only formula that worked for me out of the gate was the auditd formula.
18:35 nicksloan whytewolf: at a gut level, jinja in top worries me too, but I'm curious about your opposition to targeting with grains
18:35 cmarzullo The rest are great places to start. Although I often look to chef cookbooks for patterns.
18:35 Llmiseyhaa Hrrrrm, so question: sha256sum on the commandline gives me a 65 byte string, whereas salt says it should be 64 bytes (and 256/8 is 64)
18:35 Llmiseyhaa nicksloan: Grains are a file on the node and can be modified, eg if a malicious actor attempts to
18:35 Tanta are you counting the \n ?
18:36 Llmiseyhaa Tanta: No trailing newline, I checked (=
18:36 whytewolf nicksloan: say you have pillars that have security information. and you are targetting those on grain. now lets say you have a comprimised minion somewhere. you can do discovery attacks by just changing the grains on the minion
18:36 gimpy2938 whytewolf: I haven't caught Salt unhappy about slashes elsewhere ... actually, I was surprised to find them interchangable at first (e.g. `salt 'foo' state.sls states/slurm` == `salt 'foo' state.sls states.slurm`)
18:36 Llmiseyhaa nicksloan: I like using an external node classifier (like reclass) and targetting based on the grains those generate
18:37 iggy the downside to pillar targeting is you can't target pillars using pillar data
18:37 Sarphram joined #salt
18:37 whytewolf gimpy2938: it is avalible. but i don't think tests currently account for it
18:37 nicksloan whytewolf: I get the privacy perspective for sure. But you can surely create conventions that keep private data separate in the pillar, and require that that be targeted by ID.
18:37 Tanta your sha256sum is broken then
18:37 iggy so... you kind of have to play around with what works best for you and meets your security requirements
18:37 Tanta I just tried on a CentOS 7 x64 system and it's 64 characters
18:37 Fredrick joined #salt
18:37 cmarzullo nicksloan: we gpg encrypt our sekrits in pillar
18:37 Llmiseyhaa huh.  Ok.  Thanks Tanta
18:37 gimpy2938 whytewolf: which one is correct?  I was using slashes everywhere because that's what my filesystem takes and I wanted full paths in my IDs if I can
18:38 timoguin joined #salt
18:38 Llmiseyhaa huh tried from cent6 and got the exact same length string
18:38 whytewolf gimpy2938: personally I always use dots as it would be more universal [as filesystems change depending on which operating system]
18:39 Tanta try: sha256sum <( echo "1234" )
18:39 Llmiseyhaa ok counted by hand and it is 64... so, um, vim, why are you saying 65C even when there's no \n or such at the end? O_o
18:39 gimpy2938 whytewolf: I have the luxury of not caring about anything but Linux (specifically, CentOS 7)
18:39 Tanta should be... a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4
18:39 gtmanfred Llmiseyhaa: are you in command mode or edit mode?
18:39 pipps joined #salt
18:39 Llmiseyhaa command mode
18:39 gtmanfred if you are in edit mode, you will be at the 65th slot
18:40 gtmanfred hrm /shrug
18:40 gtmanfred sha256sum this > this
18:40 gtmanfred sha256sum <<< this > this
18:40 Llmiseyhaa yeah... dunno.  ls -all says 65 too, but, yeah, it's 64 characters in length so, eh, whatevs. (=
18:41 gtmanfred ls -all probably says 65, cause it is counting the newline, cause it should have a new line at the end of the file
18:42 mpanetta_ joined #salt
18:43 Llmiseyhaa EoF character!
18:43 Fredrick So updated from salt-minion 2015.5.3 to 2016.3.1 now minions do not start with error "Invalid keyword 'standard' for variable 'master_type'"
18:43 Llmiseyhaa No newline at the end, but there is an EoF
18:43 Fredrick Is master_type required.
18:43 gtmanfred yeah that
18:43 gtmanfred Fredrick: it is an old error
18:43 gtmanfred you should be able to remove master_type if you are all on 2016.3
18:44 nicksloan iggy, Llmiseyhaa, whytewolf, cmarzullo, babilen, gtmanfred: I would really like to see more writing and discussion on this topic, because I feel like the best practices are some of the least mature bits in the salt world. For beginners, salt gives you more than enough rope to hang yourself, and knowing how to begin can be very difficult. I've been using Salt for a few years, and I'm still not confident about a lot of this stuff.
18:44 Fredrick LOL thus the delima can I remove then upgrade the minions?
18:44 gtmanfred you should be able to remove it before upgrading
18:44 Tanta OK
18:44 Tanta sha256sum <( echo "1234" )| awk '{ print $1 }'| wc -c = 65
18:44 Fredrick Perfect thank you.
18:44 Tanta sha256sum <( echo "1234" )| awk '{ print $1 }' | tr -cd '[[:alnum:]]' | wc -c = 64
18:44 Rumbles joined #salt
18:44 Tanta there is another character in there that's not visible
18:45 gtmanfred Tanta: sha256sum <<< 1234
18:45 whytewolf nicksloan: have you read https://docs.saltstack.com/en/latest/topics/best_practices.html
18:45 whytewolf [it isn't comprohensive, but it exists]
18:45 iggy nicksloan: the problem is best practices have a way of limiting people
18:46 dboyer joined #salt
18:46 iggy salt is (as far as I know intentionally) not biased
18:46 gtmanfred do it whatever way is best for you and your organization
18:46 Fredrick Is there a file.comment I can run from the salt command?
18:47 whytewolf think of "best practices" like the pirates code. it's really more of guidelines then actual rules
18:47 gtmanfred Fredrick: you would need to look at the file.comment function in salt/states/file.py
18:47 ErasableSoap joined #salt
18:47 gtmanfred whytewolf: parley
18:47 nicksloan whytewolf: I have, though initially I read that as being directed specifically at formula authors, which I was not. The argument for structuring all or most states like that could be more prominent.
18:48 whytewolf gtmanfred: damn be the man who invented parley
18:48 gtmanfred nicksloan: we don't want to tell you how to do everything.  If you have a better way of doing it that works with your org, you should do it
18:48 cyborg-one joined #salt
18:48 cmarzullo We wrote our own best practices guidelines for our org.
18:49 gtmanfred ^^
18:49 flowstate joined #salt
18:49 gtmanfred best route
18:49 nicksloan gtmanfred: Of course. I think expecting one size fits all is a bit naive. On the other hand, learning different strategies by trial and error can cost my organization a lot of money. I'm not proposing that Salt should solve the problem at all. I'm just suggesting that the community would be well served to share ideas more freely.
18:49 whytewolf everyone should. just like code practices best practices tend to be company based.
18:49 west575 joined #salt
18:49 gtmanfred nicksloan: have you checked out the saltconf 2016 talks? there were several that kinda covered that
18:50 gtmanfred also, this was added the other day
18:50 GreatSnoopy joined #salt
18:50 iggy there are _lots_ of formulas and states available to peruse on github
18:50 iggy if you want to see a broad range of what can be done in different ways
18:50 gtmanfred nicksloan: https://github.com/saltstack/salt/pull/34921
18:50 saltstackbot [#34921][MERGED] Introduce a template system for extending SaltStack open | What does this PR do?...
18:50 whytewolf very diffrent mind bending ways
18:50 gtmanfred that was just added last week for templating modules and stuf
18:51 nicksloan gtmanfred: I had not. I wasn't aware that they are available for non-attendees. I will likely spend a good bit of time on that.
18:51 gtmanfred modules and states, actually doesn't go with your state files
18:51 gtmanfred nicksloan: https://www.youtube.com/playlist?list=PL9svBjLDUl_-sVwcRliUQ-VGDb2qvwpx_
18:52 nicksloan iggy: that's a great idea. The only thing missing there is the discussion of what worked well and what did not, though you may be able to infer some of that by commit history and issues.
18:53 iggy that's still going to come down to what works best
18:53 nicksloan Maybe I'm a rarity, but I love a good old fashioned blog post for this kind of thing. Maybe I'll do a bit more research and contribute something  of my own.
18:53 josuebrunel joined #salt
18:53 iggy I mean, that article you posted earlier about the top file... I would absolutely castrate myself if my salt was like that
18:53 iggy but that's basically what work looks like
18:53 gtmanfred haha
18:54 iggy because it kind of works with our legacy CMDB
18:54 nicksloan iggy: agreed that the pros and cons may not be the same for everyone, or especially the weighting of them. "Here's an idea that we tried and it didn't work out for us for these reasons..." has a TON of value though
18:54 gtmanfred there are a bunch of blog posts
18:54 iggy I think you'll find some of that in the saltconf talks
18:54 iggy (not just this year's either)
18:54 gtmanfred i would recommend following the saltstack user on twitter, cause rhett retweets stuff like that
18:54 nicksloan yeah, looking forward to getting into those
18:54 nicksloan gtmanfred: also a great idea
18:55 nicksloan googling for salt stuff can be a bit of a pain in the ass.
18:55 gtmanfred yeah, 2015 saltconf had a lot more about just running salt and config management, and the states
18:55 Sarphram joined #salt
18:55 gtmanfred 2016 was much more orchestration focused
18:55 nicksloan gtmanfred: I'm definitely curious about orchestration stuff too
18:56 whytewolf orch is fun...
18:57 nicksloan I think the videos will be a great place to dive deeper. Something to watch at the gym and on the bus at the very least.
18:57 racooper joined #salt
18:57 whytewolf I really should do my openstack setup in orchestration again.
18:59 CimmerianX joined #salt
18:59 nicksloan and re: the top file article that I linked, I'm not sure that is where I want to head either... just served as a good example of the sort of content I was looking for.
18:59 gtmanfred i need to update mine to mitaka
18:59 nicksloan Thanks for the info, everyone.
19:00 whytewolf I actually did update mine to mitaka, it wasn't that bad. needed to create a new database. since nova-api has it's own database now. but other wise everything else just updated in place
19:00 CeBe joined #salt
19:01 schemanic joined #salt
19:01 gtmanfred yeah
19:01 whytewolf but i could have just been lucky
19:01 gtmanfred i just haven't had any time to do it
19:01 CimmerianX hi all...    does anyone have a working example of a salt-cloud profile for AWS that let me set a static ip?    I'm having trouble getting the config correct....   i keep getting errors saying an instance level sec group  and network interfaces: can't be specified on same request.
19:01 gtmanfred i am also inside of another cloud cause i don't have any hardware
19:02 gtmanfred trying to get salt to buy me a bunch of intel nucs
19:02 whytewolf hehe, I'm lucky cause i didn't buy all my own hardware. 3 crappy sus boxes for controllers and 2 linovo RD450's for compute
19:02 whytewolf s/didn't/did
19:02 gtmanfred nice
19:03 gtmanfred i need to test a lot of different things like swift :/
19:03 whytewolf swift is a pain in the ass :/ I hate dealing with it.
19:05 gtmanfred and to test all the different types of neutron
19:05 Corey joined #salt
19:05 whytewolf all the different types? that is a lot of testing
19:05 gtmanfred well, i wanna do gre, and linux bridge, and then nova networks
19:05 Tanta wtf why, what is wrong with AWS
19:06 gtmanfred because some people don't use aws, and want to host their own cloud
19:06 Tanta you could use the free XenServer then, it's all completely free/open now
19:06 whytewolf Tanta: because for the same amount of hardware on aws I would break the bank
19:06 bastiandg joined #salt
19:06 gtmanfred https://github.com/openstack/openstack-salt
19:06 whytewolf and I did use xenserver
19:07 gtmanfred and i prefer to use kvm
19:07 whytewolf i also have an enterprise openended license for vmware
19:07 Tanta OpenStack is a nightmare, I tried it once
19:07 whytewolf but in the end of the day ... I get paid by my company to support openstack
19:08 gtmanfred aws is a nightmare, it is all hidden and i can't make any changes to it for my own uses...
19:08 whytewolf eh, mos of openstack isn't that bad once you actually know what you are doing with it]
19:08 gtmanfred opinions are opinions
19:08 whytewolf agreed
19:08 gtmanfred use what works best, and for a lot of people openstack works for them
19:08 Sketch i haven't actually tried it, salt-virt sound like it could be a simpler alternative to oepnstack
19:08 Sketch +s
19:08 gtmanfred so i am trying to improve testing and work with salt
19:09 Tanta RackSpace tried to use OpenStack commercially and failed, almost every large cloud vendor that has tried it ended up scrapping it
19:09 gtmanfred Sketch: it can be, but it doesn't do all the stuff openstack can do
19:09 brotatochip joined #salt
19:09 gtmanfred Tanta: rackspace hasn't failed
19:09 whytewolf Tanta: that is pure BS. rackspace still uses openstack. so does paypal
19:09 gtmanfred they have just shifted focus more on private deployments
19:09 gtmanfred huge deployments with large corporations that don't want to use public clouds
19:10 Tanta yes Backspace is doing amazing with 2% marketshare
19:10 gtmanfred Rackspace, HPE enterprise cloud, IBM Blue Box
19:11 gtmanfred all doing enterprise private cloud deployments
19:11 gtmanfred aws only has like 8% of the market, sure 80% of the cloud market, but there is still plenty of corporations and companies that haven't moved to the cloud yet
19:12 gtmanfred for overall, the majority of computing comes from dedicated machines and not cloud yet
19:12 Tanta I agree with you that cloud is not ideal for every use case, but for the ones that are ideal, AWS is far and away the best choice
19:12 whytewolf there are also companies that have security or operational regulations that can not use AWS
19:12 gtmanfred ^^
19:12 fracklen joined #salt
19:12 gtmanfred http://www.gartner.com/newsroom/id/3188817
19:13 gtmanfred https://www.idc.com/getdoc.jsp?containerId=259066
19:14 gtmanfred the interest has switched, these larger corporations want to invest in cloud, but they want to own the hardware too, and aws doesn't do that
19:14 Edgan You can do HIPPA now in AWS. I suspect with time any barrier to Amazon getting your business will be solved. It is just a matter of money.
19:14 hax404 joined #salt
19:14 Tanta I made this mistake once in 2011 when I became a Ruby on Rails 'specialist', if someone told me now that I need to work with OpenStack I'd hand them my resignation
19:14 Edgan Tanta: nod
19:15 gtmanfred that is ok, you can use something like opennebula
19:15 gtmanfred or no cloud
19:15 gtmanfred there is still that
19:15 gtmanfred or salt-virt
19:15 gtmanfred or vmware's datacenter stuff
19:16 gtmanfred which salt can tie into*
19:16 Edgan Tanta: On the other hand, I avoid AWS secondary services like RDS, Kinesis, EMR, RedShift, ElastiCache, etc as much as possible. The exceptions are ELB and Route53.
19:16 Edgan gtmanfred: VMware, yuck
19:16 gtmanfred https://solutionexchange.vmware.com/store/products/vrealize-orchestrator-salt-plugin
19:16 Tanta I really like autoscaling, cloud formation, and ELBs
19:16 Edgan gtmanfred: Used to be a big fan, they were the first, but everyone else has caught up
19:17 gtmanfred i disagree with that statement, but ok
19:17 gtmanfred everyone caught up to what vmware had 3 years ago, but vmware has had 3 years to stablize and add more
19:17 Tanta I also like Lambda/S3
19:17 gtmanfred vro is cool, vsphere is getting better
19:18 Tanta there's a ton of really cool stuff you can do within the AWS ecosystem that is unmatched by any other environment, that's the real winner IMO
19:18 Edgan gtmanfred: It isn't always about being the best by some metrics. These days it is more about cheap and good enough. Hence why we have VirtualBox as the new standard and VMware Workstation is dead.
19:18 Tanta EC2 vs. XenServer or VMWare straight up, sure there is an opinion there
19:18 Miouge joined #salt
19:18 gtmanfred redhat's kvm virtualization is also pretty cool
19:19 gtmanfred i have my redhat virt administrator certificate
19:19 gtmanfred it was neat
19:19 whytewolf vmware has some pretty wierd bugs when it comes to networking. we had ARP posioning happening because vmware decided that a trunk port should capture and reflect all it's packets. turn off the trunk and use a single nic. worked great
19:19 gtmanfred hehe
19:19 gtmanfred no one knows how to do networking though, so i am not suprised by that
19:20 whytewolf I kind of love openvswitch it is what i use as the networking layer in my openstack
19:21 gtmanfred the amount of tools that you have and the level of introspection you can get into the flows and different switch tables is really nice
19:21 gtmanfred whytewolf: did you see the tcpcloud keynote at the austin openstack summit?
19:21 hax404 joined #salt
19:22 whytewolf i didn't get to go :( the other team mebers from my team went so i had to man the battle stations
19:22 gtmanfred aww
19:22 whytewolf sucks being the low man on the totem pole
19:22 gtmanfred i only got to go cause i had a free ticket from contributing to shade, and i live less than 100 miles from there
19:23 gtmanfred whytewolf: http://superuser.openstack.org/articles/openstack-and-kubernetes-join-forces-for-an-internet-of-things-platform here is the video
19:23 whytewolf I"ll have to check that out
19:26 nicksloan joined #salt
19:28 brotatochip joined #salt
19:37 B1nny joined #salt
19:38 nicksloan joined #salt
19:40 Llmiseyhaa hrrrm I should know this, but if I have a pillar variable that's imported via map.jinja as myApp.clustered and it is defined to either true or false, will "{% if myApp.clustered %}" work or do I need to put the == True on there?
19:41 cmarzullo just be sure about your truthiness
19:42 Llmiseyhaa Fair enough.  I'll put == True on there just to be safe. (=
19:44 cmarzullo I do the if myApp.clustered a lot. But I know I've been bit by it.
19:45 Tanta {% if myApp.clustered is defined and myApp.clustered %}
19:45 Llmiseyhaa aaaah thanks Tanta
19:47 Brijesh1 joined #salt
19:47 Brijesh1 left #salt
19:50 brotatochip joined #salt
19:55 pipps joined #salt
19:57 jesusaur joined #salt
19:58 racooper joined #salt
19:59 edrocks joined #salt
19:59 Tyrm_ joined #salt
20:07 Brijesh1 joined #salt
20:07 DEger joined #salt
20:08 edrocks joined #salt
20:09 Llmiseyhaa hrrrm argh never quite figured out dictionary vs list... for using jinja looping, would http://pastebin.com/5BqVg9fA be appropriate
20:12 fracklen joined #salt
20:15 Llmiseyhaa {% for server in myApp.servers %} by the by (=
20:15 onlyanegg joined #salt
20:15 robawt Llmiseyhaa: that's a 1 item list of a 1 item dictionary
20:15 cmarzullo meh. if you don't care about the order use the dict.
20:15 robawt you can make it less complicated
20:15 cmarzullo ^^
20:16 robawt +1 cmarzullo
20:16 brotatochip joined #salt
20:16 Llmiseyhaa Well I need the number because I'll be using that... this is for zookeeper
20:17 cmarzullo I don't see a reason to have everything be a list of a one element dict.
20:17 Llmiseyhaa speaking of... hrm, if I want to reference that number, would it be {{ server }} to just get the name of the entry?
20:17 Tanta use a list
20:17 robawt Llmiseyhaa: http://pastebin.com/8asztiEj
20:17 Tanta use a counter
20:17 robawt generate the number, don't track it
20:17 edrocks joined #salt
20:17 mavhq joined #salt
20:17 Llmiseyhaa I need to track the number
20:17 Llmiseyhaa because it's also going to write to other places
20:18 robawt you should consider why you're doing that
20:18 Llmiseyhaa it's a thing with this app
20:18 Llmiseyhaa I'd rather drop the number, absolutely, yeah
20:20 cmarzullo http://pastebin.com/C66qLFih
20:20 Llmiseyhaa Cool, that is cleaner.  Thanks!  <3  Just for reference, would I then get the fqdn byh using just {{ server }} when using the jinja for statement above?
20:21 hoonetorg AndreasLutro: backports works nice with fromrepo thx
20:22 gtmanfred you would get 1 2 3, not the objects
20:22 gtmanfred if ou used what cmarzullo put, you would need to do { server.hostname }
20:22 gtmanfred {{server.hostname}}
20:23 Llmiseyhaa ok cool, thanks.  (=
20:23 cmarzullo http://pastebin.com/RUgvHh9N
20:23 cmarzullo could do something like that.
20:23 gtmanfred use .items() instead of iteritems, so that it will be python3 compatible when salt is, which we are working on
20:23 cmarzullo oh?
20:23 cmarzullo interesting.
20:24 cmarzullo got a lot of formulas to change :/
20:24 saltycharles joined #salt
20:24 gtmanfred yup, everything in jinja that is a | is a jinja function, anything that is a ., .format, .join, etc is a python function
20:24 gtmanfred and py3 doesn't have iteritems
20:25 Llmiseyhaa awesome, thanks for the help there (=
20:25 cmarzullo thanks. causing havoc in our internal salt channel now! my work is complete
20:25 robawt then make it has items() :)
20:25 robawt which does the same thing thanks to how almost everything became a generator in 3
20:26 gtmanfred yar
20:28 scsinutz joined #salt
20:28 west575 joined #salt
20:37 bowhunter joined #salt
20:39 Linuturk joined #salt
20:40 bluepaladin joined #salt
20:41 scsinutz1 joined #salt
20:46 west575 joined #salt
20:49 Rumbles joined #salt
20:50 Tyrm joined #salt
20:54 brotatochip joined #salt
21:01 jesusaur joined #salt
21:02 flowstate joined #salt
21:06 dbluepalain joined #salt
21:07 flowstate joined #salt
21:11 west575 joined #salt
21:11 * Llmiseyhaa beats her head against the desk.  Argh.
21:12 Llmiseyhaa so I've got the pretty common map.jinja/defaults.yaml pattern going on to provide override ability with defaults preset
21:13 Llmiseyhaa and it worked... then I added a few values and now it doesn't and I've been over the format like five times and and arrrrrrrrrrrrgh
21:15 iggy usually the easiest way to solve these types of problems is for us to see the code
21:15 west575 joined #salt
21:15 nonades left #salt
21:16 ALLmightySPIFF joined #salt
21:17 flowstate joined #salt
21:18 PerilousApricot joined #salt
21:20 Llmiseyhaa https://gist.github.com/anonymous/ac63eb45bb9abb2076970669d21779e5
21:21 Llmiseyhaa I'm guessing the answer is pretty much "You're an idiot, you typoed X", but I've been over it about a dozen times and I just don't see anything.
21:21 Llmiseyhaa (and yes there is a zookeeper formula out there, but it's pretty big and honestly doesn't entirely fit our environment or standards.)
21:26 krymzon joined #salt
21:26 whytewolf Llmiseyhaa: what change was made that it stopped working for you?
21:27 Llmiseyhaa I added pretty much everything beyond version:
21:27 Llmiseyhaa and referenced those values
21:27 whytewolf so datadir and clustered
21:28 Llmiseyhaa user, group, datadir, clustered
21:28 bluepaladin joined #salt
21:28 whytewolf ahh
21:28 Llmiseyhaa I just... don't get it.  The error is "Rendering SLS 'base:zookeeper.install' failed: Jinja variable 'list object' has no attribute 'group'"
21:28 fracklen joined #salt
21:29 Llmiseyhaa I'm importing zookeeper, I'm naming it zookeeper in map,jinja, I've got this exact pattern in another state and it works... so it ugh... feels like I must be missing something obvious
21:33 krymzon joined #salt
21:33 whytewolf ... okay. I'm thinking an errent line ending. I just put it into my magic decoder ring with out change from the gist. and it rendered fine
21:34 Llmiseyhaa or cache problems, I am using gitfs... ok, so I'm not insane.  I'll see about making stuff clear their caches out
21:35 onlyanegg joined #salt
21:37 krymzon_ joined #salt
21:41 Llmiseyhaa Ok I got nothing.  Stopped salt-master, nuked gitfs cache, stopped salt-minion, nuked its cache, started salt-master back up, started salt-minion back up... still no go.
21:46 ajw0100 joined #salt
21:46 krymzon joined #salt
21:46 whytewolf then I'm not sure. it really does work for me without issue.
21:46 Llmiseyhaa I trust you...
21:46 Llmiseyhaa Thanks for trying
21:47 Llmiseyhaa and we are talking 2016.3, right?  That's what I've got here, too
21:47 whytewolf yeap 2016.3.1
21:49 mapu joined #salt
21:52 Tyrm joined #salt
21:54 Edgan Llmiseyhaa: Try salt-ssh, it is parallel and won't use the gitfs jazz. Then you can prove it is the code or a bug
21:54 alexhayes joined #salt
21:55 krymzon_ joined #salt
21:55 bluepaladin joined #salt
21:55 Llmiseyhaa Never touched salt-sshfs before, and don't have the SSH keys/root SSH/etc set up
21:55 Llmiseyhaa err salt-ssh rather
21:55 Llmiseyhaa and I've made really sure it's not the cache
21:55 Llmiseyhaa wiped/reinstalled salt-minion, verified the files it cached are the correct ones, etc
21:56 whytewolf ran the master fileserver update stuff?
21:56 Llmiseyhaa yeah
21:56 Llmiseyhaa and checked the files in the cache on the minion, they're right
21:56 krymzon joined #salt
21:57 whytewolf utf encoding isues?
21:57 krymzon__ joined #salt
21:57 protoz joined #salt
21:57 Llmiseyhaa I don't... think so?
21:58 Llmiseyhaa file says plain ASCII text for all both here and on the minion
21:58 Llmiseyhaa and they both display the same
21:58 whytewolf strange
21:59 Llmiseyhaa yeah.  and log_level_logfile: debug doesn't show anything useful either )=
22:01 Edgan Llmiseyhaa: I am actually writing a like salt formula right now :)
22:01 Llmiseyhaa Oh?  Well feel free to lift any of my code you want
22:01 Edgan Llmiseyhaa: error message?
22:01 jenastar joined #salt
22:01 Llmiseyhaa "Rendering SLS 'base:zookeeper.install' failed: Jinja variable 'list object' has no attribute 'group'"
22:02 Edgan Llmiseyhaa: branch you are working on vs branch on the server?
22:02 Llmiseyhaa already checked, not the problem; and I checked the files on the minion to be sure
22:02 Llmiseyhaa thanks though (=
22:02 Edgan Llmiseyhaa: if you wanted to skip salt-ssh, you could try salt-call
22:03 nicksloan joined #salt
22:03 whytewolf list item? from what i see that is a dict not  list
22:03 Edgan Llmiseyhaa: This is super basic code. It has to be a process(git) or flow(gitfs/caching) bug.
22:04 Edgan Llmiseyhaa: oh, I think I may see it
22:04 Edgan Llmiseyhaa: checking
22:05 wryfi joined #salt
22:06 Edgan Llmiseyhaa: You don't have zookeeper prefixing in defaults.yaml
22:06 Edgan Llmiseyhaa: sample, https://github.com/saltstack-formulas/postgres-formula/blob/master/postgres/defaults.yaml
22:06 ribx joined #salt
22:06 whytewolf Edgan: shouldn't need one with the way it is being imported
22:07 whytewolf it gets pulled into map.jinja as default_settings
22:07 Edgan whytewolf: Then why does the postgres-formula work?
22:08 Edgan This is one of the big issues I have with map.jinja. I need a state.show_variable(s). The only to debug this stuff is to write the variable to a file.
22:09 whytewolf Edgan: the map.jinja is way different in the way it is called.
22:09 Edgan Llmiseyhaa: I prefer the load_yaml in map.jinja model to the defaults.yaml model
22:10 flowstate joined #salt
22:10 whytewolf Llmiseyhaa: how is your pillar constructed? is it a list?
22:11 Edgan Llmiseyhaa: your pillar code be overriding you defaults
22:11 Llmiseyhaa https://gist.github.com/anonymous/1dd529f38128db123590b4a0a6033526
22:11 Edgan Llmiseyhaa: https://paste.fedoraproject.org/399533/00894321/
22:11 whytewolf Llmiseyhaa: thats the issue. your pillar is a list not a dict
22:11 Llmiseyhaa huh?
22:11 Llmiseyhaa so how would I reformat this correctly?
22:12 Edgan Llmiseyhaa: it merges the defaults with the pillar, and the pillar completely overwrites it
22:12 Edgan Llmiseyhaa: take out the -s
22:12 Llmiseyhaa ooooh... ok so delete "- " on each
22:12 whytewolf yeap
22:13 whytewolf although you might want to keep the second level -s
22:13 Edgan Llmiseyhaa: here is how I debug such issues, https://paste.fedoraproject.org/399535/08963114/
22:14 Llmiseyhaa thanks
22:15 Edgan Llmiseyhaa: you should be pre-testing your salt code before git commit/push. The best way I have found to do that is salt-ssh. I have tried salt-master in vagrant, and found it too much of a pain.
22:15 whytewolf I actualy use this so i don't have to use sal-call and check a file afterwords https://github.com/whytewolf/salt-debug
22:15 pipps joined #salt
22:15 cyborg-one joined #salt
22:16 whytewolf still need a file that has the template to be checked though
22:16 Edgan whytewolf: Where is the pull request? :)
22:16 onlyanegg joined #salt
22:17 whytewolf lol. it is sitting in the not going to happen bucket. I would never put this thing on a production setup
22:17 Llmiseyhaa thanks much, I'm really sorry for the problems.  You guys are lifesavers.
22:17 Edgan whytewolf: Why would this not be a feature of salt?
22:17 Edgan whytewolf: Salt badly needs it
22:19 gtmanfred Edgan: something like salt testkitchen?
22:19 gtmanfred https://github.com/simonmcc/kitchen-salt
22:19 Edgan whytewolf: What is the threat in a production environment?
22:19 gtmanfred oh, the render thing, neat
22:19 Edgan gtmanfred: heard of it, never tried it
22:20 whytewolf yeah the render thing. :P
22:20 gtmanfred neat
22:20 whytewolf Edgan: honestly there isn't one. but i just don't trust the code
22:21 whytewolf Edgan: a lot of what it does can be done through other methods. it just makes it a little more simple.
22:22 Edgan whytewolf: the easier the better
22:23 whytewolf i wouldn't mind seeing it in maybe salt-contrib
22:23 gtmanfred +1
22:28 Rumbles joined #salt
22:29 Edgan whytewolf: doesn't seem to be working with salt-ssh :(
22:30 whytewolf humm :( salt-ssh isn't a test case for me.
22:30 Edgan whytewolf: https://paste.fedoraproject.org/399542/90648147/
22:30 whytewolf how does salt-ssh return?
22:31 whytewolf strange.
22:32 whytewolf it is just a copy of most of the file function. so why the file functions work and it doesn't is odd
22:33 whytewolf the only thing i changed was to remove the filesave part and to output the rendered template as the the output
22:35 Llmiseyhaa yay that fixed it... I, um, had ran into and fixed this problem before but forgot to document it in the pillar.example file for the state I wrote before so I didn't realize I was running into this.
22:36 Llmiseyhaa and I'm testing against a dev env, not a prod env. (=
22:36 ajw0100 joined #salt
22:36 Llmiseyhaa but yeah down the line I do need a better testing procedure, just... wheeeeeeeeeeeeeeee.  Right now I've got an unbelievably short amount of time to do everything in so
22:36 Llmiseyhaa (and don't have half the help I'm supposed to have because people on vacation.)
22:36 whytewolf it is always people on vacation...
22:37 Brew1 joined #salt
22:37 whytewolf Edgan: go the cp modules work for salt-ssh?
22:39 pipps joined #salt
22:39 Edgan whytewolf: example?
22:41 whytewolf salt-ssh 'zookeeper-foo-01.qa.us-west-1.aws.acme.com' cp.list_master
22:42 whytewolf one of these days i need to setup a salt-ssh test case
22:42 ninjada joined #salt
22:42 t0m0 joined #salt
22:43 pipps99 joined #salt
22:44 MK_FG joined #salt
22:45 iggy I don't think cp.* are expected to work with salt-ssh (at least not completely correctly)
22:45 whytewolf humm. then how do the file.* functions work cause they mostly use cp.* internally
22:46 Edgan whytewolf: works
22:46 PerilousApricot joined #salt
22:46 whytewolf Edgan: humm. I'm going to need to setup a salt-ssh test-bed then to find out what is going on. cause really. it just uses the cp.* functions to get the file. but that was saying it couldn't find the file
22:48 Edgan whytewolf: salt-ssh does have a special problem with map.jinja files where since they are not included like sls, you have to jump through an extra hoop to make sure they are copied over
22:48 whytewolf although a map.jinja wouldn't be very pretty. since there is no output in the file it is all jinja
22:48 whytewolf that might be part of the problem then.
22:50 Edgan whytewolf: yeah, I think that is the problem
22:51 whytewolf does it work for anything?
22:53 Edgan whytewolf: I tried adding, --extra-filerefs=salt://zookeeper/map.jinja but didn't help
22:59 ninjada joined #salt
23:00 krymzon joined #salt
23:03 whytewolf humm. how do you use a custom module with salt-ssh [never worked with salt-ssh really]
23:06 anotherZero joined #salt
23:06 pipps joined #salt
23:08 flowstate joined #salt
23:10 pipps99 joined #salt
23:15 shanemhansen joined #salt
23:15 pipps joined #salt
23:19 Edgan whytewolf: I used your _modules method
23:20 whytewolf humm, that isn't working for me
23:20 whytewolf strange.
23:20 Edgan whytewolf: I definitely use _grains for grains with salt-ssh
23:20 Edgan whytewolf: _modules is new to me
23:23 onlyanegg joined #salt
23:23 ninjada joined #salt
23:26 whytewolf humm :/ maybe something is wrong with my roster then
23:26 edrocks joined #salt
23:28 whytewolf are you setting thin_dir?
23:31 coval3nce joined #salt
23:32 Edgan no
23:32 coval3nce hmm, is ‚Äútop_file_merging_strategy‚ÄĚ actually implemented? ¬†Searching the code base i see code for grabbing the option, just not where its actually used.
23:32 whytewolf :/ then i have no idea why i can't even get this to run
23:33 Edgan coval3nce: I have seen github issues about this
23:33 coval3nce Just started searching for it.  Essentially I am trying to see whee i’d implement a “pillar_top_file_merging_strategy"
23:33 coval3nce Was looking to see how this other one was implemented first.
23:36 pipps joined #salt
23:37 coval3nce Hmm, maybe its ripped out in Develop branch
23:41 west575 joined #salt
23:42 jeddi joined #salt
23:43 whytewolf okay, I have no idea. I see with -l debug that it sees the module. but it is not lazyloading it
23:43 pipps joined #salt
23:44 scsinutz joined #salt
23:51 coval3nce Seems that git_pillar implements the looping of all configured github environments itself
23:52 coval3nce So any such option would have to be implemented as a specific git_pillar option probably

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