Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2015-04-02

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

All times shown according to UTC.

Time Nick Message
00:03 spicyWith joined #salt
00:08 bfoxwell joined #salt
00:10 sk_0 i have an array in pillar 'redis_ports', in my init.sls i {% for redis_port in salt['pillar.get']('redises') %} and i have 'redis_port' available in my init.sls file but how do i make redis port available to the redis.conf template the the init.sls is maanging?
00:12 sk_0 sorry, typos. {% for redis_port in salt['pillar.get']('redis_ports') %}
00:18 TheLoeki joined #salt
00:18 dopesong joined #salt
00:20 jessie_ joined #salt
00:23 Amkread joined #salt
00:24 perfectsine_ joined #salt
00:31 rocket_ joined #salt
00:31 jobasjr joined #salt
00:31 jobasjr When trying to  system.set_computer_name the command hangs [Debug Logs: http://pastebin.com/aEwR0dza] Anyone face this before?
00:33 jessie_ anyone know how to change the master minion name
00:33 jessie_ fresh install going through states
00:35 jessie_ iggy:
00:37 sk_0 stop the minion deamon, edit minion file 'id:', rm pki/minion/minion_master.pem. on salt-master delete the minion. start salt-minion back up and except the key on the salt master. it should have the new id
00:37 sk_0 salt-key -d 'minion id'
00:37 sk_0 on the salt master
00:37 ajw0100_ joined #salt
00:38 sk_0 there might be a /etc/minion/minion_id file. if so delete it too
00:39 jessie_ justs thats a mess
00:39 jessie_ just installed default package with no pen file as of yet
00:39 jessie_ think it may be better me sorting out another vm for a minim
00:39 jessie_ minion ?
00:40 sk_0 ok, just edit the 'id:' in /etc/salt/minion and delete /etc/minion_id if it exists. restart salt-minion service
00:40 sk_0 you might want to stop minion service, make changes, start minion service.
00:41 kusams joined #salt
00:42 sk_0 on a new box, i make sure my boxes hostname is what i want and when the minion service comes up for the first time it sets its name to the hostname.
00:42 cheus joined #salt
00:43 jessie_ sk_0: noobie here just to clear the air. so i think a new box for now is best
00:43 jessie_ hostname can always be changed on a new instance anyways so i think thats the way forward here
00:44 jessie_ just didn't wanna mess with a new instance of master
00:44 diegows joined #salt
00:45 sk_0 na, play around with it. it's a good way to learn.
00:45 jessie_ gonna do the salt-cloud now to deploy, then there will be a minion...
00:45 ajw0100 joined #salt
00:46 jessie_ hopefully i can change hostname without hitting it
00:49 jessie_ sk_0: you around for long on irc ?
00:49 sk_0 probably not much longer
00:51 jessie_ ? debug command , output as it occurs
00:51 jessie_ .d# salt-cloud -p UB1 webserver [INFO    ] salt-cloud starting [ERROR   ] Profile UB1 is not defined Error:     Profile UB1 is not defined
00:52 Singularo joined #salt
00:54 sk_0 what is all that?
00:55 jessie_ working out why profile isn't defined for digital ocean
00:55 jessie_ will do a gist now
00:57 jessie_ https://gist.github.com/anonymous/e2eb31c8d09ff4b21d24
00:57 jessie_ if i could get a debug command i may be able to sort the issue
01:00 jessie_ sk_0: can you see the code
01:00 LeProvokateur joined #salt
01:01 sk_0 i can, you put you credentials in there! change them right away!
01:01 ITChap joined #salt
01:02 sk_0 people are scraping github and other sites for credentials like these. once they have them they start running shit on your servers
01:03 jessie_ there are no creeds in there
01:03 jessie_ its an exe
01:03 jessie_ with path
01:03 jessie_ ohhh...
01:03 sk_0 i haven't used salt-cloud so i'm not much help
01:03 jessie_ shhh
01:03 sk_0 haha
01:04 jessie_ lol api keys, its 2 am here
01:04 jessie_ deleted now
01:04 jessie_ oh wait whats this... 20 new vms on my subscription lol
01:04 jessie_ jokes
01:05 sk_0 haha, i'd change the keys.
01:05 jessie_ https://gist.github.com/anonymous/b2b07acabdccc6719dfe
01:05 jessie_ this is the actual error output
01:05 sk_0 they could have alreay got them.
01:05 gunzl1ng3r joined #salt
01:06 jessie_ nah it was private anyways
01:06 jessie_ any ideas around the errors
01:06 __number5__ jessie_: rename your D-Ubuntu file to D-Ubuntu.conf (it only loads *.conf)
01:06 sk_0 how is that private? i could see it
01:07 jessie_ because its a specified link
01:08 ITChap joined #salt
01:08 sk_0 well, it's your account.
01:08 nickdew joined #salt
01:08 jessie_ Number5 thanks dude, thats one issue sorted
01:08 sk_0 Missing configuration file: /etc/salt/cloud.providers
01:09 sk_0 oh, you're using .d
01:09 sk_0 Missing configuration file: /etc/salt/cloud.profiles
01:09 sk_0 anything in cloud.profiles.d?
01:09 jessie_ yes
01:10 beneggett joined #salt
01:10 aqua^mac joined #salt
01:11 sk_0 are you sure salt-cloud supports digital-ocean, i think maybe just rackspace and aws
01:11 jessie_ [WARNING ] The profile 'UB1' is defining 'DOx' as the provider. Since there's no valid configuration for that provider, the profile will be removed from the available listing
01:11 jessie_ yes for sure
01:11 jessie_ nope i have had it with do azure aws
01:12 sk_0 double check you profile syntax i guess. i havn't run salt-cloud so i'm not the best person
01:12 __number5__ jessie_: need a DO provider config
01:12 jessie_ in the providers section ?
01:13 __number5__ jessie_: sorry, you already have it, change the line provider: digital_ocean to `provider: DO`
01:13 jessie_ oh my :)
01:13 __number5__ in that ubuntu conf
01:14 jessie_ ok
01:14 baweaver joined #salt
01:14 jessie_ its done
01:15 jessie_ provider was DOx       IT WAS A SPELLING ERROR THERE
01:15 __number5__ lol
01:15 jessie_ ok now to create a id_rsa key for the new server
01:15 jessie_ salt-cloud: error: There was a profile error: The defined key_filename '/root/.ssh/id_rsa' does not exist
01:15 __number5__ jessie_: check out this if you haven't https://www.digitalocean.com/community/tutorials/automated-provisioning-of-digitalocean-cloud-servers-with-salt-cloud-on-ubuntu-12-04
01:16 jessie_ i have and figured that salts way was better, theres was slightly outdated
01:17 jessie_ is there a salt page for creating rya keys for minions
01:17 jessie_ rsa *\
01:17 __number5__ http://docs.saltstack.com/en/latest/topics/cloud/digitalocean.html
01:18 __number5__ jessie_: that ssh_key_file I think it's refered to your digital ocean keys http://docs.saltstack.com/en/latest/topics/cloud/digitalocean.html
01:18 __number5__ sorry pasted that link twice
01:19 jessie_ yeah that the page just for setting up the profile and provider
01:19 jessie_ not rsa keys
01:19 jessie_ will just create one now see what breaks
01:21 jessie_ bosh sorted that
01:21 jerematic joined #salt
01:23 jessie_ ok rya key issues with deploy. detecting server as down :(
01:23 glennyb joined #salt
01:24 glennyb hi all, trying to implement salt w/ gce for the first time. Running into an exception "'NoneType' object has no attribute 'name'" when trying to create an instance w/ salt-cloud anyone run into this?
01:26 desposo joined #salt
01:26 glennyb master running on ubuntu 14.10 btw
01:26 Furao joined #salt
01:28 ajw0100_ joined #salt
01:29 __number5__ protip: don't start with salt-cloud if you haven't successful finish salt-masterless tutorial yet
01:36 otter768 joined #salt
01:39 kusams joined #salt
01:42 spicyWith joined #salt
01:48 zircote joined #salt
02:02 jessie_ joined #salt
02:07 dopesong joined #salt
02:16 pipeep joined #salt
02:19 micko joined #salt
02:21 kusams joined #salt
02:23 jessie_ getting issues with rsa key issue to a minion  https://gist.github.com/anonymous/0a130ff2e6ea92709472   rsa key created and server is up and working but rsa key failure
02:31 donmichelangelo joined #salt
02:34 beneggett joined #salt
02:43 favadi joined #salt
02:44 fusionx86 joined #salt
02:50 evle joined #salt
02:51 otter768 joined #salt
03:00 Pixionus joined #salt
03:01 ajw0100 joined #salt
03:04 Pixionus whats the "correct" way to stop a salt daemon?
03:05 Hipikat Pixionus: depends how you started the daemon? :)
03:06 Pixionus init
03:06 Pixionus wait
03:06 Pixionus Not sure any more
03:06 Pixionus Just have it auto starting for a long time now
03:08 dendazen joined #salt
03:13 mzbotr joined #salt
03:13 irctc649 joined #salt
03:14 ITChap joined #salt
03:16 writtenoff joined #salt
03:17 writtenoff_ joined #salt
03:22 mzbotr joined #salt
03:28 loz-- joined #salt
03:30 rocket joined #salt
03:31 rocket is there a remote api client?
03:31 seev curl?
03:33 rocket seev: sure.  I am just trying to avoid logging into the saltmaster to execute a highstate for example
03:34 seev I have written my own little PHP front-end that runs on the salt-master and allows executing some commands
03:34 seev it's extremly ghetto
03:34 __number5__ salt-api client => pepper
03:34 seev I interact with it by using cURL and some query parameters
03:34 rocket __number5__: I am getting ssl errors with pepper and 2014.7.0 :/
03:35 __number5__ yep it's restful api so anything talked http will work
03:36 __number5__ rocket, do you have traceback pasted somewhere?
03:37 fusionx86 joined #salt
03:40 rocket __number5__: http://pastie.org/10068893
03:40 rocket it appears to be an ssl issue with ubuntu 14.10 and pepper
03:42 seev upgrade to CentOS
03:43 * seev ducks
03:43 __number5__ rocket: just to confirm, your ssl certs on api end is non-self-signed one right?
03:43 mzbotr joined #salt
03:43 rocket __number5__: I followed the doc here. http://docs.saltstack.com/en/latest/ref/netapi/all/salt.netapi.rest_cherrypy.html
03:43 fusionx86 joined #salt
03:43 rocket it is self signed from that standpoint ..
03:44 rocket seev: CentOS is a possiblity .. :/  I am linux distro agnostic ..
03:44 __number5__ it won't work then, try to use http instead
03:44 rocket seev: Ubuntu/Centos they all have various issues
03:45 rocket __number5__: ok .. but I guess I probably see the issue .. I dont want to do plain http with a clear text password
03:46 __number5__ rocket: you can have a valid ssl cert in that case
03:46 __number5__ a snakeoil ssl cert is no better than plain http
03:48 rocket I am not looking for trust validation really, just secure communications ...
03:48 rocket I will probably go a different route with trusted sudo commands and invalid shells etc like I have for other things in the past
03:49 rocket in reality though I plan to drive this from ci server long term.. thanks guys
03:49 Pixionus Is there a reason that apt-get upgrade salt-minion does not upgrade salt minion?  Updated packages and all...
03:49 __number5__ rocket, maybe you can try this http://blog.hostname.sk/2015/02/27/nagstamon-python-openssl-certificate-validation/
03:50 rhodgin joined #salt
03:50 __number5__ or change pepper's code with a url openner accept self signed certs
03:50 Pixionus someone told me to run apt-get install salt-minion so I did, but I would have though I would need to uninstall the old version if going that route.  What am I missing?
03:51 rocket __number5__: yeah I might have to patch pepper and add an option to specify for that
03:51 __number5__ apt-get install will remove the old version if it's installed using the same way
03:51 Pixionus ok cool.  That's taken care of then.
03:51 __number5__ rocket: that's a good idea :)
03:51 bhosmer joined #salt
03:52 fusionx86 joined #salt
03:52 Pixionus wonder why it wasn't upgrading
03:52 rocket adding that to the growing list of todo's if I have time :p
03:53 __number5__ rocket you can file an issue first so someone might get it done for ya :P
03:53 ITChap joined #salt
03:56 dopesong joined #salt
04:00 MTecknology I'm doing system updates and massive changes to 180 servers tonight. Nothing has gone through testing and these are all unique boxes and I'm tired.
04:00 MTecknology Should go well, huh?
04:01 writtenoff joined #salt
04:02 Hipikat MTecknology: at least it's not Friday?
04:03 mzbotr joined #salt
04:03 MTecknology In my world, they're pretty much the same day :P
04:04 dendazen joined #salt
04:04 kusams joined #salt
04:04 MTecknology I'm actually wondering if our AD servers can handle what I'm gonna throw at them
04:05 SheetiS joined #salt
04:06 rocket thanks guys, night .. __number5__ I filed the bug report also
04:07 linjan joined #salt
04:09 ITChap joined #salt
04:09 mzbotr joined #salt
04:11 clintberry joined #salt
04:16 sunkist joined #salt
04:22 davet joined #salt
04:23 scbunn joined #salt
04:24 mzbotr joined #salt
04:26 _JZ_ joined #salt
04:29 mzbotr joined #salt
04:30 Furao joined #salt
04:34 murrdoc joined #salt
04:36 Cyber54170 joined #salt
04:42 __number5__ Is 2014.7.3 another tagged-but-not-released version?
04:45 murrdoc depends on the os
04:45 writtenoff_ joined #salt
04:46 iggy 2014.7.4 was already tagged, so probably
04:47 aqua^mac joined #salt
04:48 dimeshake joined #salt
04:49 murrdoc http://i.imgur.com/1u8Iibk.webm
04:50 iggy this close...
04:50 iggy you know the guy with the camera was waving that little car
04:50 Furao https://youtu.be/g0UMslBxK_4
04:51 murrdoc what in the what
04:52 murrdoc also __number5__ what flavor of linux do u need salt for
04:53 murrdoc Joeh has put .2 up there for ubuntu
04:56 iggy murrdoc: I think they were referring to the fact that 2014.7.3 didn't even get "release" before 2014.7.4 was tagged
04:56 murrdoc oh good point
04:56 murrdoc missed that, i guess they are skipping it
04:56 murrdoc ?
04:57 murrdoc whens 2015.2 coming out
04:58 murrdoc https://github.com/saltstack/salt/releases
04:58 murrdoc http://docs.saltstack.com/en/latest/topics/releases/2014.7.4.html is TBA
04:59 * Furao still wait for a stable 2014.7
05:00 murrdoc .2 is stable ish
05:01 Furao we still need to file.patch bunch of .py :(
05:02 murrdoc ?
05:02 otter768 joined #salt
05:02 Furao to work around few bugs
05:03 Furao we should just fork and build our own .deb
05:03 murrdoc yup
05:03 murrdoc what bugs are you working around
05:04 Furao few of them are fixed in .3
05:05 Furao favadi: you have a list?
05:05 Furao probably out for lunch
05:06 favadi Furao: no, we haven't finished upgrading to 2014.7
05:06 Furao won’t probably happens before .3 :)
05:06 murrdoc might as well 2015.2, its what iggy did so its ssce approved
05:10 __number5__ murrdoc: ubuntu precise/trusty, but usually I bootstrap with git tag
05:11 murrdoc cool
05:12 murrdoc if you look at the .3 and .4 release notes there is no difference
05:12 __number5__ there is .4 already? -_-
05:18 chandankumar joined #salt
05:19 murrdoc cos its late and i am lazy
05:19 murrdoc whats chmod -R og=u-w in salt code
05:23 __number5__ murrdoc: if those files are managed, you can use file.recurse, or else you need cmd.run with chmod
05:25 murrdoc yeah file.recurse for the win
05:27 dopesong joined #salt
05:31 murrdoc can the file.managed: mode be specified as og=u-w
05:31 murrdoc doubt it
05:31 refnode_ joined #salt
05:39 __number5__ murrdoc: not unless you can translate it into octal code
05:47 jerematic joined #salt
05:48 stoogenmeyer__ joined #salt
05:48 stoogenmeyer__ joined #salt
05:49 stoogenmeyer__ joined #salt
05:50 stoogenmeyer__ joined #salt
05:53 keimlink joined #salt
05:59 colttt joined #salt
06:02 rdas joined #salt
06:08 flyboy joined #salt
06:09 zircote joined #salt
06:10 hasues joined #salt
06:10 ITChap joined #salt
06:11 hasues left #salt
06:11 catpig joined #salt
06:29 MTecknology Upgraded 9 esxi hosts, configured 3 of them in a special way (which concluded an upgrade of ~180 esxi hosts). Then started updating all packages across 180 servers as well as moving them from ldapd to sssd and updating some files they serve and changing some web apps on them. Also having to update a lot of file system permissions, move to kerberos authentication with AD, and a lot more...
06:30 MTecknology It wouldn't be so bad if either a) I didn't have to push down a large file or b) they weren't connected to me via a T1. Each box is connected to our main facility using 1 to 4 T1's
06:30 MTecknology Without salt, I probably would have quit already.
06:30 linjan joined #salt
06:34 dopesong joined #salt
06:35 dopesong_ joined #salt
06:37 Auroch joined #salt
06:42 Furao T1 used to be big deal we dream of (back in 1994)
06:43 * Furao feel so old
06:46 KermitTheFragger joined #salt
06:50 refnode_1 joined #salt
06:50 refnode_ joined #salt
06:50 refnode_2 joined #salt
06:51 gunzl1ng3r left #salt
06:57 trikke joined #salt
06:58 slav0nic_ joined #salt
07:01 rocket joined #salt
07:01 rocket_ joined #salt
07:01 aqua^mac joined #salt
07:06 __gotcha joined #salt
07:06 kawa2014 joined #salt
07:07 desposo joined #salt
07:08 Alan_S joined #salt
07:08 aqua^mac_ joined #salt
07:08 MTecknology Furao: For most of our nursing facilities, that's the best we can get... and we pay out the arse for it
07:09 aqua^ma__ joined #salt
07:11 keimlink joined #salt
07:13 aqua^mac joined #salt
07:15 aqua^mac_ joined #salt
07:23 Grokzen joined #salt
07:25 eseyman joined #salt
07:30 serverlama joined #salt
07:32 serverlama Hi guys. I have new environment, like 20 servers to manage. These servers are customized and I have no idea how... some bash scripts in place etc... Could SaltStack software help me here? To document existing infrastructure and automate the tasks  I need ?
07:32 lb1a joined #salt
07:33 babilen serverlama: It could, but you would probably start to normalise them soon.
07:34 hasues joined #salt
07:34 babilen serverlama: In particular does salt offer you the ability to gather information about your nodes via the "grains" system (data such as kernel versions, operating systems, network interfaces, ...) and to execute a number of execution modules for various tasks: http://docs.saltstack.com/en/latest/ref/modules/all/index.html#all-salt-modules
07:35 seev serverlama, you will have to do the initial heavy lifting yourself
07:35 babilen Those range from a simple "execute this command" (cmd.run) to more sophisticated things such as "upgrade system" (pkg.upgrade)
07:35 seev but you can usually find all the custom bits
07:35 seev and transpose scripts and one-offs like cron jobs into salt states
07:36 seev I did the same with a set of puppet-managed servers, but the puppet codebase was a fiendish nightmare
07:36 aqua^mac joined #salt
07:36 babilen serverlama: To really take advantage of it you will probably have a bit of work ahead of you (in particular if you face a very heterogenous environment). In the end it really depends on what you want.
07:39 serverlama Thanks seev and babilen . Actually I have no experience with this at all. I heard about this automation stuff in the past, but never tried. Is it a right choice for me to start with Salt? Not Ansible, Puppet, Chef?
07:39 seev are they 20 unique servers? or 5 sets of 4 identical servers?
07:41 serverlama Not unique. Just with different purposes, Web, Database, Backup
07:42 seev you might be better served carving it into chunks, then, I'd suggest manually copying an existing server first, and keeping notes on every step, and then worry about translating those notes into salt states
07:42 seev you could do it in manageable, testable steps like that, and learn enough about salt along the way, this is how I approached the issue
07:42 serverlama I will do my research and come back to You. as I see community is active, - that's really important to me. Thanks for Your time guys!
07:43 seev I haven't worked with Ansible but Chef and Puppet are yucky
07:46 serverlama hard to manage (Puppet / Chef) ?
07:46 jwaibel joined #salt
07:46 seev Puppet uses a Ruby DSL which is painful, and it's really compllicated under the hood
07:46 jhauser joined #salt
07:46 seev Chef can use pure Ruby, which is more insane
07:47 seev Salt is just Jinja templating + YAML, it's very simple
07:47 serverlama "more insane" ... :)
07:47 serverlama great... that I am here and can hear that from You
07:47 seev well, don't get me wrong, I work in a Ruby on Rails application environment
07:48 seev but Chef is what developers reach for when they want to get into being ghetto sysadmins
07:50 babilen serverlama: Ansible is probably worth a look, but I found it to not be the best match for us. http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/ is a good comparison (even though it is a bit dated by now)
07:51 serverlama Yes, babilen, great link, read that actually before going here ;]
07:51 jwaibel i am on the same spot. to decide if i go for salt or ansible. so far i like salt more
07:52 jwaibel all depends on how easy you can do it in your environment and how skilled the ppl are to support that.
07:52 aqua^mac_ joined #salt
07:52 seev I'm an operations department of 1
07:52 babilen serverlama: Ah, wonderful. Just wanted to make sure that you are aware of it. I am very happy with salt and use it for some setup of, say, 15 - 600 minions each.
07:52 seev so I didn't face any opposition when I decided to go with Saltstack
07:52 babilen \o/
07:52 seev if you have a team, you might need something more common
07:53 seev although if you're all learning a tool, or you yourself are learning a tool, I think Saltstack is going to win the war
07:53 jwaibel i learnd the basics in 1 afternoon. now i try my first test setup with a 10 minion system
07:53 echo joined #salt
07:53 babilen I implemented the same solution in both Ansible and Salt at the beginning and simply liked salt a lot more. Investigated a bit further and found salt to be a better fit as I was under the impression that it would stand in my way later on, but would enable me to do slightly more unusual things more easily
07:53 jwaibel except a few minor things all went smooth so far
07:54 Workflow Hi, anyone help with this error? https://gist.github.com/anonymous/69921a7c9e75de95f002
07:54 babilen Workflow: Could you paste zabbix.sls too?
07:54 Workflow of course babilen
07:55 jwaibel working on a percona cluster part atm. thats a bit more tricky yet
07:55 Workflow babilen, https://gist.github.com/anonymous/b288c81dc31d1aaa1b0e
07:55 serverlama So Salt is just for automation or for monitoring too? Do I need tool like Zabbix anyway?
07:56 jwaibel i suggest a seperate monitoring system
07:57 jwaibel if you use zabbix or something more simple is a different topic
07:57 seev I'm a fan of Nagios/NRPE
07:57 jwaibel and you can distribute the needed components with salt
07:57 o5k__ joined #salt
07:58 babilen jwaibel: You might find http://docs.saltstack.com/en/latest/topics/mine/ to be quite useful there. The combination of mine functions for each network I use (cf. https://www.refheap.com/99146) and access to salt mine allowed me to generate configurations for various hosts quite easily and dynamically
07:58 Auroch joined #salt
07:58 seev I use a bash script that queries EC2 for a list of name tags, and generates host config blocks based on the name
07:58 jwaibel babilen. i try to find a way to do a circular installation at,
07:58 jwaibel moment
07:59 jwaibel i need to set up the cluster replication on 1 server first, then add 2 more servers and then go back to the first and add stuff there
07:59 babilen Workflow: I don't immediately spot something fishy in there. :-/ *looksharder*
07:59 o5k_ joined #salt
08:01 babilen jwaibel: Okay, I don't have a ready solution for that, but two other systems in salt feel relevant: http://docs.saltstack.com/en/latest/topics/tutorials/states_pt5.html and http://docs.saltstack.com/en/latest/topics/reactor/
08:01 jwaibel *reading*
08:03 Workflow I found the issue babilen!
08:03 Workflow block of code at starting from line 58.. not sure why though
08:06 Workflow OK. Found it, the pillar doesn't have anything relevent to the os_family i'm using *faceplam*
08:06 Workflow Thanks for looking at it babilen! :D
08:07 jwaibel just by reading that i think i know what to do now. thx
08:09 linjan joined #salt
08:10 TyrfingMjolnir joined #salt
08:13 Xevian joined #salt
08:14 hasues left #salt
08:15 Auroch joined #salt
08:16 N-Mi_ joined #salt
08:17 wicope joined #salt
08:17 ckao joined #salt
08:18 jwaibel i think there is a very easy solution to my problem.
08:19 jwaibel i just use a require setup to make sure all is done before i add the 2nd round
08:19 babilen jwaibel: But then, I wouldn't necessarily think in terms of "I have to do foo first, then bar and finally some bazzing", but rather "What is the best way to describe a correct configuration at any single point in time". Take a loadbalancer for example. It is okay to not configure any backends when you start, but to simply add them when they come online (either in a reactive fashion (cf. haproxy example in the reactor docs)) or explicitly by running ..
08:19 babilen ... a highstate. The state that configures it would simply check the mine for IP addresses of relevant hosts and use all that are found.
08:19 babilen jwaibel: The "round 1", "round 2" thing is best handled with orchestrate I guess
08:20 keimlink joined #salt
08:22 jwaibel thats a way to go
08:22 babilen Workflow: Did you copy and paste some of that?
08:28 Workflow babilen, I'm just struggling to get the pillar working atm, I've added some code to catch Centos/redhat, but It's not picking it up :(
08:28 glyf joined #salt
08:30 schristensen joined #salt
08:32 losh joined #salt
08:35 patto joined #salt
08:36 patto hi, how to execute a command or a script on local instead of remote minions?
08:39 Skidz joined #salt
08:40 aqua^mac joined #salt
08:40 TyrfingMjolnir joined #salt
08:48 babilen Does any of you have a good recommendation for a collaborative password manager? CLI and REST API would be wonderful too.
08:56 ktosiek joined #salt
08:57 Pixionus MTecknology: How those updates go/going?
08:59 o5k joined #salt
09:00 zandy joined #salt
09:03 pf_moore joined #salt
09:04 otter768 joined #salt
09:05 Workflow babilen, We use passpack. Not sure about API though.
09:07 bluenemo joined #salt
09:07 bluenemo joined #salt
09:07 eth2 Anybody has had issues installing the salt-minion on RHEL7 from the epel repository?
09:08 JayFK joined #salt
09:12 o5k joined #salt
09:13 huddy joined #salt
09:18 wvds-nl joined #salt
09:21 wnkz joined #salt
09:23 Kevin joined #salt
09:24 Kevin is anybody  here
09:25 Guest66011 i have a problem with salt api rest_cherry
09:36 linjan joined #salt
09:53 zircote joined #salt
09:54 bhosmer joined #salt
09:54 bhosmer_ joined #salt
09:55 manfred joined #salt
09:57 FineTralfazz joined #salt
10:03 Diaoul joined #salt
10:04 jesusaurus joined #salt
10:06 matthew-parlette joined #salt
10:06 sifusam joined #salt
10:07 JayFK joined #salt
10:08 whytewolf joined #salt
10:11 mlanner joined #salt
10:17 wicope joined #salt
10:19 blast_hardcheese joined #salt
10:20 ryys joined #salt
10:21 wnkz joined #salt
10:22 slav0nic joined #salt
10:22 slav0nic joined #salt
10:25 ryys so...i saw a curious thing. it was roughly salt ... cmd.run 'sed -i s/vers=3/vers=4/ /etc/fstab'
10:25 wnkz joined #salt
10:42 dRiN joined #salt
10:45 _ale1_ joined #salt
10:48 aquassaut joined #salt
10:49 giantlock joined #salt
10:51 stoogenmeyer__ joined #salt
11:05 otter768 joined #salt
11:05 evle joined #salt
11:09 wnkz joined #salt
11:11 __gotcha joined #salt
11:15 mhawkins joined #salt
11:16 denys joined #salt
11:17 hawkmauk joined #salt
11:21 peters-tx joined #salt
11:26 hawkmauk joined #salt
11:31 linjan joined #salt
11:32 slav0nic joined #salt
11:32 slav0nic joined #salt
11:38 imanc_ does anyone know how to fix this issue: failed to authenticate is this user permission to execute commands
11:38 imanc_ it happens when trying to execute a command on the master, e.g sudo salt '*' test.ping
11:38 imanc_ first time i've ever seen it!
11:54 echo joined #salt
11:55 renoirb joined #salt
11:59 ltsampros joined #salt
12:07 robothands imanc_: are you using ubuntu 1404?
12:08 robothands imanc_: haven't seen it myself...but if you are, might be worth reading part of this long thread: https://github.com/saltstack/salt/issues/12248
12:09 amcorreia joined #salt
12:11 redzaku joined #salt
12:12 imanc_ yes we're on 14.04
12:12 linjan joined #salt
12:14 bhosmer joined #salt
12:17 bhosmer_ joined #salt
12:20 I3olle joined #salt
12:21 giantlock joined #salt
12:24 rhodgin joined #salt
12:27 fredvd joined #salt
12:28 XenophonF anyone running salt on rhel 7.1?
12:28 XenophonF i just spun up a new ec2 instance running the rhel 7.1 ami
12:28 cmcmacken joined #salt
12:28 XenophonF i enabled epel and both salstack coprs (saltstack-salt-epel-7 and saltstack-zeromq4-epel)
12:29 XenophonF when i try to install salt, i'm getting an error about the python-jinja2 package being broken
12:30 XenophonF https://bpaste.net/show/9b5a73ea90e1
12:31 zircote joined #salt
12:31 XenophonF if i just use epel, i only get salt-2014.7.1, hence i'm using the salt copr
12:32 XenophonF if i enable epel-testing, i get the same error
12:40 nich0s joined #salt
12:43 sunkist joined #salt
12:45 nich0s joined #salt
12:47 XenophonF ah never mind - looks like i need to enable some optional RHEL software channels
12:48 ujjain joined #salt
12:48 nich0s joined #salt
12:52 niseak joined #salt
12:56 dendazen joined #salt
12:57 khaije1 joined #salt
12:57 bluenemo joined #salt
12:58 khaije1 Has slspath made it to a release, if not where is it targeted?
12:59 subsignal joined #salt
13:00 _prime_ joined #salt
13:00 jeremyr joined #salt
13:04 N-Mi_ joined #salt
13:04 N-Mi_ joined #salt
13:04 numkem joined #salt
13:06 otter768 joined #salt
13:07 numkem joined #salt
13:07 nich0s joined #salt
13:10 zwi joined #salt
13:14 teskew joined #salt
13:16 ekle joined #salt
13:17 rocket whats the best way to debug why external_auth doesnt seem to be working at all?  I am not challenged when I am trying to execute my commands
13:17 jerematic joined #salt
13:18 ekle hi, is it possible to use the gitfs backend with environments but without git branches ? for every env a folder in the git master ?
13:21 jerematic joined #salt
13:22 cpowell joined #salt
13:23 MTecknology Pixionus: they were far less than fun, but got done
13:24 XenophonF ekle: i don't think so
13:26 fusionx86 joined #salt
13:28 kurt--- joined #salt
13:29 mpanetta joined #salt
13:33 Tecnico1931 joined #salt
13:35 renoirb joined #salt
13:36 favadi joined #salt
13:38 yawniek when using salt-bootstrap somehow the minion_id isnt set correctly, should this work?
13:38 XenophonF ekle: i just re-read the gitfs tutorial, and i don't see anything there about using subfolders of a git repo as environments instead of branches/tags
13:39 micah_chatt joined #salt
13:39 XenophonF ekle: if that's what you want, you'll probably have to clone the repository and use it via the normal roots backend
13:39 XenophonF you could put "git pull" into a cron job or something to refresh it
13:41 dude051 joined #salt
13:41 chandankumar joined #salt
13:41 ekle @XenophonF: thx, then i will just use the minion_id to direct the minions to different environments
13:42 rocket does anyone know when the yubikey authentication was added?  is that part of a released version of salt?  I see it in the docs but I dont think its in the code I have checked out
13:51 XenophonF ekle: why don't you want to use branches or tags for environments?
13:51 XenophonF ekle: i have an empty master branch (except for top.sls), and i have branches for my development, testing, staging, and production environments
13:51 XenophonF with change management procedures supporting commits and merges among the different envs
13:52 XenophonF with my long-term goal of using jenkins, selenium, and similar tools to handle automatic merges between testing and staging and possibly even production
13:53 XenophonF or maybe staging and production
13:53 XenophonF i target using pillar keys (environment + role)
13:54 XenophonF let me throw an example together for you to show what i mean
13:54 ekle ok
13:55 timoguin joined #salt
13:56 murrdoc joined #salt
13:59 favadi left #salt
14:02 emaninpa joined #salt
14:03 I3olle_ joined #salt
14:03 andrew_v joined #salt
14:05 JDiPierro joined #salt
14:05 renoirb joined #salt
14:07 debian112 joined #salt
14:12 rocket is there a way in salt to get the list of modules and their options from within salt itself... eg I am trying to not need to have the documentation open all the time etc.
14:12 rocket looking for some sort of introspection/help system built into salt
14:15 dopesong joined #salt
14:15 pdayton joined #salt
14:15 murrdoc salt 'minion' sys.doc module
14:15 ja-s joined #salt
14:15 dude^2 joined #salt
14:17 dude051 joined #salt
14:18 evilrob joined #salt
14:20 rocket thanks murrdoc
14:20 slav0nic joined #salt
14:20 slav0nic joined #salt
14:21 jeremyr joined #salt
14:21 shadesofgraylin joined #salt
14:24 rhodgin joined #salt
14:26 jtanner joined #salt
14:28 Trevor joined #salt
14:29 kaptk2 joined #salt
14:30 XenophonF ekle: sorry, almost done setting up a simple example for you
14:30 XenophonF got a little side-tracked along the way :)
14:31 ekle :)
14:33 jdesilet joined #salt
14:35 XenophonF ekle: ok, so here's how i have things set up at work
14:35 XenophonF https://github.com/irtnog/salt-states
14:35 XenophonF (this isn't my actual state repo)
14:35 XenophonF i have five branches: master, development, testing, staging, and production
14:35 unni9946 joined #salt
14:36 cheus joined #salt
14:37 XenophonF the master branch started out with just README.md, then i created an empty development branch as an orphan
14:37 racooper joined #salt
14:37 XenophonF then i branched testing from development, staging from testing, and production from staging
14:37 rickflare XenophonF you seem to be very knowledgable, I want to understand jinja and using varibles in my states
14:38 rickflare do you know of any good tutorials
14:38 babilen http://jinja.pocoo.org/docs/dev/templates/
14:39 rickflare ok
14:39 rickflare thanks
14:39 XenophonF i'll post my git repo init script
14:39 XenophonF so once i had all the branches set up, i added top.sls to the master branch
14:39 XenophonF otherwise the master branch is empty
14:40 cheus Anyone know of a generic way to set an environment variable during a state execution short of using a pair of env states (to set and unset)?
14:40 aphor joined #salt
14:40 XenophonF i could have put a top.sls into each of the development/testing/etc. branches, but it would make merging too difficult
14:40 XenophonF https://github.com/irtnog/salt-states/blob/master/top.sls
14:41 XenophonF ekle: instead of targeting via minion ID, i target based on the values of two different pillar keys - environment and role
14:42 XenophonF i can add sls files to the development branch and make changes and whatnot
14:42 XenophonF then i merge those changes into the testing branch
14:42 XenophonF get CAB approval to go to production
14:43 XenophonF merge from testing to staging, run my user acceptance tests
14:43 XenophonF then merge again from staging to production, and go live
14:43 ja-s joined #salt
14:44 XenophonF (you can remove branches as needed - i started out with just development and production branches)
14:45 XenophonF merges between branches are clean because changes start in the development branch
14:46 XenophonF i'm hoping other gitfs users will chime in here to tell me how i'm doing it wrong (or how i might use gitfs more effectively)
14:46 XenophonF :)
14:48 edrocks joined #salt
14:48 conan_the_destro joined #salt
14:49 Furao joined #salt
14:49 __gotcha joined #salt
14:51 timoguin XenophonF: that's pretty much the same way I'm doing it.
14:51 timoguin I have local (for Vagrant testing), dev, qa, staging, and prod branches.
14:51 timoguin Merge from left to right to take it through the infrastructure
14:53 _JZ_ joined #salt
14:53 XenophonF https://gist.github.com/xenophonf/95357d87b6e0b5e2b0e6 - that's how i initialized my salt-states repository
14:56 rocket XenophonF: I am planing on doing the same, but I have a local env that I am working on that I am checking out into /srv/formulas for the formula development .. then I can use git flow workflow to work on a feature
14:57 gnord joined #salt
15:00 conan_the_destro joined #salt
15:02 hobakill joined #salt
15:02 scbunn joined #salt
15:05 catpig joined #salt
15:05 markm_ joined #salt
15:06 rocket I am trying to debug an issue with authentication on the master .. new to the system .. is it possible to pdb break in the plugin I am looking at?
15:06 Nazca joined #salt
15:06 StDiluted joined #salt
15:06 otter768 joined #salt
15:09 dopesong_ joined #salt
15:10 XenophonF rocket: if you're going to use formulas, i strongly encourage you to look at the salt-formula
15:10 niseak_ joined #salt
15:11 XenophonF the only difficulty in using it is bootstrapping
15:11 rocket XenophonF: I am already using it :)
15:11 XenophonF ah great! :)
15:11 jngd joined #salt
15:12 KennethWilke joined #salt
15:12 rocket XenophonF: I have a small bootstrap script that checks out my top pillar repo and my main salt repo outside of the saltmaster
15:12 XenophonF rickflare: if you want some good examples of jinja and states, look at https://github.com/saltstack-formulas
15:12 XenophonF rocket: yeah, that's basically how mine works, too
15:12 rocket XenophonF: and then does a salt standalone call against it to pull everything in
15:12 bhosmer joined #salt
15:12 XenophonF oh that's interesting
15:13 17SAB8NFB joined #salt
15:15 rocket I basically have a really small top.sls that I define to get things in order ..
15:15 murrdoc '*'
15:15 murrdoc - global
15:15 murrdoc - {{ role }}
15:15 murrdoc thats mine
15:16 timoguin joined #salt
15:16 ek6 joined #salt
15:18 fxhp joined #salt
15:20 zwi joined #salt
15:23 chandankumar joined #salt
15:24 thedodd joined #salt
15:24 ProT-0-TypE joined #salt
15:24 zircote joined #salt
15:25 zircote joined #salt
15:25 evilrob joined #salt
15:26 Grokzen joined #salt
15:27 micah_chatt joined #salt
15:27 XenophonF that's pretty interesting, murrdoc
15:27 ekristen joined #salt
15:27 murrdoc everything is in pillars
15:27 XenophonF does the role.sls file do a import? or are the states in each role self-contained?
15:28 forrest joined #salt
15:28 signull murrdoc: how are you assigning roles then?
15:28 murrdoc the states run on a role are defined in pillars, and any files for the role sit in the /srv/state/{{role}} directory
15:29 murrdoc state queries external pillar and sets up a grain on the minon to define the role for a server
15:29 murrdoc that state is on a schedule, and sets up the /etc/salt/grains file with the required data
15:32 rocket murrdoc: I thought about doing grains as well for setting roles but then realized it could be a big security issue
15:32 murrdoc uh hmm
15:32 dynamicudpate joined #salt
15:32 rocket eg I get root access, then I update the grain to be different server
15:32 XenophonF rocket: that's why you should use pillar for that sort of thing
15:33 rocket then I can see data for systems I am not supposed to.  so I started using pillar instead for my roles
15:33 racooper I'm seeing a bit of weirdness in pkgrepo.managed in 2014.7.1 from EPEL.  it's actually adding a "humanname=" key to the repofile; I thought that was supposed to become the "name=" key?
15:33 rocket at the moment I am so small scale that I havent had issues with that.. we will see how management of it works out anyway
15:34 analogbyte joined #salt
15:36 iggy I figure if someone gets root on one of my boxes, I'm already fucked, so.... grains it is
15:38 shadesofgraylin left #salt
15:39 murrdoc uh hmm
15:39 iggy they uploaded my video... it's terrible
15:40 murrdoc am i in it
15:40 murrdoc link
15:40 iggy no, you have to go find that yourself... I won't sully this channels good name
15:40 murrdoc :D
15:40 murrdoc its 21 minutes
15:40 iggy yeah...
15:41 iggy sadly they didn't miss as much as they said they did... it is just really that short
15:41 murrdoc needs a shrug counter
15:41 murrdoc https://www.youtube.com/watch?v=fKYkJGGO0fo
15:41 iggy .|..
15:44 yawniek salt-cloud on ec2 bootstrapping somehow does not set the hostname (archlinux). anyone had this?
15:45 iggy I didn't think you could set names in ec2
15:45 timoguin yawniek: that's the case for AWS hostnames in general.
15:45 MatthewsFace joined #salt
15:45 timoguin iggy: you can. but there is work to do...
15:46 timoguin http://www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your-amazon-ec2-instances/
15:46 iggy sounds about right... anything that requires work is not for me
15:46 XenophonF yeah, changing hostnames in aws is ugly
15:46 timoguin I'm intending on setting that up. You have to pass in the hostname via userdata when you create the instance.
15:47 timoguin But I still need to create custom AMIs that have the proper startup scripts
15:47 yawniek hmm, one thing is the hostname, the other is the minion_id. salt-cloud registers the key to the name you supply salt-cloud -p xxx <name>, then when booting the minion_id is the hostname
15:47 hawkmauk joined #salt
15:47 badon joined #salt
15:47 Alan_S joined #salt
15:48 yawniek the "name" within ec2 console is set correctly though
15:48 timoguin yawniek: are you using a custom AMI?
15:48 yawniek timoguin: yes, i built one with packer
15:48 robinsmidsrod joined #salt
15:48 timoguin It should definitely be setting the minion_id.
15:48 timoguin You might have a cached minion_id in there somewhere.
15:48 rocket is anyone in here a salt-master dev?  I am trying to figure out how to debug an issue I am having with my salt-master user authentication .. but in general I would like to learn how to pdb various pieces etc ..
15:49 timoguin yawniek: be sure to clear /var/cache/salt on your AMI, and maybe /etc/salt/minion_id
15:49 yawniek timoguin: cached minion_id where? makes no sense, i spun up different machines with different names (and consequently they got different ip/hostnames)
15:49 iggy there's only one dev in here, and we try not to bother him for fear he might leave us too
15:49 rocket iggy: heh good to know :p
15:49 timoguin yawniek: /var/cache/salt caches the minion_id. if it's there it won't look anywhere else for it.
15:50 yawniek timoguin: ok lets see
15:50 rocket that sounds like it should be a bug to me .. why wouldnt it invalidate the cache if the minion_id has changed in /etc/salt/minion_id ?
15:51 rocket assuming that behavior is correct of course
15:51 timoguin yawniek: actually I think /etc/salt/minion_id is where it's cached.
15:52 niseak joined #salt
15:52 rocket its /etc/salt/minion_id ... but you also wasnt to make sure /etc/salt/pki is clean unless your pre-caching certain keys into it
15:52 iggy yeah, once that file is set (or id in /etc/salt/minion), the minion doesn't make any attempts at figuring out a new minion id
15:52 rocket in an aws env you should be generating the keys on the master and then as part of the deploy scripts sending them down into the clients
15:53 timoguin Yea sounds like that's what @yawniek is doing with salt-cloud
15:53 yawniek shouldn't salt-bootstrap.sh take care of this?
15:53 toastedpenguin joined #salt
15:53 yawniek it worked just fine in the rackspace cloud
15:54 yawniek so actually /etc/salt/minion_id is indeed there but it contains the actual ip of the new machine, e.g.: ip-10-10-12-110  so same as the hostname
15:54 yawniek so its not a caching problem
15:55 wendall911 joined #salt
15:55 timoguin I've never had instances created with salt-cloud have any other minion_id than the one I pass during creation.
15:55 yawniek i'm not sure wherer salt-cloud or salt-bootstrap.sh (i got the newest from master) should  a) hostnamectl set-hostname b) write the minion_id
15:55 toastedpenguin joined #salt
15:55 yawniek timoguin: hmm, pretty odd then
15:56 iggy yawniek: the minion sets the id to socket.getfqdn() when it starts up and there's no minion_id set
15:56 yawniek i use the following in my cloud.profile.d: script_args: -K -D -L -p python2-pyzmq -p python2-m2crypto -A my.master.com
15:58 toastedpenguin joined #salt
15:58 timoguin yawniek: never used -K. seems like it could cause some issues?
15:59 timoguin I also set my master in the minion: section of the cloud profile.
15:59 XenophonF timoguin: are you using EC2? if so, what O/S are you using to host your master?
16:00 toastedpenguin joined #salt
16:00 yawniek that i have too, guess its an artefact, should not be a problem, that works
16:00 XenophonF i'm having problems getting salt-cloud to work on the centos 7 ami
16:00 timoguin XenophonF: yea I'm running it from Ubuntu 14.04
16:01 XenophonF timoguin: thanks
16:01 toastedpenguin joined #salt
16:01 MatthewsFace joined #salt
16:02 yawniek ok, ill spin up a plain image, maybe my ami is weird
16:06 yawniek hmm the image is just fine, no cached data nor is the salt-minion service enabled, thats wicked
16:07 iggy salt-bootstrap starts the service
16:07 smcquay joined #salt
16:09 desposo joined #salt
16:12 glyf joined #salt
16:13 yawniek i dont understand salt-bootstrap fully, there is the -i param which is supposed to receive the hostname and write it to etc/salt/minion_id. but how can i supply the name if the args reside in script_args
16:13 markm_ joined #salt
16:13 jngd hi all, in my computer I have two address to use as salt-master, one public and one private. I am setted both in /etc/salt/master as interface but when I try to start salt-master dameon, get the error 99 Unable to bind socket, Cannot assign requested adrres. Im newbie with salt, and I wonder how to solve this issue. Thans in advance
16:14 XenophonF jngd: do you have two different network interfaces? or are you using NAT?
16:14 jngd NAT
16:14 yawniek jngd: i'd go for 0.0.0.0 and block eventual other ip's via iptables. i'm not sure if you can have multiple ip's
16:14 jngd I get 98 with private and 99 with public
16:15 XenophonF yeah, just have salt listen on 0.0.0.0 (the default?)
16:15 viq joined #salt
16:15 kbyrne joined #salt
16:15 jngd I explain me bad, I set public and get error 99 and after I set private and get error 98
16:16 yawniek jngd: why not use the default?
16:16 dalexander joined #salt
16:16 rickflare so if I set a varible in a sls using {% set var = 'uname -a' %} how can I reference that varible in another sls?
16:16 jngd when use 0.0.0.0 I get Errrno 98
16:16 writtenoff joined #salt
16:16 iggy you can't listen on an IP that doesn't actually exist on the box (that's not specific to salt either)
16:17 toastedpenguin joined #salt
16:17 iggy rickflare: in the other state {% from "foo/file.sls" import var with context %}
16:17 jngd but my ip private exist and is associated to eth0 interface
16:18 jalbretsen joined #salt
16:18 iggy rickflare: for examples, see... pretty much every formula that exists
16:18 writtenoff_ joined #salt
16:18 toastedpenguin joined #salt
16:19 rickflare thanks iggy
16:19 iggy jngd: error 98 means you already have a master running
16:19 jngd how I can stop it?
16:20 iggy service salt-master stop?
16:21 iggy pkill -f salt-master
16:21 iggy there's all sorts of ways
16:21 JayFK joined #salt
16:21 jngd good, I have stopped and when I try to start I get the same error
16:22 jngd maybe a ports problem?
16:22 glyf joined #salt
16:22 iggy netstat -anlp | grep 0.0.0.0:450
16:23 jngd 4505 and 4506  are LISTEN
16:23 iggy right... that means you already have a master running
16:23 jngd are listen in 0.0.0.0
16:24 jngd works, with pkill command, not with service
16:25 jngd I restart salt-master and seems working
16:26 dude051 joined #salt
16:31 aparsons joined #salt
16:35 amcorreia joined #salt
16:35 stoogenmeyer__ joined #salt
16:40 penguin_dan joined #salt
16:41 kurt--- joined #salt
16:42 Fiber^ joined #salt
16:42 rocket anyone else get a permission denied error when trying to run the salt command as a non-root user?
16:42 rocket eg  eedgar@saltmaster-dev:~$ salt -a yubico '*' test.ping
16:42 rocket IOError: [Errno 13] Permission denied: '/var/log/salt/master'
16:42 rocket the daemon itself is running as root ..
16:43 rocket I am trying to figure out how to give access to other users without full access...
16:44 XenophonF rocket: http://docs.saltstack.com/en/latest/topics/eauth/index.html
16:45 rocket XenophonF: the master is running as root
16:46 XenophonF and you have external_auth configured?
16:47 rocket yes .. if add myself to a group that can at least read the log dir then it will get further
16:47 murrdoc Ryan_Lane:  watched your talk on sequential ordering, great talk, quick question watch_in doesnt reorder states does it ? watch does for sure
16:49 clintberry joined #salt
16:51 StDiluted joined #salt
16:53 dalexander joined #salt
16:57 iggy listen doesn't, watch does
16:57 iggy (and same for _in variants)
16:59 timoguin n variants? how many variants is that?
16:59 yawniek ok i fixed my hostname problem by using the -F arg for bootstrap-salt.sh, but now it doesnt write a minion_id anymore but only puts the correct minion into the minion config file. pretty weird, but well
17:00 murrdoc do you have the abitily to setup env vars before running bootstrap-salt
17:00 romaireus joined #salt
17:00 romaireus hello
17:01 rocket XenophonF: does that sound like a bug?
17:01 XenophonF rocket: it might be a file system permissions problem
17:01 rocket why should the salt command need access to /var/log/salt/master ?
17:01 spookah joined #salt
17:02 romaireus i'm trying to run a salt formula and i'm using the 'cmd.run' command to execute a bash script but it keeps on saying it can't find the bash script, does anyone know what's the deal with this?
17:02 romaireus i'm triple checked that i'm pointing to the right directory and file
17:02 romaireus *i've
17:02 druonysus joined #salt
17:02 gchao romaireus: not executable, perhaps?
17:03 gchao try chmod +x on it?
17:05 iggy rocket: it's because the salt command runs in the master context (so it logs to /var/log/salt/master, etc.)
17:05 iggy romaireus: paste code to gist.github.com
17:05 rocket so do I have to give full root perms to it?
17:06 romaireus gchao: I tried making it executable but still the same message
17:06 romaireus gchao: I'm specifically following this page: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.cmd.html
17:07 romaireus example 3
17:07 andrea_c_ joined #salt
17:07 andrea_c_ j #nginx
17:07 otter768 joined #salt
17:07 andrea_c_ sorry.
17:08 kawa2014 joined #salt
17:09 iggy romaireus: so you have a state file that looks exactly like "example 3"?
17:11 romaireus iggy: yep, except I changed 'name' to the location of my bash script
17:11 romaireus iggy: does the bash script have to be located on the minion for this to work or is there a way of doing this by having the script on master??
17:11 iggy our definition of 3 is different then... the example I see as 3 has no name arg
17:12 iggy it has to be on the minion of course
17:12 iggy it's calling out to the shell
17:12 rocket so what are you guys doing to secure the salt master etc?  it seems to me like lots of things have to be run from it.. or am I missing something?
17:12 iggy if you want to run something under file_roots on the master, use cmd.script
17:12 XenophonF rocket: next on my list is to run the master itself non-root, if that's possible
17:13 iggy XenophonF: it is.. it's just a pita
17:13 XenophonF i want to use external_auth, too, so running it non-root might break that
17:13 JDiPierro joined #salt
17:13 rocket from the documentation user external_auth needs root ..
17:13 XenophonF well, if it's using PAM it does
17:13 germs_ joined #salt
17:13 XenophonF well, PAM and shadow passwords
17:14 rocket I am trying to use the new yubikey backend .. :/
17:14 XenophonF but non-local users get authenticated against pam_krb5 here, so i might be able to get away with using PAM and a non-root salt master
17:14 agliodbs joined #salt
17:15 agliodbs so is there any simple way, in an orchestration script to say "Check X, if it fails, stop."?
17:15 XenophonF i'm also getting ready to switch from using an AWS API key to using instance credentials for AWS API access
17:15 XenophonF at least, for salt-cloud
17:15 agliodbs where X is, say, a script which returns 0 or 1
17:15 Ryan_Lane murrdoc: it does, because it's just the inverse of watch
17:15 rocket heh the details always take the longest .. :p
17:16 XenophonF minions still need their own API key on order to access s3:// URLs, but that only gives them read-only access to a particular bucket
17:16 iggy agliodbs: failhard, but I don't think that kills the whole orch job... just the current state
17:16 agliodbs hmmm
17:16 romaireus iggy: so does cmd.script allow remote scripts to be run on minions from master?
17:16 rocket are there ever dev days in here, when we get to ask devs questions?
17:16 iggy romaireus: it's just a shortcut for file.managed -> cmd.run -> file.absent
17:16 agliodbs iggy: to be specific, I want to verify that the replica is up before we proceed with the rest of the orchestrate script for the failover configuration
17:17 iggy rocket: no... try the mailing list (or open an issue)
17:17 XenophonF rocket: we're also doing the usual stuff - SSH2 public key auth is required to log into the master, fail2ban is enabled, etc.
17:17 agliodbs where "up" is not just "running" but "responding and has data"
17:17 rocket and/or I would love a video on youtube on the development cycle.
17:17 XenophonF rocket: i'd really, really like to put SELinux into enforcing mode, but I don't think the salt-master and salt-minion packages are set up right for that
17:18 iggy patches welcome
17:18 rocket XenophonF: that makes sense .. I was just hate the idea of a user logging in directly to my command and control center etc .. :/
17:19 XenophonF rocket: me too, which is why right now, i'm the only one with access to the master :)
17:19 iggy agliodbs: might make for a good orch addition (check the issue tracker and open an issue if not found)
17:19 germs_ left #salt
17:19 XenophonF i'm every bit as uncomfortable with giving my whole team access to the salt-states and salt-pillars git repos, too
17:19 rocket XenophonF: that doesnt scale :p
17:19 iggy rocket: salt+pepper, web ui that talks to salt-api, etc...
17:19 agliodbs iggy: I am *so far* from being able to patch Salt itself ...
17:20 rocket I was trying to get pepper to work last night but ran into an ssl issue :(
17:20 agliodbs iggy: one other question about gpg renderer: is there some why to supply the passphrase other than a pillar?
17:20 XenophonF rocket: fortunately our team is pretty small with relatively little stovepiping
17:20 iggy agliodbs: I wasn't saying write code, just file an issue to track it (if one  doesn't exit)
17:20 iggy *exist
17:20 cga joined #salt
17:20 agliodbs iggy: ah, ok
17:20 iggy agliodbs: never used it
17:21 XenophonF and the whole point of git is to track individual changes to our configuration data
17:21 agliodbs anyone else here has?
17:21 XenophonF so while i might not be able to completely stop a malicious actor, i sure as hell will know who did what
17:21 iggy agliodbs: how else would you expect to supply that?
17:21 rocket XenophonF: I plan on imposing a git + ci + rspec type regimen
17:22 XenophonF yeah!
17:22 XenophonF CI is on my list, too.
17:22 rocket I am sure there will still be issues... but its a work in progress :/
17:23 XenophonF the other idea i had is forking my salt-states and salt-pillar repos
17:23 murrdoc check out kitchen-salt
17:24 XenophonF so the dev environment would be a completely different repo, and only the change managers would be able to approve pull requests into the testing/staging/production environments
17:24 * iggy really wishes GH had a feature to stop people from committing directly to master
17:24 notnotpeter joined #salt
17:24 ajw0100 joined #salt
17:24 XenophonF it'd be nice if GitHub had better access controls all the way around
17:24 iggy trudat
17:24 gchao iggy: are you getting diminishing returns on slapping your devs? :)
17:25 XenophonF anyway, for now it seems like more trouble than it's worth, especially since everyone involved has the local admin password
17:25 iggy no... here, it's just me and one other guy, we both respect master
17:25 iggy I'm was thinking more for saltstack-formulas
17:26 iggy XenophonF: you could at least use sudo... so then at least you know who messed things up
17:26 XenophonF sudo is mandated
17:26 XenophonF for sure
17:27 XenophonF and local root/Administrator logins disabled
17:27 XenophonF and god help the person who triggers my secret log monitoring rule that tells me when the domain Administrator account gets used ;)
17:28 iggy lol @ secret tattle rules
17:31 chandankumar joined #salt
17:32 forrest joined #salt
17:33 stoogenmeyer__ joined #salt
17:36 kurt--- joined #salt
17:37 cga joined #salt
17:38 rocket speaking of disabling root, I have an interesting one I am trying to solve .. is there a way to do some sort of pam for root when in single user mode for something like a fsck
17:38 rocket we are trying to come up with an image for customers and were trying to figure out a way we could give the customer the ability to do that without giving full root access
17:39 notnotpe_ joined #salt
17:39 cga left #salt
17:40 timoguin joined #salt
17:40 markm_ joined #salt
17:42 antani joined #salt
17:51 spicyWith joined #salt
17:51 murrdoc1 joined #salt
17:53 druonysuse joined #salt
17:53 druonysuse joined #salt
17:56 agliodbs iggy: would this be the same issue we're talking about?  https://github.com/saltstack/salt/issues/11721
17:56 agliodbs that is, the inability to halt orchestration because one minion failed?
17:56 linjan joined #salt
17:57 bhosmer__ joined #salt
17:58 iggy agliodbs: sounds like it's right up your alley
17:58 agliodbs yah.  I'm not sure if I should add to that bug though, or create a new bug
17:59 iggy whatever feels right
18:00 scbunn joined #salt
18:05 KennethWilke joined #salt
18:06 scbunn joined #salt
18:08 overyander does a minion automatically run update/refresh the package db when it runs a highstate?
18:09 iggy if you have a pkg.latest, yes
18:09 iggy under certain other circumstances, yes
18:10 kunit joined #salt
18:10 overyander but it doesn't auto update that while it does the sync_all, etc. ?
18:10 MatthewsFace joined #salt
18:10 kunit what took the place of file.remove?
18:10 scbunn joined #salt
18:10 iggy overyander: sync_all sync's modules, grains, etc from the master to the minions... nothing to do with the minion running update
18:11 iggy kunit: it's there
18:11 kurt--- joined #salt
18:12 kunit "Comment: State 'file.remove' found in SLS 'states/groovy' is unavailable" <- is yaml error then?
18:12 overyander i'm not talking about actually installing or updating installed packages. i'm wanting to know if it's necessary to include pkg.refresh_db in my state file or if that is done automatically during a highstate.
18:12 perfectsine joined #salt
18:13 iggy kunit: it's a module (not a state)
18:13 dimeshake looking to update the epel-formula -- amazon linux is on osmajorrelease 2015 now
18:13 dimeshake best way to update this to catch 2014 and 2015?
18:13 dimeshake {% elif grains['os'] == 'Amazon' and grains['osmajorrelease'] == '2014' %}
18:13 iggy kunit: states are idempotent (so it'll be things like file.present, file.managed, file.absent, etc.)
18:14 bhosmer joined #salt
18:14 iggy dimeshake: everybody would love you long time if you converted that to a map.jinja style (like collectd, salt, etc.)
18:15 dimeshake guess it's time to learn that :D
18:16 baweaver joined #salt
18:20 tomh- joined #salt
18:25 kunit iggy: file.absent did the trick, ty
18:36 kindkid joined #salt
18:37 kindkid If I have a file at /srv/pillar/customers/3/key/saturn.example.com, How do I reference it from the pillar's top.sls file? customer.3.key.saturn.example.com doesn't work.
18:39 o5k joined #salt
18:42 murrdoc is there a way to pass options to command.run or should i use cmd.script
18:45 JDiPierro joined #salt
18:46 overyander I keep getting this error when salt tries to download a pkg and when trying to manually run "salt 'myminion' pkg.refresh_db' . "TypeError: string indices must be integers, not str"
18:47 overyander googling the error shows a lot of results of people getting it when trying to run state files. my states run fine, but for some reason it errors when doing anything involving pkg.
18:49 markm_ joined #salt
18:49 timoguin joined #salt
18:55 writtenoff joined #salt
18:55 denys joined #salt
19:02 iggy kindkid: you can't... that's just all around bad in python
19:02 nickg i'm having difficulties getting the mine to work in 2014.7.2.  I execute the following command but get nothing back: salt -L ip-10-3-10-8 mine.get 'L@ip-10-3-10-8' network.interfaces
19:03 iggy overyander: is the state running? All of those that I've seen have been errors on the output (so the states were running just not returning correctly)
19:03 kindkid iggy: Yeah, I'm working around it by changing the file name to /srv/pillar/customers/3/key/saturn/example/com.sls
19:03 iggy nickg: salt -L ip-10-3-10-8 mine.get 'L@ip-10-3-10-8' network.interfaces compound
19:03 kindkid thanks
19:03 iggy kindkid: the other way you see frequently... s/\./_/
19:04 nickg iggy: returned nothing as well
19:05 iggy nickg: salt '*' mine.get '*' network.interfaces
19:05 iggy if you don't get anything back from that, your mine isn't setup correclty
19:05 overyander iggy, yes the states are running
19:05 nickg i'm afraid to run that i have 70 minions
19:05 nickg heh
19:06 SheetiS joined #salt
19:06 nickg iggy is there anyway to get more debug out of the minion than just running -l debug?
19:06 iggy salt-call -l debug
19:07 iggy salt doesn't have a "magic_debug" option yet... you're going to have to output a lot of data and sift through it for now
19:08 otter768 joined #salt
19:10 ek6 joined #salt
19:10 MatthewsFace joined #salt
19:11 babilen What does?
19:11 overyander iggy, here's the debug output from issuing the pkg.refresh_db command.  http://pastebin.com/9EDNmGxq
19:16 thedodd joined #salt
19:17 ajw0100 joined #salt
19:19 __TheDodd__ joined #salt
19:21 nickg iggy: it is working now, but the target doesn't appear to work unless I do just *
19:22 linjan joined #salt
19:22 totte left #salt
19:22 fhh_ joined #salt
19:25 aphor joined #salt
19:29 niseak_ joined #salt
19:30 linjan joined #salt
19:30 rickflare if one wants to change the mode on multiple files in one declaration, what is the best method for doing so?
19:30 druonysus joined #salt
19:30 druonysus joined #salt
19:31 babilen for loop
19:31 murrdoc recurse ?
19:31 murrdoc with - names
19:31 rickflare using names
19:31 murrdoc names is awesome
19:31 rickflare let say I have specific files in /sbin
19:32 rickflare can I just do name: name1\n name2: name2?
19:33 murrdoc you ll do -names: \n - name1\n -name2 so on
19:34 rickflare ok
19:34 rickflare thank you murrdoc
19:36 Nazzy joined #salt
19:38 rickflare have another question , lets say I have a file /etc/hosts and I want to be able to append to the end of that file using a salt state. What is best method to this?
19:38 murrdoc file.append or http://docs.saltstack.com/en/latest/ref/states/all/salt.states.host.html
19:39 rickflare bad example
19:39 rickflare what if it was  some radom file
19:39 rickflare and not the host file
19:39 rickflare oh
19:39 desposo joined #salt
19:39 rickflare file.append
19:39 rickflare got ya
19:39 XenophonF left #salt
19:41 ja-s joined #salt
19:46 zircote joined #salt
19:47 ja-s joined #salt
19:47 zircote joined #salt
19:49 nesv joined #salt
19:49 Negher joined #salt
19:49 ajw0100 joined #salt
19:52 scbunn joined #salt
19:54 baweaver joined #salt
20:04 dude051 joined #salt
20:05 \ask joined #salt
20:06 nickg iggy: any idea how to debug, or why a salt['mine.get']() in a State File wouldn't return results for all of the servers?
20:06 woop left #salt
20:08 sunkist joined #salt
20:09 babilen may other people answer too?
20:09 babilen Ah, you probably want iggy specifically
20:09 murrdoc :D
20:11 nickg babilen: yes you may answer..sorry i was tlaking with iggy earlier about a related issue with mine.get
20:11 nickg any idea how to debug, or why a salt['mine.get']() in a State File wouldn't return results for all of the servers?  better? :)
20:12 murrdoc have you run the salt mine call in cli
20:12 nick_____ joined #salt
20:13 nickg i cant make the mine calls return anything
20:13 forrest joined #salt
20:13 nickg salt is VERY finicky
20:14 nickg if my master slows down and doesnt auth fast enough the minions crash
20:14 dimeshake iggy: https://github.com/saltstack-formulas/epel-formula/pull/18
20:14 nickg i run a command once and some minions respond. i run it 5 sec later and different ones respond
20:14 dimeshake took your advice
20:15 nickg salt-run manage.status continously returns servers down
20:15 nickg down:
20:15 nickg - ip-10-2-10-128.   Yet lsof shows: salt-mast 30885       root   95u     IPv4            2738121      0t0        TCP 10.0.12.184:4505->10.2.10.128:40827 (ESTABLISHED)
20:15 nickg Why does it think the thing is down if its clearly connected via lsof?
20:15 babilen How many minions do you have and how beefy is your master?
20:16 nickg i had 50 until today, but this problem has existed for some time
20:16 nickg the box has 90% idle cpu, so i presume its ok
20:16 nickg test.ping usually works even if they are showing manage.down
20:16 babilen When you run the jobs in question?
20:17 nickg well i just ran: salt -L ip-10-2-10-128 mine.get 'G@roles:cassandra' grains.items  and the cpu is 95% idle
20:17 nickg i get back no response ip-10-2-10-128:  ----------
20:17 babilen I only ever see that on my 600+ minion setup before I gave the master 16 cores. And even now I tend to run jobs with a batch size of 10% or 25%
20:18 babilen I'm not sure that mine.get uses compound matching by default
20:18 murrdoc it do
20:18 nickg salt -L ip-10-3-10-8 mine.get 'G@roles:cassandra' grains.items  didn't even return results.  yet if I run the state file, it finds 8 of the 11 servers and puts them into the topology file
20:19 baweaver joined #salt
20:19 babilen murrdoc: Are you sure? I see that one can set expr_form to compound, but I haven't checked if compound is the default
20:19 nickg salt -L ip-10-3-10-8 state.sls platform.cassandra.cassandra_topology   generated a topology file with 8 of the 11 servers it needs to find with salt['mine.get']()
20:19 babilen Ah, the examples show that it is though
20:20 babilen nickg: What is your mine function ?
20:21 murrdoc i misunderstood what u siad, default can be whatever but compound matching does work is what i meant
20:21 murrdoc which is what u meant
20:21 * murrdoc butts out
20:22 babilen nickg: I think that you have to pass "compound" if you want to match on that ...
20:22 babilen (that is make expr_form explicit, see the examples on http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.mine.html#salt.modules.mine.get )
20:23 nickg babilen: I put this all into a pastebin.. http://pastebin.com/SkcUKHEx
20:24 babilen Make the web a better place and don't use pastebin.com! Join the red ribbon campaign for better paste websites and support http://refheap.com, http://paste.debian.net or http://gist.github.com!
20:24 jhauser joined #salt
20:24 nickg ok adding compound made them find with grains.items
20:24 babilen nickg: I bet that "salt 'G@roles:cassandra' test.ping" won't match any either
20:25 nickg babilen: look at the responses..it did
20:25 babilen No, you had to specify that you are using the compound matcher with "-C"
20:25 babilen Same thing for mine.get
20:25 nickg oh yes that wont
20:25 nickg but the mine.get in the state file finds 8 out of 11
20:26 nickg let me try putting G@ in the state file and send it to 10.3.10.8.  It's running helium which may operate different than hydrogen, which is what all of the old servers are based on
20:27 nickg no adding G@ into the salt['mine.get']('G@roles:cassandra',  caused it to return no entries
20:27 babilen You'll have to adjust your expr_from too
20:27 babilen Does it return the data you expect on the command line?
20:28 nickg yes
20:29 nickg changing the cli to use grain instead of compound works
20:29 nickg salt -L ip-10-3-10-8 mine.get 'roles:cassandra' grains.items grain|fgrep -A 1 'localhost:'
20:29 nickg that shows me all 11 minions
20:32 jY nickg: you are doing it wrong
20:32 jY salt['mine.get']('roles:cassandra', 'module.name', expr_form='grain')
20:32 nickg yeah i think i figured it out
20:32 TyrfingMjolnir joined #salt
20:32 nickg i think after i restarted salt-minion on the dead servers due to the auth issues its working
20:32 nickg the servers just haven't grabbed their pillars..
20:32 nickg the way i had it was fine
20:33 nickg its the jinja file.. the line that looks for a cassandra_cluster variable.. they show None
20:33 nickg not sure how to fix the manage.up issue though
20:39 babilen nickg: So, just to clarify: Could you show use the exact line that only matches 8 and the one that matches all of them?
20:39 smcquaid joined #salt
20:39 babilen ah :)
20:39 rogst joined #salt
20:48 gthank joined #salt
20:52 Norbell_ joined #salt
20:52 hasues joined #salt
20:53 paha joined #salt
20:55 hasues left #salt
20:56 theologian joined #salt
20:57 nickg I think the problem boils down to flakey VPNs from AWS cause the tcp connection between the master and the minion to become stale, but noone ever closes it
20:57 sunkist1 joined #salt
20:57 nickg it's almost like the minion needs a keepalive ping and if it doesn't get a pong it reconnects
20:58 nickg does salt support some sort of master/slave setup where i can designate a slave to exist in each facility adn only send traffic between facilities from the master to slave?
20:58 nickg that way i don't have to transfer large amounts of data from 1 facility to the 50 minions in the other facility 50 times?
20:59 nickg it can just transfer to the 'slave' master in that facility which all of the minions there use
20:59 nickg like zabbix has the proxy feature..
21:00 spicyWith joined #salt
21:02 sunkist joined #salt
21:03 bluenemo joined #salt
21:03 bluenemo joined #salt
21:05 debian112 can someone point me to the page where I can change the engine to use python vs jinja
21:05 debian112 ?
21:06 debian112 can't remember where I found that
21:06 murrdoc http://docs.saltstack.com/en/latest/ref/renderers/
21:07 debian112 thanks
21:08 sunkist1 joined #salt
21:09 otter768 joined #salt
21:09 iggy nickg: newer versions of salt have the keepalive fixed
21:10 stanchan joined #salt
21:13 sunkist joined #salt
21:15 pdayton joined #salt
21:18 conan_the_destro joined #salt
21:29 dude051 joined #salt
21:31 JDiPierro joined #salt
21:34 jeffspeff joined #salt
21:35 LtLefse_ joined #salt
21:35 bytemask joined #salt
21:35 davisj_ joined #salt
21:35 gchao_ joined #salt
21:36 Karlthane_ joined #salt
21:36 jay_d joined #salt
21:36 Edgan_ joined #salt
21:36 CaptTofu_ joined #salt
21:37 balltongu_ joined #salt
21:37 __aphor__ joined #salt
21:37 esharpmajor joined #salt
21:37 fxdgear_ joined #salt
21:38 Georgyo joined #salt
21:38 kaptk2_ joined #salt
21:38 hasue1 joined #salt
21:38 LtLefse_ joined #salt
21:38 vlcn joined #salt
21:38 nethershaw joined #salt
21:38 bfoxwell joined #salt
21:39 keekz_ joined #salt
21:39 stevednd joined #salt
21:39 Laogeodritt joined #salt
21:39 Vye joined #salt
21:39 akitada_ joined #salt
21:39 [vaelen] joined #salt
21:39 synical joined #salt
21:39 GrueMaster joined #salt
21:40 armguy joined #salt
21:40 Eugene joined #salt
21:41 lude joined #salt
21:41 chutzpah joined #salt
21:42 Tlost joined #salt
21:43 Tlost left #salt
21:47 cmcmacken joined #salt
21:48 giantlock joined #salt
21:50 dude051 joined #salt
21:57 hackel joined #salt
21:58 writtenoff joined #salt
22:07 MindDrive joined #salt
22:22 echo joined #salt
22:25 dude051 joined #salt
22:25 echo joined #salt
22:25 andreyst joined #salt
22:26 andreyst Hi all, why could mine functions not get executed?
22:26 andreyst After doing salt '*' mine.update and salt-call mine.get some functions return expected results and some - not
22:27 andreyst Minion has two 'roles' in grains, when salt-call mine.get is matched by one of them, everything works correctly. If matched by another - no result
22:27 andreyst When I do salt-call pillar.items, all mine functions show up there
22:29 ajw0100 joined #salt
22:33 bfoxwell joined #salt
22:34 igorwidl left #salt
22:38 druonysus joined #salt
22:40 beneggett joined #salt
22:44 baweaver joined #salt
22:47 aquassaut joined #salt
22:48 nickg iggy: I am runing 2015.7.2 on all of them and it still happened. are there settings i need to optimize related to that?
22:48 nickg er 2014.7.2
22:52 theologian joined #salt
22:52 jhauser joined #salt
22:58 JDiPierro joined #salt
23:04 nesv joined #salt
23:10 otter768 joined #salt
23:24 jerematic joined #salt
23:33 aparsons joined #salt
23:36 MindDrive salt-call publish.full_data 'hostname' foo.install -  install takes two arguments.  How are they properly passed?  Note: "salt-call publish.full_data 'hostname' foo.install bar 14" is NOT working, and with debug mode on the receiving minion I'm seeing NOTHING in the logs.
23:44 kevops joined #salt
23:44 murrdoc can onlyif be put on any state ?
23:49 baweaver joined #salt
23:53 subsignal joined #salt
23:54 fusionx8_ joined #salt
23:54 murrdoc after all i did for u guys
23:54 murrdoc gonna make me rtfm
23:54 * murrdoc pouts
23:59 bhosmer_ joined #salt

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