Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-10-29

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

All times shown according to UTC.

Time Nick Message
00:01 Ryan_Lane2 joined #salt
00:01 cads joined #salt
00:10 GrueMaster joined #salt
00:11 scoates joined #salt
00:12 bagackiz joined #salt
00:12 JordanTesting Anyone know how to pull a file down in a cmd.script? I want to run a script that runs another script from salt://
00:13 KyleG JordanTesting: I use curl w/ cmd.run to pull down scripts and execute them
00:13 Pixionus I suppose you could tell it to scp the file, but if I understand correctly isn't this what the reactor is for?
00:14 KyleG Example: https://gist.github.com/kylegato/ca8f83e6e71955f4b30c How I install composer
00:15 pdayton joined #salt
00:17 bagackiz joined #salt
00:18 racooper joined #salt
00:19 jonbrefe joined #salt
00:20 bagackiz joined #salt
00:22 bagackiz joined #salt
00:22 KyleG joined #salt
00:22 KyleG joined #salt
00:23 JordanTesting KyleG: I decided to juse use a cat > blah <<EOF to keep it in a single script
00:23 aparsons joined #salt
00:23 murrdoc ouch
00:24 murrdoc is composer not packaageable
00:24 Corey joined #salt
00:24 bagackiz joined #salt
00:25 bagackiz joined #salt
00:28 bagackiz joined #salt
00:28 lopezio hi, any freebsd-salting folks around..?
00:29 Ryan_Lane2 joined #salt
00:30 bagackiz joined #salt
00:30 darvon joined #salt
00:31 Ryan_Lane2 joined #salt
00:32 bagackiz joined #salt
00:32 Leonw joined #salt
00:32 Leonw Hi all
00:32 Ryan_Lane joined #salt
00:33 bagackiz joined #salt
00:34 Leonw I have a question... I have several clients and wold like to manage all of them in a single salt server as if every client was an environment. Is there any way where I can enforce that a group of minions can access only the pilar data and the sls files that are in their assigned (per a role grain) environment?
00:34 ajolo__ joined #salt
00:34 Leonw (when I say clients, I mean several companies that I do work for)
00:35 bagackiz joined #salt
00:38 bagackiz joined #salt
00:38 lopezio Leonw: i'm not sure if it's the same thing, but I do something similar by using the minion_id. that is, i use import_yaml of a file with the minion_id in its name
00:38 lopezio that yaml contains further information about the customer and the basic services
00:39 Leonw lopezio: the problem that I have is that minions are ephemeral (all my clients are siting on AWS and using auto-scale)...
00:40 Leonw lopezio: so the way that I do matching is using a Role tag on the EC2s from where I set a Grain from the minion itself
00:40 nitti joined #salt
00:40 Leonw maybe if I add an autogenerated hash on the instance creation... and signed this hash...
00:40 lopezio Leonw: ic. maybe you should use a database and an external pillar then?
00:41 Leonw but even then I would need to do some kind of auth...
00:41 lopezio so that when the AWS machines are set up, the same tool makes an entry in some database (redis, mongo, mysql, whatever) which is used by the master with an ext_pillar..?
00:41 Leonw lopezio: could you give me some link to it? (I'm a real newbie on Salt... it's still in evaluation)
00:42 Leonw lopezio: hmm... I see
00:42 lopezio yep that's exactly the point i thought in my setup, that at least the minion_id is authed
00:42 Leonw lopezio: but how I would avoid another client, connecting on the same master to fake being a machine on the other client account?
00:43 lopezio Leonw: that's the thing: how do you mange the salt-key thing atm?
00:43 lopezio basically the tool that sets up the client should: a) give him the minion_id, b) define in the database to which customer this minion belongs
00:44 lopezio so that only the tool can do this, not the minion himself
00:44 Leonw I see... thanks for the pointers! :)
00:44 bagackiz joined #salt
00:44 Leonw lopezio: I will think a little more and do some testing!
00:44 lopezio making an ext_pillar is really easy, see http://salt.readthedocs.org/en/latest/topics/development/external_pillars.html
00:45 lopezio Leonw: btw, I'm not familiar with that yet, but probably salt cloud is what you're looking for even more?
00:45 lopezio ( http://docs.saltstack.com/en/latest/topics/cloud/ )
00:48 n8n_ joined #salt
00:52 bagackiz joined #salt
00:52 zfouts joined #salt
00:54 zach Anyone else doing the webex for the San Francisco SaltStack Meetup?
00:55 bhosmer joined #salt
00:56 bagackiz joined #salt
01:01 aqua^mac joined #salt
01:08 canci joined #salt
01:08 Ryan_Lane ugh. I hate webex so much
01:09 zach Me too
01:09 Ryan_Lane I know it's hosted by cisco, but google hangouts would have been so much nicer :D
01:09 zach I wish I was out there this week to attend it
01:09 zach one of my coworkers is there
01:09 hasues joined #salt
01:10 hasues left #salt
01:13 knot joined #salt
01:13 jonbrefe joined #salt
01:17 ajolo__ joined #salt
01:18 timoguin Ryan_Lane: especially with the ability to record the whole thing and insta-youtube
01:18 Ryan_Lane is anything happening right now except for the music?
01:19 j_ joined #salt
01:19 Gareth Ryan_Lane: I just hear music.
01:19 Ryan_Lane ok
01:19 Gareth Ryan_Lane: every once and awhile I see someone appear on the smaller screen, look like their talking, then disappear. :)
01:21 Ryan_Lane they're on now :)
01:24 Pixionus where are you watching this?
01:25 Ryan_Lane webex
01:25 hellerbarde joined #salt
01:26 timoguin Pixionus: sign up: http://www.saltstack.com/saltstack-events/saltstack-silicon-valley-meetup-cisco
01:26 timoguin looks like they're recording
01:27 sirtaj joined #salt
01:32 z3uS joined #salt
01:35 elfixit joined #salt
01:38 Pixionus just gives me a forbidden page..  guess I'm too late.
01:53 mdasilva joined #salt
01:56 mohae joined #salt
02:03 ajolo__ joined #salt
02:05 jalaziz joined #salt
02:06 Guest834 joined #salt
02:18 Nexpro1 joined #salt
02:25 snuffeluffegus joined #salt
02:31 Ryan_Lane2 joined #salt
02:33 Ryan_Lane joined #salt
02:41 bezeee joined #salt
02:45 bhosmer joined #salt
02:49 otter768 joined #salt
02:55 TristanMatthews joined #salt
02:56 TristanMatthews I just ran into a weird issue with a clean salt install. I opened an issue for it on github.
02:56 mosen joined #salt
02:56 TristanMatthews I can't reproduce the error on another instance but still have the original one up encase anyone wanted me to test something on it before I blow it away.
02:57 TristanMatthews https://github.com/saltstack/salt/issues/16985
03:02 aquinas_ joined #salt
03:05 thayne joined #salt
03:06 kermit joined #salt
03:06 malinoff joined #salt
03:06 crocket joined #salt
03:06 ajolo__ joined #salt
03:07 crocket I added master's minion id to /etc/salt/autosign.conf
03:07 crocket Is that an insecure thing to do?
03:07 crocket Should I write a state module for that?
03:08 Micromus joined #salt
03:09 troyready joined #salt
03:15 smcquay_ joined #salt
03:16 timoguin webex died. :(
03:17 joehh joined #salt
03:17 crocket How can I write a state that waits for a while for a file to appear?
03:19 aurynn I'd use a reactor
03:20 crocket aurynn, It's a one-time event.
03:21 aurynn that's... what are you trying to do?
03:22 nebuchadnezzar joined #salt
03:22 crocket aurynn, I want to change /etc/salt/minion_id to a specific value, restart minion, and make the master automatically accept the minion.
03:22 crocket Only once
03:22 aurynn this seems like a job for the overstate
03:22 crocket It's run by state.orchestrate
03:22 crocket aurynn, I'm using state.orchestrate
03:23 aurynn so... just use orchestrate to shove the new file in and restart the minion? why is there "waiting for a file" ?
03:23 crocket aurynn, I think reactor system is not appropriate.
03:23 crocket aurynn, It takes a while for salt-minion to seed its public key into the master.
03:24 crocket It's a distributed system.
03:24 crocket I need to wait for it.
03:24 crocket If I don't wait for the minion key, it fails.
03:24 timoguin maybe a cmd.run with a call to sleep in the S
03:24 crocket timoguin, I thought about it.
03:24 timoguin SLS*
03:24 aurynn At this point I'd probably recommend preseeding the key as you restart the minion
03:24 crocket timoguin, That's not a good solution.
03:24 timoguin but seems hacky
03:25 crocket aurynn, How do I preseed the key?
03:25 aurynn crocket, http://docs.saltstack.com/en/latest/topics/tutorials/preseed_key.html
03:25 crocket Oh
03:25 aurynn I'd generate keys during your orchestrate, shove the key across as you rewrite the minion and restart it
03:26 crocket I could just copy /etc/salt/pki/minion/minion.pub to /etc/salt/pki/master/minions/blahblah.pub
03:26 aurynn or that
03:26 jeddi joined #salt
03:28 crocket aurynn, The preseed tutorial is exactly that.
03:30 BossR joined #salt
03:32 BossR hey all, so a company I am doing business with has convinced me into saltstack... but I am completely lost on the full scope of what its for.  I was wondering if someone could give me some examples of what Salt can do... like some configuration examples or Web HAlite exampes
03:32 crocket aurynn, You are clever.
03:33 aurynn crocket, thank you :)
03:33 crocket BossR, Why don't you just read tutorials and follow through examples?
03:33 crocket BossR, That'll give you a good outline in hours.
03:33 aurynn BossR, It can do everything Puppet/Chef can do, and it can do them across multiple servers, and have servers depend on each other.
03:33 aurynn and a bunch of other stuff
03:34 aurynn but that's the core usefulness
03:34 crocket aurynn, I had to face a grumpy corporate officer who thought saltstack was overengineering for a small server room with 15 computers.
03:34 aurynn it isn't overengineering
03:34 aurynn imo
03:34 crocket aurynn, He thought I was not allowed to do such a thing without managerial sanction.
03:34 kiorky joined #salt
03:35 malinoff If all these 15 servers are not depend on each other, salt is definitely an overengineering
03:35 BossR aurynn: ok, now that I can understand... are there things that Salt isnt well known for that you feel is useful... and we are using it for 9 servers, but are planning to scale out overtime so I am implementing a management/state solution now...
03:35 crocket malinoff, I think salt-masterless can serve them as well.
03:35 crocket malinoff, I'd use salt for my only one home server.
03:35 mosen whats the method du jour of bootstrapping a salt minion from a vm that currently only has ssh access
03:35 crocket mosen, You use "salt-run virt.init"
03:36 aurynn BossR, it can run commands on all your servers, it has a built in event-reaction system that you can hook custom code into trivially
03:36 malinoff crocket, ansible is still much simpler for such cases
03:36 crocket malinoff, oh,,... yes
03:36 BossR aurynn: OK NOW I GET why they picked it...
03:36 mosen crocket: even for hyperv ?
03:36 aurynn BossR, Salt is super powerful :)
03:36 crocket mosen, If you want to launch new VMs, salt virt runner is good.
03:37 crocket malinoff, What's the mode of operation of ansible?
03:37 malinoff crocket, ssh, if i understood you correctly
03:37 crocket malinoff, Its fundamental architecture I mean.
03:37 malinoff crocket, agentless, masterless
03:37 malinoff crocket, it uses plain ssh
03:37 crocket God
03:38 crocket It sounds like admin's wet dream.
03:38 BossR aurynn: what is your thought currently on HAlite... part of this project/upgrade is to provide a disaster plan if key people are terminated/die/sick/holiday and a non-technical person needs to at least get data to try and resolve issues... where is HAlite in your opinion
03:38 malinoff crocket, for simple tasks, yes, it is
03:38 aurynn BossR, I haven't looked at HAlite yet
03:38 BossR so you stick to the CLI?
03:38 aurynn so far, yes
03:38 malinoff crocket, but when you need to build a complex system when one service depends on another, ansible sucks
03:39 crocket malinoff, like controlling VMs?
03:39 mosen malinoff: i actually like having an agent though :) because i can import libs to do things that are more complex than the CLI
03:39 malinoff mosen, sure, so am i
03:39 crocket malinoff, like reactors?
03:39 malinoff crocket, yes
03:39 malinoff and since ansible uses ssh, it is VERY slow
03:39 crocket malinoff, What I noticed was salt is not fast.
03:40 malinoff "no changes" run takes more than 4 minutes (in my setup)
03:40 crocket It takes seconds to respond.
03:40 crocket test.ping on the same machine takes seconds.
03:40 crocket It should take less than a second.
03:40 malinoff crocket, it depends
03:40 crocket Plus, if some machines are down, timeout is really annoying.
03:40 crocket It should be parallel I guess.
03:41 malinoff i agree that salt can be way faster (but the source code quality does not allow it)
03:41 crocket Code qualtiy
03:41 crocket Python wasn't built for such large programs as salt.
03:42 malinoff To be honest, ansible's source code quality is even worse :)
03:42 crocket Ha
03:42 __number5__ lol
03:42 malinoff crocket, that's not true, take a look on celery
03:42 crocket malinoff, I need to convince people that salt is better than puppet and chef.
03:42 crocket What arguments do I have?
03:42 malinoff crocket, it is not "better", it solves the problem in a different way
03:42 __number5__ crocket: if you still don't have it you won't have it
03:43 crocket __number5__, You're talking to yourself.
03:43 crocket What don't I have in the first place/
03:43 __number5__ the reason for salt
03:43 mosen offtopic: Can i do integration testing for 3rd party execution and state modules? I guess i can't really import salt.tests.integration, and i dont want to copy saltstacks source wholesale :)
03:43 malinoff crocket, chef/puppet is fine when you don't need to perform deployments (e.g. when the only thing you have to do is to maintain a bunch of servers in specific state)
03:43 crocket __number5__, I have my reasons, but I don't know how to motivate others.
03:44 crocket malinoff, deployments?
03:44 malinoff crocket, salt/ansible is fine when you need to perform manual deployments
03:44 malinoff crocket, yes, like "upgrade my app on these servers"
03:44 crocket malinoff, You mean seding commands?
03:44 crocket sending
03:44 mosen mcollective requires a ton more dependencies than running cmd.run :)
03:44 crocket ansible and salt can send commands to others.
03:45 BossR ok so I gotta ask.. you keep comparing salt to ansible - is there a technical reason or paid vs free?
03:45 malinoff crocket, yes. Chef/puppet were designed to pull updates, not receive them from a push
03:45 __number5__ anyone manage minion config in pillar like salt-formula does? how do you bootstrap a minion before it connect to a master (thus, no pillar available)
03:45 crocket BossR, I need to embarass the grumpy corporate officer in a company seminar.
03:45 crocket BossR, I'm personally motivated.
03:45 malinoff crocket, just define your tasks and choose the best tool
03:46 crocket malinoff, Does that mean chef and puppet aren't great for bootstrapping automatically?
03:46 malinoff crocket, there is no silver bullet yet
03:46 crocket malinoff, Some people say they reduced their codebase by 90% by moving from puppet to salt.
03:46 malinoff crocket, that's all about ruby, baby
03:46 crocket Ruby vs Yaml?
03:46 malinoff yep
03:47 BossR ahh ok... I will say, I am in both roles... CEO of my company but also the CTO - from a technical level, Salt/Puppet makes sense... but Ansible is "pretty" HAHA
03:48 crocket malinoff, Do you know how to writes states that say "If /etc/salt/pki/minion/minion.{pub|key} doesn't exist, generate them with 'salt-key --gen-key', and copy minion.pub as /etc/salt/pki/master/minions/blahblah"?
03:49 crocket malinoff, The lines of code is important.
03:49 crocket It is a 10-fold difference, it is.
03:50 crocket malinoff, I guess salt and ansible beat puppet and chef because of YAML.
03:50 crocket Ruby verbose
03:50 crocket YAML terse
03:50 malinoff crocket, what are you talking about is not a "state", it's more about tasks
03:50 malinoff crocket, i'd solve this problem with upstart or something
03:50 __number5__ as an ex-puppet user, puppet dsl is not really ruby
03:50 malinoff not with salt states
03:50 timoguin __number5__: I use salt-cloud to launch the VMs and preseed their keys
03:51 mosen __number5__: yeah its kinda its own language :)
03:51 malinoff __number5__, and it's even worse - i have to learn an other dsl :)
03:51 malinoff too much dsls
03:51 crocket malinoff, It makes sense to specify states.
03:51 __number5__ malinoff: I'm okay with ruby, I just hate puppet dsl...
03:52 malinoff crocket, not for everything. E.g. how would you write a state to build an RPM package?
03:52 malinoff crocket, it is an "action", not a "state"
03:52 crocket malinoff, state.orchestrate can specify actions, too.
03:52 __number5__ timoguin: what about the /etc/salt/minion config? or you just set master: there and wait until it get pillar and everything populated?
03:53 timoguin __number5__: I send in a default minion config from the salt-cloud profile initially
03:53 timoguin basically just to define the master and a role or two
03:53 timoguin and then the salt formula picks up from there afterwards
03:54 __number5__ timoguin: and once it connected and updated minion config it will restart themselves?
03:55 timoguin __number5__: yuhp
03:55 __number5__ timoguin: got it, thanks
03:55 crocket How do I specify states that generate /etc/salt/pki/minion/minion.{pub|key} if they don't exist by executing "salt-key --gen-key"?
03:55 crocket I need to execute state.orchestration.
03:56 malinoff crocket, {% if salt['cmd.run']('file /etc/salt/pki/minion...') %} # do smth {% endif %}
03:56 mosen __number5__: I came here from puppet too. Found it very easy but salt forces me to rethink a problem
03:56 crocket malinoff, That depends on "file" command which may not exist?
03:56 malinoff crocket, sure
03:56 malinoff crocket, you can use anything you want
03:57 crocket Is there a state that generates keys on some paths?
03:58 malinoff crocket, don't think so, salt-key is a cli program
03:58 crocket malinoff, I could write a custom state module which salt-run can't fetch.
04:00 BossR can salt be used for server monitoring as well?
04:00 __number5__ there is an reactor example related to key auto accept in salt docs
04:01 malinoff BossR, it is better to use monitoring tools :)
04:01 malinoff BossR, you can deploy them using salt
04:01 BossR obviously :p - but... I am starting to see the level of automation that Salt can provide... so in my eyes, I am seeing something like server stats are collected and if X=problem - restart Y service
04:02 malinoff BossR, believe me, it is a bad idea to build your infrastructure only on the top of salt
04:02 BossR I am not looking at ONLY - but I am looking at simplifying
04:03 malinoff BossR, salt is still a young project, it does not care about backwards compatibility
04:03 timoguin __numbers__: https://github.com/saltstack-formulas/ec2-autoscale-reactor
04:03 malinoff BossR, using salt to monitor won't simplify things :)
04:03 BossR So I already spent way too much money on New Relic each month - but I am trying to really have some automation to common issues
04:04 timoguin It's not there yet for monitoring, but the bare features are.
04:04 BossR so New Relic gives me the stats I need - but if I can maximize Salt - to provide some automation - then why not...
04:04 glyf joined #salt
04:06 BossR and if you are telling me that it is a "young project" then I need to ask my Professional Services Team to stop implementing it... they recommended it, but listening to you guys talk about it poses a lot of concerns about stability
04:07 thayne joined #salt
04:07 kiorky joined #salt
04:08 glyf joined #salt
04:08 malinoff BossR, i just have to warn, you can face the backwards compatibility issue once, when you lets say upgraded salt-master and all your monitoring is fucked because new salt-master cannot interact with old salt-minions
04:09 malinoff In 2 words, zabbix is stable and salt is not
04:10 BossR ok I get that - but even in enterprise solutions that can happen as well... but... I get what you are saying...
04:12 malinoff BossR, sure - but if you have an enterprise solution, you should also have guys from the solutions company to fix issues
04:12 ajolo__ joined #salt
04:13 BossR this is true... but when you talk about backwards compatibility, I can accept that = but that doesnt stop me from using Salt - it just means you plan your upgrade and test beforehand -
04:14 malinoff BossR, of course :) I don't say you shouldn't use it, i'm just warning
04:14 aquinas joined #salt
04:14 aquinas_ joined #salt
04:15 BossR LOL I am just concerned about the stability overall by the conversations going on in here today... and I am trying to take each case as it comes - wether its the end user being "unique" - or a technical problem with Salt... and its not adding up well
04:18 fragamus joined #salt
04:25 timoguin BossR: salt has a LOT of features, so you'll hear about a lot of issues.
04:25 BossR timoguin: completely - and it is why I am taking each issue as a unique insight
04:26 timoguin the core is pretty stable and getting more so every day.
04:27 timoguin monitoring capabilities are on the roadmap and the enterprise web UI will focus on that a lot in the future
04:27 timoguin there's just a lot of work to do. it's easy to see the capabilities there and get excited, especially as a dev
04:32 mohae joined #salt
04:33 bhosmer joined #salt
04:34 yes456 joined #salt
04:37 iggy Pixionus: heard of it, never checked it out, it's on my TODO... and yeah, test.ping blows
04:43 crocket Is there a file state that deletes everything in a directory?
04:49 ndrei joined #salt
04:49 ndrei_ joined #salt
04:49 ndrei__ joined #salt
04:53 crocket ok
04:53 crocket There is file.directory:clean:True
04:53 crocket It seems sysvinit-based services can't be restarted on ubuntu by salt.
05:00 crocket oh no
05:00 crocket It was PEBKAC.
05:42 mdasilva joined #salt
05:46 felskrone joined #salt
05:47 felskrone joined #salt
05:47 ramteid joined #salt
05:48 fragamus joined #salt
05:56 trevorj joined #salt
05:57 Ryan_Lane joined #salt
06:02 shookees joined #salt
06:02 shookees joined #salt
06:06 zlhgo_ joined #salt
06:13 SheetiS joined #salt
06:14 crocket Is https://bpaste.net/show/f0f12d43b6ff a correct state?
06:14 crocket I want to replace two lines in a file like that.
06:16 crocket Or is it https://bpaste.net/show/7ea4249b704e ?
06:18 Ryan_Lane joined #salt
06:18 Ryan_Lane joined #salt
06:20 zlhgo_ joined #salt
06:22 bhosmer joined #salt
06:30 zlhgo_ joined #salt
06:42 jdmf joined #salt
06:43 jdmf joined #salt
06:45 jdmf joined #salt
06:55 CeBe joined #salt
06:58 epcim_ joined #salt
07:00 ldlework joined #salt
07:00 ldlework when running running salt-call locally, how can I specify single state in an sls module?
07:00 ldlework if I have foo.sls and bar: state, passing "foo.bar" doesn't seem to work
07:02 ldlework like, salt-call --local state.sls foo.bar
07:02 duncanmv joined #salt
07:05 ingwaem joined #salt
07:09 ingwaem left #salt
07:10 ldlework :(
07:22 Cidan joined #salt
07:22 tf198_ joined #salt
07:26 babilen ldlework: You would use "foo" and "bar" respectively and cannot call both with "foo.bar". The latter would refer to foo/bar.sls
07:27 slav0nic joined #salt
07:27 ldlework babilen: I mean I want to call a single state inside of an sls
07:28 babilen ldlework: You are probably looking for state.sls_id, but note the availability:  http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#salt.modules.state.sls_id
07:28 ldlework babilen: yeah its odd, I keep running the new bootstrap with the flag to use the rc
07:28 ldlework but --version still says 2014.1
07:28 ldlework :(
07:31 mdasilva joined #salt
07:32 pdayton joined #salt
07:32 ldlework nice there we go
07:35 n8n joined #salt
07:35 wvds-nl joined #salt
07:36 n8n joined #salt
07:41 toastedpenguin joined #salt
07:41 ioio_ joined #salt
07:43 lcavassa joined #salt
07:45 flyboy joined #salt
07:55 totte joined #salt
07:58 trikke joined #salt
07:59 Furao joined #salt
08:04 TheThing joined #salt
08:07 felskrone joined #salt
08:10 pdayton joined #salt
08:10 bhosmer joined #salt
08:11 pdayton1 joined #salt
08:15 flebel joined #salt
08:17 n8n joined #salt
08:23 alex-mesos joined #salt
08:30 bhosmer joined #salt
08:38 zlhgo_ joined #salt
08:42 Kenzor joined #salt
08:43 karimb joined #salt
08:48 chiui joined #salt
08:50 cliff-hm joined #salt
08:50 cliff-hm joined #salt
08:50 ingwaem joined #salt
09:00 jacksontj joined #salt
09:05 krak3n` joined #salt
09:07 wnkz joined #salt
09:08 ingwaem joined #salt
09:08 ingwaem left #salt
09:17 crocket left #salt
09:17 ingwaem joined #salt
09:17 ingwaem left #salt
09:20 mdasilva joined #salt
09:21 TheThing joined #salt
09:23 linjan joined #salt
09:23 epcim_ joined #salt
09:26 n8n_ joined #salt
09:29 ingwaem joined #salt
09:29 ingwaem left #salt
09:33 lothiraldan joined #salt
09:41 wnkz_ joined #salt
09:42 yomilk joined #salt
09:43 akafred joined #salt
09:59 bhosmer joined #salt
10:06 colttt joined #salt
10:10 Cottser|away joined #salt
10:11 bhosmer joined #salt
10:19 wnkz joined #salt
10:21 peters-tx joined #salt
10:22 flyboy82 joined #salt
10:24 yomilk joined #salt
10:26 flyboy82 joined #salt
10:29 giantlock joined #salt
10:33 bhosmer_ joined #salt
10:34 flyboy82 joined #salt
10:37 brayn joined #salt
10:39 span joined #salt
10:39 span joined #salt
10:51 trikke hi, i have a questions i want to build a MOTD. Can I with salt gather information from my minion and use software like figlet on my salt server to generate the correct data for my template for my minion or do i have to install the program figlet on my minion for this ?
10:57 brayn trikke: I am just starting with salt and in no way should you trust what I say. That beign said I think you could use salt to gather minion data and generate a template using filget on master and then distribute that to all minions
10:58 trikke thx brayn just starting out myself so trying to rewrite all puppet modules in our company to get to know salt
11:02 cast joined #salt
11:02 AirOnSkin Hey guys. How do I use a grains value inside a managed file? I have /etc/sysconfig/network managed by Salt and I'd like to do something like: HOSTNAME={{ grains['host'] }}
11:03 AirOnSkin This gets transfered literally, though...
11:03 brayn AirOnSkin: you have to add - template: jinja to your sls
11:03 brayn or whatever templating system you are using
11:04 AirOnSkin brayn: Oh, ok. Let me try that...
11:05 bhosmer_ joined #salt
11:06 N-Mi joined #salt
11:06 AirOnSkin brayn: Cool, that worked :)
11:06 AirOnSkin Thanks
11:06 felskrone joined #salt
11:06 brayn AirOnSkin: np. I've just figured that out myself
11:08 AirOnSkin Yeah, there's a lot to learn with Salt ^^
11:09 mdasilva joined #salt
11:15 darvon joined #salt
11:17 epcim joined #salt
11:21 lopezio hi salting fellows.. I'll try my luck today... is any freebsd salt user around? :)
11:23 lopezio I can't get the pkg state module to honor my fromrepo :( I had the look at the state and action code, and at first sight it looks like in theory the -r option should be passed. but it's definitively not, also not with salt-call pkg.install fromrepo=xxx pkgname..
11:24 noeol joined #salt
11:26 lopezio if I find a bug i'll be happy to make up a pull request, but atm I'm out of pointers as where too look further for the issue. master and minions are FreeBSD 10.
11:30 chiui joined #salt
11:31 mdasilva joined #salt
11:36 ggoZ joined #salt
11:39 yomilk joined #salt
11:48 lothiraldan joined #salt
11:49 bluenemo joined #salt
11:50 linjan joined #salt
11:53 yomilk joined #salt
11:53 yomilk joined #salt
11:53 lothiraldan joined #salt
11:56 CeBe joined #salt
11:57 Furao just wrote a proxy to pillar module that track usage and default value and compare to each formula pillar doc and report undocumented pillar key, different default values for the same pillar key, undocumented defalut value, etc
11:58 chiui joined #salt
11:58 AirOnSkin Ok, another question: How do I set require for a directory or file? All I ever see in examples is require: pkg
12:00 viq AirOnSkin: the syntax of require is <module>: <ID>
12:00 AirOnSkin viq: Oh, I see. I'll try that
12:00 viq so if you have ID of "install httpd": pkg.installed: - name: apache24 you would require: - pkg: install httpd or - pkg: apache24
12:01 viq And if you have some_dir: file.directory: - name: /tmp/somedir   you would require: - file: some_dir    or - file: /tmp/somedir
12:02 viq And no, you cannot require a file that's not managed by salt, as you don't require a file, you require a state that uses a file module
12:02 viq Does that make sense enough?
12:04 AirOnSkin That's perfect.
12:05 AirOnSkin If I define an - order: last, will this only be executed last in the current state, or generally?
12:05 viq generally
12:05 AirOnSkin cool, thanks :)
12:06 viq Though personally I prefer to use requirements than such tricks ;)
12:07 AirOnSkin It would only be used once.- template: jinja
12:07 AirOnSkin disregard that
12:07 AirOnSkin I'm eating on the side, so typing is a bit difficult. What I wanted to write was:
12:08 AirOnSkin I would only use - order: last once. I'd touch a file to indicate that the setup ran through. I want that because I have certain states which should only run once, and I'd configure them to only run if this last touched file doesn't exist
12:09 AirOnSkin Is this understandable or is there a better way for states that only need to be run once?
12:14 viq AirOnSkin: I've heard of people setting grains if a state was ran, and states written to do nothing if the grain exists
12:17 AirOnSkin viq: Hmm, sounds good. I'll look into that
12:27 Emantor joined #salt
12:30 jhauser joined #salt
12:35 flyboy82 AirOnSkin: you could always write your "run-once-only" states using the unless function. Find if the state does any change in the filesystem and go with    - unless: ls /path/to/file/that/has/been/created
12:36 vejdmn joined #salt
12:38 viq flyboy82: I think that's what he was looking into. I guess I find the idea with grains... cleaner, somehow.
12:38 AirOnSkin flyboy82: I was planing to do something like that, but if I can get it to work with grains, I'd prefer that. It seems more elegant.
12:41 vejdmn joined #salt
12:41 AirOnSkin Another thing that bugs me: Most of the times, when I initiate a highstate -v, I get: Minion did not return
12:41 AirOnSkin I've read that this only means that the command run into a timeout
12:41 AirOnSkin But I'd still really much like to get the output of what's changed and stuff
12:42 flyboy82 question: I'm trying to create a virtual environment with virtualenv module, reading a bunch of requirements files. The modules needed are already installed on the minion but the module doesn't seem to be able to look to any other directory besides /usr/lib/python2.7/ (debian 7, salt 2014.1.11). The modules I need are in /usr/lib/python2.7/dist-packages/ and /usr/lib/pymodules/python2.7/. Is there any way I can force it to also look into those folders?
12:42 colttt joined #salt
12:43 karimb joined #salt
12:49 ioio joined #salt
12:50 j-saturne joined #salt
12:53 trikke hi, when i use "  SELinux: {{ salt['selinux.getenforce'] }}  " in my template the output is SELinux: <function getenforce at 0x2df08c0> instead of Enforcing on the cmd line it works
12:53 trikke anyone knows why ?
12:57 cpowell joined #salt
12:58 nitti joined #salt
13:00 babilen trikke: salt['selinux.getenforce']() to call it
13:00 babilen (it's how you call functions in Python, if you just give the name you get the actual function)
13:00 trikke ah ok
13:00 trikke indeed works now
13:01 trikke i was also running {{ salt['network.ip_addrs']('eth0') }} and the output that i got was ['192.168.100.14'] is there a way to get [] removed from the output ?
13:02 flyboy82 add a [0] at the end
13:03 trikke thx :)
13:04 Ahlee hrm.  looping over a list of users, getting back 'Source file salt://pypi/pip.conf not found' for one user, yet is applied to 22 users before hte error, and 46 users after successfullly
13:04 ndrei___ joined #salt
13:06 b1nar1 joined #salt
13:06 lothiraldan joined #salt
13:08 babilen trikke: Note that you can assign more than one address to an interface. Are you sure that you want to use eth0 and not simply the ip address within a certain network?
13:08 mdasilva joined #salt
13:08 trikke babilen good point
13:09 vbabiy joined #salt
13:09 trikke i will have a look in the docs and change it
13:10 trikke does anyone know if it is possible to run a cmd on the server and use that output in a template on a minion ?
13:10 babilen trikke: You can pass "cidr=..." to that function if the latter is more appropriate. I don't know your setup, but you typically want the address in 192.168.* rather than "the alphabetically first address that happens to be assigned to eth0"
13:11 babilen trikke: You'd use the salt mine for data like that or refer to a pillar from both configurations
13:12 trikke i will look into stal mine then. Pillars are not want. i want to generate a banner with the name of the server and put it in the motd file
13:13 babilen I see you focus on the important things ;)
13:13 trikke but i dont want to install on every server the pkg to generate those banners
13:13 babilen Why not?
13:13 trikke useless soft
13:13 trikke should not be on the server imho
13:14 trikke lol babilen just playing with salt and converting all puppet manifests to get used to salt
13:14 babilen And which name do you want to insert into motd?
13:14 trikke the hostnames
13:14 babilen Of what?
13:14 trikke fqdn
13:14 trikke of the minions
13:15 intellix joined #salt
13:15 alex-mesos joined #salt
13:15 babilen Ah, you don't need the salt mine for that as you are referring to data about the minion. Just use {{ grains['fgdn'] }} in the motd file that you manage with file.managed. Don't forget to set "template: jinja".
13:16 babilen The salt mine is used to make data from *other* minions globally available.
13:16 trikke ah ok
13:16 babilen fqdn naturally
13:16 trikke but if i use the grains then the templat will have the name in just small txt
13:16 trikke what we use now is figlet to print ascii
13:17 babilen Why don't you make it uppercase?
13:17 babilen Most FQDNs you encounter will be ASCII
13:18 trikke yes  offcourse :)
13:18 babilen Well, not necessarily, but I don't see how figlet would help in rendering non-ascii codepoints as ascii
13:18 babilen əgä.com :)
13:18 trikke but i mean like this http://pastebin.com/k3aqEWvp
13:19 trikke it's not important but just trying to do the same with salt like it was with puppet
13:19 babilen I don't click pastebin.com links. Please use a sensible pastebin such as http://refheap.com, http://paste.debian.net, http://bpaste.net, ...
13:20 trikke http://paste.debian.net/129237/
13:20 babilen Thank you
13:21 babilen Ah, that is called "ascii art".
13:22 trikke k :)
13:22 trikke so we use figlet to generate it based on the minions name now. Is it possible to do the same with salt and put the outcome in a template ?
13:26 toastedpenguin joined #salt
13:28 Ahlee trying to think how you'd do that
13:28 Ahlee i guess it's just the grain['nodename']
13:28 babilen Ahlee: Yes, but that would be rendered locally on the minion (on which you aren't allowed to use that software)
13:29 micah_chatt joined #salt
13:29 Ahlee babilen: no, everything's rendered on the master and shipped to the minion
13:29 babilen Oh, major misconception there .. why the need for a salt mine then?
13:30 Deevolution joined #salt
13:31 Ahlee should be able to just embed $(figlet {{ grain['nodename']}}) or something
13:31 perfectsine joined #salt
13:31 Ahlee or something like htat
13:32 miqui joined #salt
13:32 elfixit joined #salt
13:33 ndrei joined #salt
13:33 micah_chatt_ joined #salt
13:33 Ahlee i wonder how that would render given the multi line return
13:33 Ahlee i'm interested, but not enough to actually try, heh
13:38 ckao joined #salt
13:45 ramishra joined #salt
13:46 pfallenop joined #salt
13:51 alex-mesos joined #salt
13:51 alex-mesos joined #salt
13:55 StDiluted joined #salt
13:57 gmcwhistler joined #salt
13:59 kt76 joined #salt
14:01 perfectsine joined #salt
14:04 tmmt joined #salt
14:05 ramishra joined #salt
14:05 housl joined #salt
14:06 ramteid joined #salt
14:08 ekristen joined #salt
14:09 viq joined #salt
14:10 jeffrubic joined #salt
14:11 perfectsine joined #salt
14:14 kaptk2 joined #salt
14:14 KennethWilke joined #salt
14:19 krak3n` joined #salt
14:29 aqua^mac joined #salt
14:34 glyf joined #salt
14:39 CycloHex joined #salt
14:42 Ahlee ok.  So I have a pillar that returns a list, and for each value in that list I need to inject that into a templated file
14:42 Ahlee I know how to do this in the same file, but it's independent file per value
14:43 Ahlee when I tried to shove the value I pulled out of the pillar into a temporary pillar that just exists to pass through, I get TypeError: render_tmpl() got multiple values for keyword argument 'pillar'
14:43 Ahlee https://gist.github.com/jalons/4e5853a4009fffc916ab
14:43 Ahlee contains state, pillar, template, and error
14:43 Ahlee throughts?
14:44 Ahlee guessing it hates the pillar: defined in hte state
14:45 flyboy82 value in salt['pillar.get']('my_pillar').items()
14:45 TyrfingMjolnir joined #salt
14:45 flyboy82 have you tried this one?
14:46 Ahlee yes, but i don't believe that's the answer, sa that still keeps the pillar value in the one state, it doesn't make the value available to the underlying template'd jinja file
14:47 Ahlee if i remove the pillar templates and just have it create files, it does iterate over the list fine and create the empty files
14:47 Ahlee it's when I try to pass the result of my pillar lookup into that templated file that I'm having issues
14:50 viq Ahlee: have you tried the context setting in the file module?
14:52 flyboy82 first of all from your gist I think you're not calling your pillars correctly... for value in salt['pillar.get']('my_pillar') should be for value in salt['pillar.get']('pillar:my_pillar')
14:52 Ahlee viq: no, haven't heard of that
14:52 flyboy82 secondly, what viq said... you can use either the defaults setting or the context setting, whichever suits your needs
14:52 timoguin context is the tits
14:53 Ahlee defaults as in pillar defaults?  Unfortunately there is no default here so I don't see how I could use that
14:53 Ahlee looking at context now
14:54 flyboy82 defaults not as in pillar defaults... It's like pre-setting a set of variables to use in your template file
14:55 Ahlee I really wish the documentation showed both sides, in this case how salt://apache/http.conf is looking up the value of custom_var
14:55 Ahlee at http://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html
14:55 Ahlee flyboy82: ah.
14:56 flyboy82 eg: - defaults:   - var1: {{ salt['pillar.get']('my:pillar:data') }}                and you call it in your template as    {{ var1 }}
14:56 thedodd joined #salt
14:57 jalbretsen joined #salt
15:02 Ahlee ValueError: dictionary update sequence element #0 has length 1; 2 is required
15:02 Ahlee https://gist.github.com/jalons/64092d772f0dfa13e788
15:02 Ahlee my_pillar in the real example is an external pillar that returns a list, which is why it looks strange in this contrived example
15:03 j-saturne joined #salt
15:03 Ozack1 joined #salt
15:09 ze- grains seems to be generated before other modules are loaded. Any way to generate some dynamic grains and use existing modules?
15:11 StDiluted joined #salt
15:12 conan_the_destro joined #salt
15:13 jrluis joined #salt
15:17 Gareth morning morning
15:18 Ahlee ze-: No, grains are static values
15:19 ze- well, I have a "static" value to generate, based on host status. But to get that information, it would be easier to use an existing module, rather than checking it manualy.
15:19 ze- static as in can only change by reboot.
15:19 jaimed joined #salt
15:22 ekristen so when I run salt from the master on a server everything excutes as expected .. but when I run salt-call locally it uses old states
15:22 ekristen basepi: have you seen that behavior before?
15:26 ekristen nm I found the problem
15:26 ekristen wrong saltenv value
15:28 TheoSLC joined #salt
15:29 Ahlee ze-: hrm.
15:29 mohae joined #salt
15:30 noeol joined #salt
15:31 thayne joined #salt
15:32 felskrone joined #salt
15:32 hobakill joined #salt
15:34 gerardjp joined #salt
15:35 ek6 joined #salt
15:35 gerardjp Hi all, got a totally hanging salt job ... restarts, cache clears etc. didnt work . is there a magic 'stop what you're doing' command?
15:36 Ahlee gerardjp: saltutil.kill_job
15:37 bezeee joined #salt
15:38 gerardjp says "OverflowError: long too big to convert" and surprises me with stacktraces :D
15:39 gerardjp some rm command somewhere will stopping master/minion?
15:39 gerardjp with*
15:39 basepi ekristen: glad you figured it out. =)
15:39 ekristen me too :)
15:40 lcavassa joined #salt
15:41 Ahlee gerardjp: hrm.  No idea, sadly
15:43 bhosmer joined #salt
15:43 gerardjp found the job file /var/cache/salt/minion/proc/20141029154940296691 .. but removing with services down did not resolve
15:44 gerardjp We can conclude that the flow I was in building a ful stack nagios server with salt has stagnated somewhat :D .. thanx for the help so far!!
15:45 bhosmer joined #salt
15:47 BossR joined #salt
15:47 Valdo joined #salt
15:48 giantlock joined #salt
15:50 tligda joined #salt
15:51 k3ys3r joined #salt
15:51 wendall911 joined #salt
15:56 A||SySt3msG0 joined #salt
15:56 A||SySt3msG0 joined #salt
15:57 scottpgallagher joined #salt
15:59 intellix joined #salt
16:00 hasues joined #salt
16:00 hasues left #salt
16:05 mgw joined #salt
16:07 CycloHex I'm executing a command form my salt-master to a minion. the command returns 3 records. Is is possible add these results into a list which I can then use for further commands?
16:07 cmthornton joined #salt
16:08 SheetiS joined #salt
16:09 CycloHex I currently cmd.run "find / -name 'foo.bar'" this returns /path/1/to/foo.bar /path/2/to/foo.bar etc. Can I access this return somehow to issue a next command being rm -f [1, 2, 3] the numbers being the paths I got returned
16:10 viq CycloHex: "find / -name 'foo.bar' -rm" ;)
16:11 druonysus joined #salt
16:11 druonysus joined #salt
16:11 CycloHex aha :D ok thanks.. That was silly by me. Thanks again
16:11 viq apologies, it appears to be -delete
16:11 CycloHex yes, i'm looking into the man now
16:12 CycloHex find is a powerful command.. But overwhelming when you're not THAT experienced with linux cli
16:12 teebes joined #salt
16:12 viq or -exec rm {} \;
16:12 CycloHex yes, was thinking about doing that.. so I can rm -rf
16:13 SheetiS or use + instead of \; to spawn as few instances of 'rm' as possible.  -=> -exec rm -rf {} +
16:15 wt joined #salt
16:15 Vye What's the correct way to get salt to load the dunder dicts from a standalone script? NetapiClient(opts) requires them for instantiation.
16:15 hosom joined #salt
16:15 hosom hi all!
16:16 hosom I'm running into a problem, and I think I'm missing a subtlety in salt's configuration of states, not a bug
16:17 hosom I'm using this to manage sendmail configurations
16:17 hosom http://pastebin.com/J87m6Zj4
16:17 KyleG joined #salt
16:17 KyleG joined #salt
16:17 hosom when I run highstate though, it fails stating that the requisite for /etc/mail/sendmail.cf is not met
16:17 hosom even though the file exists
16:18 viq hosom: and where did you define a state called "/etc/mail/sendmail.cf" using a file module?
16:19 hosom viq: I was assuming that I could arbitrarily monitor files already existing on the file system
16:20 viq No, requisites are <module>: <name>. Here you happen to use file module
16:20 Vye looks like I can just make a call to salt.config.client_config()
16:20 viq But it all is for states
16:20 hosom I'd prefer that sendmail.cf be compiled on the system that I'm managing the configuration of, since the 'proper' way to manage sendmail is to let it compile its configs... not drop a compiled one on the filesystem
16:20 TristanM joined #salt
16:20 viq hosom: and you can require a state that does that
16:21 viq hosom: and that state in turn could watch other files, so it does the compilation only when those files changed
16:21 hosom the command in that state watches for sendmail.mc to change, and then does the compile
16:22 hosom the attempt at monitoring for changes to sendmail.cf is to reload the daemon when the config is recompiled
16:22 Ahlee you'll need to write a _state or _module if you want it to actually execute on the minion, as salt will compile any file templates on the master and then delivers them down to the minions
16:22 viq hosom: so you should watch cmd: compile-sendmail-changes
16:22 hosom viq: aaaaahhhh
16:22 viq hosom: also watch already implies require, no need to require when you have watch
16:22 Ahlee or i guess you could use cmd.run
16:23 TristanM I ran into a weird error last night on a clean install. So I opened a ticket. I can't reproduce the error on a second clean install so I left that AWS instance up encase anyone wants me to test something. https://github.com/saltstack/salt/issues/16985
16:23 Ahlee oh, i see, cmd.wait is used
16:23 * Ahlee whistles and walks off
16:24 Ch3LL_ joined #salt
16:25 hosom viq: Thanks! Ahlee: Thanks anyway :)
16:25 racooper joined #salt
16:25 viq :)
16:25 * viq whistles for Ahlee to come back ;)
16:25 dangra joined #salt
16:26 hobakill joined #salt
16:27 viq hosom: generaly require == "make sure that state gets done first" ; watch == "execute this state only if that state changed"
16:28 vejdmn joined #salt
16:29 dangra hello, have anyone tried to integrate https://github.com/docker/fig as a salt state/module?
16:29 vejdmn joined #salt
16:31 CycloHex is it possible to give arguments to state.sls eg salt '*' state.sls foo.bar {'id': 'cheese'}
16:31 CycloHex and then in that sls (foo.bar) use the {{ id }}
16:31 mpanetta joined #salt
16:32 mpanetta joined #salt
16:32 aparsons joined #salt
16:33 Ahlee CycloHex: yes, you cna pass pillar values
16:34 CycloHex yes, I'm always too soon with asking my question here.. Was just reading http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#salt.modules.state.sls
16:34 Ahlee salt \* state.sls foo.bar pillar="{foo:{'id':'cheese'}}"
16:34 CycloHex thanks, Ahlee
16:34 Ahlee no problem
16:34 n8n joined #salt
16:34 Ahlee it works well.  I pass deployment informaiton (release, build number, etc) from my CI system to my deploy state with pillars like that
16:35 the_angry_angel left #salt
16:35 CycloHex how are these pillars referenced? salt['pillar.get']('id')?
16:35 CycloHex simple as that or is there another syntax to call
16:35 Ahlee in my example salt['pillar.get']('foo:id')
16:36 Ahlee probably wise to pass a sane default like salt['pillar.get']('foo:id', 'bread')
16:36 CycloHex ok Ahlee, thanks
16:36 CycloHex bread, very sane ^^
16:36 Ahlee ;)
16:37 viq 'hatter' ;)
16:38 vejdmn joined #salt
16:38 fbraad joined #salt
16:41 tmh1999 joined #salt
16:41 X86BSD joined #salt
16:41 thayne joined #salt
16:41 saurabhs joined #salt
16:44 vejdmn joined #salt
16:45 mdasilva joined #salt
16:46 vejdmn joined #salt
16:46 aparsons joined #salt
16:47 iggy dangra: fig is going away, so it probably doesn't make much sense
16:48 dangra what you mean? I read it is going to be integrated into docker somehow
16:48 timoguin iggy: got a source for that?
16:48 Ahlee in my experience, software never really goes away once it's in use somewhere
16:48 timoguin is docker just making the fig stuff part of normal docker?
16:48 dangra but what makes it shine is the format used to declared containers
16:50 iggy timoguin: yes
16:50 iggy dangra: yes
16:50 iggy but still, it's not going to be a separate tool
16:51 iggy so it makes sense to extend the current docker support rather than write a whole new module that'll be useless shortly
16:52 TheoSLC I need a method in a salt state file for one minion to determine if another minion is alive (icmp ping or test.ping, etc).  what's the best way to do this?
16:52 dangra well, the idea I am following is to get fig.yml somehow integrate with saltstack
16:52 dangra if the backend is fig or the yet-to-come builtin docker support is something to see later
16:52 lcavassa joined #salt
16:53 AirOnSkin would anyone be able to say something about the advantages or disadvantages of managing yum repos with salt via managed files in /etc/yum.repos.d or via salt.states.pkgrepo ?
16:53 dangra fig is already here and installing it is very simple, just wanted to know if anyone already tried
16:54 TheoSLC AirOnSkin: I think pkgrepo does a refresh for you
16:54 iggy haven't heard of such things...have you consulted the all knowing, all powerful el goog?
16:55 AirOnSkin TheoSLC: Hmm, but only if the state is executed, right?
16:55 mgw gitfs refreshes at loop_interval, right?
16:55 Ahlee TheoSLC: i believe you'll need to use salt mine for that
16:56 Ahlee or wrap the states in an orchestrate
16:56 TheoSLC Ahlee: I am using the mine.  But the mine sometimes returns minions which are no longer available.  I need to run a test once I get the mine to make sure that the minion is actually available.
16:57 timoguin the peer system should let you ping anohther machine
16:59 joeyparsons joined #salt
16:59 TheoSLC so using the publish module... thanks!
16:59 karimb joined #salt
17:00 vejdmn joined #salt
17:02 linjan joined #salt
17:04 rlarkin is there an option like minion_data_cache that can be set on the minion ?  I want to clock minions from caching pillar data.
17:05 rlarkin *block
17:06 n8n joined #salt
17:06 ndrei joined #salt
17:08 bhosmer_ joined #salt
17:08 vejdmn joined #salt
17:08 vejdmn joined #salt
17:10 tmh1999 joined #salt
17:11 dangra iggy: I tried googling without luck, the only promising reference is not big deal https://github.com/circatree/salt-hosting-states/blob/master/docker/fig.sls
17:13 ze- grains.setval nicekey value ; grains.get nicekey => still the old value.
17:13 * ze- sighs. why oh why! :(
17:14 ze- Trying on 3 minions, only 1 of them having the problem. (and it is the master itself)
17:15 davet joined #salt
17:16 glyf joined #salt
17:16 vejdmn joined #salt
17:17 zlhgo_ joined #salt
17:17 vejdmn joined #salt
17:18 mgw It looks like setting up a schedule on the master with an interval of, say, 5 seconds also impacts the gitfs and minion verification schedules: https://github.com/saltstack/salt/issues/17000
17:19 aw110f joined #salt
17:19 davet joined #salt
17:20 marshalls joined #salt
17:21 mpanetta joined #salt
17:21 smcquay joined #salt
17:21 aparsons joined #salt
17:21 vejdmn joined #salt
17:24 fragamus joined #salt
17:25 vejdmn joined #salt
17:26 vejdmn joined #salt
17:26 cpowell joined #salt
17:27 marshalls_ joined #salt
17:27 Ryan_Lane joined #salt
17:27 BrendanGilmore joined #salt
17:27 vejdmn joined #salt
17:28 moderation joined #salt
17:28 notpeter_ joined #salt
17:29 wiqd joined #salt
17:30 thedodd joined #salt
17:30 kwmiebach joined #salt
17:33 teepark joined #salt
17:33 spookah joined #salt
17:34 micah_chatt joined #salt
17:36 vejdmn joined #salt
17:41 manytrees joined #salt
17:42 vejdmn joined #salt
17:42 simonmcc joined #salt
17:43 vejdmn joined #salt
17:44 vejdmn joined #salt
17:45 vejdmn joined #salt
17:48 codekobe joined #salt
17:48 hobakill guys - using 2014.1.11 for windows clients. trying to restart a service on a single node... it should be as easy as: salt "minion" service.restart 'name of service' correct?
17:48 ghanima joined #salt
17:49 ghanima hey all has anyone played around with salt-cloud
17:49 ghanima I am setting it up for the first time and have a few questions
17:49 ghanima I am using salt-cloud that comes with salt-master version 2014.1.13
17:50 ndrei joined #salt
17:51 davidone joined #salt
17:52 pwiebe___ joined #salt
17:53 timoguin hobakill: yea it should
17:53 timoguin ghanima: just ask
17:53 hobakill timbermaniac, i'm getting a 'False' response...not sure why
17:53 mdasilva joined #salt
17:55 rypeck joined #salt
17:56 hobakill whoops. that should have gone to timoguin
17:56 hobakill anyway, if i do a service.stop and a service.start i get "True" returns....
17:57 timoguin not sure what the issue is, really. services can be finicky sometimes.
17:58 vejdmn1 joined #salt
17:59 murrdoc joined #salt
18:00 j-saturne joined #salt
18:00 BossR joined #salt
18:01 EWDurbin joined #salt
18:02 anotherZero joined #salt
18:02 Corey {%- for vlan in grains.vlans %} works fine, but that doesn't belong in grains. How would I do this in Pillar; namely, what would the pillar file look like to give me iterable output for pillar['vlan'] in this case?
18:02 aparsons joined #salt
18:03 mdasilva vlan:
18:03 mdasilva - item
18:03 mpanetta joined #salt
18:03 mdasilva Corey: look up yaml syntax
18:03 ndrei joined #salt
18:04 Supermathie joined #salt
18:04 mdasilva you want an associative array with key vlan and value of an iterable list of whatever
18:05 Supermathie Hey all - is there an iterative version of cmd_full_return? (i.e. combine that and cmd_iter)?
18:05 mdasilva Corey: the yaml wikipedia page is good
18:06 primechuck joined #salt
18:07 Nick__ joined #salt
18:08 Nick__ Anyone know of away around pinning in Ubuntu? I specify an older package with version but it won't install due to newer pkg in repo
18:08 Nick__ Hold only works for installed pkgs not during install apparently
18:09 Supermathie Nick__, apt-get install foobar=version
18:11 Corey mdasilva: Thanks!
18:11 mdasilva Corey: enjoy
18:11 Nick__ Supermathie: I am currently specifying version however there are newer versions in the repo so It ignores my version tag
18:12 Supermathie Nick__, huh, WFM: http://pastie.org/9683807
18:13 primechuck Nick__, What is the error salt is getting back from apt.
18:13 Corey mdasilva: Ah crap. each vlan expands to something like:      {'id': '100', 'network': '10.20.0.0', 'netmask': '255.255.255.0', 'prefix': '10.20.0', 'gateway': '10.20.0.1'}
18:13 Corey Asosciate arrays of associative arrays...
18:14 n8n joined #salt
18:14 glyf joined #salt
18:14 Supermathie Corey, build what you want and then dump the yaml :D
18:14 Nick__ supermathie: http://pastie.org/9683812 This is what is what I am doing where version = 4.3.0
18:15 mdasilva Corey: you can dive deeper to get to the element you want
18:15 sudarkoff joined #salt
18:15 mdasilva Corey: http://salt.readthedocs.org/en/latest/topics/pillar/
18:15 mdasilva see section 5.6
18:18 mdasilva can anyone provide some clarity on using an external git remote with authentication?
18:18 rap424 joined #salt
18:19 ggoZ joined #salt
18:20 Corey mdasilva: Yeah, I'm trying to basically solve https://gist.github.com/7128c2c9920a8406f8ae
18:22 Nick__ joined #salt
18:22 Supermathie Corey, perhaps http://pastie.org/9683830
18:23 skyler joined #salt
18:23 fbraad joined #salt
18:23 Corey Supermathie: Maybe. But then what does the iteration step look like?
18:24 alex-mesos joined #salt
18:25 Supermathie Corey, what you have already I think. Also remember, your keys have to be unique - you can't duplicate 'id'.
18:25 hobakill timoguin, i wonder if win 2008r2 vs 2012 r2 makes a difference... :(
18:25 Supermathie Paste what you have into yamllint.com and it'll show you what's going on
18:26 Corey Supermathie: Ahh.
18:26 Supermathie Nick__, http://pastie.org/9683845
18:26 Supermathie sure that your version is being picked up?
18:28 repl1cant joined #salt
18:28 aparsons_ joined #salt
18:30 anotherZero joined #salt
18:32 cliff-hm joined #salt
18:34 Gangaraju joined #salt
18:35 Gangaraju How to provide authentication for docker hub in docker.pulled state?
18:36 iggy Gangaraju: in the pillar
18:36 anotherZero joined #salt
18:36 iggy see the docs for the dockerio module
18:36 Gangaraju i am facing https://github.com/saltstack/salt/issues/13305
18:36 fragamus joined #salt
18:37 Gangaraju do i need to pillars ?
18:37 thedodd joined #salt
18:38 Gangaraju what i need to provide in .dockercfg
18:38 ghanima I am trying to confirm that the configuration I have in regards to my aws account works ok. Is there a query command I do with salt-cloud to test this or is the only operation that I can do is building a ec2 instance
18:40 iggy ghanima: -Q -F --list-* ... there are a few things that should test various aspects
18:41 iggy there are also provider specific things that you can find in the docs
18:41 murrdoc1 joined #salt
18:41 iggy Gangaraju: https://coreos.com/docs/launching-containers/building/customizing-docker/#using-a-dockercfg-file-for-authentication
18:42 Supermathie Corey, I was curious and procrastinating :) http://pastie.org/9683877
18:42 Nick__ Supermathie: I found my issue! Thank you for your help! I wasn't specifying a version for the dependencies so it was pulling latest
18:42 jalaziz joined #salt
18:42 Supermathie oops http://pastie.org/9683878
18:43 Supermathie Nick__, np
18:43 anotherZero joined #salt
18:43 ghanima iggy: is that covered in saltdocs because the examples I see so far is when provisioning a new ec2 instance and nothing else
18:44 troyready joined #salt
18:44 nitti joined #salt
18:48 mdasilva joined #salt
18:49 bluenemo joined #salt
18:50 iggy ghanima: I don't know specifically about the ec2 docs, but the gce and DO docs mention other things
18:52 ghanima so is the default directory for salt cloud to find its configs is /etc/salt/cloud.providers.d
18:56 epcim_ joined #salt
18:57 ghanima iggy: I think I have it now read the docs show that the profile file has to be called ec2.conf
18:57 __TheDodd__ joined #salt
18:58 n8n joined #salt
18:58 murrdoc1 it needs to be called whatever u call the provieder in your conf
18:59 iggy that seems... pointless
19:01 ghanima murdoc1: I don't know if the salt-cloud version bundled with salt-master rpm off epel is different than the salt cloud rpm
19:01 faeroe joined #salt
19:01 ghanima however I tried what you stated and it doesn't work
19:01 iggy don't install the salt-cloud rpm
19:01 iggy ]that's the old version
19:01 ghanima the only way I was able to get it to work was to set the profile file to ec2.conf and the provider to ec3
19:01 ghanima sorry ec2
19:02 jalaziz joined #salt
19:02 ghanima iggy I am using the salt-cloud rpm that comes with salt-master from version 2013.1.13
19:02 SheetiS joined #salt
19:02 Gangaraju when i run salt in debug mode (salt-minion -l debug) then the private image pulled using docker.pulled
19:02 iggy you got it working, that's good... but that seems like a silly restriction to me personally
19:02 mpanetta Will salt ever have an auto-reload feature on master configs?  Having to restart salt when you add a new file backend or ext pillar is kind of ... annoying I guess?
19:02 Gangaraju But when i run as start service
19:03 Gangaraju it is giving 404
19:03 iggy mpanetta: auto... doubtful, manual reload (vs full restart) should be doable, but... um... patches welcome
19:04 mpanetta iggy: I may just have to see if it is a possibility :)
19:05 akafred joined #salt
19:05 bhosmer_ joined #salt
19:05 Gangaraju docker.pulled works only when running salt-minion  in debug , otherwise giving 404
19:05 smcquaid joined #salt
19:07 iggy mpanetta: how often do you actually add backends though? (at least when not in dev)
19:08 smcquaid joined #salt
19:08 mpanetta iggy: Exactly... Not often once things have got past testing.
19:08 iggy we actually have a separate master for dev, qa, and prod (and being able to restart the masters without impacting other env's is one of the reasons)
19:08 mpanetta I only ask because it is being used as a point of content for our team switching away from salt...
19:09 mpanetta Yeah same here
19:09 mpanetta we have multiple dev masters even :)
19:09 iggy us too... sort of... we actually just have multiple dev clusters
19:10 mpanetta iggy: You bring up a good point.  Thanks for reminding me that master restarts are moot after testing heh
19:10 smcquaid joined #salt
19:10 Gangaraju docker.pulled works only when running salt-minion  in debug , otherwise giving 404
19:11 Gangaraju i am using a private registry. once i run docker login
19:11 Gangaraju it was created .dockercfg
19:12 mpanetta Oh another quick Q.  Is there any way to use a non filtered collection when using the mongodb ext_pillar?  Right now it seems to have to filter based on minion_id (unless I misunderstood the docs) so each minion will get a private pillar.  I want a shared one...
19:13 mpanetta I'm playing with moving configs out of static pillar :)
19:13 mpanetta Oh this is 2014.7.rc6
19:17 TheoSLC I just realized that getting a node list with salt['publish.publish']('target', 'test.ping') is more reliable than using the mine!
19:18 timoguin yea it's real-time
19:18 iggy but do you need to setup the minion permissions to use it?
19:18 SheetiS joined #salt
19:21 TheoSLC just allow all for test.ping
19:21 jalaziz joined #salt
19:23 davet joined #salt
19:23 BossR joined #salt
19:25 garthk joined #salt
19:28 TheoSLC I'm using the mine with publish to validate connectivity.  but I could rewrite this without the mine.  https://gist.github.com/deuscapturus/eb643003d85c7be97ef6
19:30 aparsons joined #salt
19:32 bhosmer_ joined #salt
19:36 fbraad joined #salt
19:41 markm_ joined #salt
19:42 hopthrisC joined #salt
19:47 moos3 just a radom question, can you remotely execute a commands remotely on a master ? to avoid ssh'ing to a master
19:49 mgw moos3: you can do it via the api, if you have it running
19:49 moos3 mgw thats what I thought
19:52 ingwaem joined #salt
19:57 aparsons joined #salt
19:59 foxx joined #salt
20:01 foxx hey all. I’m trying to preseed my minions with an accepted key. this works fine however the hostnames are randomly generated by the auto scaler, and preseeding apparently requires you to store the key in a filename that is the same for the minion id being preseeded. any way around this?
20:02 druonysuse joined #salt
20:02 druonysuse joined #salt
20:04 Ryan_Lane1 joined #salt
20:05 viq foxx: minion id does not have to be same as host name, so if you have a way to generate those predictably...
20:05 foxx sadly not predictably. always random
20:06 foxx unless i give each minion the same id , not even sure if thats possibl
20:06 foxx it would be a pita tho
20:08 foxx seems to have been discussed;
20:08 foxx https://groups.google.com/forum/#!topic/salt-users/zH7MtlnuCX4
20:09 foxx ahh
20:09 foxx https://github.com/saltstack/salt/issues/10070
20:10 ndrei joined #salt
20:10 glyf joined #salt
20:11 BossR joined #salt
20:14 fragamus joined #salt
20:16 hasues joined #salt
20:16 hasues left #salt
20:18 vejdmn joined #salt
20:21 Ahlee anybody know why sometimes salt will say a Source file is not found using salt's file_root as a fileserver?
20:22 coolbsd joined #salt
20:22 foxx found a possible solution to the preseed of auto scaling instances.. http://docs.saltstack.com/en/latest/ref/configuration/master.html#autosign-file
20:22 newuser1 joined #salt
20:23 Ahlee i iterate over all users on a server via salt['cmd.run']('ls /home') and try to make sure a file is in the home directory.  roughly 800 servers, roughly 50 users per server, and periodically and seemingly randomly one of the file.managed: calls will fail with Comment:   Source file salt://foo/bar not found
20:23 coolnsd joined #salt
20:29 iggy Ahlee: possibly the fileserver is updating when the state is running?
20:29 n8n joined #salt
20:30 murrdoc joined #salt
20:31 murrdoc morning
20:33 Ahlee iggy: probably, any way to disable that, short of upping the internal refresh interval?
20:34 iggy Ahlee: it should be easy enough to narrow it down, throw that file in an actual file backend instead of git and see if it happens
20:35 iggy if that fixes it, you should open an issue that the fileserver needs to not update while states are running, or the states need to pause while the fileserver is updating
20:35 Ahlee iggy: this is all git file_root
20:36 Ahlee er
20:36 Ahlee sorry.
20:36 Ahlee this is all local file_roots
20:36 Ahlee we stopped using gitfs
20:36 iggy oh, then yeah, I don't think a fileserver update could be causing it (since there won't be any updating)
20:36 Ahlee well, there is
20:36 Ahlee I know the filesystem 'updates' a lot on the backend
20:37 iggy but it's not like the git backend where the files are actively being updated from some remote source
20:37 Ahlee true
20:38 mdasilva it works!!!!
20:38 linjan joined #salt
20:38 mdasilva sweet baby jesus
20:39 dude051 joined #salt
20:42 mdasilva Ahlee: care to share why you dropped gitfs use?
20:45 nitti_ joined #salt
20:46 pestouille joined #salt
20:46 pestouille Hi
20:46 pestouille I was looking to use saltstack in a multiple client environment
20:47 Ryan_Lane joined #salt
20:47 pestouille I was wondering if it was possible to split pillar’s client per directory
20:47 pestouille I don’t want to use mutliple salt master (I’m afraid that it could to much difficult to maintain in the long term)
20:51 iggy you can assign pillars however you want to... each minion only sees pillar data assigned to it
20:51 ghanima quick question
20:51 ghanima with the salt-cloud command the reference http://docs.saltstack.com/en/latest/ref/clouds/all/salt.cloud.clouds.ec2.html#salt.cloud.clouds.ec2.query
20:51 ghanima I presume the command when executed from the command line salt-cloud -a query_instance
20:51 ghanima correct?
20:52 aparsons joined #salt
20:52 pdayton joined #salt
20:52 dude051 joined #salt
20:52 pestouille iggy: thanks
20:53 pestouille iggy: how the pillar will match the corresponding state then ?
20:54 iggy pestouille: you key off the pillar name (in the file) not off the file name
20:54 pestouille iggy: I missed that
20:54 iggy so you could have a foo.sls in your pillar with a key:value of mountain: dew
20:54 derelm joined #salt
20:54 jhauser joined #salt
20:55 pestouille iggy: so I should have a top.sls pillar file filtering my client by a grain and then make the follow up to the client subfolder
20:55 iggy in your states, you would use {{ pillar['mountain'] }}
20:55 pestouille iggy: and If I want to include a specific client apache2 vhost ?
20:55 SheetiS mm mountain dew
20:58 perfectsine joined #salt
20:58 karimb joined #salt
20:58 jeffspeff joined #salt
21:00 mdasilva iggy: are there any special considerations before lowering the loop_interval to ~20seconds?
21:00 jeffspeff I have a text file containing "NoTAG=0". How can I do a check (in a state file) to see if the value of NoTAG is 0 and if so to change it to 1 and then add a new line "TAG=office1" ?
21:02 mdasilva jeffspeff: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.replace
21:02 yetAnotherZero joined #salt
21:03 mdasilva you can include a simple new line char to sub in both notag=1 and tag=office1
21:06 Deevolution Is it possible to call a renderer from the command line or from within an execution module?
21:06 marshalls Everyone - what are your favorite salt-state repos?  I have the usual ones that are listed on SaltStack's support docks.  I'm looking for new and exiting things that I can do with Salt.
21:07 kballou joined #salt
21:08 timoguin marshalls: github.com/saltstack-formulas
21:08 timoguin lots there
21:09 marshalls timoguin: Thanks!  There ARE a lot there
21:09 chitown is it possible to run "salt-run state.single" or "salt-run state.low"?
21:10 bluenemo joined #salt
21:11 murrdoc salt-call 'minion' state.sls state.name.yup.it.works
21:12 chitown uh, its meant to be a runnner
21:12 smcquay joined #salt
21:12 chitown specifically, cloud.present
21:12 chitown (aws, in case it matters)
21:12 CryptoMer joined #salt
21:13 CryptoMer Hey, has 2014.7 dropped yet?
21:13 timoguin not yet
21:13 CryptoMer Ok, thanks.
21:14 Ryan_Lane joined #salt
21:14 chitown murrdoc: yup, the following worked  "sudo salt-call state.single cloud.present name=craig ..."
21:15 chitown well, more precisely, it gacve the error im trying to debug :/
21:15 murrdoc :)
21:15 teebes joined #salt
21:15 murrdoc oh dude
21:15 murrdoc let me tell you about
21:15 murrdoc show_sls
21:15 chitown heh... this one is amazon, not salt :)
21:15 murrdoc salt-call state.show_sls cloud.present name=
21:15 murrdoc still
21:16 chitown ami requires vpc.... fml
21:16 murrdoc its the closest thing to noop
21:16 murrdoc alongwith test=true
21:17 chitown yes, show_sls is cool... the sls file is currently called with salt-run, so i wasnt sure that this would work with salt-call
21:17 chitown anyway, thanks :)
21:17 murrdoc o/
21:19 aparsons joined #salt
21:22 duncanmv joined #salt
21:22 dstokes jfyi rvm installer ships a signed package now, requiring a key import. might break rvm.install things
21:25 kermit joined #salt
21:30 Setsuna666_ joined #salt
21:32 ndrei joined #salt
21:34 conan_the_destro joined #salt
21:34 nitti joined #salt
21:34 londo joined #salt
21:37 rallytime joined #salt
21:38 philipsd6 /join #docker-fig
21:38 philipsd6 sonnava space.
21:38 iggy TheoSLC: are you using anything beyond basic globbing with publish.publish?
21:40 tf198_ joined #salt
21:40 aparsons_ joined #salt
21:46 derelm joined #salt
21:47 godber joined #salt
21:49 TyrfingMjolnir joined #salt
21:54 dude051 joined #salt
21:55 ingwaem joined #salt
21:56 fragamus joined #salt
21:56 Valdo joined #salt
21:58 srage_ joined #salt
22:00 godber joined #salt
22:03 vbabiy_ joined #salt
22:05 root___ joined #salt
22:05 aparsons joined #salt
22:07 aquinas joined #salt
22:08 alex-mesos joined #salt
22:09 j-saturne joined #salt
22:11 TheoSLC iggy: yes, for now my only use for publish.publish is to match up minions with test.ping.
22:11 iggy got an example? all my attempts at using grain matching or compound matching fail (but globbing works)
22:12 TheoSLC iggy: the method is working well for this couchbase cluster.  I can now use AWS autoscaling self heal the couchbase cluster.
22:12 TheoSLC https://gist.github.com/deuscapturus/eb643003d85c7be97ef6
22:13 TheoSLC this is the only thing I've done
22:15 iggy oh, so you're still using the mine to get the list and then just checking availability with the publish
22:17 TheoSLC iggy: yes,  but I could do away with the mine and just do something like this {% if salt['publish.publish']('G@roles:couchbase and G@deployment:production', 'test.ping')[server[0]] %}
22:17 iggy yeah, that's not working for me
22:18 TheoSLC iggy: I'll see If I can rework it to work
22:18 iggy but I may or may not be having some other issues right now
22:20 wt joined #salt
22:21 pestouille joined #salt
22:22 TheoSLC iggy: maybe this http://paste.ubuntu.com/8738615/
22:23 TheoSLC the couchbaselist should return like this {'hostname: "True", 'hostname2: "True"}
22:25 bhosmer joined #salt
22:26 TheoSLC type..  .items() instead of .item
22:26 TheoSLC typo**
22:28 jalaziz joined #salt
22:28 root joined #salt
22:28 mosen joined #salt
22:35 BossR joined #salt
22:38 j-saturne joined #salt
22:39 noob_ joined #salt
22:39 noooob evening.  is saltstack as frustratingly dull as puppet?
22:40 aurynn we are not capable of interpreting the causes of your emotional states
22:40 noooob nobody is
22:40 Ryan_Lane noooob: it is not :)
22:40 noooob thanks
22:40 noooob im looking for motivation to get started
22:40 Ryan_Lane doing things in saltstack actually makes me feel clever pretty often, which is nice
22:40 Ryan_Lane when I was using puppet I felt stupid pretty often
22:41 aurynn I like both, for different reasons
22:41 Ryan_Lane "why the hell is this setting a value, it should be undefined?"
22:41 noooob well it uses things like... '=>'   as part of syntax when a simple... ':'  would suffice
22:41 Ryan_Lane "why is this a string, it's supposed to be a bool!?"
22:41 noooob lol
22:41 mosen Ryan_Lane: everything is a string right? or a symbol
22:42 Ryan_Lane nope. things are automatically a string unless it's a bool or undef
22:42 Ryan_Lane undefined == string undfe = string, etc.
22:42 mosen Ryan_Lane: except structured variables which are a pain anyways
22:43 Ryan_Lane so if you typo, you don't get warnings or errors, you just get really odd behaving code
22:43 Ryan_Lane there's similar gotchas in salt, due to yaml, but it's all the normal yaml gotchas
22:43 mosen actually the ability for salt modules to return stuff as python objects works well when you access __salt__ like a dependency
22:45 noooob yeah yml makes me sad ... http://stackoverflow.com/questions/234564/tab-key-4-spaces-and-auto-indent-after-curly-braces-in-vim
22:45 noooob but vim is happy to make it workable
22:45 Ryan_Lane there's a salt vim module
22:46 Ryan_Lane it's pretty good
22:46 noooob XD  finding
22:46 robawt yep, the sls filetype
22:46 noooob nice. thank you
22:46 mosen I need sls syntax for IDEA :)
22:46 mosen I can assign YAML, but it won't really deal with the jinja stuff
22:47 Ryan_Lane noooob: I have a bunch of salt blog posts, if you want some extra motivation. http://ryandlane.com/blog
22:47 TheoSLC noooob: salt is for the non-conformists
22:47 noooob XD
22:47 noooob reading your blog
22:47 noooob also sklmming the github repo
22:48 Ryan_Lane the feature set of salt is a bit overwhelming, especially at first
22:49 Ryan_Lane there's a ton of features I'd like to start using that I haven't had time to get started with
22:50 noooob ah
22:50 foxx joined #salt
22:50 foxx joined #salt
22:51 mosen yeah same
22:51 mosen but some are underdeveloped
22:52 noooob the raet stuff anygood?  readme looks interesting
22:52 Ryan_Lane haven't tried it
22:52 noooob looks like you can build a super computer lol
22:52 Ryan_Lane well, salt's master/minion model is based on 0mq, if you are using raet
22:52 Ryan_Lane so same concept
22:53 Ryan_Lane if you aren't using raet, that is
22:53 Ryan_Lane so it's meant for highly asynchronous workflows
22:54 DaveQB joined #salt
22:54 jcockhren Ryan_Lane: nice blog :)
22:54 Ryan_Lane thanks
22:55 mosen RL turned me to salt, kinda
22:56 noooob also
22:56 noooob ihop and me dont get along...
22:56 Ryan_Lane ihop?
22:56 noooob not relevant
22:56 Ryan_Lane heh
22:56 noooob lol sry
22:57 noooob read up just now.
22:58 noooob o wow i completely misunderstood the raet thing.  i will get to that later
22:58 noooob im going to go make a basic basic thing, i will update in an hour or so
22:58 BossR joined #salt
23:02 Ryan_Lane noooob: let us know if you run into issues
23:04 noooob will do. thank you
23:06 Ryan_Lane yw
23:07 X86BSD joined #salt
23:13 bhosmer_ joined #salt
23:14 Leonw Hi... Small question...
23:15 ndrei joined #salt
23:15 Leonw How do I install a RPM package directly from the web with it's URL?
23:15 whytewolf joined #salt
23:15 robawt Leonw: you need to make the md5sum available to salt
23:15 glyf joined #salt
23:17 Leonw robawt: Just using the pkg.installed: - sources is not enough?
23:17 Cidan Leonw thats' right
23:17 Cidan Leonw because things from the web are "unsafe"
23:17 Cidan so you need to have a hash so you know it's exactly the file you want to install
23:18 Cidan and someone didn't modify it
23:18 Cidan and if you don't want to do that, that's what the salt:// file store is for, :)
23:19 Leonw Cidan: even if it's a trusted source?
23:19 noooob what if you made a local repo, does it still care about the md5?
23:19 Leonw Cidan: also... I'm not very fond of putting binary data on git... :P
23:19 noooob oonvm you answered me
23:19 Cidan Leonw, salt:// isn't git
23:19 Cidan it's the salt file base
23:20 robawt noooob: if it's a local repo it would be treated like any other package :)
23:20 Leonw Cidan: Hmm... but then is another thing that I need to keey in sync between my master, my salt-dev environment... and so on
23:20 Leonw Cidan: keep*
23:20 Cidan no you don't
23:21 Leonw Cidan: What you mean?
23:21 Cidan you just add salt://path/to/file in package.installed
23:21 Cidan and you're done
23:21 Leonw Cidan: and this file is where? on my computer? on the master? on which master?
23:22 BossR joined #salt
23:22 Cidan on your master
23:22 bhosmer_ joined #salt
23:22 Leonw Cidan: and how the file goes there? ;)
23:22 Leonw Cidan: and I develop salt states locally...
23:22 Cidan do you have multiple masters?
23:22 Leonw Cidan: multiple masters and multiple devops ppl
23:22 racooper sounds like some documentation needs to be read closely....
23:23 Cidan then streamline your work, idk, or, calculate the hashes
23:23 Cidan it only has to be done once
23:24 Leonw Cidan: I don't control the package... every time the package maintainer changes the package... I will need to recalculate and update the master
23:24 Cidan indeed, and that's the point
23:24 Leonw Cidan: And it's actually a package that install a repo...
23:24 Cidan I would reconsider how you're using configuration management at this point, tbh
23:24 Leonw Cidan: I could download the package open it and configure the repo as a pkgrepo...
23:25 Cidan yep, you could do that as well
23:25 Leonw Cidan: Well... but there is no way so to install an rpm from the big bad web using the pkg.installed
23:26 noooob awesome
23:26 Cidan Leonw if it's in a repo and you're using a repo and not a direct http link, then you just do pkg.installed if the repo is setup on the server
23:26 noooob does it handle portage/emerge?
23:27 noooob i should google that
23:27 Leonw Cidan: but it's not installed... I'm trying to install the repo using the install-repo package
23:27 noooob http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.ebuild.html
23:27 noooob i<3the docs
23:28 Cidan Leonw you have three options -- calculate the hash and install over http, setup the repo manually using the repo salt state, or store your repo package in a secure non-public store.
23:31 Leonw Cidan Ok... thanks a lot
23:31 Cidan no problem :)
23:31 bhosmer joined #salt
23:32 cberndt joined #salt
23:35 aparsons joined #salt
23:37 cberndt joined #salt
23:46 BossR joined #salt

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