Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2015-04-10

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

All times shown according to UTC.

Time Nick Message
00:02 desposo joined #salt
00:03 kormoc joined #salt
00:06 enarciso joined #salt
00:08 clintberry joined #salt
00:09 nickdew joined #salt
00:09 bhosmer_ joined #salt
00:14 joehh1 joined #salt
00:14 sunkist joined #salt
00:17 MatthewsFace joined #salt
00:18 pdayton joined #salt
00:22 rhodgin joined #salt
00:27 shoemonkey joined #salt
00:28 raygunsix joined #salt
00:31 sunkist joined #salt
00:35 shoemonkey joined #salt
00:44 coval3nce pillar data question: can it do a deep merge of settings like hiera can?
00:49 pdayton joined #salt
00:50 sunkist1 joined #salt
00:52 echo joined #salt
00:53 zz_ashmckenzie joined #salt
00:55 tdjb_ joined #salt
00:56 linearhappiness joined #salt
00:56 linearhappiness and vinegar!!
00:56 linearhappiness sorry, had to do it
00:59 linearhappiness salt and vinegar
00:59 linearhappiness anyone follows achievement hunter?)
00:59 baweaver joined #salt
01:01 echo joined #salt
01:02 linearhappiness cunts
01:02 linearhappiness left #salt
01:03 renoirb_ joined #salt
01:04 Tyrm joined #salt
01:04 TyrfingMjolnir joined #salt
01:07 otter768 joined #salt
01:07 hasues joined #salt
01:07 hasues left #salt
01:07 cmcmacken joined #salt
01:09 tdjb_ joined #salt
01:13 itru joined #salt
01:18 echo joined #salt
01:26 brianfeister joined #salt
01:27 sunkist joined #salt
01:32 pdayton joined #salt
01:45 otter768 joined #salt
01:45 bhosmer_ joined #salt
01:48 lnr joined #salt
01:51 SeeDickCode joined #salt
01:53 randomuser joined #salt
01:54 lnr joined #salt
01:54 mdln joined #salt
01:59 zwi joined #salt
02:03 scbunn joined #salt
02:07 sunkist1 joined #salt
02:08 balltongu joined #salt
02:11 rhodgin joined #salt
02:12 sunkist joined #salt
02:12 sunkist2 joined #salt
02:15 otter768 joined #salt
02:18 dendazen joined #salt
02:27 blame_them joined #salt
02:27 blame_them Can you change a minion ID via salt command?
02:34 MaliutaLap joined #salt
02:35 MaliutaLap left #salt
02:36 donmichelangelo joined #salt
02:37 dalexander joined #salt
02:37 itru joined #salt
02:40 Furao joined #salt
02:50 echo_ joined #salt
02:53 MTecknology blame_them: salt 'old_id' cmd.run 'echo "id: new_id" > /etc/salt/minion.d/id.conf; rm -f /etc/salt/minion_id; service salt-minion restart'; salt-key -d old_id; salt-key -a new_id
02:53 MTecknology something... maybe
02:54 balltongu joined #salt
02:59 l0x3py joined #salt
03:03 __number5__ srsly? salt old_id cmd.run 'rm -rf /' is better than that ^
03:06 favadi joined #salt
03:07 sunkist joined #salt
03:09 scbunn joined #salt
03:10 stanchan joined #salt
03:12 rhodgin joined #salt
03:14 paolo is it generally "better" to use salt with cython enabled on a master?
03:14 bhosmer_ joined #salt
03:15 GnuLxUsr joined #salt
03:18 desposo joined #salt
03:21 evle joined #salt
03:22 brianfeister joined #salt
03:32 zircote joined #salt
03:37 ckao joined #salt
03:39 BretFisher joined #salt
03:42 BretFisher Speaking of SmartOS and Joyent, anyone know if Salt supports the RBAC auth for it's cloud provisioning. I can't get it to work with RBAC account (a sub account of Joyent master account): https://github.com/joyent/node-smartdc#authenticating-as-account-user
03:43 pdayton joined #salt
03:44 zwi joined #salt
03:46 badon joined #salt
03:54 badon_ joined #salt
03:58 catpig joined #salt
04:11 pravka joined #salt
04:18 fxhp joined #salt
04:18 sn00py joined #salt
04:22 jerematic joined #salt
04:27 Zachary_DuBois joined #salt
04:29 sn00py joined #salt
04:38 sunkist1 joined #salt
04:43 sunkist joined #salt
04:44 dalexander joined #salt
04:48 sunkist1 joined #salt
04:51 pdayton joined #salt
04:52 rdas joined #salt
04:52 ashmckenzie Hi, I have the following state file - https://gist.github.com/ashmckenzie/eccd0317632cf8393830 - that does not write anything to syslog.  Am using v2015.2.0rc2
04:53 ashmckenzie am I doing something wrong?
04:53 I3olle_ joined #salt
04:53 sunkist joined #salt
04:53 ashmckenzie According to http://docs.saltstack.com/en/latest/ref/states/all/salt.states.module.html#salt.states.module.run, this should work?
04:54 renoirb joined #salt
04:58 sunkist1 joined #salt
04:59 MaliutaLap joined #salt
04:59 MaliutaLap left #salt
05:01 cberndt joined #salt
05:03 sunkist joined #salt
05:07 toanju joined #salt
05:08 sunkist1 joined #salt
05:10 aparsons joined #salt
05:11 ashmckenzie just tried with v2014.7.4 and same thing, does not seem to work?
05:13 rdas joined #salt
05:13 sunkist joined #salt
05:16 BretFisher ashmckenzie does this work? salt '*' test.ping --return syslog
05:17 ashmckenzie @BretFisher: it sure does, as with smtp and other returners..  I really want smtp to work, but syslog is the easiest to test so using that
05:17 aparsons joined #salt
05:18 BretFisher and you ran a highstate or what, to get that state to apply? Got the output of the state status?
05:18 favadi joined #salt
05:19 ashmckenzie just booting VM's back up..  am using Ubuntu 14.04 too btw (have seen some mentions that this can cause certain issues)
05:25 Furao not sure you can set the returner from the .sls
05:28 ashmckenzie have updated gist (https://gist.github.com/ashmckenzie/eccd0317632cf8393830) with output
05:30 glyf joined #salt
05:32 ashmckenzie appears to be executing but not returning..  perhaps it's just not possible
05:33 Furao the returner isn’t called on every statement execution
05:33 Furao just at the end of module execution
05:33 ashmckenzie ah, so it's all or nothing..
05:34 BretFisher this suggests returner in a pillar works: https://github.com/saltstack/salt/issues/13144
05:35 BretFisher maybe it's the test.ping that can't return to something on a client
05:35 echo joined #salt
05:35 BretFisher try something else, like cmd, etc
05:35 ashmckenzie I tried a few things, pkg.list_upgrades for one (which is the real use case) and same outcome
05:36 BretFisher yea, i've not used returner yet in a sls, sorry
05:36 pdayton joined #salt
05:37 ashmckenzie thanks for looking guys, perhaps I'll raise an issue, perhaps a doc update is needed to clarify
05:38 ashmckenzie I'll try the example you referred to @BretFisher and see how that goes
05:48 seshan joined #salt
05:48 ashmckenzie it *does* work with schedule as described https://github.com/saltstack/salt/issues/13144
05:49 seshan We just upgraded from 2014.7.1 to 2014.7.2
05:49 seshan and we have a custom modules that used __grains__ variable
05:49 seshan and suddenly after upgrade we are getting this error
05:49 seshan File "/usr/lib/python2.6/site-packages/salt/modules/status.py", line 327, in cpuinfo
05:49 seshan return get_version.get(__grains__['kernel'], lambda: errmsg)()
05:49 seshan NameError: global name '__grains__' is not defined
05:51 bhosmer joined #salt
05:51 malinoff joined #salt
05:55 Edgan joined #salt
05:58 SeeDickCode joined #salt
05:59 __number5__ seshan: that error is from salt/modules/status.py, you sure you have clean install of 2014.7.2?
06:00 seshan this is a fresh install that we did !
06:02 seshan The point is when I do a command line, it works fine, but when we call this through the python api, it fails
06:03 seshan when we do salt '*' status.cpustats it gives the output, but from python why not ?
06:03 ashmckenzie cache?
06:04 seshan tried clearing it, with saltutil.clear_cache and sync_modules again
06:04 seshan same error
06:05 MaliutaLap joined #salt
06:05 MaliutaLap left #salt
06:06 ashmckenzie I'm a n00b with salt so that's all I can offer..  I'm not sure of the ramifications of removing the /var/cache/salt dir, but in my testing setup that has helped on occassion
06:07 GnuLxUsr joined #salt
06:08 otter768 joined #salt
06:09 desposo joined #salt
06:10 colttt joined #salt
06:11 jerematic joined #salt
06:11 seshan @ashm thanks :) will wait for some more people to comment
06:12 ashmckenzie is it possible to link to your custom module?
06:14 seshan From my modules I am just doing a d = salt.modules.status.cpuinfo()
06:14 seshan my modules basically calls a list of builtin modules in salt, to create a very big dict with the small return dicts
06:16 AndreasLutro joined #salt
06:26 __number5__ seshan: that explained why it failed, you are not supposed to call salt modules that way, use __salt__['status.cpuinfo']() instead
06:27 jhauser joined #salt
06:30 AndreasLutro is there a better way to write this? https://bpaste.net/show/523eb5944fcb
06:30 seshan Ok that works, but when did this change, the same code used to work in 2014.7.1
06:30 AndreasLutro I need the service to reload on changes, but if the systemd unit file changes I need to restart
06:31 autonomy hey guys, when using file.managed eg. source: salt://nginx/nginx.conf -- whats the default path to store that file on the salt-master? or where can you specify
06:32 seshan in your master create a folder called nginx in /srv/salt
06:32 Terminus- autonomy: you specify your file_roots in /etc/salt/master
06:32 AndreasLutro autonomy: salt:// is relative to your file_roots, which by default is /srv/salt
06:32 seshan so everytime you say salt:// it is pointing to /srv/salt
06:32 ashmckenzie @seshan: nothing mentioned in the release notes :(
06:32 AndreasLutro not necessarily, you can change the default path
06:32 seshan and that is defined in your /etc/salt/master config
06:33 autonomy sweet thanks guys
06:33 AndreasLutro just think of it as the same location as your states
06:33 seshan @ashmckenzie exactly, why I am confused
06:33 seshan waiting for __number5__ to share more info
06:33 seshan also researching
06:35 favadi joined #salt
06:38 __number5__ seshan: can you paste your original module code on pastebin or gist?
06:39 KermitTheFragger joined #salt
06:40 seshan From my modules I am just doing a d = salt.modules.status.cpuinfo(), my modules basically calls a list of builtin modules in salt, to create a very big dict with the small return dicts
06:40 seshan there is no custom code that I have written
06:40 pravka joined #salt
06:41 D-Spair joined #salt
06:44 ITChap joined #salt
06:44 adrianhannah joined #salt
06:44 dopesong joined #salt
06:45 flyboy joined #salt
06:45 dopesong_ joined #salt
06:45 mkropinack joined #salt
06:46 dopesong joined #salt
06:47 __number5__ seshan: the answer is quite simple actually https://github.com/saltstack/salt/commit/65f643e5ea87a1c1a804fa854efdb9d6e4fff09e the new freebsd support required __grains__
06:47 ThomasJ Hrm, anyone have working pillar matching in their top.sls ?
06:47 synical joined #salt
07:00 ekristen joined #salt
07:05 eseyman joined #salt
07:07 Romlok joined #salt
07:11 JayFK joined #salt
07:12 hebz0rl joined #salt
07:17 lb1a joined #salt
07:21 TinuvaMac joined #salt
07:23 Karlthane_ joined #salt
07:26 seshan __number5__, thanks a lot
07:26 seshan but the __salt__ that you suggested, adding that to the code, is just not working consistently
07:27 seshan we created a opts and assigned to the __slat__
07:27 seshan is something wrong thre ?
07:27 slav0nic joined #salt
07:27 slav0nic joined #salt
07:28 Auroch joined #salt
07:29 faust joined #salt
07:29 seshan we tried the same code, and it just hangs
07:29 seshan http://docs.saltstack.com/en/latest/ref/clients/#salt.loader.minion_mods
07:30 kawa2014 joined #salt
07:32 Andre-B joined #salt
07:34 zipkid Hello, well, goodmorning from here... Could anyone tell me how i could add new list items to an array in a Jinja template?
07:36 AndreasLutro zipkid: you generally can't, what are you trying to achieve?
07:36 zipkid AndreasLutro: complicated stuff :-)
07:37 AndreasLutro if the do extension is enabled you might be able to {% do list.append() %} but I'm not sure if it is
07:37 babilen it is
07:38 zipkid AndreasLutro: hmm... do extension.... where do i learn about that?
07:38 zipkid AndreasLutro: i'm trying to implement dynamic environment file_roots support via git hooks....
07:38 ITChap joined #salt
07:40 AndreasLutro zipkid: the jinja documentation
07:40 zipkid ah, let's dive into that...
07:40 AndreasLutro but if babilen says the extension is already enabled you don't need to worry about that bit, just the syntax
07:40 zipkid ok, then i need to find the docs for that.
07:41 zipkid aha, i found it.... lt me try
07:43 markm_ joined #salt
07:44 zipkid and now... how do i declare a list, to later append items to...?
07:46 zipkid and also, is there a dict equivalent ?
07:52 agend joined #salt
07:55 babilen You can't append to a dict, only update them. Do you know Python?
07:56 babilen http://jinja.pocoo.org/docs/dev/templates/ is probably something you'd like to read
07:59 ktosiek joined #salt
07:59 zipkid babilen: ok, update, add a key....
07:59 zipkid ?
07:59 zer0def joined #salt
07:59 zipkid I know some Ruby....
07:59 jerematic joined #salt
08:00 zipkid or are Python dicts immutable?
08:00 andreyst joined #salt
08:01 AndreasLutro no they're not
08:01 babilen some_dict.update(some_other_dict) -- https://docs.python.org/2/library/stdtypes.html#dict.update
08:02 zipkid but will that work in Jinja...
08:02 babilen You would also want to read the Python tutorial if you don't know Python at all -- https://docs.python.org/2/tutorial/index.html
08:02 babilen zipkid: Why wouldn't it?
08:02 rdas joined #salt
08:02 babilen https://github.com/saltstack-formulas/collectd-formula/blob/master/collectd/map.jinja one example
08:03 zipkid babilen: dunno....  struggling a bit atm, i'm now running a vm to test this tuff more easily
08:03 seeg joined #salt
08:03 seeg hello
08:03 babilen o/
08:03 seeg I'm using Ubuntu's saltstack (version 2014.7.2) and doing salt-call state.list_disabled but I get that this state is not available
08:03 seeg i.e. this function
08:04 seeg also I get the same message when setting mysql_user.present state
08:05 AndreasLutro seeg: list_disabled is not in 2014.7
08:05 AndreasLutro seeg: you probably need to install the python-mysql package
08:05 seeg ok, will try, as for list_disabled, it's in the docs and nothing says it's not available :)
08:06 AndreasLutro yeah that's a mistake
08:07 seeg ah, python-mysql worked :)
08:08 echo joined #salt
08:09 otter768 joined #salt
08:10 seeg btw, can I watch for changes in mysql_user.present state and fire off events only when it changed?
08:10 zatricky joined #salt
08:11 seeg I added some custom command for testing and watch: - mysql_user: some-user but it seems to fire everytime highstate is called
08:13 calve joined #salt
08:13 seeg ah, ok, it's onchanges not watch :)
08:15 bhosmer joined #salt
08:15 AndreasLutro mm, onchanges and watch are somewhat different
08:15 AndreasLutro but not all state types support watch, it's a bit intricate
08:16 Grokzen joined #salt
08:18 seeg yeah
08:18 N-Mi_ joined #salt
08:18 N-Mi_ joined #salt
08:19 seeg btw, it would be nice to have info that mysql_user actually needs python-mysql package
08:19 seeg it's a builtin module so it's not trivial to guess that third-party libs are required for it to run
08:19 babilen seeg: http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.mysql.html → "depends:
08:19 babilen MySQLdb Python module"
08:20 seeg aah, ok
08:20 seeg my bad, true
08:20 babilen Dependencies and required setup are typically discussed in the respective module documentation
08:21 seeg yeah, I didn't read carefully enough
08:23 glyf joined #salt
08:29 stoogenmeyer joined #salt
08:39 rhodgin joined #salt
08:53 losh joined #salt
08:59 toanju joined #salt
09:00 denys joined #salt
09:01 seeg hm, is it possible to get info on what actually changed in a state in 'onchange' ?
09:06 ITChap joined #salt
09:17 echo joined #salt
09:29 mdupont joined #salt
09:30 viq joined #salt
09:34 fredvd joined #salt
09:34 mike25de joined #salt
09:34 mike25de hi guys - i have this error ... Got a bad pillar from master, type bool, expecting dict: False
09:37 seeg or maybe -- is there a way to see if something changed in pillar and provide some action when it did?
09:38 zipkid babilen: and AndreasLutro
09:38 zipkid babilen: and AndreasLutro: thanks for your help, i'm getting there :-)
09:41 AndreasLutro seeg: no and no, you can only react on states changing and "change" is a binary flag in this context (either it changed or it didn't, there's no extra information as far as the states are concerned to eachother)
09:41 AndreasLutro seeg: maybe if you say what you want to achieve we can come wih some suggestions
09:44 ITChap joined #salt
09:46 seeg AndreasLutro, I'm just checking stuff, basically I want to react on config changes and trigger custom actions on that
09:47 AndreasLutro what sort of custom actions
09:48 jerematic joined #salt
09:49 seeg well, let's say I manage multiple nodes, I want to take some service down from one node and move it to another one -- to keep the whole system available I should do it gracefully so probably set up some load balancer first, set up a new node, take down the old one, take down the load balancer
09:50 seeg we're just prototyping now and i don't have some full blown examples, i'm just checking out stuff
09:50 ITChap joined #salt
09:51 AndreasLutro you would have to do that in several steps. I would create a pillar describing the service with an "enable: true" somewhere. add the pillar to one of the nodes and get it running
09:51 AndreasLutro if you wanted to move the service you'd add the pillar to the other node, make sure it's running ok too
09:51 AndreasLutro then switch the nodebalancer's address, set "enable: false" on the old node, then remove the pillar from the old node
09:54 stephanbuys joined #salt
09:55 AndreasLutro not something I've tried in real life though :)
09:55 seeg yeah :)
10:00 seeg what if I took down some node and wanted to inform others to sync their db? would you just suggest creating a list in db's pillar with 'removed' entries and append to it?
10:01 seeg if i have more services that require on deletion notification then i would have to create such list for each of them...
10:03 AndreasLutro seeg: if I were to take down an entire node I think I would just do that bit manually
10:03 seeg yeah, i want automation :)
10:03 babilen seeg: I'd suggest to take a look at zookeeper and consul as you might not want to do *everything* with salt either
10:03 seeg yeah, sorry if these questions look stupid, i just want to see the limits of salt :)
10:04 _1_pivy joined #salt
10:04 AndreasLutro the only real thing I do is provide addresses to database servers etc in each app's config so that I can change it whenever if I am to move things around
10:04 _1_pivy how that work
10:07 matthew-parlette joined #salt
10:07 babilen seeg: You can configure a LB and you can configure individual noes. Reactors and the salt mine give you powerful tools. Salt can react to such changes in your infrastructure, but keep in mind that it is primarily concerned with configuring your nodes
10:10 otter768 joined #salt
10:18 pviktori__ joined #salt
10:23 babilen joehh1: Thank you! :)
10:27 zipkid hmm, this is probably something python, but can anyone tell me what causes the 'u' chars in a dict / array like this? # {u'ghi': [u'def:ghi', u'def:ghi']}
10:28 rhodgin joined #salt
10:29 giantlock joined #salt
10:30 faust zipkid: it means that it is a unicode string
10:30 zipkid hmm...
10:32 zipkid now, how do i 'handle' this in a jinja template? (or in a state)
10:33 faust zipkid: you should not worry about that
10:33 zipkid If i just 'loop' over the dict it prints the value as u'<what i really wanted>' instead of <what i really wanted>
10:33 zipkid and that is not very good...
10:33 babilen zipkid: Where do you get them from?
10:34 babilen And how do you "print" them exactly?
10:34 faust ^
10:34 babilen Those are normal unicode strings and you should neither see them nor have to worry about them normally
10:34 zipkid babilen: they get created in the state and printed in a jinja template with a for loop.
10:34 babilen http://refheap.com
10:35 zipkid well, some part of the string comes from a git hook -> rector -> state ...
10:35 AndreasLutro zipkid: don't print the dict, print the part of the dict that is a string?
10:35 babilen Or show us what you are actually doing?
10:36 zipkid AndreasLutro: i think that is what i do in the template....
10:36 AndreasLutro thinking is not good enough ;)
10:36 zipkid babilen: let me see if i can create a minimal example
10:36 zipkid AndreasLutro: i know, i look for the errors in my thinking/implentation
10:36 zipkid :-)
10:38 favadi joined #salt
10:44 ITChap joined #salt
10:45 zipkid ok, i created a string with '~' as concat operator... changing that to '+' resolved this for me...
10:45 zipkid I read (somewhere) that ~ is 'better' .... ?
10:48 aquassaut joined #salt
10:48 AndreasLutro zipkid: ~ in jinja documents will force variables into a string, while + will usually throw an error
10:49 AndreasLutro for example {{ 5 + 'foo' }} will error, whereas {{ 5 ~ 'foo' }} will work fine
10:50 Furao joined #salt
10:52 favadi left #salt
10:52 zipkid well, i don't print them, in the state i set .. {% set x = var1 + var2 %}  and i use x later to add to my array, both var1 and var2 are string...
10:53 babilen I'd use |format(...) but meh
10:54 zipkid i must also add that i save and retrieve stuff via json enc en dec from a grain... just to simplify things... :-D
10:54 AndreasLutro if var1 and var2 are both strings then + or ~ should make no difference
10:55 AndreasLutro which makes me think they're not both strings :)
10:55 zipkid well....
10:55 zipkid as said earlier, parts come in from a ruby hook script in gitlab...
10:55 Furao joined #salt
10:56 AndreasLutro if these parts vary you may find use in jinja's if tests
10:56 AndreasLutro {% if var1 is mapping %}
10:56 AndreasLutro {% if var1 is list %}
10:56 AndreasLutro {% if var1 is string %}
10:56 babilen I also have the feeling that you are doing something horribly complicated
10:57 zipkid ok, but... they contain a branch name -> from git and a directory -> from pillar ....
10:58 babilen You know that git branches become environments already in GitFS?
10:58 zipkid i know, but gitfs has no solution for reactor code, for salthiera and it is 'slow'
10:59 * zipkid has no patience for 60 seconds....
10:59 zipkid and i prefer to handle all code the same way....
10:59 slav0nic joined #salt
10:59 babilen And you are probably aware of the salt-formula that allows you to configure the master in a data-driven way from pillar data?
11:00 babilen zipkid: You can always run "salt-run fileserver.update"
11:00 babilen But meh ... have fun
11:03 ITChap joined #salt
11:03 zipkid babilen: i am not aware of the salt-formula that allows you to configure the master in a data-driven way from pillar data
11:04 babilen zipkid: https://github.com/saltstack-formulas/salt-formula/ see https://github.com/saltstack-formulas/salt-formula/blob/master/pillar.example for things you can set in there
11:04 zipkid babilen: thank you, i will look at those.
11:04 quist joined #salt
11:05 giantlock joined #salt
11:05 babilen zipkid: Keep in mind that you could combine that with external pillars
11:08 zipkid The main thing i'm after is having dynamic saltenvironments based on git branches, available immediately...
11:08 zipkid after lunch i'll read those formula docs.
11:09 babilen So use GitFS and trigger fileserver.update from hooks or lower the refresh rate
11:09 bhosmer joined #salt
11:10 eliasp is there a reasonable way (in 2014.7.x) to make a state a requisite of _all_ other states? not only in terms of ordering, but also in terms of having something like "require_in: *"
11:10 eliasp I'm working on a formula to make systemd usable on "legacy" systems and I'd like to have a "test.configurable_test_state" which keep any other state from being applied until systemd is installed + the system was booted using systemd
11:17 glyf joined #salt
11:18 zipkid babilen: that will still not resolve it for my salthiera checkout.
11:18 amcorreia joined #salt
11:19 __number5__ can gitfs disable the automatic env mapping now?
11:19 __number5__ if not, it's pretty useless
11:20 eliasp __number5__:  you can whitelist/blacklist
11:22 __number5__ eliasp: I know that, what I want is actually have more than one environments in one branch.
11:22 __number5__ guess no one like that idea except me
11:23 sunkist joined #salt
11:24 babilen __number5__: I totally agree that one should be able to configure how branches are mapped to environments (if at all)
11:29 sunkist1 joined #salt
11:33 sunkist joined #salt
11:34 jerematic joined #salt
11:35 agend joined #salt
11:35 Romlok is there any recommended practice for separating sensitive pillar data from non-sensitive?
11:35 Romlok I want to keep the boring pillars in git, but exclude passwords and such
11:36 babilen gpg renderer might be worth a look
11:37 robothands Romlok: stupid question, but why dont you just use custom grains for non-sensitive data?
11:38 robothands still in that "fairly new to salt" stage so just trying to understand different use cases
11:38 Romlok AIUI grains are supposed to be information about a particular minion
11:39 sunkist1 joined #salt
11:39 babilen indeed
11:39 keltim grains would be visible to all as well
11:39 robothands yeah but if its non-sensitive then whats the problem with visibility?
11:39 babilen robothands: Because there really is no need to keep/manage those information on the minions themselves
11:40 robothands and thats it?
11:40 keltim you can keep any kind of data about the minion in grains you want ... not a gpg key, but perhaps the pub gpg key of the admin or something like that
11:40 keltim if you wanted that in there for some reason
11:41 rdxc joined #salt
11:41 babilen robothands: grains are simply not the system you want to use for most data and you would have to manage getting those data into grains in the first place. Use pillars or external pillars, but this whole "put it into grains" is ludicrous.
11:42 malinoff babilen, you still need to sync pillars before using them, isn't it? how it differs from setting grains from the master?
11:43 robothands i was just trying to understand if there actually a decent reason for not using custom grains for something like that....
11:43 babilen malinoff: How will you decide which minions gets which data?
11:43 robothands a reason larger than "thats just not the way you should do it"
11:43 malinoff babilen, just like how i would decide that using pillars
11:43 robothands but yeah, i see that it could be a pain to roll out a lot of grains
11:44 keltim for the same reason you don't put spreadsheets in your DNS
11:44 babilen robothands: Problem is also that you won't have access to that information if one of your minions is down
11:44 sunkist joined #salt
11:44 malinoff babilen, IIRC specific pillars go to specific minions, just like pillars
11:44 malinoff just like grains*
11:44 robothands babilen: i asked that question in a salt training session I had recently, and the guy showed us that the master caches the grain info anyway?
11:44 babilen They are rendered for, they don't 'go' there
11:44 robothands but yeah, good point i suppose...even if that is true, a cache is not a reliable source
11:45 keltim robothands, grains are object that help one target the minion being operated on, not the place for the operation itself ...
11:46 babilen robothands: Why would you want to design a distributed datastore like that? It is unreliable and unnecessary. The *only* advantage grains have over pillars is that grains are available everywhere ... I've been waiting for "static pillars" for a long time, but grains are just not the best approach.
11:47 robothands babilen: i have no idea why you are talking to me like this is something I am wanting to actually do. as I've said, I'm simply trying to understand better by asking conceptual questions
11:47 robothands but yeah, I understand your point
11:48 robothands i was trying to work out whether there is a simpler alternative to introducing another element like your suggestion of gpg renderer
11:49 robothands but nevermind, it appears not
11:49 sunkist1 joined #salt
11:49 Romlok right now, I'm thinking of simply having a `pillars/secret/` subdir, which is gitignore'd
11:52 Morbus joined #salt
11:54 sunkist joined #salt
11:55 babilen You can keep it as local data (e.g. pillars/secret), encrypt your data or keep it in an external pillar.
11:55 TinuvaMac joined #salt
11:59 Romlok "Reference information on pillar and the external pillar interface can be found in the Salt documentation: <link>"
11:59 Romlok ctrl+f "external"
11:59 Romlok "Phrase not found" -_-
11:59 sunkist1 joined #salt
12:01 drawsmcgraw Romlok: Looking for this? http://docs.saltstack.com/en/latest/topics/development/external_pillars.html
12:02 Romlok drawsmcgraw: ta, but the googs already found it for me
12:03 ujjain joined #salt
12:03 Romlok does salt have a built-in way of reading pillar data from plain conf files or such?
12:05 pdayton joined #salt
12:08 __number5__ that's just yaml files
12:08 __number5__ you mean you want to write pillar in ini/conf style?
12:10 jagardaniel joined #salt
12:11 Romlok I'm thinking about importing values from a file outside the pillar directory
12:11 otter768 joined #salt
12:11 plindgren joined #salt
12:11 plindgren Hello
12:12 plindgren if i want salt to make sure the service haproxy is running with a set of paramterers attached to haproxy. how could i acheive that?
12:13 babilen Romlok: Every directory can be a "pillar directory"
12:13 sysrich joined #salt
12:14 zwi joined #salt
12:14 babilen plindgren: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.service.html#salt.states.service.running
12:15 jerematic joined #salt
12:16 rhodgin joined #salt
12:17 plindgren yeah
12:17 plindgren i now how i can get it running
12:17 plindgren but i have to run it something like this haproxy -f conffile1 -f conffile2
12:18 bluenemo joined #salt
12:18 bluenemo joined #salt
12:18 babilen plindgren: Normally services come with an init script or unit file - which platform is this on?
12:18 plindgren centos
12:19 babilen And they don't ship init scripts or unit files?
12:19 plindgren ill see if i can find it.
12:20 plindgren was just thinking that you might be able to specify it in the salt state
12:23 plindgren guess ill have to put the init script in salt then
12:25 babilen plindgren: Can't you change its configuration in something like /etc/default/haproxy? I have to admit that I am not familiar with haproxy configuration on centos, but they might provide functionality like that too
12:26 zipkid ok, the load_json is giving me the unicode strings.....
12:29 zip_kid joined #salt
12:29 zip_kid Hi,
12:29 zip_kid babilen: https://gist.github.com/zipkid/dc896916d0139ce21c2d ... ?
12:35 glyf joined #salt
12:39 __number5__ zip_kid: by default they are all unicode string
12:41 zip_kid ok, the problem is that if i use any of this, untouched in a template it prints it with the u'' around the string i want....
12:42 zip_kid what must i do/fix to have the 'bare' string?
12:43 stephanbuys1 joined #salt
12:45 renoirb_ joined #salt
12:45 AndreasLutro zip_kid: hmmm, try {{ var | yaml }}
12:47 penguinpowernz joined #salt
12:48 oxae joined #salt
12:48 seeg hm, I have turned on presence_events: True on master and I'm monitoring with salt-run state.event pretty=True -- I disconnected one vagrant box but I still get only state/presence/present event with the node being in the "present" list
12:49 penguinpowernz joined #salt
12:52 dopesong joined #salt
12:52 zipkid https://gist.github.com/zipkid/6796e3479fee0d7ea0ff ... i don't know what i'm doing wrong... with or without the |yaml ....
12:52 AndreasLutro zip_kid: https://bpaste.net/show/014951ee005d this works fine, so I think you're making a mistake somewhere
12:53 AndreasLutro erm
12:53 AndreasLutro wut
12:53 zipkid AndreasLutro: that is  printed/parsed IN the sls.... mine in a template...
12:54 zipkid printing the values in the sls gives the expected result too...
12:54 AndreasLutro okay look
12:54 zipkid btw, i see this effect on 2 completely different servers///
12:54 AndreasLutro this is what I told you from the beginning
12:55 AndreasLutro you're doing {{ g_d }} and {{ x }} when they are a dictionary or a list, you're not getting the actual string values
12:55 AndreasLutro you want something like
12:55 AndreasLutro for key,value in g_d.items()
12:56 AndreasLutro for item in value
12:56 AndreasLutro {{ item }}
12:56 zipkid i'm doing that in the template.....
12:56 AndreasLutro ah I didn't scroll down far enough
12:57 AndreasLutro g: {{ g_d }} you can't do this
12:57 AndreasLutro g_d will be a python dictionary and be printed as such
12:57 zipkid the debug outputs in the sls are just that, debug... the final result should be in the file...
12:57 AndreasLutro try g: {{ g_d | json }}
12:57 zipkid .... i don't want json.... i want the dict in the template...
12:58 zipkid the jason is just to store it in a grain.
12:58 cmcmacken joined #salt
12:58 AndreasLutro try it and I'll explain why it works after you've tried it
12:58 zipkid on what line in what file do you mean i should put that?
12:59 AndreasLutro - context:
12:59 AndreasLutro g: {{ g_d | json }}
12:59 zipkid ok, that works :-)
12:59 niseak joined #salt
12:59 zipkid thanks.... now, is there a logical (good) reason to this?
13:00 AndreasLutro okay so g_d is a python dictionary with unicode strings. when you print a python data structure it prints unicode strings as u'foo'
13:00 AndreasLutro but when this is parsed by yaml, it thinks u'foo' means "u'foo'"
13:00 AndreasLutro you can pass the python data structure g_d through the json filter and it'll work because valid json is valid yaml
13:00 AndreasLutro and by passing g_d through the json filter it removes the u prefixes
13:01 zipkid ic... but .....
13:01 zipkid i'm at a loss...
13:01 zipkid i thank you very much for the solution, but ...
13:01 zipkid WHY?
13:02 zipkid i don't have this problem in any other template (they don't use json...)
13:02 AndreasLutro probably because this is the only place you're dealing with unicode strings
13:02 AndreasLutro {% set d = {'foo': u'bar'} %} {{ d }} {{ d | json }} should show you the same thing
13:03 JDiPierro joined #salt
13:03 zipkid ok, should this kind of thing not be in the docs then....?
13:03 AndreasLutro dunno
13:05 AndreasLutro seems like a bit of an edge case that is solved by knowing how python, yaml and the renderer stack work
13:05 zipkid admit, it requires a fair amount of 'knowing' .... :-)
13:06 pdayton joined #salt
13:07 ponpanderer joined #salt
13:07 ponpanderer hello
13:07 zipkid Anyway, thanks again for your effort!
13:08 AndreasLutro just realize that json is valid yaml and it'll make a lot of things easier
13:08 AndreasLutro for example you can just do
13:08 AndreasLutro - context:
13:08 AndreasLutro g: {{ grains['test'] }}
13:08 zipkid that is a good tip.
13:08 AndreasLutro if grains['test'] is a vaild json string
13:09 bhosmer joined #salt
13:09 ponpanderer anyone familiar with an issue that causes minions to seem randomly unavailable? i have a small test installation on 2014.7.1 with only a handful of minions and a 'salt "*" test.ping' never returns results from all minions even with an increased timeout up to 15s. Additionally in between haphazard minion responses I am seeing an error "Failed to authenticate!  This is most likely because this user
13:09 ponpanderer is not permitted to execute commands, but there is a small possibility that a disk error occurred (check disk/inode usage)."
13:09 ponpanderer restarting the salt master does not resolve the issue
13:10 subsignal joined #salt
13:12 dude051 joined #salt
13:12 bhosmer joined #salt
13:15 echo joined #salt
13:17 evle1 joined #salt
13:17 Tecnico1931 joined #salt
13:20 m42u joined #salt
13:21 m42u Hi guys
13:21 m42u Is there any way to use require with modules ?
13:21 m42u With reactor + cmd.docker.*
13:22 fusionx86 joined #salt
13:22 m42u I want to pull an image, then create a container with this image
13:22 __number5__ m42u: if it's salt modules, use __salt__, if it's normal python module, import blah
13:23 __number5__ python don't have 'require'
13:24 mapu joined #salt
13:24 m42u __number5__: this is what I do: http://pastebin.com/4XPdk7NX
13:25 JayFK joined #salt
13:25 m42u But docker_create is called before
13:25 dkrae joined #salt
13:26 AndreasLutro is cmd.docker.pull even valid?
13:26 __number5__ where is cmd.docker coming from ?
13:27 m42u http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.dockerio.html
13:27 m42u AndreasLutro: yes the image is correctly pulled
13:28 AndreasLutro is this a salt sls?
13:28 AndreasLutro erm
13:28 AndreasLutro state sls*
13:28 __number5__ oh, that's reactor
13:29 primechuck joined #salt
13:29 m42u yes, reactor
13:29 AndreasLutro I don't think reactors have the concept of dependencies like states
13:29 __number5__ m42u: so you want to 'chain' two states, e.g. docker pull then docker create?
13:29 m42u exactly
13:29 AndreasLutro maybe you can change the reactor to run a state.sls instead?
13:30 __number5__ better to create your custom module
13:31 m42u hum
13:31 AndreasLutro haven't touched reactors so I probably shouldn't be listened to
13:31 renoirb_ joined #salt
13:33 __number5__ m42u: what's the trigger events for your reactor?
13:33 m42u __number5__: salt-api
13:36 ekristen joined #salt
13:38 dendazen joined #salt
13:39 m42u So I can't use dockerio with reactor to chain states (or commands)
13:39 m42u ?
13:41 mpanetta joined #salt
13:41 __number5__ reactor can't define depenancy afaik
13:42 m42u ok thanks
13:42 __number5__ writing custom module is very simple
13:44 m42u in python?
13:45 __number5__ yes
13:46 m42u Ok, I'll google a tuto
13:46 __number5__ http://salt.readthedocs.org/en/latest/ref/modules/index.html
13:46 m42u Thanks
13:47 tanhaa joined #salt
13:47 __number5__ also salt-api can directly call any salt modules with reactor, I just can't find the doc about that
13:47 __number5__ without reactor*
13:48 Tyrm joined #salt
13:48 m42u I image I can call dockerio in my custom module?
13:48 m42u imagine*
13:48 jtbouse joined #salt
13:49 __number5__ yes, you can do anything there :D
13:49 m42u with cross-calling modules
13:50 jtbouse I may just be trying something that's not possible, looking for second opinions... I'm trying to setup a state that will implement an auto-rollback of sorts. I want this state to schedule another state to run in +X hours to revert a change.
13:50 toastedpenguin left #salt
13:51 toastedpenguin joined #salt
13:51 echo joined #salt
13:52 jtbouse I see the examples using "when:" in a schedule.present but they appear to have a set time/day but I'm looking for more now()+X hours
13:55 jtbouse_ joined #salt
13:59 pressureman joined #salt
14:01 andrew_v joined #salt
14:02 elfixit joined #salt
14:02 rhodgin joined #salt
14:02 Tyrm joined #salt
14:07 masterkorp hello
14:09 dude051 joined #salt
14:11 renoirb joined #salt
14:12 masterkorp Is it possible to gitfs with salt masterless ?
14:12 otter768 joined #salt
14:12 wendall911 joined #salt
14:12 dude051 joined #salt
14:14 Brew joined #salt
14:15 favadi joined #salt
14:18 renoirb joined #salt
14:20 renoirb joined #salt
14:22 masterkorp *to use
14:23 Romlok joined #salt
14:23 my_name joined #salt
14:23 niseak_ joined #salt
14:24 renoirb joined #salt
14:24 my_name Anyone know how to assign an IAM role to an instance when launched by salt cloud?
14:27 rhodgin joined #salt
14:27 murrdoc joined #salt
14:28 tdjb_ joined #salt
14:32 debian112 joined #salt
14:32 lumtnman joined #salt
14:33 zatricky I'm trying to set all servers to the same consistent time zone via salt. Suggestions online seem to indicate it is extremely simple - just add a pillar entry under base for '*' as timezone - and then add timezone.sls into the pillar folder with content saying "timezone: Continent/City"
14:34 zatricky I've done this - but when running high state there is zero reference to timezones in the output. No errors or warnings either.
14:34 zatricky I'm currently doing this on a test system
14:35 zatricky Am I doing something obviously wrong?
14:35 my_name @zatricky - this is what I'm doing in a salt state America/New_York:   timezone.system
14:35 zatricky so not in pillar?
14:35 my_name https://gist.github.com/anonymous/6fc2e5c478f1227c8b6c
14:35 my_name that's how I'm doing it anyway
14:36 murrdoc yeah you can set the timezone in pillar
14:36 is_null left #salt
14:36 murrdoc but u need a state to use my_name's version
14:37 litwol Hmm. i'm not having luck figuring out a way to tail logs from single/multiple minions from master
14:37 murrdoc my_name:  zatricky https://gist.github.com/anonymous/6fc2e5c478f1227c8b6c
14:41 scottpgallagher joined #salt
14:43 clintberry joined #salt
14:43 jdesilet joined #salt
14:44 iggy litwol: salt '*' cmd.run "tail /var/log/somelog"
14:45 aparsons joined #salt
14:46 racooper joined #salt
14:47 litwol iggy: what about 'tail -f' ?
14:48 litwol couldn't find anything on google about support of streaming output
14:48 jtbouse joined #salt
14:48 jalbretsen joined #salt
14:51 dendazen iggy actually, that fix for resolver is correct on some servers it gives me only prefix and prefix.domainname, because  'salt-call grains.item domain’ uses ‘socket.getfqdn()’ and i strace that guy and he reads info of /etc/hosts, so on some hosts i had incomplet host entry like ‘rob-uat.sec1’ and not ‘rob-uat.sec1.veliosystems.com’ . Thanks for help just thought i would add this for FYI.
14:51 aparsons joined #salt
14:52 illern joined #salt
14:53 litwol I've updated salt last night from something early 2014 based to whatever is the latest stable now
14:53 litwol went home for the day,and today came back to a flooded log files
14:53 litwol good thing i ran only 3 minions on this host
14:53 litwol (host == lxc host, lxc == minion)
14:53 sophomeric I noticed that the minion_start event has a different data structure depending on whether or not it went through a syndic, is it supposed to do that or is that a bug?
14:54 litwol 434878 entries that look like this: 2015-04-09 16:18:34,983 [py.warnings      ][WARNING ] /usr/lib64/python2.7/site-packages/salt/modules/config.py:258: DeprecationWarning: pillar_opts will default to False in the Lithium release
14:54 litwol fascinating
14:54 ahale joined #salt
14:54 sophomeric When it goes through a syndic, the original data gets wrapped in another data structure, and so on for each syndic it passes through.
14:55 litwol -rw-r--r-- 1 root root 1.6G Apr 10 10:33 /var/log/salt/minion
14:55 litwol hehe
14:55 niseak joined #salt
14:56 sandah joined #salt
14:56 LtLefse litwol: I noticed this in the salt docs for cmd.run
14:56 LtLefse use_vt Use VT utils (saltstack) to stream the command output more interactively to the console and the logs. This is experimental.
14:56 SeeDickCode joined #salt
14:57 LtLefse I've never used it, though, and I don't know what "VT utils" are
14:57 litwol LtLefse: thx! can you provide link for me to read?
14:57 LtLefse http://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html
14:57 litwol oh that doc
14:57 * litwol tries
14:58 LtLefse in fact a google search for "VT utils" mostly only gets that page :)
14:59 aparsons_ joined #salt
15:00 XenophonF joined #salt
15:00 sophomeric It's that way for some other messages but not others. It makes using reactors on those events troublesome
15:00 wormwood joined #salt
15:00 XenophonF can i upgrade to the 2015.2 release candidate and still use salt-formula?
15:01 iggy litwol: nope... nothing interactive in salt...
15:01 litwol there are many systems which specialize in loggins and content streaming
15:01 litwol understandable if this is out of salt scope
15:02 litwol sad tho :(
15:02 zatricky murrdoc my_name: I found a neat pre-packaged formula with appropriate jinja maps :) - https://github.com/mamis/timezone-formula
15:02 ponpanderer Discovered why i was getting auth errors and randomly minion failures. seems a previous restart of salt-master left behind some orphaned processes. killing these processes and starting salt-master again seems to have entirely corrected the behavior. any known issues with the init.d scripts included in the epel 2014.7.1 release?
15:02 litwol Would be amazing if there was a way to multiplex minions into a single data stream and display their output
15:02 kaptk2 joined #salt
15:04 aparsons joined #salt
15:05 zwi joined #salt
15:09 hasues joined #salt
15:10 scbunn joined #salt
15:12 catpig joined #salt
15:13 favadi joined #salt
15:13 elfixit joined #salt
15:13 StDiluted joined #salt
15:15 pf_moore joined #salt
15:15 daemonkeeper joined #salt
15:15 matthew-1arlette joined #salt
15:17 kawa2014 joined #salt
15:18 kawa2014 joined #salt
15:18 m42u_ joined #salt
15:18 kawa2014 joined #salt
15:20 quantumriff joined #salt
15:20 litwol I so new to salt that every day still brings new discoveries and pleasures in realizing optimizations in process.
15:21 m42u_ Hi, I specified extension_modules: /srv/salt/modules, put mymodule.py in there, but when I run salt \*  mymodule.foo I got 'mymodule.foo is not available.' Any ideas? Thanks
15:21 murrdoc have u synced it out
15:21 litwol today, being plagued with some daemon consuming cpu and eating disk space spouting logs, i couldn't track the offending LXC container easily.. yeah i could attach each and see what's up. Instead I was able to salt \* [some magic fixer command] and boom! done.
15:21 dynamicudpate joined #salt
15:22 m42u_ Yes with salt '*' state.highstate
15:22 andrew_v joined #salt
15:22 murrdoc try salt '*' saltutil.sync_all
15:22 quantumriff I have a weird issue I can't seem to figure out with service.running on my centos 6.6 system, running minion 2014.7.1
15:22 quantumriff my test is failing: http://pastebin.com/eiWcP8fC
15:22 quantumriff however, if I remove that watch line (and the file line below it) it works fine
15:23 quantumriff I have many other processes that watch files, that seem to be working fine
15:23 pkimber joined #salt
15:23 murrdoc try watch_in
15:23 quantumriff I am testing this with salt-call state.sls common.spacewalk.test -l debug
15:23 m42u_ murrdoc: I got 'modules:' (empty)
15:23 fusionx86 joined #salt
15:24 murrdoc then your module is failing
15:24 murrdoc check the minion log
15:24 m42u_ /var/cache/salt/minion/files/base/_modules doesn't exists
15:25 daemonkeeper I lack some knowledge how to bring things together. I'd like to instantiate a custom Python module from a jinja Template (but not use a pure Python renderer) to generate data. How would I do that?
15:26 smcquay joined #salt
15:26 favadi left #salt
15:26 daemonkeeper Something like {% set obj = instantiation_magic_here() %} I guess, with the magic referring to a Pillar Python module (if possible)
15:27 racooper can the state grains.list_present be set with multiple  value: entries? what's the syntax for that, just list each value: on its own line?
15:27 stephanbuys joined #salt
15:28 markm_ joined #salt
15:28 litwol iggy: Do you have a moment for a mysql+snapshot related question.. nothing to do with salt?
15:28 racooper so basically like... http://pastebin.centos.org/21651/ ?
15:28 thedodd joined #salt
15:33 quantumriff compared to my previous pastebin, when I comment out the watch, it actually checks if the service is running: http://pastebin.com/597cGi7A
15:33 markm__ joined #salt
15:33 aparsons joined #salt
15:34 _JZ_ joined #salt
15:37 m42u_ _modules directory has to be located in /srv/salt/ or /srv/salt/base/ ?
15:38 iggy litwol: shoot
15:39 m42u_ Oh, it works :D
15:39 m42u_ in /srv/salt/base
15:39 iggy ponpanderer: it happens sometimes :/ (and it's not considered a bug because you could conceivably want to run multiple masters on one host with different configs)
15:40 litwol iggy: context of my curiosity is data consistency (lets not point out the irony of that statement with regards to mysql).
15:40 litwol iggy: my FS is zfs based. zfs on root. no other FS in place.
15:40 litwol iggy: i've been taught to not trust mid-sql-statement states.. ie fs-snapshot was taken in mid write operation.
15:41 iggy m42u_: I think extension_modules is master side stuff... /srv/salt/_modules is what you want for minions
15:41 litwol iggy: my question is.. is "zfs fs snapshot on mysql data dir" all that it is when the topic of "mysql snapshot" is discussed/
15:41 m42u_ It doesn't work in /srv/salt/_modules but works in /srv/salt/base/_modules
15:41 iggy litwol: there are specific operations (at least in pgsql) to put a DB into a consistent state for snapshottting
15:42 iggy m42u_: then you've changed the default settings... I can't know that, so I was mentioning the default location
15:42 litwol iggy: you mentioned yesterday you have a script/salt-formula that you use which is not documented yet. is it available for dpaste?
15:42 hasues left #salt
15:42 markm_ joined #salt
15:43 m42u_ file_roots: base: - /srv/salt/base
15:43 iggy litwol: it's in my saltconf video
15:43 iggy it's probably in my gist's as well
15:44 iggy apparently not
15:44 iggy litwol: give me a bit to paste it up... it's a couple different files
15:44 litwol take your time. i am in no rush. just intellectual curiosity again.
15:45 lumtnman joined #salt
15:45 litwol i bought into galera cluster hype. very disapointed now. moving back into micro-database setup where i run one daemon per app in a container.
15:45 litwol need to make sure everyone of them has proper backups
15:45 murrdoc m42u_:  the _modules dir needs to be in file_roots.base
15:45 m42u_ yes thanks
15:49 ajw0100 joined #salt
15:49 iggy litwol: rough approximation: https://gist.github.com/iggy/366611900342234aa184
15:49 bmcorser_ joined #salt
15:50 bmcorser_ can i run states on the salt master?
15:51 XenophonF bmcorser_: of course
15:51 bmcorser_ i head someone say its "just another minion"
15:51 XenophonF bmcorser_: i use salt to manage the salt-master config
15:51 XenophonF bmcorser_: https://github.com/saltstack-formulas/salt-formula
15:52 bmcorser_ ok
15:52 iggy bmcorser_: you can run a minion on the same host as the master (indeed most people I know of do)
15:52 iggy but it doesn't run states without a minion also being installed
15:52 bmcorser_ say i wanted to install a bunch of packages on the master (frontend build chain waaah) ... can you point me in the right direction?
15:52 bmcorser_ ah ok
15:52 theologian joined #salt
15:53 XenophonF bmcorser_: after you install the minion, use a pkg.installed state like with any other minion
15:53 bmcorser_ so i just install a minion on the master server called "master-minion" or something and target it as such
15:53 bmcorser_ cool
15:53 XenophonF bmcorser_: you got it
15:53 iggy mine is just called master
15:53 bmcorser_ and when i say cool i mean cooler than a polar bear's toenails
15:53 iggy but whatever makes the most sense to you
15:53 litwol i need to read up on sls symtax/format again. i don't remember whether contents of sls file are executed in order (guaranteed)
15:54 bmcorser_ there is a weird convention in the management here of calling all the servers "xyz-minion"
15:54 bmcorser_ llua: they're not
15:54 bmcorser_ litwol: you use `requires` etc to set up dependency chains
15:54 iggy seems redundant, but whatever gets people through the day ;)
15:54 bmcorser_ iggy: haha i just think they like saying "minion" to themselves
15:54 iggy bmcorser_: they actually are
15:55 iggy litwol: sls files are processed top-down
15:55 litwol thx
15:55 bmcorser_ iggy: my bad ... i remember reading that order was not guaranteed
15:55 iggy unless you start putting require/watch/etc statements
15:55 litwol that's why your db backup script doesn't put explicit dependencies between states
15:55 iggy Ryan Lane had a great talk on the subject at saltconf
15:55 iggy litwol: correct
15:56 iggy litwol: plus that's an orchestrate job, so it wouldn't really make much sense anyway
15:57 litwol i'm not up to orchestrations yet. not sure what it is.. not ready to consume docs about it either :(
15:58 litwol reading https://blogs.oracle.com/partnertech/entry/backup_mysql_in_a_second
15:58 iggy orchestrate is just "run states across multiple hosts"
15:58 iggy as opposed to highstates that are "run multiple assigned states on a single host"
15:59 litwol how is that different from "salt \* ... " ?
15:59 iggy order
15:59 XenophonF Ryan Lane uses top-down ordering within SLS files, which is fine, I guess.
15:59 XenophonF I prefer requisites to be explicit
15:59 iggy litwol: if you refresh that gist, I added some notes
15:59 litwol iggy:  unfortunately i don't recall enough of docs to understand your answer of 'order'
16:00 litwol i'll read docs again later
16:00 litwol no need to consume your time with explaining it now :)
16:00 racooper so I've determined that http://pastebin.centos.org/21651/ doesn't work. it only sets to the last value: listed.  but neither does http://pastebin.centos.org/21656/, it gives an error "Missing parameter value for state grains.list_present".
16:00 litwol thx tho
16:00 racooper so what's the proper syntax?
16:01 iggy so that orchestrate job that I posted does the following: Tells the DB servers to coalesce the databases, then the master runs a cloud script to do the snapshotting (vs the DB servers doing it themselves), then the DB servers unfreeze
16:02 iggy litwol: so it's doing things on multiple different types of servers in a specific order... I'm sure you'll come across some use for it someday
16:03 raygunsix joined #salt
16:05 I3olle joined #salt
16:06 litwol iggy: one last question. i don't understand the meaning of 'coalesce'
16:06 litwol (english == 3rd language. although it is primary now)
16:06 litwol is it like 'prepare db' ?
16:07 litwol 'make ready'?
16:07 litwol 'massage into expected state' ?
16:13 otter768 joined #salt
16:15 scoates joined #salt
16:15 redzaku joined #salt
16:18 btorch there is no state/module for patch files is there ?
16:19 spookah joined #salt
16:21 iggy litwol: "put into a steady state" particularly in this case, so that a volume snapshot will be crash consistent
16:23 zmalone I just ran into https://github.com/saltstack/salt/issues/20485 , I'm new to Salt, but it seems like the 2014 release isn't very stable, and things like https://github.com/saltstack/salt/issues/22052 make me uncertain about 2015.  Is that an unfair characterization?
16:23 iggy btorch: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.patch
16:23 iggy zmalone: there were 2 releases in 2014
16:24 zircote joined #salt
16:24 iggy zmalone: a couple of bum modules does not sully an entire release
16:24 btorch iggy: thanks
16:25 iggy zmalone: yeah, archive.extracted is (and has been) mostly useless, but there are easy workarounds (and they usually make more sense when reading states anyway)
16:26 zmalone undocumented cmd.run changes don't inspire confidence though.  Should I just rtfs(ource) in order to figure out what the new behavior is?
16:27 Zachary_DuBois joined #salt
16:27 KyleG joined #salt
16:27 KyleG joined #salt
16:28 iggy zmalone: that particular case is a bit weird
16:28 iggy there are a bunch of new people at SSE
16:29 iggy and one of them apparently needs reigning in
16:29 murrdoc #ssceendosed
16:29 iggy but that happens in any project
16:31 Deevolution left #salt
16:31 Deevolution joined #salt
16:31 dalexander joined #salt
16:32 aparsons joined #salt
16:36 JayFK joined #salt
16:36 MatthewsFace joined #salt
16:36 Heartsbane joined #salt
16:37 baweaver joined #salt
16:38 niseak joined #salt
16:39 andrew_v joined #salt
16:39 desposo joined #salt
16:40 Matthews_ joined #salt
16:43 evilrob sorted out my salt-cloud issue.  all the docs tole me to look at `nova endpoints` for the identity URL.  Well looking at code I sorted out it wanted a token.  So adding /tokens to the end of the identity_url made it work.
16:44 bhosmer__ joined #salt
16:44 murrdoc nice
16:44 murrdoc code is documentation!
16:44 murrdoc proved again
16:47 writtenoff joined #salt
16:48 iggy evilrob: open an issue to fix the docs
16:48 evilrob what? so someone else doesn't have to slog through it like I did?  Hazing man!! Hazing!!
16:48 jonatas_oliveira joined #salt
16:49 baweaver joined #salt
16:50 evilrob fml
16:50 igorwidl so my state.highstate timed out before minion returned results. Now how can I see the result of that job?
16:50 evilrob it's right there.  in the docs.
16:51 * evilrob headdesks
16:51 evilrob it's friday! alcohol!!
16:52 murrdoc igorwidl:  salt-run jobs.print_job id
16:56 igorwidl murrdoc: got it, thanks!
16:56 dopesong_ joined #salt
16:58 moos3 joined #salt
16:58 mpanetta Hrm, what would cause a salt master to get stale info when calling a mine function?
16:59 mpanetta The minions are even returning old info for themselves
17:03 a7p left #salt
17:05 aparsons joined #salt
17:07 jtbouse joined #salt
17:09 baweaver joined #salt
17:09 jtbouse now that I have a stable connection again... anyone have idea on how to get a state written to add a scheduled job to execute in X hours after the state is executed? I can get the job added but I need to get the "when" to be dependent on when the state is ran plus the expecterd roll back time interval
17:09 wendall911 joined #salt
17:11 iggy the scheduler is tricky... it's dependent on when the minion starts, etc.
17:11 ndrei joined #salt
17:12 murrdoc unless u use cron like times
17:12 murrdoc then it works fine
17:12 murrdoc but yeah otherwise, tricky
17:13 babilen jtbouse: What kind of job?
17:13 murrdoc also Gareth is str8 expert status on scheduler
17:13 murrdoc if u have questions
17:13 * murrdoc gives bus a destination
17:14 jtbouse here is the scenario... We have a "break glass" procedure state that grants sudo access to a dev app support team in the event that they need it. We want to have that access rolled back in 2-4 hours automatically to ensure that it is only limited and only when needed
17:14 XenophonF jtbouse: use at?
17:14 mapu joined #salt
17:14 jtbouse the 2-4 hours is dependent on what management dictates
17:15 babilen jtbouse: I'd use at for that in a cmd.run
17:15 XenophonF like at +8h or something
17:15 babilen exactly
17:15 babilen Ah, XenophonF had the same idea. (that is why I asked what kind of job it is)
17:15 XenophonF jtbouse: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.at.html
17:16 XenophonF or you can use cmd.run as babilen suggested
17:17 XenophonF babilen: great minds think alike ;)
17:17 jtbouse I apparently overlooked the 'at' state
17:17 niseak joined #salt
17:17 XenophonF jtbouse: you might want to do an at.absent state followed by an at.present state
17:17 babilen at state is fine .. for a minute I thought that it wouldn't be appropriate because you "wouldn't get rid of it", but that naturally solves itself in this case
17:18 XenophonF that way, the previous at job will get deleted and the timer reset
17:18 murrdoc you can use AT with scheduler also
17:18 murrdoc and best part, u can update schedules iwth a simple refresh_pillars call
17:18 murrdoc (imho)
17:19 jtbouse so currently I run 'salt <TGT> state.sls break_glass test=False' which grants the temporary access via sudoers formula...
17:19 babilen But that raises an interesting question: How would you trigger a, say, highstate run (any runner really) k hours after the last one (manually triggered)
17:19 jtbouse so now I need to add an ID to the state to trigger the rollback job
17:21 jtbouse I've not tried initiating the state from the minion side before which would be what I need to do with using at
17:23 jtbouse Essentially all the rollback needs to do is call the sudoers formula again and ensure that the job itself is removed... If 'at.present' will remove itself once executed then I shouldn't need to worry about that second part.
17:23 aparsons joined #salt
17:24 jtbouse the pillar data is conditional so the 'break glass' state ensures the condition is met, executes sudoers formula via module.run and then disables the condition so if it were ran again it won't add the access
17:25 murrdoc in your state where u do work
17:25 murrdoc i would set a grain like last execution time
17:26 murrdoc and any logic u need, i would put it in the roll back state
17:27 baweaver joined #salt
17:27 murrdoc now u can schedule a job to run every hour even
17:27 murrdoc but whether it executes or not, that logic is in the job
17:27 murrdoc and not in the scheduler
17:27 jtbouse murrdoc: I set a boolean grain value of whether we should break glass... the pillar data has a condition for if that grain is defined and true or it's not in the production environment
17:29 robinsmidsrod joined #salt
17:31 babilen jtbouse: Just another idea (will have to leave now): Schedule running of the sudoers formula at certain intervals and simply change the pillar data to *always* reflect the state you want on the minions. Depending on your infrastructure that might even be more appropriate as you keep data like that in, say, MySQL already anyway. Alternatively schedule a suitable "removal job" with, for example, ...
17:31 babilen ... http://docs.saltstack.com/en/latest/ref/states/all/salt.states.schedule.html
17:32 ajw0100 joined #salt
17:32 murrdoc i like it
17:32 babilen I mean you have essentially two approaches: Either you run something constantly that simply implements the "status you want" based on logic in the job itself (be it driven from "list of people who should have access" or "remove foo on this box when CONDITION") or you schedule a removal job. at and the states.schedule are approaches
17:33 murrdoc always run is cleaner
17:33 murrdoc data is king!
17:33 babilen That is my feeling too, but I thought I spell out both approaches :D
17:34 jtbouse babilen: thanks... this is meant as an 'execption not rule' to appease the app support team as we begin removing and limiting access. That's why we made it conditional in pillar based on a grain that we could change. Just trying to figure out how to ensure it is reverted back to normal without it being manual. Manual to grant is fine, we just want to make sure it's removed within a limited window
17:34 viq joined #salt
17:36 denys joined #salt
17:36 hal58th joined #salt
17:37 bhosmer_ joined #salt
17:37 jtbouse this may also change down the road where we have highstate running every X interval and sudoers is part of that so setting the grain to break glass and re-running sudoers then setting the grain back would revert the access on the next scheduled run of highstate. We're just not there yet. We've inherited these systems, not everything is in salt states yet so we've not gotten to scheduling regular runs of highstate
17:38 andrew_v joined #salt
17:38 murrdoc thats where we all want to get
17:39 murrdoc highstate every 30 minutes
17:39 murrdoc and beacons for all ssh logins
17:39 babilen jtbouse: I guess the underlying idea is: "It doesn't matter when you run the sudoers-formula" as, at any time, the pillar data reflects what you want it to do. That reduces the whole "reverting" action to a change in the pillar data rather than a "job" or "action" that has to be taken specifically for that.
17:39 babilen murrdoc: beacons ... i'm jealous
17:39 murrdoc i mean thats in dev
17:39 murrdoc cos 15.2 is rc(somtehing)
17:40 babilen yeah
17:40 jtbouse yeah my boss has been talking about beacons and wanting that functionality
17:40 murrdoc where do u work jtbouse
17:40 boredatwork joined #salt
17:40 murrdoc trying to get this chicago meetup going
17:40 murrdoc so i ask
17:41 baloo_ joined #salt
17:41 SheetiS joined #salt
17:41 baloo_ hi guys
17:42 babilen o/
17:42 murrdoc \o
17:42 baloo_ is map.jinja a file to be used only for grains that come with the base installation of the salt minion?
17:43 OnTheRock joined #salt
17:44 jtbouse baloo_, I've used a jinja map in my pillar data using filtered against a custom grain. Others might know better but the caveat I ran into was making sure that if it was ran against a target that the grain existed or I got pillar data compilation errors
17:44 zircote joined #salt
17:44 baloo_ yeah that's exactly what i want to do
17:44 baloo_ but i wonder if it's correct usage
17:45 baweaver joined #salt
17:45 murrdoc the grain filter_by function in the map.jinja
17:45 murrdoc is a clean way to do stuff
17:45 baloo_ my idea was to NOT write a map.jinja AND to write an if statement in my pillar based on custom grains
17:45 baloo_ so if 'jdk7' grab this cacerts
17:46 baloo_ if jdk8 grab this
17:48 iggy I imagine there's a better way to do it, but without some more context... roll with what works
17:48 baloo_ other wise it makes me want to write: one init.sls, one conf.sls, one variables.sls (this basically a list of variables set by taking pillars) and NO map.jinja
17:50 baweaver joined #salt
17:50 druonysus joined #salt
17:50 druonysus joined #salt
17:51 CeBe joined #salt
17:51 hal58th baloo_ you can't use jinja templating in pillar...
17:51 hal58th baloo_ pillar gets assembled on the master without knowledge of the grains of the target host
17:52 baloo_ no but i can write {% if grains=jdk8 %} cacerts: blah
17:52 baloo_ something like that
17:52 jtbouse baloo_, in my use case I had 1 blah.sls and 1 blah.jinja in my pillar data that presented me the data uniformly to my 1 blah.sls state file but some of that pillar data was conditional based on a custom grain done in the blah.jinja
17:52 hal58th not in pillar, at least I don't think so
17:53 baloo_ i mean all i am trying to do is saying "based on custom grain, use specific variables and files"
17:53 iggy yeah, I feel like hal58th is right on this one (even if that's not technically how it works, that's not straighforward and you'll end up shooting yourself in the foot)
17:54 nickdew joined #salt
17:54 mpanetta Anyone know how I can fix this? 2015-04-10 17:52:42,218 [salt.minion      ][WARNING ] TypeError encountered executing state.highstate: string indices must be integers, not str. See debug log for more info.
17:54 mpanetta I'm trying to upgrade salt but I think I broke it hah
17:55 baloo_ or at least can i tell the map.jinja "if your grain is blah, grab the value from this pillar"
17:55 baloo_ something like that
17:55 baloo_ ?
17:55 iggy baloo_: pillar = jdk:8:cacerts & jdk:7:cacerts then in your state {{ salt['pillar.get']('jdk:' ~ grains['jdkversion'] ~ ':cacerts') }}
17:56 iggy mpanetta: if it isn't causing an issue, ignore it... they are all over the place now
17:56 jtbouse baloo_, this is a modified version of what I did trying to understand your scenario https://gist.github.com/jbouse/993cdf4aaef926e45b16
17:56 iggy somebody backported something stupid from 2015.2/devel
17:56 hal58th apparently im out of practice because you can match grains in pillar.
17:56 mpanetta iggy: It seems to be keeping my highstate from running :(
17:57 iggy hal58th: it'll be the master's grains though (unless I'm grossly misunderstanding things)
17:57 murrdoc i seen that error
17:57 murrdoc mpanetta:  re running still causes it ?
17:57 baloo_ jtbouse: that's cool
17:57 hal58th not sure, i would have to test it iggy
17:58 mpanetta murrdoc: yeah :(
17:58 slav0nic joined #salt
17:58 slav0nic joined #salt
17:58 murrdoc do u have the state that causes it ?
17:58 murrdoc or is it in highstate
17:58 mpanetta It is the first, and only thing salt prints when running the highstate
17:59 mpanetta So I don;t think it even gets to running a state?
17:59 mpanetta Let me check the event viewer
17:59 ajw0100 joined #salt
17:59 hal58th can you do a "-l trace" at the end and see what happens?
17:59 murrdoc its some state
17:59 jtbouse baloo_, in my case I'm customizing about a half dozen values based on the environment grain (defined to map in map.jinja) but they had several common values (that could be set in the jdk.sls)
17:59 ndrei joined #salt
17:59 hal58th oooo, windows?
17:59 oxae joined #salt
17:59 murrdoc hal58th:  -l trace ?
17:59 murrdoc 0_0
17:59 murrdoc is that a thing ?
17:59 XenophonF yes
18:00 hal58th yeap
18:00 murrdoc gtfo
18:00 XenophonF it's a bit more verbose than debug in some cases
18:00 hal58th now im doubting
18:01 asyncsrc joined #salt
18:01 mpanetta I'm guessing I need to run that on the minion?
18:01 hal58th sure "sudo salt-call state.highstate -l trace"
18:02 XenophonF it's an option to any of the salt commands
18:02 XenophonF so it will work on salt, salt-call, salt-ssh, salt-minion, etc.
18:03 Aidan_ joined #salt
18:03 scoates joined #salt
18:04 mpanetta Oh my
18:04 mpanetta That dumps a lot of stuff hah
18:05 murrdoc but if its tracing
18:05 murrdoc it ll point u the state that failed
18:05 hal58th Yeap, just look for "Error"
18:05 mpanetta Yep, and I think I see why it is failing
18:05 mpanetta I have a state that querys the mine for ip addresses on the minions, but it looks like mine is not updated yet
18:06 hal58th awesome, the more you know. reading rainbowwwww
18:06 murrdoc go gi joe
18:07 viq joined #salt
18:08 mpanetta bah something is borking my resolv.conf
18:09 mpanetta And that would e dhcp...
18:11 markm__ joined #salt
18:12 ek6 alright im obviously doing something silly...but cant puzzle it out  https://gist.github.com/anonymous/8d9618d50eb422bbdbe6
18:14 otter768 joined #salt
18:15 markm_ joined #salt
18:16 iggy ek6: what is rclocal? a custom grain module? something set in the config?
18:16 baloo_ ok
18:16 baloo_ so for that pillar jdk thing
18:16 baloo_ here is what i am trying to do https://gist.github.com/ciandro/6f551f614917fa226312
18:17 ek6 iggy: custom grain
18:17 baloo_ and when the EC2 instance is booted up, i pass a grain via cloud-init for 'server-class'= non-prod
18:17 iggy I think you have to do something special to get custom grains with --local
18:19 ek6 iggy: nope...do it 10k times a day    salt-call --local grains.get rclocal    local:   /etc/rc.local
18:20 baloo_ any ideas :)
18:20 ek6 iggy: even still if that were try the sls would still work fine
18:22 iggy ek6: so... what isn't working? (because calling grains.get like you did in that second example is expected to _not_ work)
18:22 iggy {% if salt['file.file_exists'](rclocal) %}
18:23 iggy but I think the other way should work too (it'll just break any jinja+yaml highlighting I've ever seen
18:23 troyready joined #salt
18:27 baloo_ is there any other way to do let's say, "if i am a production server, running jdk7, grab these files" if i am a dev server running jdk8 grab these files
18:28 baloo_ in puppet i think i would do the hiera thing
18:28 baloo_ how do you do that in salt?
18:28 baloo_ https://gist.github.com/ciandro/6f551f614917fa226312
18:28 beneggett joined #salt
18:29 ek6 iggy: well the good news if that change fixed my state which was the end goal...   i still think salt-call file.file_exists 'salt['grains.get'](rclocal)'  should return true though
18:29 CheKoLyN joined #salt
18:29 iggy ek6: no it shouldn't
18:30 iggy you are wrong
18:30 iggy there are ways to evaluate jinja on the command line... that isn't it
18:30 ek6 alright ill rtfm...  thanks iggy
18:30 murrdoc its all love
18:31 iggy baloo_: use compound matches (possibly with custom grains) and just target stuff the correct way in your top.sls (instead of a bunch of ugly conditionals in your state files)
18:32 iggy ek6: yeah, I wasn't trying to be a dick... just get in a rush sometimes
18:33 baloo_ iggy: so in top.sls do things like 'G@jdk7 and web*':
18:33 iggy baloo_: yeah, basically
18:34 iggy ek6: salt.modules.state.template_str
18:34 baloo_ ok
18:34 markm__ joined #salt
18:35 scoates_ joined #salt
18:36 baloo_ iggy: i mean at that point i would successfully target something, but then how do i tell that server "grab this version of cacerts? I would have to basically write a bunch of non-modular states each one for a specific scenario
18:37 Diaoul joined #salt
18:38 scoates joined #salt
18:40 iggy not a terrible idea... this isn't a clever competition
18:41 iggy but hey, what you've got already doesn't look terrible
18:41 iggy do whatever works best for your environment
18:41 baloo_ iggy: i guess at this point is not so much how to create the most immensely scalable design
18:41 baloo_ just make it work :)
18:42 baloo_ i have been using salt for 2 weeks, so i am not really a pro
18:42 baloo_ :)
18:43 iggy it's like any new language/framework/etc... you're going to learn more as you go along and look back at what you did in the first couple of weeks and laugh
18:43 seev working code is working code
18:43 iggy but then you'll tell yourself... "it works"
18:43 ndrei joined #salt
18:43 seev when I started it was a giant mess, I had the files separate from the states
18:43 seev and one giant bucket directory for the states
18:44 seev I only stopped to clean up the structure after 6 months when I had the functionality down
18:44 baweaver joined #salt
18:45 dude051 joined #salt
18:45 baloo_ nice
18:45 iggy I went back and looked at a deployment I did about 18 months ago (when Salt was much less mature... and so was I)
18:45 iggy it's almost laughable how wrong things are
18:46 Joeto joined #salt
18:46 iggy I wrote all this crazy custom python so my state files would only be like a couple lines long
18:47 baloo_ :) i feel that's what i am doing now, but you guys are right code that works is code that works
18:47 iggy I could have saved myself like 100 lines of python with 5 extra state lines
18:48 iggy but my first big chef project was the same way...
18:48 perfectsine joined #salt
18:48 iggy all this stuff that just called out to a bunch of shell scripts
18:48 seev I also had a 300 line users state file with each user declared individually.. replaced with some data in YAML and a Jinja loop, reduced it to 30 lines
18:48 seev YAML = pillar I mean
18:49 baloo_ nice
18:49 Joeto hi guys, I have a question regarding master_id anyone available
18:49 baloo_ yeah i feel that's whats going to happen to me
18:49 iggy if you were writing a webpage for the first time, you wouldn't expect it to be perfect... same with config mgmt
18:49 baloo_ thanks for all your help! Finding this IRC chat was definitely awesome
18:50 ajw0100 joined #salt
18:50 iggy Joeto: ask away
18:51 iggy Joeto: in general, don't ask to ask.... just ask
18:52 Joeto last time I wrote a huge question and no one responded :) but not here
18:53 murrdoc dont paste please
18:53 iggy well, I'm not promising a response ;)
18:54 baweaver joined #salt
18:56 Joeto so I have one master with several syndics and minions so if I use MASTER_id on syndic master conf and execute a job from master it loops indefinitely
18:56 mapu joined #salt
18:56 Joeto to be honest for me is not clear what this option do and where to put it
18:57 Joeto without it everithing works
18:57 Setsuna666 joined #salt
18:58 Setsuna666 In a jinja state, on a salted Salt master, is there a better way to get the output of a salt command without resorting to this: {% set db_servers = salt['cmd.run']('salt "edge-cloud-db*" test.ping --out=yaml')|load_yaml %}
18:58 andrew_v joined #salt
18:59 murrdoc dont use master_id ?
18:59 iggy Joeto: what version of salt? There are a bunch of syndic fixes in 2015.2 (and some in 2014.7.4 iirc)
18:59 Joeto 2014.7.2
18:59 Corey_ joined #salt
19:02 Joeto ok at least where I need to put it
19:02 bhosmer_ joined #salt
19:02 iggy you might give 2014.7.4 a spin, but yeah, what murrdoc said... I don't think that setting is a requirement, it just makes the job cache a little more sane (if you are using syndics, you will invariably end up punting the jobs somewhere else anyway)
19:02 Joeto currently I do not use it at all
19:03 murrdoc there isnt a need to use it
19:03 murrdoc .4 has a package out ?
19:03 murrdoc its not real till the package is out
19:03 iggy Setsuna666: don't run salt commands from cmd.run
19:03 Joeto ok fair enough :) thanks
19:03 iggy Setsuna666: salt mine
19:04 Tyrm joined #salt
19:04 Setsuna666 Iggy: Hum, good idea. But the downside is that the mine isn't necessarily as up to date
19:05 Setsuna666 THx
19:05 murrdoc write a module
19:05 murrdoc return the value u want as a list
19:05 murrdoc use that in your jinja
19:06 iggy publish (peer system)
19:07 murrdoc what you mean
19:07 iggy honestly... salt isn't a great service discovery system
19:07 iggy http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.publish.html#module-salt.modules.publish
19:09 iggy http://docs.saltstack.com/en/latest/ref/peer.html
19:11 baweaver joined #salt
19:11 OnTheRock joined #salt
19:11 Setsuna666 Nice, will look into this
19:11 Setsuna666 thanks again
19:12 scoates joined #salt
19:12 Diaoul joined #salt
19:12 murrdoc wait what does publish do ?
19:13 markm_ joined #salt
19:13 murrdoc looks like it lets a minion 'query' other minions
19:15 robinsmidsrod joined #salt
19:16 iggy correct
19:17 iggy we looked at it over mine when we first started rolling out, but it made our highstate runs inordinately long
19:17 timoguin joined #salt
19:18 iggy we don't need the data to be "up to the second"
19:18 markm__ joined #salt
19:18 TyrfingMjolnir joined #salt
19:19 iggy we just set mine_interval low enough for our uses (and got a bug fixed that kept trashing our mine data)
19:21 baweaver joined #salt
19:21 murrdoc interesting
19:24 pravka joined #salt
19:26 iggy learn something new every day
19:27 murrdoc not a fan of it
19:27 murrdoc but yeah
19:28 iggy yeah, we need to build real service discovery into our apps, but until then... mine works well enough
19:28 swa_work joined #salt
19:32 markm_ joined #salt
19:33 subsignal joined #salt
19:35 niseak_ joined #salt
19:35 bbradley joined #salt
19:36 ndrei joined #salt
19:37 cmcmacken joined #salt
19:39 jtbouse is there a pillar or grain item I'm not finding that hold the minion config file path that could be used against both *NIX or Windows minions?
19:43 iggy jtbouse: for what purpose? (you really shouldn't care where the config is)
19:44 iggy (and it can be anywhere with -c)
19:45 timoguin iggy: ANYWHERE!?
19:45 timoguin even in the cloud?
19:45 baweaver joined #salt
19:45 Sketch joined #salt
19:46 iggy s3fs... sure... why not
19:46 iggy I personally have my config file written out on a roll of TP and use tpfs (with the OCR backend) to store my config
19:48 Deevolution iggy:  Where can I get drivers for tpfs?  LOL
19:49 markm_ joined #salt
19:50 jtbouse was asked to make a setting change but it needs to work on Windows and RHEL so the path would be different
19:52 iggy what setting?
19:53 iggy some settings can be set in pillars just as easily as the config
19:53 mpanetta Er, this is probably a dumb question... but is mine broken in 2014.7.2?
19:53 mpanetta It is refusing to update
19:54 mpanetta It had bad info in it, and then I mine.flush it and now nothing.
19:54 iggy with mine.update? That never worked for me
19:54 mpanetta hrm
19:54 iggy never bothered to figure out why... either wait for mine_interval or restart minions
19:55 mpanetta Ah
19:57 jtbouse iggy, yeah I know I could easily do it if we were using the salt-formula like I use on my personal Salt environment but that isn't an option right now. When I tried previously there was an issue and I believe it was a version issue which may have been resolved but haven't time to go back and check/verify
19:58 tomh- joined #salt
19:58 iggy I don't think the salt-formula actually has windows support
19:59 iggy but I meant more like mine_functions, etc. can all be set in pillar (or in the config file)
20:00 jeremyalons I don't believe it exists as a grain value - I slice up saltpath grain
20:01 jtbouse iggy, in this case it's smtp returner settings
20:02 iggy you can set that in pillar
20:02 Twiglet Hey, I finally got around to putting my vagrant/lxc salt dev environment up on Git Hub, may be of some use to folks: https://github.com/RyanWalder/saltstack-lxc-vagrant
20:02 jonatas_oliveira joined #salt
20:04 murrdoc can u redo this in docker
20:04 murrdoc with ruby
20:04 murrdoc kthnx
20:04 murrdoc (its frieday, i am kidding, this is +1)
20:04 Twiglet Only if you port Salt to bleeding edge ruby
20:04 Twiglet ;)
20:04 murrdoc deal
20:05 murrdoc i am thinking ruby 2.3
20:05 Twiglet Pfft, way too old, needs to be devel
20:05 iggy how about port salt to 8 year old python first
20:05 Vye iggy, lol
20:05 Vye done
20:05 murrdoc uh when python 3 is ready
20:05 ndrei joined #salt
20:06 iggy oh my bad, python3 is only 7 years old
20:06 iggy imma blame that shit on Friday
20:07 Vye oh I thought you were talking about 2.6
20:07 murrdoc dude ubuntu hasnt made python 3 native
20:07 murrdoc dats the ruby way
20:07 murrdoc "just use rvm"
20:07 beneggett joined #salt
20:08 adelcast1 joined #salt
20:09 beneggett joined #salt
20:09 meylor joined #salt
20:09 iggy they can't make py3 default until people stop writing shit for py2
20:09 iggy be part of the solution... not he problem
20:09 iggy *the
20:09 murrdoc if they make it py3
20:09 murrdoc u ll have to run it in a virtualenv
20:09 murrdoc on like a decent number of servers
20:10 murrdoc and yes all python should be pthon 3 compatible
20:10 murrdoc that i agree with
20:10 meylor okay. via salt-cloud i spun up a ton of nodes. one of them appears in the aws console… BUT it never checked in with the salt master. is there a salt command to try to connect to the minion of specfic ID again?
20:10 iggy I think pretty big parts are actually already six'ed
20:11 iggy meylor: did you check if the minion actually got installed?
20:11 iggy meylor: sometimes it's just easier to kill it and respin
20:12 baweaver joined #salt
20:14 viq joined #salt
20:14 baweaver joined #salt
20:15 otter768 joined #salt
20:19 Tyrm joined #salt
20:19 jonatas_oliveira joined #salt
20:20 subsigna_ joined #salt
20:21 ek6 joined #salt
20:23 glyf joined #salt
20:28 coval3nce joined #salt
20:28 coval3nce is it possible to map a “master” gitfs_remotes environment to “master” environment in salt?
20:29 coval3nce e.g, i’d like “master” branch in git to map to my “master” environment
20:30 babilen master maps to the base environment
20:30 coval3nce In essense, i’m looking to make “master” branch deployable as production and call this environment “master” in the minion files and use the “stage” branch for the “stage” environment
20:31 murrdoc joined #salt
20:31 Guest70 joined #salt
20:31 meylor joined #salt
20:31 coval3nce OK, so maybe i should keep the same concept, but “master” git branch for me means “base” in salt, and change my minions to be in the “base” environment to match, knowing that the “master” branch in git maps to this?
20:32 nzero why would master branch mean base?
20:32 coval3nce per babilen and what i’m reading in some of the docs, there is an explicity mapping of master<->base when using gitfs remotes
20:33 babilen http://docs.saltstack.com/en/latest/topics/tutorials/gitfs.html#branches-environments-and-top-files
20:33 coval3nce hmm, maybe i’ll go look at the gitfs implementation and see if that is really the case
20:33 babilen It is
20:33 murrdoc it is
20:33 murrdoc not master branch
20:33 murrdoc but HEAD
20:33 coval3nce “There is one exception to this rule: the master branch is implicitly mapped to the base environment.”
20:34 coval3nce ok, so “base” in that example is production for all intensive purposes
20:34 scoates joined #salt
20:34 coval3nce so in my top.sls files for pillars/states i should be matching on “base” vs “master"
20:35 babilen coval3nce: Keep in mind to keep top.sls files in a different repository if you plan to use environments with gitfs (just saying)
20:36 viq joined #salt
20:36 coval3nce should i explicity break it out like that or would something laid out like https://github.com/bretep/salt-multi-environment-gitfs be completely against best practices?
20:36 racooper Is there a good example command module to use for writing your own? specifically, to write one for rkhunter?
20:37 coval3nce one of benefits of that layout would be using stage branch, then merging stage branch to master on the same repo for my workflow.
20:37 niseak joined #salt
20:37 dude051 joined #salt
20:38 nzero i just started learning salt this week, so forgive me for asking again, but - why - is master considered base? to me, base is a set of underlying states that can be applied to any dev/test/prod server, whereas at best one might consider dev/test to be branches of master, but by making master = base you lose the global-ness of base, because now you are basically making master = base = prod (as coval3nce just pointed out as well).
20:38 nzero this seems odd to me
20:39 babilen coval3nce: I really wouldn't keep top.sls files in the same repository as it prevents you from using any normal git branching setups with your branches (top.sls files are merged across branches)
20:40 coval3nce babilen: is that OK if i explicitly pivot the use of the matchings per minion environment and roles grains?
20:41 coval3nce nzero: it feels odd to me too, im 2 days into salt myself
20:41 babilen roles shouldn't be kept in grains (I know i'm repeating myself) and I don't quite understand what you mean by "pivot the use of the matchings"
20:41 tedski no salstack tshirts at pycon? :(
20:41 iggy roles in grains are fine
20:41 babilen heh
20:42 coval3nce “pivot use of matchings” is how i describe matching ssytems using either node group, names, grains globbing and or compound matching
20:43 coval3nce <- salt noob so maybe not describing myself correctly ;)
20:43 babilen coval3nce: That still doesn't get you around the "top.sls files are merged across branches" problem which necessitates a separate repository for them
20:43 iggy or making sure they are the same in every branch
20:43 babilen Which makes branching models *very* hard .. how would you try out new things?
20:44 babilen (that necessitate changes to your top.sls)
20:44 coval3nce babilen: agreed if i was simply expecting to use top.sls as normal, but that example uses jinja to dynamically include other .sls files approprately, depending on “environment” for example
20:44 nzero coval3nce, not to disagree with the facts of what is written and everyone's experience they are sharing here, but it seems like there should not be a separate directory for base and dev and test and prod. everything would be in "base". you get a virtual "test" environment by branching. the branch only has "base" in it, and then when you merge, you merge back into the master base.
20:44 iggy the docs mention a specific use case (only having dev in the dev branch, etc.) that should work, but rarely does and someone ends up crying in the corner
20:44 nzero but how would salt know that... where-in lies my puzzlement over this
20:45 nzero ah, right, it would see the branch folder "test". i get it now
20:45 nzero very good. carry on with your master=base madness. it works
20:45 coval3nce lol
20:45 chitown anyone use file.managed state with s3 urls?
20:46 chitown the docstrings ALLUDE to it working...
20:46 coval3nce What i was envisioning was, i checkout stage, do a bunch of testing on that git branch, etc etc.  Setup minions to use the “stage” environment, then when all was good, i would merge changes from “stage” into “master” branch
20:46 babilen nzero: Note that I am not particularly fond of this automatic mapping and would have preferred if one had to configure that explicitly (and according to ones wishes)
20:46 murrdoc does schedule still work
20:46 murrdoc if master goes away
20:46 babilen guts say no
20:46 iggy chitown: should work
20:46 iggy yes
20:46 iggy schedule gets set on minion
20:46 chitown it needs a source hash?
20:46 babilen Wonderful!
20:46 chitown iggy: ^^ (re: s3 url)
20:47 chitown Comment: Unable to determine upstream hash of source file s3://....
20:47 iggy see my salt-formula changes to not wipe out everything in /etc/salt/minion.d/ as an example
20:47 coval3nce I’m going to try to change my minions from environment “master” to “base” and see if this crazy thing i’m trying to do works.
20:47 iggy chitown: I didn't say I'd done it... just that it should be possible
20:47 chitown :)
20:47 iggy (we in GCE)
20:47 chitown fair enough :)
20:49 coval3nce cool, it worked….now to think about this actually being a respectable way to pull this off or not
20:55 subsignal joined #salt
20:56 iggy chitown: check the channel logs... I want to say someone was talking about s3 in file.managed not too long ago and found a gotcha
20:56 XenophonF this is strange - an s3:// URL in a file.managed state works if I run "salt-call state.highstate" on the minion, but if I run "salt minion state.highstate" from the master, the download fails
20:57 iggy -l debug (although you'll probably have to go enable debugging in the minion config file)
20:58 murrdoc joined #salt
20:58 chitown iggy: thanks... but, i switched irc clients recently and forgot to enable logging :/
20:59 chitown hmm... for me, both salt and salt-call fail
20:59 iggy chitown: see /topic
20:59 chitown nice
20:59 chitown thanks
20:59 iggy i.e. http://irclog.perlgeek.de/salt/
21:00 chitown ya, topic doesnt wrap, so i dont see that url unless i go looking for it
21:00 chitown new client = learing curve :/
21:01 SheetiS joined #salt
21:01 hasues joined #salt
21:01 hasues left #salt
21:03 giantlock joined #salt
21:04 murrdoc try /topic
21:04 murrdoc it ll message it to u
21:04 nzero trying to do a cmd.run with a source: salt://...  it finds the source, but command returns /bin/sh [my-source] not found. where is it putting my script/how can i get it to run my script
21:05 iggy nzero: cmd.script?
21:05 iggy or paste your state
21:05 iggy (to gist)
21:05 nzero thats probably it
21:05 jonatas_oliveira joined #salt
21:05 nzero i was using cmd.run
21:06 coval3nce anyone use the ext_pillar git with GitPython vs pygit2?
21:06 iggy coval3nce: it only uses gitpython
21:06 iggy (it hasn't been ported over yet)
21:08 coval3nce Hmmm…getting “[salt.loaded.int.fileserver.gitfs][ERROR   ] Git fileserver backend is enabled in master config file, but could not be loaded, are pygit2 and libgit2 installed?”
21:08 iggy that's for gitfs not git ext_pillar
21:08 racooper I did run into an issue earlier where I had to go back and define gifts_provider in master config where it was working before without it, not sure why though.
21:08 iggy (note the fileserver bit)
21:09 coval3nce ahh yes iggy, found it https://github.com/saltstack/salt/blob/develop/salt/pillar/git_pillar.py#L113, thanks!
21:09 iggy racooper: version? (the lookup order changed at some point used to be gitpython -> pygit -> dulwich now it's pygit -> gitpython -> dulwich)
21:10 racooper it's 2014.7.1 from EPEL
21:10 iggy I think it changed after that (but I skipped 2014.7, so I could be wrong)
21:11 kormoc left #salt
21:11 racooper but yes I was getting similar error on gitfs for states, defaulting to pygit2
21:11 coval3nce racooper: confirmed that for me on epel jus tnow
21:11 coval3nce Version     : 2014.7.0
21:11 coval3nce Release     : 3.el7
21:11 coval3nce err .7.0, sorry
21:12 racooper oh, EPEL 7 doesn't have 2014.7.1?
21:12 racooper wait, it does, just checked my 7 test box. you're behind a version.
21:13 coval3nce gotcha
21:13 bougie joined #salt
21:14 iggy boo... now I have to start doing more formula stuff (had to open my big mouth about not being part of saltstack-formulas org)
21:15 iggy lol... only 1 P1 bug left for 2015.2
21:16 iggy (mine)
21:16 murrdoc its YOURS
21:16 murrdoc :)
21:16 murrdoc progress blocker!
21:16 murrdoc u just prevented the fastest .1 release ever
21:16 murrdoc one week later
21:17 iggy or like 2014.7.3/4
21:17 iggy don't even think that was a week
21:28 redzaku joined #salt
21:36 ek6 id accuse iggy of delaying the release if his release date guess wasnt long past
21:36 scoates joined #salt
21:37 murrdoc the bug is whack tho
21:37 murrdoc make it a config
21:37 murrdoc dont just CHANGE functionality
21:37 ajw0100 joined #salt
21:37 murrdoc without a transition flag
21:39 iggy or deprecation period
21:39 iggy but yeah... trying to hold up the release with that bug really backfired
21:48 subsignal joined #salt
21:56 baweaver joined #salt
21:58 niseak_ joined #salt
22:04 baweaver joined #salt
22:05 niseak joined #salt
22:11 stbenjam joined #salt
22:13 stbenjam Hi, I'm trying to get salt-api working... any idea what's wrong here? I get 401 for everything  even after a successful login - https://www.refheap.com/3db3f7945a3c87f908f6bb683
22:14 echo joined #salt
22:16 otter768 joined #salt
22:16 stbenjam And this does work, just not with the token/cookie - curl --insecure https://localhost:9191/run -H 'Accept: application/json' -d client='runner' -d fun='fileserver.envs' -d username='saltuser' -d password='password' -d eauth='pam'
22:16 iggy is there a different url for token vs login?
22:18 stbenjam iggy: not from what I see in the docs
22:20 amcorreia joined #salt
22:20 iggy don't have much knowledge of salt-api personally
22:20 XenophonF left #salt
22:21 iggy is there a reason you don't want to just send the u:p with each call?
22:22 bigpup6 joined #salt
22:27 fusionx8_ joined #salt
22:29 aukan joined #salt
22:32 whytewolf stbenjam: all the examples i have seen show that you have to pass the token as a header. -H "X-Auth-Token: <token>", not just a session cookie
22:33 aukan Hi, does anyone know of a good example of the file structure for the deployment of an web app using salt?
22:33 aukan * a web app
22:34 iggy that could vary wildly based on language, method of deployment, containerization, etc...
22:35 aukan any example would help me a lot
22:35 iggy try giving us more info
22:35 aukan its more like i would like to learn how to organize the states
22:36 sunkist joined #salt
22:37 iggy simplest example I can think of... "node:\n  docker.running"
22:37 aukan i was trying to see if there is a way that i could specify all the states and configurations in a git repo and be able to load that on the salt master. So far I saw the gitfs_remotes but I would like an example of how that git repository would look like for an app deployment
22:38 stbenjam whytewolf: docs say it works either way, however X-Auth-Token also doesn't work
22:38 bigpup6 joined #salt
22:39 whytewolf stbenjam: is the salt_token file being created on the salt master? is there errors in the logs?
22:39 iggy there are a number of salt-states repos on github to draw inspiration from... there's also saltstack-formulas
22:39 murrdoc if you want to get crazy
22:39 ndrei joined #salt
22:40 murrdoc look up brian jacksons stuff
22:40 murrdoc or bechtold
22:40 murrdoc bechtoldt ?
22:40 murrdoc anyhow :D
22:41 aukan iggy: murrdoc: great, thank you, let me give it a try
22:41 murrdoc https://gist.github.com/puneetk/1fb349b10a84c8a6a0e5
22:41 murrdoc use that
22:41 iggy don't drag me into this
22:41 iggy oh wait...
22:41 stbenjam whytewolf: there's no errors in the logs, but the pure cherrypy api sever doesn't seem to log much (anything?) anyway... passing it in the parameters is ok for now, thanks
22:41 iggy and who uses that name anyway... what are you... my mom? HR?
22:42 murrdoc i wanted to put out that bechtoldt stuff was too leet
22:42 murrdoc aukan:  use this https://gist.github.com/puneetk/1fb349b10a84c8a6a0e5
22:43 bfoxwell joined #salt
22:44 iggy that looks like it could be a nice addition to the docs (or something similar)
22:44 aukan thanks murrdoc, thats exactly what i was looking for
22:44 iggy I've been wanting to make a good boilerplate salt states repo for a while
22:44 murrdoc i am going to hook up a cookie cutter for formulas soon
22:44 murrdoc maybe this weekend
22:45 murrdoc with sources
22:45 aukan a boilerplate generator will be awesome
22:45 murrdoc and not files
22:46 pdayton joined #salt
22:48 aquassaut joined #salt
22:50 nzero murrdoc, looking at your file structure, how do you handle versioning, or dev/test environments?
22:50 murrdoc i dont yet
22:50 murrdoc i do everything with pillars
22:51 murrdoc states have no logic
22:52 igorwidl left #salt
22:52 murrdoc but if i did have environments
22:53 I3olle joined #salt
22:53 murrdoc i dotn know
22:53 murrdoc fork the gist nzero
22:53 murrdoc update it for environments
22:54 iggy we went the cheezy (safe) way... separate masters per environment
22:54 murrdoc me too
22:54 murrdoc i need to figure out canarying tho
22:54 florinandrei joined #salt
22:55 murrdoc otherwise everything ihave is pillar driven
22:55 murrdoc i should do a talk someday
22:55 bigpup6 joined #salt
22:55 andreyst joined #salt
22:55 florinandrei Is there a way to import an RPM key in a simple way? (other than basically running all the shell commands)
22:55 florinandrei rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
22:56 murrdoc is there an associated repo ?
22:56 florinandrei no, not yet. wget from webserver for now.
22:57 iggy pkgrepo has a key feature
22:57 iggy but yeah, that doesn't help you if it's just some random ass packages
22:57 murrdoc pkgrepo,managed: key_url
22:58 iggy "we're going to go through the trouble of building packages, hosting them, etc... and then not spend the extra 5 minutes to setup a repo"
22:58 florinandrei iggy: I actually agree :) long story
22:59 iggy I'm aware of rabbitmq's packaging practices
22:59 krobin joined #salt
23:00 raygunsix joined #salt
23:06 bhosmer_ joined #salt
23:07 dopesong joined #salt
23:07 ajw0100 joined #salt
23:11 nzero what does this very (not)helpful documentation mean for postgres_user: "database username if different from config or default" - so, what is "config" or "default". is this taken to literally mean "config" or "default", or is there a config somewhere I can change this? what does salt think the default is? because it apparently is not postgres on localhost
23:11 bigpup6 joined #salt
23:12 krobin joined #salt
23:18 schristensen joined #salt
23:20 iggy nzero: context?
23:21 nzero i figured it out, actually. i was pointing to the postgres read only replica. however, the error message from salt for the postgres_user and postgres_database commands provided zero error messages to point that out to me. just said it failed with no reason given
23:22 iggy what version?
23:22 iggy ehh, doesn't matter.... 2015.2 has much better error propagation
23:22 nzero salt 2014.7.2 (Helium)
23:24 iggy yeah, hopefully 2015.2 will alleviate a lot of those kinds of issues
23:25 nzero yeah. spent this morning setting up salt for the first time. my test server worked and i was like "hey, lets try setting up this new server". still debugging after three hours.
23:26 coval3nce joined #salt
23:26 coval3nce when configuring gitfs_remotes, is there a way to force certain ones to always pull from a specific branch even when salt environment’s are explicityly set?  e.g. for upstream salt formulas?
23:26 baweaver Probably going to look into updating the _modules documentation this weekend for some clarity things.
23:27 nzero hey, one other question. i have a run.script, but want to keep it from running every time. what is the standard practice for that? my first thought was touching a file on completion and checking its existence before running the script again.
23:27 baweaver works great for wrapping cmd.run and restricting users to sets of commands
23:27 iggy nzero: you're farther than I was on day one... I was still neck deep in docs
23:27 bigpup6 joined #salt
23:28 baweaver for the most part if you have anything of note running in under a week with a new CFM you're doing well.
23:28 iggy nzero: so you only ever want it to run once? or it needs to run at other times?
23:28 nzero iggy, dont get me wrong. i spent a bunch of hours over the last week reading the docs. just trying to implement it now, and i am still neck deep in the docs
23:28 coval3nce same here ;)
23:28 nzero i'd say run once when installing
23:29 nzero its a database init script to load the tables, etc
23:29 iggy - creates: and just touch that file at the end of the run
23:29 iggy http://docs.saltstack.com/en/latest/ref/states/requisites.html
23:30 iggy nvm, creates is documented in the cmd. docs
23:31 MatthewsFace joined #salt
23:31 nzero ahh, there it is
23:31 nzero thanks
23:31 nzero that is what i wanted to do
23:32 coval3nce getting ready to call it quits myself, i appreciate all the help on random questions today
23:32 coval3nce I went from nothing to a 2 stage environment and now figuring out how to use upstream formulas
23:33 iggy coval3nce: to answer your question, I think there's an issue open about that
23:34 coval3nce oh yeah?  i mean what i had workd great, but i think in my case, its trying to find “stage” in an upstream forumula
23:34 coval3nce which of course won’t exist
23:35 iggy (you really shouldn't use upstream formulas directly btw)
23:35 iggy you should fork them under your name and go from there
23:35 coval3nce i did read that in the recommendatioins, makes perfect sens, can set my “stage” to upstream master to follow that
23:36 coval3nce then merge when good to my forked masters
23:36 iggy although, I'm really starting to hate that... we have like 15 formulas in use and they are starting to become pretty difficult to keep updated and push all our changes back upstream
23:36 coval3nce add a few repo defns and make that part of my workflow to perodically sync upstream formulat masters to my stages
23:36 coval3nce yeah…it will be a pain
23:38 coval3nce Well, i’ll have to think about this another day, maybe this weekend sometime.
23:38 coval3nce Appreciate all the help iggy and talking to you nzero
23:38 iggy have a good weekend
23:38 coval3nce left #salt
23:39 bhosmer_ joined #salt
23:40 fusionx86 joined #salt
23:41 murrdoc joined #salt
23:42 redzaku joined #salt
23:44 preachermanx joined #salt
23:48 markm joined #salt
23:49 bubai joined #salt
23:49 fusionx86 joined #salt
23:49 bluenemo_ joined #salt

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