Perl 6 - the future is here, just unevenly distributed

IRC log for #salt, 2014-08-05

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

All times shown according to UTC.

Time Nick Message
00:02 dvestal joined #salt
00:07 nyx joined #salt
00:12 dude051 joined #salt
00:14 jarm joined #salt
00:16 tyson_ joined #salt
00:18 dude051 joined #salt
00:21 dude051 joined #salt
00:27 saurabhs left #salt
00:29 tyson_ joined #salt
00:30 TheThing joined #salt
00:34 tyson_ joined #salt
00:39 Singularo joined #salt
00:48 alanpearce joined #salt
00:51 delinquentme clean string-like output to get all public facing minion IPs??
00:51 delinquentme it seems like Im going to be cleaning on $  salt '*' grains.get ipv4
00:53 tyson_ joined #salt
00:54 bhosmer joined #salt
01:04 kermit joined #salt
01:08 tyson_ joined #salt
01:10 azylman joined #salt
01:11 z3uS joined #salt
01:13 tyson_ joined #salt
01:20 mapu joined #salt
01:28 andrej Is there a simple way to NOT run a specific state during a high-state?
01:29 andrej delinquentme : whiteinge wrote a nice little salt-runner that lists all minions w/ the IP they connect with
01:32 Benny_ joined #salt
01:33 andrej Hmmm ... his paste expired
01:34 azylman joined #salt
01:36 rekibnikufesin joined #salt
01:37 andrej http://pastebin.com/VP0psQb3
01:37 icebourg joined #salt
01:38 icebourg joined #salt
01:38 ml_1 joined #salt
01:45 otter768 joined #salt
01:45 bmatt andrej: don't eat expired paste
01:46 azylman joined #salt
01:46 bmatt andrej: afaik no, because what if another state require:'d or include:'d it?
01:47 thayne joined #salt
01:49 alanpearce joined #salt
01:58 aw110f joined #salt
01:59 bezeee joined #salt
02:00 aw110f Hi I have a python and snmp related question, nothing to do with Salt, but thought I could find help here
02:00 aw110f here it is
02:00 bezeee joined #salt
02:00 aw110f i want to write a python script that snmpd can get its output from
02:01 Singularo joined #salt
02:03 andrej bmatt : my problem is that I have a state to update the minions to use mine, and that requires a minion-restart.  I wanted minions to pull in all states when they boot, so I put a highstate as the startup state
02:03 aw110f http://pastebin.com/jW16jS04
02:03 andrej That triggered a restart cycle, and the machines ended up with a permanent load of > 1
02:15 pastacino joined #salt
02:20 unknown001 joined #salt
02:23 rekibnikufesin joined #salt
02:25 bhosmer joined #salt
02:31 toastedpenguin joined #salt
02:34 Ryan_Lane joined #salt
02:39 tyson_ joined #salt
02:42 CeBe joined #salt
02:43 bhosmer joined #salt
02:44 azylman joined #salt
02:46 fxhp http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/
02:53 thayne joined #salt
02:53 freelock joined #salt
02:55 otter768 joined #salt
02:57 VictorLin joined #salt
03:02 Luke_ joined #salt
03:04 TBAU joined #salt
03:06 funzo joined #salt
03:08 ramishra joined #salt
03:18 icebourg_ joined #salt
03:23 malinoff joined #salt
03:28 schristensen joined #salt
03:30 kermit joined #salt
03:34 Ryan_Lane joined #salt
03:36 active8 joined #salt
03:36 ajw0100 joined #salt
03:41 aw110f Does anyone know how to have snmpd call a custom python script that outputs the snmp message
03:44 TBAU aw110f: check out the "exec" command for snmp, you can make it call an external program
03:44 TBAU so, you just need to make your python script executable to call it
03:46 aw110f exec .1.3.6.1.4.100.90 /home/t/hadoop-monitor/bin/nagios_check_flume.py
03:46 aw110f still doesn't work
03:47 aw110f in snmpd.conf i can pass shell script and ruby scripts, just having hard time with python
03:47 aw110f pass .1.3.6.1.4.500.10 /home/ops/nagios-snmp-scripts/check_interface_dropped_packets.rb
03:47 aw110f this ^ works
03:48 aw110f http://pastebin.com/jW16jS04
03:49 aw110f i restart snmpd for every change in snmpd.conf
03:50 alanpearce joined #salt
03:56 aw110f TBAU: do you have a python plugin example i can look at
03:59 bildig joined #salt
04:01 bildig Hi everyone, how well can salt handle configuration of many hosts that are randomly located?
04:02 TBAU aw110f: All you need to do is make the script executable (ie #!/usr/bin/env python at the top) and ideally def main defined etc
04:03 TBAU http://en.doc.centreon.com/HowToUseSNMPAgentExtension this may also assist
04:04 TBAU bildig: when you say randomly located, what do you actually mean?
04:04 arthabaska joined #salt
04:06 bildig TBAU: as in, the machines are installed at on-site client locations, which are spread all over the world
04:07 bildig i just started studying salt today, and i'm seeing information about "always on" connectionb etween minions and masters
04:07 bildig but we need this globally spread fleet of machines to properly synchronize and configure
04:07 bildig so, is our deployment a good use case for salt?
04:07 TBAU Salt uses ZeroMQ as the default transport, so as long as you have reliable internet I (personally) can't see a problem
04:07 bildig define 'reliable internet'
04:08 TBAU no issues with packet loss
04:09 bildig ok
04:09 bildig TBAU: what about a masterless minion that pulls its own config file?
04:09 bildig from S3, or something like that
04:13 TBAU http://docs.saltstack.com/en/latest/topics/topology/syndic.html <- there's a few different ways to have multi level topologies, but I haven't personally played with them yet
04:14 ajw0100 joined #salt
04:16 bildig TBAU: thanks for the link
04:16 rgarcia_ joined #salt
04:26 mosen joined #salt
04:32 bhosmer joined #salt
04:32 mattcen joined #salt
04:33 mattcen Hi all. I'm new to salt, and trying to understand if salt can do things in the background, and how I can make this happen (if it doesn't happen automatically). The specific problem is that for an app I'm deploying, I need to populate a postgresql db
04:34 mosen I'm also new to salt, but what do you mean about background
04:35 mattcen I'd like the db population to happen in the background while other things get installed, and be able to go back later to confirm that the db import is complete, and then continue with anything that depends on that.
04:35 mosen I noticed that the minion is threaded by default, and jobs are executed even if you ctrl-C before you receive a result
04:35 mattcen threading is what I mean. I want to ensure the db import is parallelised with other (non-dependent) steps
04:36 mattcen You believe this happens automatically?
04:36 mosen I know that the jobs are created in a different thread
04:36 mosen i dont know if they are run parallel
04:37 mosen does the postgresql import force the minion to take a very long time to process?
04:40 micko joined #salt
04:50 thayne joined #salt
04:51 alanpearce joined #salt
04:52 TyrfingMjolnir joined #salt
04:57 Ryan_Lane joined #salt
05:00 ramteid joined #salt
05:05 ramishra_ joined #salt
05:07 malinoff joined #salt
05:12 vexati0n joined #salt
05:23 ixokai joined #salt
05:50 Ryan_Lane joined #salt
05:52 alanpearce joined #salt
05:53 fragamus joined #salt
05:59 ixokai joined #salt
06:02 snuffeluffegus joined #salt
06:06 renoirb joined #salt
06:12 snuffeluffegus joined #salt
06:16 brain5ide joined #salt
06:21 bhosmer joined #salt
06:21 beneggett joined #salt
06:26 mariusv joined #salt
06:27 david_a joined #salt
06:38 g3cko joined #salt
06:47 aw110f joined #salt
06:53 alanpearce joined #salt
06:56 xsteadfastx joined #salt
06:57 rihannon joined #salt
07:10 aw110f_ joined #salt
07:11 alanpearce joined #salt
07:11 ml_1 joined #salt
07:12 intellix joined #salt
07:13 Ymage joined #salt
07:18 chiui joined #salt
07:20 aw110f TBAU: Thanks a bunch I got it working with the def main function and the "pass" snmp
07:24 jhauser joined #salt
07:26 rihannon joined #salt
07:30 mariusv joined #salt
07:32 linjan joined #salt
07:37 ndrei joined #salt
07:39 TyrfingMjolnir joined #salt
07:39 badon joined #salt
07:47 ndrei joined #salt
07:50 bhosmer joined #salt
07:57 TheThing joined #salt
08:05 darkelda joined #salt
08:09 bhosmer joined #salt
08:14 matthiaswahl joined #salt
08:15 xintron I'm running a build-script that produces a tar file with our code. How would you guys go about using salt to deploy this (remove all files not in the new build from the dir the tar should be deployed)?
08:16 malinoff xintron, I'd build deb/rpm package instead of tar file, push it to custom repository and use salt to configure this repository when needed
08:17 malinoff where needed*
08:17 istram joined #salt
08:17 eliasp +1 for this… installing applications outside package managers just causes pain in the long term
08:18 xintron And then use pkg.latest?
08:18 malinoff yep
08:21 MrTango joined #salt
08:22 xintron Well, it involves a lot more work but maybe it's the best way in the long run
08:23 eliasp xintron: as you already started doing things the right way (by using SaltStack), you can add the remaining 1% as well ;)
08:23 xintron eliasp, haha :)
08:23 malinoff xintron, with tar files you still have to have a registry with available tars, you still have to have a cron job/jenkins job/whatever which will update the list of available tars
08:24 malinoff for me tars are more about pain-in-the-ass than rpm/deb
08:26 xintron And then you can use (depending on package-manager) stable/testing/unstable on the servers depending if it's production or development servers?
08:27 malinoff Yes
08:28 malinoff Also I can easily identify version of installed software and I have no good solution how to figure out version using tar files
08:28 malinoff and, uhm, uninstalling using tar files is also a pain
08:28 xintron true
08:33 xintron malinoff, So when building for production it would be easy to just fetch the git tag from the source repo but using a development system, how would you increment the current version if you always build version 3.3 (which is the next release)?
08:33 Outlander joined #salt
08:35 eliasp malinoff: what package manager/distribution are you running this on?
08:39 istram while there's a packaging talk going on I'll get in too. Is there anyone taking care about big environment packaging only with salt without any other system like mrepo / satellite / pulp?
08:41 malinoff eliasp, whatever my client needs. But i guess rpms/debs and thus yum/aptitude are about 50%/50%
08:42 malinoff xintron, something like version_from_tag-build_number_or_commit_hash.rpm
08:42 eliasp the problem with the commmit SHA1 ID: it's not comparable… so each build needs to increment a revision number of an existing build to make it upgradeable in dev systems
08:43 eliasp on Gentoo, you'd use the -r suffix of a package-version for this or simply use live packages which build themselves straight from a git repo, I don't know how this is handled in binary package managers
08:44 malinoff eliasp, that's why i always try to use build number from jenkins
08:44 xintron malinoff, So you remove the old package, add the new one and re-index the Package-database?
08:44 malinoff xintron, i do not remove anything
08:45 malinoff it's ok to have multiple versions in the same repository branch
08:45 xintron ok. But for debian (in this case) how does the indexer know which is the latest package?
08:46 eliasp https://www.debian.org/doc/manuals/maint-guide/update.en.html#newrevision
08:46 xintron eliasp, ty :)
08:47 eliasp … DEB/RPM packaging is just really over-complicated and painful… :/
08:48 malinoff xintron, debian is tricky a bit. I use mini-dinstall
08:48 malinoff eliasp, it's not
08:48 malinoff salt is over-complicated and painful, packaging is easy :)
08:49 xintron Packaging for pacman is easy but I have to agree with eliasp that deb is over-complicated
08:50 malinoff Come on, it is not complicated
08:50 eliasp malinoff: I'm packaging for Gentoo since 12 years (and did quite a bit for Debian before), but DEB has just gotten worse while on Gentoo it has became more and more streamlined… better use of eclasses, improved PMS (Package Management Specification), etc.
08:50 malinoff The only thing i do not like much is that instead of using a single spec file (like for RPMs) i have to create tons of small files
08:51 malinoff eliasp, okay, some arguing please. What exactly is wrong with deb packages?
08:52 ggoZ joined #salt
08:52 eliasp hehe, ok… long or short version? ;)
08:52 mariusv joined #salt
08:52 malinoff Short, i guess
08:54 Steve_J joined #salt
08:54 eliasp e.g. having to create the list of files installed by a package: http://anonscm.debian.org/cgit/pkg-sssd/ding-libs.git/tree/debian/libpath-utils-dev.install
08:56 eliasp ok… I should be honest: what I'm going to say now is more a critic of binary-only PMS'
08:57 malinoff Sorry, I didn't see any real arguments. What are you saying is very internal thing and users should never ever think about it.
08:57 malinoff gtg
08:57 eliasp - not being able to freely mix package versions… e.g. want to update from Apache 2.2 to Apache 2.4 … oh, let's pull in these 250 dependencies as well… (on Gentoo: upgrade Apache, only install those packages which are direct dependencies and rebuild affected packages)
08:57 eliasp … there's "APT Pinning", but that's still faaaaar away from that
09:04 jhauser joined #salt
09:07 david_a joined #salt
09:15 ramishra joined #salt
09:24 jhauser joined #salt
09:32 marnom joined #salt
09:35 dudz_ joined #salt
09:35 istram eliasp: what exactly is wrong with having to list the files coming in the pkg? it's also done in RPM spec.
09:38 dudz_ Hi guys. I had this error recently in github when I sent my commit: If the failures are unrelated to your code, don't stress, a core developer will know these apart. In the future, if possible, please branch off a passing commit to avoid false positives. Refer to this link for build results: http://jenkins.saltstack.com/job/salt-pr-build/6553/". I would like to know which version I have to use actually ? That is 2014.7 ?
09:38 istram eliasp: and that 2.2 to 2.4 apache - well, depends what have you updated... I have regularly used pkgs from sid to supplement testing. But yeah, rebuild is always going to be easier.
09:44 giantlock joined #salt
09:52 elementai joined #salt
09:53 elemental joined #salt
09:55 fromvilnius joined #salt
09:57 Striki I can't see in the git state module that it supports https authentication. Am I missing something? http://docs.saltstack.com/en/latest/ref/states/all/salt.states.git.html#module-salt.states.git
09:58 ramishra joined #salt
09:58 bhosmer joined #salt
10:01 micko joined #salt
10:03 elementai Can somebody clarify on this comment on HN, please ? https://news.ycombinator.com/item?id=8134493 I think it's a major deciding factor for many people.
10:04 TheThing joined #salt
10:07 nkuttler personally, i don't understand how running a master can even be an issue when running a cluster of.. anything
10:09 Striki btw. ignore my question, I just realized I'll just supply the username and password in the http string :P completely slipped my mind
10:09 jhauser joined #salt
10:13 elementai nkuttler: Sorry, I mean, that part about salt-ssh.
10:14 nkuttler ah
10:14 cym3try joined #salt
10:15 cym3try does pillar support arrays? I would like to define an array of bucket names for couchbase and then i look through thist array using jinja template in an sls
10:17 nkuttler cym3try: sure, yaml has lists
10:17 cym3try ok i think i found the answer. should be like myarray: ['value1', 'value2']
10:18 martoss joined #salt
10:20 elementai And, where do I report that salt.pdf from http://docs.saltstack.com/en/latest/ is broken? It shouldn't be 1.9 Kb.
10:33 dvestal joined #salt
10:40 Miouge joined #salt
10:42 ggoZ joined #salt
10:42 giannello joined #salt
10:43 giannello heya, is anyone aware of any problem with file resources with "override" in their name?
11:05 faust joined #salt
11:15 Outlander joined #salt
11:20 babilen giannello: Are you?
11:21 aquinas joined #salt
11:25 diegows joined #salt
11:26 eliasp elementai: https://github.com/saltstack/salt/issues
11:34 saj1th joined #salt
11:34 saj1th left #salt
11:36 bhosmer joined #salt
11:36 bhosmer left #salt
11:38 ekristen joined #salt
11:44 thayne joined #salt
11:45 sadbox joined #salt
11:46 sadbox Is there an equivilant to chef's search in salt?
11:47 bhosmer_ joined #salt
11:49 viq sadbox: mine and/or publish
11:49 che-arne joined #salt
11:50 viq Not quite equivalent but similiar
11:50 sadbox ty sir
11:51 agend joined #salt
11:55 Luke_ joined #salt
11:55 Luke_ joined #salt
12:02 bhosmer joined #salt
12:10 bhosmer joined #salt
12:10 CeBe1 joined #salt
12:13 nyx joined #salt
12:19 bhosmer_ joined #salt
12:20 giannello babilen, yes, I've just spotted this naaaaaasty bug
12:20 giannello https://github.com/saltstack/salt/issues/14734
12:21 giannello trying to go around an Ubuntu packaging bug with the "cleanest" solution, and I ended up swimming in this saltstack bug
12:22 giannello people is surprised when sysadmins/developers says that they don't want to deal with anything IT related after turning 30...they know nothing
12:25 erjohnso joined #salt
12:41 kerncore joined #salt
12:42 kerncore HI,
12:42 kerncore Question related to salt-cloud ...
12:42 miqui joined #salt
12:43 kerncore Configured everything following docs for google ( GCE )
12:44 kerncore But when try to create vm instance only disk created when try to create VM ....
12:44 kerncore from salt-cloud get following error .
12:44 kerncore InvalidRequestError: {'domain': 'global', 'message': "Required field 'value' not specified", 'reason': 'required'}
12:44 kerncore Error: There was a profile error: Failed to deploy VM
12:44 kerncore someone know this issue ?
12:45 cpowell joined #salt
12:49 blarghmatey joined #salt
12:50 brandon_ joined #salt
12:52 giannello kerncore, salt-cloud is somehow picky about how the profiles are defined. are you heavily using "extends"?
12:52 rofl____ http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/
12:52 rofl____ +1 to saltstack!
12:52 rofl____ yay
12:53 tommee joined #salt
12:55 jas-_ joined #salt
12:55 mortis_ epic win :)
12:56 alanpearce joined #salt
12:57 tommee hi there! i'm struggeling with salt-cloud config for azure. i followed http://docs.saltstack.com/en/latest/topics/cloud/azure.html, but get the following error every time i run salt-cloud: "The cloud driver, 'azure', configured under the 'azure-test' cloud provider alias was not loaded since 'azure.get_configured_provider()' could not be found. Removing it from the available providers list"  - can anybody guess whats missing/wrong here?
13:00 dudz_ Hey ! I would like to know which version of the repo we have to fork ? To do modification and commit after
13:01 kerncore no extends, only basic settings from salt docs
13:02 kerncore this is a profile:
13:02 kerncore gce-nginx:  image: centos-6-v20140718  size: f1-micro  location: asia-east1-a  network: default  delete_boot_pd: False  deploy: True  provider: gce-config
13:02 ollins joined #salt
13:04 nliadm joined #salt
13:06 mapu joined #salt
13:07 tommee yes have that unter cloud.profiles, but for the given example in the docs and azure specific settings. it seems salt-cloud has problems to find the "azure" driver in libcloud
13:09 borgstrom joined #salt
13:09 tommee if i just give "provider: gce", salt-cloud is also unable to find gce driver
13:10 mpanetta joined #salt
13:11 jmobley joined #salt
13:12 bhosmer joined #salt
13:12 mpanetta joined #salt
13:13 mpanetta joined #salt
13:14 kedo39 joined #salt
13:14 zach joined #salt
13:15 64MAAGTOC joined #salt
13:15 cpowell joined #salt
13:15 brain5ide joined #salt
13:15 renoirb joined #salt
13:15 ixokai joined #salt
13:15 fragamus joined #salt
13:15 vexati0n joined #salt
13:15 TBAU joined #salt
13:15 CeBe joined #salt
13:15 unknown001 joined #salt
13:15 KaaK joined #salt
13:15 TheRealBill joined #salt
13:15 TamCore_ joined #salt
13:15 babilen joined #salt
13:15 __number5__ joined #salt
13:15 Valdo joined #salt
13:15 notpeter_ joined #salt
13:15 rblackwe joined #salt
13:15 lietu joined #salt
13:15 totte joined #salt
13:15 beardo_ joined #salt
13:15 hopthrisC joined #salt
13:15 patarr joined #salt
13:15 jakubek joined #salt
13:15 bmatt joined #salt
13:15 dcmorton joined #salt
13:15 steveoliver joined #salt
13:15 jmccree joined #salt
13:15 pjs joined #salt
13:15 blast_hardcheese joined #salt
13:15 roo9 joined #salt
13:15 jayne joined #salt
13:15 repl1cant joined #salt
13:15 ede joined #salt
13:15 NV joined #salt
13:15 tempspace joined #salt
13:15 cwyse joined #salt
13:15 SpeeR joined #salt
13:15 alainv joined #salt
13:15 sinh joined #salt
13:15 nadley joined #salt
13:15 jcsp1 joined #salt
13:15 drogoh joined #salt
13:15 cods joined #salt
13:15 techdragon joined #salt
13:15 esogas_ joined #salt
13:15 oncallsucks joined #salt
13:15 Sauvin joined #salt
13:15 DaveQB joined #salt
13:16 TheThing joined #salt
13:16 istram dudz_: go to github. patches are accepted against develop. stable is 2014.1 but 2014.7 should be out soon.
13:17 mechanicalduck joined #salt
13:20 cods_ joined #salt
13:21 dudz_ Thanks istram
13:21 xintron Reading through states part 4 but can't really wrap my head around it ( http://docs.saltstack.com/en/latest/topics/tutorials/states_pt4.html ).
13:22 xintron In the prod/top.sls, why isn't only base specified and then matching against a pattern?
13:22 nahamu_ joined #salt
13:22 xintron What will "trigger" the master to use the dev block instead of the base block in the first place?
13:23 xintron (I get the part with using `env` to specify where to look for files etc and the pillar/top.sls makes sense as well)
13:23 dude051 joined #salt
13:24 racooper joined #salt
13:24 xintron or, does the top.sls *set* the environment to use based on if the pattern matches the minion or not?
13:24 tommee webserver_role: dev in the pillar
13:25 codekoala joined #salt
13:25 xintron yes, but that doesn't set the env, just for the case when reading the file from the salt-master?
13:25 codekoala joined #salt
13:25 g3cko joined #salt
13:25 64MAAGTX2 joined #salt
13:25 chutz joined #salt
13:25 [vaelen] joined #salt
13:26 martoss joined #salt
13:26 unknown001 joined #salt
13:26 rblackwe joined #salt
13:26 zach_ joined #salt
13:27 nyx joined #salt
13:27 FeatherKing joined #salt
13:27 blast_hardcheese joined #salt
13:27 kedo39 joined #salt
13:28 zsoftich_ joined #salt
13:28 bhosmer joined #salt
13:30 xintron So, runnig highstate for everything will read the prod/top.sls and run each block (base, qa and dev). Depending on if the pattern in each block matches it runs every state specified under the given environment?
13:31 Jahkeup joined #salt
13:33 TheThing joined #salt
13:36 TheThing joined #salt
13:36 vejdmn joined #salt
13:37 nahamu joined #salt
13:38 Miouge How can I use the salt returner to make a disk.usage report ? Should I send that to a SQL DB ?
13:38 vbabiy joined #salt
13:38 Marvin joined #salt
13:40 Guest77826 привет, подскажите плиз как подключать модули дополнительные на миньёоны? из гита выкачиваем питоновские файлы модуля и стэйта и кладём в _modules и _states, запускае saltutil.sync all а дальше?
13:42 robinsmidsrod joined #salt
13:43 whiteinge Guest77826: that's all that is required. if the modules show up in the ``sync_all`` output then they have been loaded into memory on the minion machines and you can call them.
13:45 robinsmidsrod joined #salt
13:47 JasonSwindle joined #salt
13:47 whiteinge newbie sysadmin question: ignoring Salt how does one normally keep track of a multi-stage process -- say, one that requires a reboot? say you upgrade the kernel but don't reboot right away. are there any UNIX-y mechanisms to remind you that is needed in order to complete the upgrade?
13:48 viq I think debian does something like that, but I didn't track it down yet, I think it puts a file somewhere in /var
13:48 robinsmidsrod joined #salt
13:48 phx whiteinge, depends on the OS/distribution
13:49 TheThing joined #salt
13:49 whiteinge viq: and that mechanism prints out a reminder on login, iirc. yes?
13:50 viq I'm actually not sure, I think it does put somewhere a notice
13:50 * whiteinge nods
13:50 whiteinge looping in eliasp: ^^ (i've been puzzling over your question in #6792.)
13:51 viq But yeah, I guess a file somewhere in /var/tmp for example could be a good way to do it
13:52 BrendanGilmore joined #salt
13:52 viq I saw a presentation by HP people, where they said that the states they do set a grain that it's done, and are careful to not run the state when the grain is set - so that's one way to go about it
13:52 xintron Is there a module to read (minion) files?
13:52 Striki let's say I'm running in the "dev" environment and I want to include some states from the "base" environment. is there a way to make the state file in the base environment (the one being included) output "dev" via {{ env }}?
13:52 Striki I'm including between environments like you can see here http://docs.saltstack.com/en/latest/ref/states/include.html#include
13:53 Striki before the include the env variable is "dev", after including base:state it becomes "base" in the base state
13:53 Striki I was hoping it wouldn't change, so I could use this to reuse code as much as possible
13:53 robinsmidsrod joined #salt
13:56 kerncore so, anyone know such error : InvalidRequestError: {'domain': 'global', 'message': "Required field 'value' not specified", 'reason': 'required'} Error: There was a profile error: Failed to deploy VM
13:56 to_json joined #salt
13:58 goudale joined #salt
13:58 goudale Hi all
13:58 martoss hey folks, I am trying to render a multiline pillar value (with indentation) and I get a lot of newline chars (\n) in my string instead of an indented string. Is there anything I miss? See: https://github.com/martinhoefling/fail2ban-formula e.g. in pillar.example and fail2ban/actions.jinja
13:59 xintron Striki, Maybe it's possible to set a variable to be used (and check `if not env_var; use env`)?
13:59 Striki xintron: yeah, that was my idea. would just be sweet if this would be "built in" somehow :) but I'll just do that
13:59 Striki thanks
13:59 goudale Is there any way to target all minions which are running a certain state ? Or is saltmine the way to go ?
14:00 Guest77826 whiteinge что делать если после saltutil.sync_all нужный модуль не появился в списке sys.list_modules ?
14:01 phx maybe some less exotic langauge? :)
14:01 xintron Striki, But maybe you can help me with multiple environments (since we're on that topic)? :)
14:01 kerncore Только по английски тут (  just english )
14:02 Guest77826 whiteinge what to do if after saltutil.sync_all desired module does not appear in the list sys.list_modules?
14:02 tyson_ joined #salt
14:02 Striki xintron: sure (if I can help out sure :))
14:02 xintron Striki, If I have one base top.sls as the main state. In that one I have both base: + dev: and the patterns are matching only relevant machines. Will that block set the active environment even though the file is run from /srv/salt/base/top.sls?
14:02 whiteinge Guest77826: in that case there may be an error or traceback in the module that is preventing Salt from loading it into memory.
14:03 Striki xintron: yes it should
14:04 Striki xintron: in the end all top.sls files are combined into one big one (according to the docs)
14:04 whiteinge Guest77826: if you can log into one of the minion machines and start the minion daemon in the foreground with louder logging (salt-minion -l debug) you will be able to see a log entry for that module
14:04 xintron Striki, ok. So if both base/dev would run webserver.foo it would look under the env for it accordingly?
14:04 Striki xintron: yes as I understand it
14:04 tyson_ joined #salt
14:04 xintron dev: '*dev*'; - webserver.foo; would run /srv/salt/dev/webserver/foo.sls
14:04 Striki it shouldn't matter where the top.sls file is, only the environment you specify there
14:04 xintron ok. That was what I was hoping
14:05 Striki yes
14:05 Striki as far as I understand :)
14:05 Striki I might be wrong but I think I'm right
14:05 Striki lol
14:05 Striki
14:05 xintron But running in the dev environment you can still read files from another env (by specifying the env= argument when reading files from the master)
14:05 Striki you can even have multiple environments but only 1 top.sls file in the base/ folder for example
14:05 tyson_ joined #salt
14:05 Striki it should still work with all the environments
14:06 Striki xintron: that's the issue I had, you can include files like: include: - prod: rabbitmq
14:06 Striki but then the env variable in prod/rabbitmq/init.sls becomes "prod"
14:06 Striki even though the "include" line is in the "dev" environment
14:06 xintron Yeah. I see the problem ;ö
14:06 Striki that's the question I had
14:06 xintron :/
14:06 ajprog_laptop1 joined #salt
14:07 Striki even though I force the minion to use the dev environment via environment: dev (in the minion config)
14:07 [vaelen] joined #salt
14:07 xintron Ah. you can even force the env?
14:07 Striki it still does run things from the dev environment but as soon as you include files from other environments, the env variable in those states are "bound" to their respective environments
14:07 xintron So if I have base: '*' it wouldn't affect minions with a forced environment in the config?
14:07 Striki yep
14:08 Striki correct
14:10 martoss interesting, the newlines come from passing the context to the template
14:11 martoss in the sls, if I use contents: | … instead of source with context: config: {{ config }}, it works. Any idea why this introduces the newline characters?
14:11 xintron If I set a grain value, will that be persistent between minion restarts (using the master to set the grain)?
14:12 georgemarshall joined #salt
14:12 Striki xintron: yeah, I was thinking about doing that as well
14:12 Striki it's a workaround, use grain env = environment
14:12 Striki but it's a shitfix
14:12 Striki or "shitfix" - perhaps we aren't using this as we are supposed to :P
14:12 xintron Ah, I wasn't thinking of your problem now but yeah, that's a good workaround :)
14:12 Striki but still, doing the inheritance like this is really nice imho
14:13 babilen goudale: You mean minions that are currently executing a specific state?
14:13 babilen (salt state that is)
14:13 Guest77826 whiteinge: да вижу ошибку File "/usr/lib/python2.7/dist-packages/salt/loader.py", line 707, in gen_functions ), fn_, path, desc
14:13 Guest77826 yes see the error File "/usr/lib/python2.7/dist-packages/salt/loader.py", line 707, in gen_functions), fn_, path, desc
14:13 goudale babilen: Minions that are susceptible to run a certain state
14:14 ipmb joined #salt
14:14 kedo39 joined #salt
14:14 goudale babilen: My actual use case is : I want to list minions that have the 'syslog' state
14:15 goudale goudale: each minion get a port by it's pillar, and my logstash server need to know every port it should listen on
14:16 zach joined #salt
14:17 goudale goudale: thus, i would like to do some kind of : { for minion in minions_that_have_log_state } print minion.port {endfor}
14:17 whiteinge Guest77826: ah, good! there should also be output for your specific module and a line number. if you can pastebin the output I will take a look
14:17 eliasp whiteinge: I'm back… reading backlog :)
14:17 viq goudale: if you put it in grain, then you could access it via mine/publish
14:17 whiteinge martoss: i think that's because using ``context`` introduces yet a third level of templating. (pillar -> state sls -> template)
14:17 Jahkeup joined #salt
14:18 whiteinge whereas using ``contents`` is only the two levels
14:18 whiteinge eliasp: cool. just about to leave a comment on that issue too
14:19 goudale viq: thanks for the tip, i'll look into that
14:19 nliadm joined #salt
14:19 quickdry21 joined #salt
14:19 Guest77826 whiteinge: File "/var/cache/salt/minion/extmods/modules/glusterfs.py", line 2
14:19 aquinas joined #salt
14:19 xintron Striki, Seems like setting grain values from the master will write to the minion's /etc/salt/grains -file
14:19 dvestal joined #salt
14:19 xintron Striki, So they are stored :)
14:19 babilen goudale: It sounds a bit circular as you will define which minions get the syslog state in your top.sls -- you should use the same mechanism to target those that *have* the syslog state.
14:20 whiteinge Guest77826: good. closer. :)  can you pastebin your glusterfs.py file? I can look at it.
14:20 babilen goudale: Or rather: Will have them after a highstate
14:20 Ozack1 joined #salt
14:20 Guest77826 all file? maby 2 line?
14:20 viq goudale: also, with that set in grains you can do stuff like 'salt -G syslog_port:\* test.ping'
14:21 viq so, erm, target by the presence of that grain
14:21 Guest77826 whiteinge: <!-- saved from url=(0082)https://raw.githubusercontent.com/saltstack/salt/develop/salt/modules/glusterfs.py --> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link type="text/css" rel="stylesheet" href="chrome-extension://cpngackimfmofbokmjmljamhdncknpmg/sty ''' Manage a glusterfs pool '''
14:23 Guest77826 whiteinge: not it
14:23 Guest77826 whiteinge: <!-- saved from url=(0082)https://raw.githubusercontent.com/saltstack/salt/develop/salt/modules/glusterfs.py --> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link type="text/css" rel="stylesheet" href="chrome-extension://cpngackimfmofbokmjmljamhdncknpmg/sty le.css"><script type="text/javascript" charset="utf-8" src="chrome-extension://cpngackimfmofbokmjmljamhdncknpmg/js/page_context.js">
14:23 eliasp whiteinge: regarding your question: there's no UNIX-y way to put the system in a "reboot required" state… this could be a nice systemd addition at some point, but so far, there's no established standard
14:23 goudale babilen: Yes that was my first thought, but how can i achieve to make that list ?
14:24 goudale apart from 'salt '*' state.sls syslog'
14:26 bhosmer joined #salt
14:26 thayne joined #salt
14:27 JasonSwindle joined #salt
14:29 JasonSwindle joined #salt
14:32 ramishra joined #salt
14:32 babilen goudale: I don't quite follow. How do you target the minions that get the syslog state right now?
14:33 goudale babilen: I don't, and that is the problem
14:34 jalbretsen joined #salt
14:34 ramishra joined #salt
14:36 babilen goudale: So you have some minions that run syslog and some other minions that run, say, rsyslog and you want to know which minions run the former and which run the latter? Why can't *you* decide syslog implementation minions should run?
14:36 viq goudale: then have the state set a grain
14:36 babilen *which
14:36 Ozack2 joined #salt
14:37 Guest77826 whiteinge: maybe this module is not working?
14:37 goudale I have some minions running syslog, and some other dont. I want to know which minions runs syslog, and knowing those, the value of minions.pillar.port or whateve
14:38 goudale viq 's solution looks nice, i'll go into that
14:38 viq goudale: I'm in the process of deploying syslog config to my minions
14:38 whiteinge Guest77826: is the error in the glusterfs.py module that ships with salt or a custom glusterfs.py module that you have written?
14:38 babilen Why can't you decide which minions get syslog and which minions don't? How do you target the pillar whose value you want?
14:39 whiteinge eliasp: noted. i left a comment on that issue
14:39 whiteinge eliasp:  i need to drop off for a bit. but i'll be back late today
14:39 eliasp whiteinge: thanks… won't get around to have a closer look at this… leaving now for 3w of holidays :)
14:39 viq goudale: my procedure so far was: I want _all_ minions to send syslog to central location. Depending on implementation (rsyslog vs syslog-ng) they send to a set port. And since there's a limited number of ports involved, I used a protein interface (ie. myself) to put those ports in logstash config
14:40 whiteinge eliasp: woot! enjoy :)
14:40 mr_chris left #salt
14:40 eliasp whiteinge: if this didn't continue once I'm back, I'll respond after Aug 27th :)
14:40 eliasp whiteinge: thanks! :)
14:41 viq goudale: and in the syslog state I set whether to install rsyslog or syslog-ng based on system grains
14:41 babilen goudale: Sorry, i might miss something essential. What I mean is that, I assume, that you have *some* configuration that sets a port. This configuration needs to be targeted to your minions (as there is no way to get hold of them otherwise, unless you set it locally) and you can simply use *exactly* the same method (hell, even reference the same pillar) to get that port.
14:41 viq (namely: os_family:RedHat gets rsyslog, everything else gets syslog-ng)
14:41 jpl1079 joined #salt
14:42 rekibnikufesin joined #salt
14:42 viq Hm, you can target remote execution by pillars, but not states
14:42 Guest77826 whiteinge: Customise this module, not the base, downloaded it https://github.com/saltstack/salt/tree/develop/salt/modules and add _modules folder
14:43 CheKoLyN joined #salt
14:43 babilen goudale: So, say you configure your syslog-ng/rsyslog with the "syslog:port" pillar and target that to *all* minions. Depending on $SOME_LOGIC you decide which you install, but the port they use is the same. If you require that port for something else then you can just set it to the same value (or even reference the syslog:port value directly)
14:43 Guest77826 whiteinge: Sorry for English
14:43 viq goudale: you could target all minions that have that pillar set and tell them to set a grain, and go from there
14:44 goudale viq: I have a similar implementation, except that everyone is syslog, and that each syslog client send data thru a different port
14:44 viq goudale: any particular reason for that?
14:44 babilen Why is that?
14:44 goudale I don't know, I didnot decide it
14:45 babilen viq: What is the advantage of setting a grain if you have that information in the pillar already?
14:45 babilen Anyway ... I obviously talk into a black hole.
14:45 viq babilen: you can target states by grain, but not by pillar
14:46 babilen viq: I@pdata:foobar -- http://docs.saltstack.com/en/latest/topics/targeting/compound.html
14:46 goudale babilen: I very thank you for your suggestions, but everything is not all-clear in my head at the time, and I am pretty new to salt mechanism and names
14:46 viq babilen: oh, my mistake, I was looking at http://docs.saltstack.com/en/latest/topics/pillar/index.html#targeting-pillar
14:46 rekibnikufesin joined #salt
14:46 Guest77826 whiteinge: how else can I help you?
14:47 viq goudale: also, maybe you should ask the person who did do it that way for their reasoning
14:47 babilen goudale: Okay, to elaborate: *My* way of thinking about salt the same as the "declarative programming" one in that I describe how I want things to be rather than to describe how to *react* to things that are (It is salt's task to figure our how to achieve my "it should be like this")
14:48 viq babilen: but one advantage of putting that in grain over pillar would be making it reachable via mine/publish, so logstash could be configured based on that
14:48 babilen goudale: This means that you can (and probably should) just configure syslog in such a way that it follows your wishes (i.e. use a specific port, unless there is a good reason not to)
14:49 babilen goudale: But then, in the end, you will generate some config file on the minion from data in the pillar (read http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html ) even if you set different ports in there and my meaning is that you can use the same data source to figure out which port is being used by which minion.
14:49 goudale babilen: yeah sure, I get that declarative side of saltstack. My original thought was "I need logstash to listen on different port based on each minion sending port"
14:50 goudale babilen: yes I think get the idea
14:50 babilen My approach would rather be "Configure logstash to expect port FOO which is correct because I set the configuration that way"
14:50 danielbachhuber joined #salt
14:50 icebourg joined #salt
14:51 babilen And nothing really stops you to reference the syslog pillar in your logstash configuration.
14:51 whiteinge Guest77826: gotcha. can you put your custom version on http://fpaste.org/ so I can look?
14:51 whiteinge Guest77826: and no worries on the english!  :)
14:51 babilen I mean one might argue that you don't want to mix these approaches and that it therefore makes sense to expose this as part of the grains interface (as it is data about the machine), but I simply wanted to understand what you are trying to achieve.
14:52 viq babilen: well, you'd need to give all values of that pillar to logstash minion, and with default way of writing pillars it would only see the last value
14:52 Striki xintron: ok cool
14:53 kaiyou joined #salt
14:53 babilen viq: Ah, good point
14:54 scalability-junk joined #salt
14:54 babilen viq, goudale: I don't like the mixing approach anyway and you run into problems. I think my initial problem was "You configure syslog via salt already, why don't you use exactly the same logic/mechanism in logstash?"
14:54 babilen (or should configure it)
14:54 goudale viq: So you have a 'syslog' state in which you have something like : 'grain.present(pillar[foovalue])'
14:55 Guest77826 whiteinge: http://fpaste.org/123326/07250488/
14:55 viq goudale: no, I apply my syslog state to all machines. And based on grain['os_family'] it installs syslog-ng or rsyslog, most of the time with same settings
14:56 untamo13 joined #salt
14:56 whiteinge Guest77826: thanks! that top line of the file that contains the HTML comment is not valid python so that is probably the error
14:57 untamo13 hi everybody -- i had an aws instance die this morning. the good news is that i was able to stop and restart the instance and get it back up and running with a new ip. where i'm having trouble is the minion doesn't seem to be sending a new key to the master so i can't salt anything. any ideas?
14:57 Guest77826 whiteinge: means it is necessary to remove part of the html?
14:57 TheRealBill_ joined #salt
14:58 whiteinge Guest77826: yes
14:59 JasonSwindle joined #salt
14:59 UtahDave joined #salt
15:00 rallytime joined #salt
15:00 UtahDave good morning, everyone!
15:00 kaptk2 joined #salt
15:01 viq he said, at 17:00 :P
15:02 babilen Ah, I can go home! :)
15:02 cachedout joined #salt
15:02 viq :b
15:02 JasonSwi_ joined #salt
15:03 whiteinge UtahDave: is it? not all of us get to lazily roll out of bed on a cushy west-coast timeline, you know!
15:03 vejdmn joined #salt
15:05 viq bah, I keep getting tripped up with runners and such where do I put dashes and where do I put dots
15:07 meganerd joined #salt
15:07 Guest77826 whiteinge: thanks a lot that showed how to Use debug, decided a few more errors. Then we'll see how it works.
15:10 rihannon joined #salt
15:11 whiteinge Guest77826: i'm glad. good luck  :)
15:13 kballou joined #salt
15:14 trevorj joined #salt
15:14 thedodd joined #salt
15:15 juicer2 joined #salt
15:16 hypnosb joined #salt
15:18 che-arne joined #salt
15:18 dvestal joined #salt
15:18 hypnosb woa
15:19 dude051 joined #salt
15:19 hypnosb i need to deploy a django application. I have something with fabric but i think it sucks. Can I roll back with salt?
15:20 conan_the_destro joined #salt
15:23 teskew joined #salt
15:24 viq "roll back" ?
15:25 dude051 joined #salt
15:25 UtahDave viq: :)
15:25 ggoZ joined #salt
15:25 doddstack joined #salt
15:25 dccc_ joined #salt
15:26 JasonSwi_ UtahDave: YO!!!!
15:26 TheoSLC joined #salt
15:26 viq heya UtahDave :)
15:26 UtahDave hey, JasonSwi_!
15:26 UtahDave viq: How's everything going over there?
15:28 ecdhe Anyone seen ryan_lane?
15:28 viq It's rolling. Right now working on deploying more and more states accross our infrastructure, at least the (major) part of it connected to salt
15:28 wendall911 joined #salt
15:28 UtahDave cool
15:29 fllr joined #salt
15:30 viq And every once in a while bitching at things, like every admin is bound to ;P
15:31 codekobe_ Anyone know, for GitFS, when defining gitfs_root, does that root apply to all gitfs_remotes that are defined?
15:31 fllr Hey, guys. I've got a bit of a weird issue here on my hands. Nothing too urgent, but quite annoying. Every time I run a command on salt for the first time after a while(say, a day), some of my minions don't respond. After that, all of them start responding. Any reasons why it's doing that? https://gist.github.com/brian-l/8bf89a75b78759ee433d
15:31 to_json joined #salt
15:32 dvestal joined #salt
15:33 viq fllr: I just worked around it by adding on my master(s) 'salt-run manage.status>/dev/null' in crontab to run every five minues
15:34 fllr viq: Hackish, but works... do we know the cause, though?
15:34 UtahDave fllr: what versions of Salt are you on?  which os?
15:35 viq UtahDave: I'm seeing a similiar thing on 2014.1.7 accross a bunch of linuxes, though never investigated which in particular experience that
15:35 fllr UtahDave: Hydrogen, I believe
15:36 viq I did notice though that centos 5 boxes did _not_ come back after the initial command - the above hack fixed this
15:37 TheoSLC Need help getting the jinja right on this one.  Trying to generate a complete logstash config file from just pillar data.  http://paste.ubuntu.com/7962077/
15:38 UtahDave is there anything in the minion logs that looks suspicious?
15:38 fllr UtahDave: Ummmm.... lemme check
15:39 UtahDave TheoSLC: Are you getting a stacktrace with that right now? If not, what's the output you're currently getting?
15:39 whiteinge fllr: i don't have anything helpful to add...but that is a great naming scheme :)
15:40 rekibnikufesin joined #salt
15:40 ramishra joined #salt
15:40 viq UtahDave: for me, on a random minion that I picked I didn't. The centos 5 boxes complain about known old version of ZMQ that has issues with keepalives
15:42 mapu joined #salt
15:43 fllr UtahDave: Everything seems all right in the logs...
15:43 fllr whiteinge: Lol. That's salt's naming scheme... it stands for their 2014.1.0 version, I believe... Lol
15:44 viq fllr: I believe he was referring to names of your minions ;)
15:44 rgarcia_ joined #salt
15:45 fllr Oh... hehe... yeah... :D We're big fans of marvel here at work. :)
15:45 fllr We use dc comics for our test servers. lmao.
15:46 smcquay joined #salt
15:48 nolan_d joined #salt
15:49 goudale Is there some module that allow me to do something like `minions = get_minions_that_have_grains(mygrain)` other than `mine.get` ?
15:49 nolan_d What's the easiest way to get salt-ssh running under Windows to control remote hosts? Tried 'pip install' got a syntax error running setup.py.
15:50 viq goudale: in what context?
15:50 nolan_d Also installed the minion, but couldn't immediately find a salt-ssh binary, and I don't want a minion anyway. I just want to provision Vagrant boxes for testing and maybe eventually servers.
15:50 goudale viq: in a jinja-templated configuration file
15:51 iMil joined #salt
15:51 iMil joined #salt
15:51 viq goudale: check out publish interface
15:51 rekibnikufesin joined #salt
15:51 UtahDave nolan_d: I don't think salt-ssh supports Windows yet.
15:51 bezeee joined #salt
15:52 whiteinge lol @ DC heroes for the test servers
15:53 goudale viq: thanks, i'll look into that
15:54 nolan_d UtahDave: What does it mean that this is closed? https://github.com/saltstack/salt/issues/9213
15:55 nolan_d On one hand, a comment says it's being left open for anyone who wants to work on it, but on the other it is closed. Not sure how to parse that.
15:55 hypnosb gitfs ? o_O
15:55 UtahDave nolan_d: huh, I had no idea about that.  I hadn't seen that thread.
15:56 hypnosb when i say rollback, i want to deploy my web app from github but jic shit hits the fan i want to be able to revert to last
15:56 nolan_d Also, out of curiosity, does salt-ssh require anything remotely, even a Python environment? Wondering if it might work with CoreOS.
15:57 UtahDave hypnosb: Salt doesn't have a specific  "revert" function.   But if you can revert your branch in git and deploy it again with Salt
15:57 nolan_d I'm most familiar with Ansible, but the remote Python environment isn't an option on CoreOS.
15:57 hypnosb hmm, seems scary.. i almost like what capistrano does with symlinks
15:57 UtahDave nolan_d: Looks like salt-ssh will work on windows. I don't think we've done any/much testing there
15:58 viq nolan_d: yes, you need python
15:58 nolan_d Ah, damn.
15:58 UtahDave hypnosb: I wrote a module for a client last week that does the symlink thing
15:58 viq hypnosb: you could try and define similiar thing with salt
15:59 vbabiy_ joined #salt
15:59 hypnosb im in tool overload :|
15:59 bhosmer joined #salt
15:59 tligda joined #salt
15:59 Ryan_Lane joined #salt
15:59 Ryan_Lane joined #salt
16:00 UtahDave hypnosb: Eventually I'd like to have an "official" too/pattern for managing code versions with symlinks like that, but I'm still playing around with the best way to do that and make it generic
16:00 Comradephate joined #salt
16:02 JasonSwindle joined #salt
16:03 dvestal hypnosb: I’m brand new to salt so I’m not any help here yet, but the functionality that it seems you’re looking for is exactly what you would/could do with Capistrano.  With salt it looks like you should be able to use the git state to declare the branch, assuming that you use branch/tag releases.
16:05 vbabiy joined #salt
16:05 dvestal hypnosb: It would also be pretty easy to just use the rev parameter for the git state to have the repository cloned in multiple directories and then a file/symlink state to point to the appropriate one if you want functionality exactly like Capistrano.
16:06 DerekRBN joined #salt
16:07 DerekRBN Hey there guys.
16:07 UtahDave hey DerekRBN!
16:08 DerekRBN At SaltConf I saw a presentation about using client_acl to allow your users to run commands so that not everyone runs as root.
16:08 DerekRBN Great idea, the part that sold me on it, was that he was logging all that info, but i cant find out how to get salt master to log all the commands ran
16:09 DerekRBN Any ideas on what config that is? I'm running in warning level right now
16:09 UtahDave DerekRBN: Salt logs everything in the job cache. I'm not sure if there was some additional logging the speaker was talking about
16:09 DerekRBN ahh ok thats me not looking in the correct place
16:10 UtahDave Does that sound right?
16:10 viq DerekRBN: what were they using to look at the logs/commands?
16:10 DerekRBN haha yea, I was looking at the daemon log
16:10 DerekRBN less
16:11 Linuturk is it possible to reference pillar vars inside of pillar? ie, docroot: /var/www/vhosts/{{ pillar['sitename'] }}/www
16:11 viq Linuturk: no
16:12 Linuturk k
16:12 vejdmn joined #salt
16:12 Linuturk is there a way to achieve that kind of thing? other than hardcoding inside of the state? I guess stitch two pillar calls together
16:12 Linuturk ?
16:13 viq Linuturk: you can't reference pillar data from pillar data. You could reference two separate pillar values from your states though
16:13 UtahDave Linuturk: if you do an external pillar you have full control over the pillar dictionary.  An external pillar receives the current pillar, then you can modify it to your needs and then return the resulting pillar dictionary.  It's not necessary to actually reach out externally to anything
16:14 rekibnikufesin left #salt
16:14 jslatts joined #salt
16:14 masterkorp UtahDave: https://github.com/saltstack/salt/pull/14743
16:14 masterkorp finnally got the time to do it
16:15 KyleG joined #salt
16:15 KyleG joined #salt
16:15 DerekRBN Im not sure this is what im looking for. I'm looking to have a audit log of who ran what. It might just be my log level.
16:15 UtahDave masterkorp: Awesome!  thanks for doing that.  really helpful.
16:15 masterkorp also, the documenatation generation process is filled with warnings and errors would you accept some PR ?
16:15 masterkorp i would like to treat warning as errors in the future even
16:16 TheoSLC UtahDave: Yes, thanks.  sorry, had to step away.  http://paste.ubuntu.com/7962350/
16:16 UtahDave masterkorp: definitely.  whiteinge oversees the documention build process.  You might ping him if you have any questions
16:17 masterkorp ok, tommorrow after gym i will give it some kicks
16:18 UtahDave TheoSLC: ah, ok. So you're having a mismatch between lists and dictionaries.  Your jinja creates a list, not a dictionary.
16:18 DerekRBN Found it! The info i was looking for was in Debug level
16:18 coreico joined #salt
16:18 dude051 joined #salt
16:19 coreico left #salt
16:20 DerekRBN Here's another one, Does anyone with Autoscaling have a easy way to clean up old keys on your master?
16:22 darkelda joined #salt
16:22 troyready joined #salt
16:23 UtahDave DerekRBN: sudo salt-run manage.down removekeys=True
16:24 ramteid joined #salt
16:25 thayne joined #salt
16:28 Thiggy joined #salt
16:29 Thiggy I have a package that I install from a .deb file pulled down from the salt file store thingy. I updated the .deb file, but I can't figure out how to make pkg.installed say "Oh here's a new version of the deb file let me install that for you." Suggestions?
16:30 UtahDave have you tried adding   refresh: True to your state?   or have you tried pkg.latest?
16:31 Thiggy Ah refresh, I missed that option somehow. And I have not tried pkg.latest, it wasn't clear to me if that would try to pull it down from other sources.
16:31 Thiggy I'll try those 2 things. Thanks @UtahDave
16:31 UtahDave You're welcome. Hopefully one of those two will work for you.
16:33 khaije1 joined #salt
16:36 m1crofarmer joined #salt
16:37 jeremyBass joined #salt
16:37 DerekRBN @UtahDave: this will remove old keys from my master and allow currently alive nodes to ask for fresh keys?
16:38 Thiggy refresh didn't work, and pkg.installed doesn't take a sources option to specify the .deb file location
16:38 UtahDave DerekRBN: Not exactly.  manage.down will give you a list of minions that did not respond.   the removekeys  option will then delete those keys
16:38 DerekRBN Woah! thats exactly what I need!
16:39 DerekRBN Thanks a ton @UtahDave
16:39 Thiggy even specifying -version: with the version o the new package doesn't do it
16:39 Thiggy I think I'll just have to do this via a module call for the existing machines and move on.
16:41 UtahDave Thiggy: Actually, I think you've run into an open issue.
16:41 UtahDave I think the current workaround is exactly what you've discovered.  Sorry, I forgot about that.
16:42 nyx joined #salt
16:42 Thiggy No problem! Thanks for your help.
16:42 ericof joined #salt
16:42 DerekRBN @UtahDave: do you know if the removekeys argument was created after 17.4?
16:44 stevednd joined #salt
16:44 chrisjones joined #salt
16:44 DerekRBN Documentation does not say, my master says that its not a valid argument. I assume it's a newer feature
16:44 UtahDave Hm. looks like removekeys was  added on 2013-10-01
16:45 forrest joined #salt
16:45 DerekRBN hmm I think i last upgraded around 2014-11 when the ext_job_cache thing came about
16:46 UtahDave and 0.17.4 was released :   Date:   Tue Dec 10 22:29:06 2013 -0700
16:46 UtahDave so I think it should be there in your version.
16:46 DerekRBN ahh ok so i should have it. I'll look into the debug log :)
16:47 bhosmer_ joined #salt
16:48 CeBe1 left #salt
16:51 herlo I've been thinking more and more about the matching in top.sls. I think what I want is a way to create a file for a host or set of hosts and then have the common stuff in top.sls. Can this be done?
16:51 DerekRBN @UtahDave: to confirm, I opened up salt/runners/manage.py and looked at the down function. it does not have any arguments, going to see if i can patch without having to update or break stuff
16:52 herlo in other words, something that includes all of the other hosts. Something like 'web1.example.com.sls' which would have the matching and formulas used on that server.
16:52 UtahDave DerekRBN: You should be fine patching that module
16:52 rap424 joined #salt
16:53 herlo as it goes, I am starting to get a really large top.sls and I only have 4 environments. The two main environments, base and dev seems to be growing quickly.
16:54 Ryan_Lane joined #salt
16:54 ecdhe Ryan_Lane, good job making HN yesterday!
16:54 Ryan_Lane thanks :)
16:55 ecdhe I liked the post as well, I got a lot from your perspective.
16:55 Ryan_Lane thanks. I'm glad. it's surely one of the longest one I've written
16:55 foxx joined #salt
16:56 foxx hello. if i use true=True whilst a declaration "requires" a user to be present but isn't already present, it fails with "Comment: User admin is not available". if I run without test=True, it works fine. is this expected or should i raise a bug?
16:57 kermit joined #salt
16:57 forrest foxx, is the first run while you do test=True before the user is added to the server? Or every time you run test=True even after the initial run?
16:57 foxx forrest: this is only before the user is added to server. after adding, test=True works fine
16:58 viq UtahDave: seeing you're opped, shouldn't the topic be changed? ;)
16:58 bhosmer_ joined #salt
16:58 DerekRBN @UtahDave: Simple enough import subprocess and add a if statement, Thanks again for the Help!
16:58 viq Or when the announcement comes?
16:59 ninkotech joined #salt
16:59 TheThing joined #salt
16:59 foxx forrest: issue raised: https://github.com/saltstack/salt/issues/14745
16:59 UtahDave foxx: Go ahead and open a bug.  It's kind of an idiosyncrasy of Salt
16:59 UtahDave ah, thanks!
16:59 vejdmn joined #salt
16:59 foxx yeah i figured
16:59 foxx i had a look at the source and couldnt see anythign handling that specific use case
17:00 foxx e.g. a local state which takes into consideration any users added during test run
17:00 UtahDave herlo: Yeah, that's a pretty decent way of doing it
17:00 foxx which is prob gonna be pretty hard to do :/
17:00 UtahDave herlo: inside an sls file you can do conditional includes and things.
17:01 foxx UtahDave: nice to see salt is still going strong, and that you guys havent given up and gone insane yet :P
17:01 forrest foxx, cool, I was going to say though, yea that's standard behavior
17:01 forrest foxx, UtahDave was already insane
17:01 foxx ahah
17:01 forrest so there's no change there
17:02 herlo UtahDave: got any good examples?
17:02 UtahDave lol.
17:02 * herlo couldn't see much in the docs
17:02 herlo UtahDave: even if it's just of the conditional includes. Which, to be truthful, isn't really conditional in my case.
17:03 UtahDave herlo: can you pastebin an example of what you have right now? That would help me make sure I understand where you're coming from.
17:03 herlo UtahDave: sure...
17:04 dvestal_ joined #salt
17:04 foxx i <3 salt. so freaking much.
17:04 foxx honestly. gotta say a huge thank you to everyone involved
17:04 foxx saved me countless devops hours and raging at <alternative options>
17:04 forrest haha
17:05 herlo UtahDave: http://ur1.ca/hwyiu -- keep in mind, I only have two hosts right now, but I expect to have about 30+ in a week or so.
17:06 herlo UtahDave: and I plan to target them individually for the most part.
17:06 viq herlo: uhm, why are you assigning all your hosts to all your environments?
17:07 ninkotech joined #salt
17:07 herlo viq: I use the dev environment as a place to make sure things work, then move them to base.
17:07 herlo so essentially, they won't alwasys be in sync.
17:07 herlo but should be if I'm not testing.
17:07 viq herlo: AFAIK hosts are supposed to be in ONE environment
17:07 herlo nope
17:08 herlo viq: we had a long discussion about this a month or so back.
17:08 herlo You can control environments however you like.
17:08 herlo the benefit I get is that I am not using a master
17:08 herlo viq: so I run '/usr/bin/salt-call state.highstate saltenv=dev' to execute the dev environment by hand
17:09 herlo viq: I have another set of states that start and stop a cron job that runs '/usr/bin/salt-call state.highstate saltenv=base' on a regular basis on all of my hosts.
17:09 viq Well, you're still in only one environment, you're simply controlling by hand which.
17:10 herlo viq: sure. But I can keep them isolated this way and do testing.
17:10 herlo Once I get it working, it only uses 'base'.
17:10 huleboer joined #salt
17:11 herlo viq: the value is, yet again, that I can use test=true and get a preview of what will happen, then run it if I want, or fix my errors if it didn't come out correctly.
17:11 UtahDave herlo: ok, so you're wanting to find a way to not have a really long top.sls, right?
17:11 herlo UtahDave: exactly.
17:12 UtahDave so generally you'd do that by targeting a class of servers somehow.  Will these 30+ servers be similar?
17:12 herlo UtahDave: but I also want to be able to target a specific minion in a specific environment with a single file. So for pdx-caf-kvm-stg-1, I'd like to have the common stuff (which everyone will get) and then include a file called something like pdx-caf-kvm-stg-1.int.sls which will allow me to tune what it'll have in it...
17:12 srilyk joined #salt
17:13 srilyk Anyone here familiar with deploying wars to tomcat7?
17:13 herlo UtahDave: not likely. Since we're in staging, most will have a few things in common, but most will be different enough to warrant a separate file for each. Plus, targeting this way allows me to remove a single file and get rid of the management of a specific server in one fell swoop.
17:13 UtahDave herlo: ah, ok. You can totally do that.
17:13 herlo UtahDave: and an example? :D
17:13 herlo UtahDave: I'm sure I'll tweak it as I always do. :)
17:13 UtahDave herlo: do you want to dynamically load that in the top file? o
17:14 conan_the_destro joined #salt
17:14 srilyk I'm trying to run just a standalone minion, but I'm getting "missing username and password (grain/pillar)". I'm pretty new to saltstack, but something strange is definitely at play
17:15 srilyk the error message actually looks like someone called "\n".join("missing username and password (grain/pillar)")
17:15 carmony UtahDave: I'm having a problem where when I log into my salt-master after not using it for several days, the minion connections seem stale and I have to run a few commands before they become responsive.
17:15 huleboer joined #salt
17:16 herlo UtahDave: I was thinking something like this: http://ur1.ca/hwykc
17:16 UtahDave carmony: Yeah, we've had a couple reports on that.  cachedout is going to try to reproduce that.
17:17 UtahDave carmony: Can you check if there's an open issue on that already?
17:17 carmony UtahDave: sure
17:17 thayne joined #salt
17:17 UtahDave thanks, man.
17:18 UtahDave herlo: I think you're close.  Remember that the top file is parsed by each minion so you can use jinja in there.  Let paste an example that might work.
17:18 `nik` joined #salt
17:19 carmony UtahDave: I think this is it
17:19 chutzpah joined #salt
17:19 `nik` how do i manage my php.ini with salt?
17:19 carmony doh, didn't paste the link
17:19 carmony UtahDave: https://github.com/saltstack/salt/issues/14343
17:20 herlo UtahDave: this is a better example: http://ur1.ca/hwykz
17:20 carmony `nik`: you can use the file.managed state
17:20 `nik` thanks
17:20 herlo UtahDave: I don't want to use jinja if I can help it. If it's just to include a file, okay, but if I had to do loops and crazy stuff to make it work, I'd rather just do what I'm doing.
17:20 UtahDave herlo: http://fpaste.org/123364/40725923/
17:20 chutzpah joined #salt
17:21 herlo UtahDave: wait, what?
17:21 UtahDave herlo: be aware though that periods cause Salt to try to traverse down another directory level
17:21 herlo yes, I am aware, see ipa.server. :)
17:21 herlo UtahDave: my confusion comes into why I would have to do - unique.{{ grains['id' }} at that level.
17:22 rgarcia_ joined #salt
17:22 ramishra joined #salt
17:22 UtahDave herlo: you don't HAVE to.  It's just saying   All minions, look here for another sls file to apply.
17:22 UtahDave you could put that anywhere you want.
17:25 herlo UtahDave: and I'm guessing it would look more like this? http://fpaste.org/123366/40725949/
17:25 gmeno joined #salt
17:26 UtahDave Hm. not quite.  In this instance I would have 2 directorys.    maybe name them  "dev" and "base" and then have shorewall.sls in each
17:27 herlo UtahDave: my environments are alread separated into /srv/salt/{dev,base}
17:28 masterkorp Does the pkg state support the option to install a package from a .deb file ?
17:28 herlo UtahDave: and the environments are never run without saltenv=<env>
17:28 herlo UtahDave: er salt-call is never run without saltenv=<env>, rather.
17:28 UtahDave herlo: ah, perfect then.
17:28 tyson_ joined #salt
17:28 masterkorp Or do I have a to install with cmd state ?
17:29 UtahDave you'll already have separate shorewall.sls files, then.  This include is not extending the actual top.sls matching itself.
17:29 Linuturk when spinning up windows minions, shouldn't salt-cloud use the password provided by the Rackspace API instead of hard coding one in the configuration file? http://salt-cloud.readthedocs.org/en/latest/topics/windows.html
17:29 UtahDave masterkorp: yeah, the pkg state does allow you to install from a deb
17:29 masterkorp http://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkg.html
17:29 masterkorp how ?
17:29 herlo UtahDave: yeah, it's a weird setup in that way, but it allows me to have one file for each environment. I'm actually duplicating data a lot, but this actually helps me separate better than even puppet did things.
17:29 herlo UtahDave: separate shorewall.sls?
17:30 to_json joined #salt
17:30 herlo UtahDave: shorewall.sls shouldn't have to move, should it? Would it need to be under the node/ directory?
17:30 UtahDave masterkorp: there are some examples here: http://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkg.html#salt.states.pkg.installed
17:30 ldlework left #salt
17:31 druonysus joined #salt
17:31 druonysus joined #salt
17:31 UtahDave herlo: no you wouldn't have to move shorewall.sls.   the "pdx-something-something.sls"  can just include the proper shorewall.sls from its environment
17:31 masterkorp What am I missing is there an example with .deb ?
17:31 forrest masterkorp, use the - sources: example
17:31 huleboer joined #salt
17:32 herlo UtahDave: okay, so it's the same as I had before. More tweaking...  http://ur1.ca/hwym6
17:32 forrest scroll down from the link  UtahDave linked
17:32 masterkorp forrest: thanks !
17:32 forrest np
17:32 smcquay joined #salt
17:33 forrest masterkorp, if you can though, you should set up a repo
17:33 forrest masterkorp, have you looked at aptly? It's pretty fast.
17:33 to_json joined #salt
17:33 herlo UtahDave: I only have one shorewall.sls. I only test it in the dev environment. When it's working it gets merged into the master (read base) branch in git, which is then pulled into the 'base' environment's directory structure. While testing, whatever is in 'base' will work with a cron job (unless I disable the runs, of course) and will not be in flux.
17:33 UtahDave herlo: you're trying to duplicate the top.sls syntax in your sls file.  that's not going to work. Let me modify your paste
17:34 herlo UtahDave: I didn't detail those here since they are unique states and don't affect the rest of the structure.
17:34 UtahDave I wish the fedora pastebin had a "duplicate" or "clone" feature
17:34 herlo UtahDave: I was just lamenting that feature myself.
17:34 herlo maybe I'll file a bug upstream for that :)
17:34 bhosmer joined #salt
17:35 UtahDave http://fpaste.org/123373/60115140/
17:36 * herlo clicks
17:36 herlo UtahDave: that's not going to work.
17:36 ingwaem joined #salt
17:37 ksalman in the pillar top.sls file how can i include everything under a directory? i.e., instead of saying  foo.bar.baz and foo.bar.qux, can i say something like foo.bar.*?
17:37 ninkotech__ joined #salt
17:37 TheThing joined #salt
17:37 herlo UtahDave: essentially, that means I would have to maintain a dev/nodes and a base/nodes directory structure to keep the environments separate enough to do testing properly.
17:37 herlo UtahDave: I don't want to maintain two shorewall.sls files.
17:37 ndrei joined #salt
17:38 UtahDave herlo: Hm. I guess I didn't understand. I thought that's what you were doing.
17:38 herlo UtahDave: they need to be able to be separated in the node file somehow, which is what I was after.
17:38 herlo UtahDave: no, I have one directory structure with all of my formulas. They are exactly the same once tested, but when I'm developing a new one, I use the 'dev' environment.
17:39 * herlo thinks a workflow here might be useful. Sounds like a blog post is forming. :)
17:39 UtahDave herlo: isn't your 'dev' environment another directory structure? Or are you doing this in gitfs?
17:40 herlo UtahDave: no gitfs
17:40 herlo UtahDave: it's just two git branches
17:40 herlo hold on, I'm drawing a picture. :)
17:43 repl1cant joined #salt
17:43 ksalman can i use glob when including sls state files in the top.sls file?
17:44 UtahDave ksalman: No, I don't think you can.
17:44 UtahDave ksalman: You can have an sls file that just includes all the other ones you want so you can just include the first one and get all the other ones.
17:44 ksalman UtahDave: thanks. that's a good workaround
17:45 UtahDave you're welcome!
17:47 bhosmer_ joined #salt
17:50 Linuturk when spinning up windows minions, shouldn't salt-cloud use the password provided by the Rackspace API instead of hard coding one in the configuration file? http://salt-cloud.readthedocs.org/en/latest/topics/windows.html
17:51 ckao joined #salt
17:51 JasonSwindle Linuturk: Why are you Windows Server-ing :P
17:51 Linuturk necessary evil
17:51 JasonSwindle Ha :)
17:52 smcquay does anyone in here run salt on esxi hypervisors to manage configuration of datastore and vms?
17:53 UtahDave Linuturk: Yes, it should. minion seeding on windows in a cloud is still a work in progress
17:53 to_json joined #salt
17:53 UtahDave smcquay: I think ingwaem has been doing some of that lately.
17:53 Linuturk ok, I'm looking through the code for the rackspace provider
17:53 Linuturk I can probably figure out how to fix this
17:54 ingwaem smcquay: I’m currently looking at the esxi stuff…It’s not 100% complete since it doesn’t seem you can setup images like you can with ami’s on aws
17:54 smcquay hmm interesting.
17:54 UtahDave Linuturk: that would be awesome.  I've been really wanting to get to that, I just haven't had the bandwidth.   Let me know if you need any help
17:54 herlo UtahDave: sent you an email
17:55 smcquay ingwaem: we wrote some infrastructure that uses vsphere's soap api to manage vm state and cloning and it seems like it'd be faster and better to just put a minion on the esxi and enforce state via salt.
17:55 ingwaem smcquay: to get esxi working though I would hold off till 2014.7 is fully released…otherwise you must force your environment into that version
17:55 forrest herlo, UtahDave needs a  rejection asking you to purchase more support tokens :P
17:55 forrest just troll face on the tokens though
17:55 herlo forrest: lol
17:55 _jslatts joined #salt
17:55 ingwaem smcquay: I think so…haven’t got to that point yet…I only made my breakthrough at about 2am this morning to get connectivity
17:55 Gareth morning.
17:56 forrest hey Gareth, on call this week?
17:56 ingwaem smcquay: I have both esxi and ec2 spitting out stuff
17:56 herlo Gareth: hola!
17:56 Gareth forrest: last week :)
17:56 smcquay hmm, very interesting.
17:56 Gareth herlo: howdy. how goes? :)
17:57 forrest Gareth, Nice! Did you hear back from the seagl guys yet?
17:57 herlo Gareth: well, if UtahDave would just help me, I'd be much better. :-P
17:57 housl joined #salt
17:57 Linuturk UtahDave: https://github.com/saltstack/salt/blob/develop/salt/cloud/clouds/rackspace.py#L410 << I think it would be as simple as setting the default here to the password value returned by the api create request. I'm not sure where the details from the create request to the API are stored though
17:57 forrest jeez, monopolizing the IRC support,
17:57 Gareth herlo: UtahDave doesn't really help anyone.
17:57 herlo Gareth: going well, actually. How are you and yours?
17:57 herlo Gareth: lol
17:57 Gareth forrest: nothing yet.
17:57 herlo Gareth: he's such a slacker, isn't he?
17:57 aw110f joined #salt
17:57 Gareth herlo: all doing well over here :)
17:58 herlo Gareth: great to hear. Whatcha doing with salt?
17:58 Gareth herlo: hacking on it :)
17:58 herlo Gareth: making it better? Or just using it?
17:58 bezeee joined #salt
17:59 UtahDave Linuturk: Does the api return the password for Windows vms? It seems like that might have been part of the problem before.
17:59 m1crofarmer joined #salt
17:59 Gareth herlo: making it better.  current $dayjob is a puppet shop so we don't use salt here, but I've been making a few contributions to it for a few months now.
17:59 Linuturk UtahDave: at least for Rackspace, it does. It's the same password used for SSH on linux boxes. Rather, we use the same part of the response to provide a linux or windows server password
17:59 UtahDave a few contributions??  Gareth has been knocking it out of the park.
18:00 UtahDave Linuturk: ah are you a racker?
18:00 Gareth UtahDave: :)
18:00 Linuturk UtahDave: yeppers peppers :)
18:00 UtahDave cool.  Well, that's good info.  Let me see where that password is stored.
18:01 UtahDave Linuturk: looks like it might be here:  data.extra['password']
18:01 herlo Gareth: I know that feeling.
18:01 Linuturk yeah, that was my first guess, i'm just hoping to confirm it :)
18:02 herlo Gareth: my contributions have been lacking as of late, but I'm hoping to help out soonish again.
18:02 tyson_ joined #salt
18:02 Linuturk I guess let me fork and try a PR on it
18:03 forrest Gareth, did you see Ryan_Lane's article about switching from puppet to salt/ansible?
18:03 UtahDave herlo: I think my last paste will work if you match under the dev environment.
18:03 herlo UtahDave: but what about prod?
18:03 herlo s/prod/base/
18:04 UtahDave Yeah, we're almost there.  Let me modify that paste.
18:04 herlo UtahDave: so my workflow made sense?
18:04 UtahDave yep
18:05 forrest UtahDave, Can you gist the final so I can fork it? Then when someone else asks to do silly things like herlo I'll have it as an example :P
18:05 foxx forrest: ouch.. "As you may have noticed earlier in this post, we had 10,000 lines of puppet code and reduced that to roughly 1,000 in both Salt and Ansible. That alone should speak highly of both."
18:05 forrest UtahDave, or we could add it to the top docs..
18:05 foxx 10k of puppet... yum :|
18:05 forrest foxx, yea I'm not surprised, we had a ton of puppet code at my old shop as well, Ryan was using a bunch of stuff puppet didn't support too so it was jerry rigged from what he was saying
18:05 forrest since puppet doesn't even support stuff like pip
18:06 forrest which is shocking to me, because that feature was lacking over 2 years ago
18:06 foxx wtf.. i didnt know that
18:08 arthabaska joined #salt
18:08 forrest foxx, yep, I imagine it was specific functionality maybe? It seems *kind* of supported here: https://tickets.puppetlabs.com/browse/PUP-1071
18:08 ingwaem here’s a great comparison of salt vs puppet vs chef…take a look at contributions, and lines of code :)
18:08 ingwaem https://www.openhub.net/p/compare?project_0=salt&amp;project_1=Puppet&amp;project_2=Chef
18:08 forrest but either way, cutting your codebase by 90% is awesome
18:08 UtahDave herlo: Yeah, that's totally going to work because the include is going to pull the sls file from the proper environment.
18:08 forrest ingwaem, hah
18:08 forrest ingwaem, that's actually hilarious
18:09 UtahDave herlo: https://gist.github.com/UtahDave/90368d2714c86e3d6367
18:09 ingwaem the numbers don’t lie :) I go by numbers and intuition…and puppet/chef…yea no :)
18:10 Linuturk UtahDave: https://github.com/saltstack/salt/pull/14748 << might work . . . :-/
18:11 codekobe_ @UtahDave
18:11 codekobe_ For GitFS remotes:
18:11 codekobe_ gitfs_remotes:
18:11 codekobe_ - git://github.com/example/first.git
18:11 codekobe_ - https://github.com/example/second.git
18:11 codekobe_ - file:///root/third
18:11 UtahDave Linuturk: have you tried it yet?
18:11 codekobe_ If i apply the setting:
18:11 codekobe_ gitfs_root: foo/baz
18:11 codekobe_ does this apply to every remote?
18:11 codekobe_ I noticed with external pillars the documentation shows:
18:11 codekobe_ ext_pillar:
18:11 codekobe_ - git: <branch> <repo> [root=<gitroot>]
18:11 codekobe_ Is there a way to do this with gitfs_remotes?
18:11 bezeee joined #salt
18:11 forrest codekobe_, can you please gist/pastebin that?
18:11 UtahDave codekobe_: hey, could you put that in a pastebin instead?
18:11 forrest beat you to it UtahDave bwaha
18:12 UtahDave he he.
18:12 codekobe_ https://gist.github.com/stevendgonzales/9931a88e8b7ca1f6a54e
18:12 Linuturk UtahDave: not yet, I've never run straight from develop before
18:12 herlo UtahDave: looking into what you have...
18:12 codekobe_ sorry for the previous spam
18:13 UtahDave codekobe_: no problem.   Uh, let me check on your question. I don't know right off the top of my head
18:13 codekobe_ looking to apply different gitfs_root to individual git remotes
18:13 codekobe_ as I am using formulas
18:14 jslatts joined #salt
18:14 forrest codekobe_, that's a good question, I'll be interested to see what the answer is
18:15 Gareth forrest: I did.  I didn't read the whole thing though.  Really long :)
18:15 UtahDave codekobe_: You're right. the docs don't take into account multiple gitfs remotes.
18:15 forrest Gareth, lol yea, I jokingly gave him a hard time about it yesterday
18:15 jsm joined #salt
18:16 Linuturk UtahDave: trying now on the current stable. I manually modified that script on my server :) I'll update the PR once my test finishes
18:16 JasonSwindle forrest: You gave someone a hard time?  *shock*
18:16 codekobe_ UtahDave, yes, so now i am curious if it is still possible to pass the root as a param to each gitfs_remote
18:16 herlo UtahDave: you broke it! :D
18:17 * herlo notes a missing ] after 'id'. lol
18:19 herlo UtahDave: http://ur1.ca/hwys0
18:19 forrest JasonSwindle, jokingly of course
18:20 herlo forrest: now way. You are always the meanest! :D
18:20 JasonSwindle :)
18:20 herlo s/now/no/
18:21 forrest herlo, I know, turrible
18:21 herlo lol
18:23 ingwaem issue #14749 opened. about to do another for the ec2
18:23 herlo UtahDave: rather this: http://fpaste.org/123386/14072630/
18:25 tyson_ joined #salt
18:27 tyson_ joined #salt
18:28 dvestal joined #salt
18:28 `nik` left #salt
18:28 arthabaska joined #salt
18:28 TheThing joined #salt
18:29 arthabaska joined #salt
18:29 herlo UtahDave: tried all sorts of renaming options, but salt-call can't find the node definition
18:30 UtahDave codekobe_: waiting on a response from another developer on your question
18:31 UtahDave herlo: I think you may be having issues with the periods in your minion id
18:31 herlo UtahDave: I'd be happy to rename it to test, hang on.
18:34 herlo UtahDave: hmm, so I now have that working. which means I need a strategy for naming my minions differently. :(
18:35 herlo UtahDave: or a way to escape the dots.
18:35 herlo bbiab.
18:38 m1crofarmer joined #salt
18:40 kermit joined #salt
18:40 ramishra joined #salt
18:41 intellix joined #salt
18:43 jsm joined #salt
18:45 sectionme joined #salt
18:47 ingwaem could you not single quote to have the dots in the name?
18:49 UtahDave codekobe_: Looks like this is in 2014.7 which is about to have it's first RC release:   http://docs.saltstack.com/en/latest/ref/configuration/master.html#std:conf_master-gitfs_remotes
18:50 tommee joined #salt
18:50 nmadhok joined #salt
18:50 codekobe_ UtahDave Thanks for the 411
18:54 Comradephate joined #salt
18:56 herlo UtahDave: any thoughts on how to escape the dots?
18:56 herlo or am I relegated to renaming my minions?
18:56 Comradephate joined #salt
18:56 to_json joined #salt
18:59 Ryan_Lane joined #salt
19:00 Ozack1 joined #salt
19:00 darrend joined #salt
19:01 Ryan_Lane joined #salt
19:01 ingwaem brb
19:03 kamal_ Is it possible to get a list of changes files from a files.recurse state?
19:04 Linuturk so, I thought the salt-cloud stuff was supposed to connect on port 445? I'm showing it trying to hit 900
19:05 Linuturk nvm
19:05 Linuturk dur
19:05 TheThing joined #salt
19:07 Ryan_Lane foxx, forrest: 10k lines isn't even a lot
19:08 Ryan_Lane wikimedia has like 50-60k
19:08 forrest :\
19:08 forrest that feels excessive
19:08 Ryan_Lane (wikimedia has a *lot* of services)
19:09 ggoZ joined #salt
19:10 UtahDave herlo: OK, just found the answer.
19:10 UtahDave herlo: short answer, right now you'd have to rename your minions to not have dots in the id
19:11 UtahDave herlo: longer answer: I'm going to open up an issue requesting that feature. Tom and I looked at that code and it shouldn't be very hard to add the ability to have dots in sls file names.
19:12 forrest UtahDave, in the filenames themselves?? You mean for hosts
19:12 forrest UtahDave, not like include: \n - my.stupid.filename :P
19:13 UtahDave in the filenames themselves.  right now a dot in an sls file in a top.sls traverses down a directory structure for each dot
19:13 forrest the logic required is going to take way longer to crawl the directories and make sure that the dot isn't a directory
19:13 forrest UtahDave, ahh ok that makes more sense, I thought you meant for state files
19:13 forrest not for items in the top.sls (specifically hosts)
19:14 mapu joined #salt
19:14 UtahDave forrest: Yeah, not the hosts themselves.  the sls filenames   so  base:\n '*':\n  - my.new.file
19:14 herlo UtahDave: awesome, thanks.
19:14 herlo UtahDave: I'll tinker with the minion_id value and see what I come up with, too.
19:14 forrest UtahDave, why would you want to support that? dots in file names are ridiculous
19:15 taterbase joined #salt
19:15 forrest who is putting dots in filenames?
19:15 forrest unless it's file.conf, not file.name.sls :\
19:15 peters-tx joined #salt
19:16 UtahDave herlo
19:16 forrest herlo, bleh
19:17 forrest this is like people who use dots instead of dashes in hostnames
19:17 UtahDave that's where the root of this comes from.  :)
19:17 forrest I know
19:18 UtahDave oh, sorry. :)
19:18 forrest Are you guys going to benchmark how much longer the extra search/compile time takes?
19:18 forrest if it's ONLY supported in the top.sls, might be ok
19:18 herlo forrest: right... like you don't use dots in your hostname. :)
19:18 forrest herlo, yea host-name.tld
19:18 UtahDave yeah, we'll definitely test this well.
19:18 forrest herlo, not host.name.tld
19:18 herlo forrest: or web-1.dmz.example.org, for instance.
19:19 forrest herlo, that's fine
19:19 herlo that's how mine is.
19:19 forrest yea, but not how your state files are
19:19 herlo and it doesn't work now.
19:19 forrest you created a file name web-1.dmz.example.org, lol
19:19 herlo my state files aren't relevant here.
19:19 herlo forrest: because that's what the minion id resolves to
19:19 forrest they absolutely are.
19:20 forrest nodes/pdx-caf-kvm-stg-1.int.sls is in your example
19:20 herlo if it used the 'host' value, we 'might' be okay, but then you run into problems with subdomains.
19:20 forrest this is specifically an issue because of how you've named the state file
19:20 forrest with extra dots
19:20 herlo forrest: right, because again, that's what the minion_id in /etc/salt resolves to
19:20 herlo forrest: specifically speaking, I personally don't want it to be a state file
19:21 herlo forrest: what I want is to be able to break the top.sls into 'node' files.
19:21 forrest I can see that
19:21 herlo forrest: and have it aggregate them for me.
19:21 herlo forrest: but the way that UtahDave suggested requires that I use the minion_id in a state file. Thus, I don't disagree with you, but I really don't care how they implement the fix.
19:22 forrest I only care because it WILL add extra compile time
19:22 forrest no matter how you slice it, it's going to take longer
19:22 herlo thing is, until they have it packaged up and in an rpm, I won't use it anyway.
19:22 jpl1079 joined #salt
19:22 herlo well, aggregating nodes could be done and cached and only redone if it changes
19:22 Gareth herlo: I did something, I think, similar to what you're trying to do.  I ended up using the grain 'id' and then using replace to change the dots into dashes.
19:23 herlo Gareth: I could work with that, got an example?
19:23 Gareth yeah.  lemme pastebin it.
19:23 herlo Gareth: did you come from a puppet world too? :D
19:23 forrest nodes.{{ grains['id' ]| replace(".") }}
19:23 * herlo knows you did, since you mentioned it earlier today.
19:23 forrest Gareth, is reading my mind here :P
19:23 * Gareth points to what forrest did
19:24 herlo UtahDave: if this works, why didn't we go there? :)
19:24 forrest except chop that space ' ]
19:24 herlo forrest: yeah
19:24 herlo I can extrapolate. :)
19:24 Gareth herlo: yeah.  well....technically cfengine world originally.
19:24 forrest herlo, I figured, just wanted to be sure
19:24 herlo Gareth: sure.
19:24 forrest lol Gareth has been through the wringer here.
19:24 herlo hehe
19:24 herlo forrest: I guess I just need to team up with him more often. :)
19:24 forrest hah
19:25 * Gareth is a wealth of mostly useful information
19:25 UtahDave herlo: That's much better!  Thanks, Gareth!
19:25 Gareth UtahDave: :)
19:25 herlo UtahDave: :D
19:25 UtahDave I think I'm going to discard this half written issue...
19:25 luckenbach joined #salt
19:26 napper joined #salt
19:26 herlo UtahDave: well, I think a better issue would be to be able to aggregate a bunch of nodes into one big set of lowstates.
19:26 herlo rather than having to do jinja magic so I can target my nodes individually in their own files.
19:26 thayne joined #salt
19:26 tommee joined #salt
19:26 UtahDave would you mind opening that issue, herlo? That way there's nothing lost in translation.
19:26 herlo hey forrest, should it be replace(".", "-"), btw?
19:27 herlo UtahDave: uh, sure.
19:27 forrest herlo, yea sorry
19:27 herlo forrest: no worries, just making sure I wasn't being dumb. :)
19:27 luckenbach Has any one seen issues with using pam_tally2 and eauth: pam ? It appears that when I do an authenticated API call using eauth: pam (even getting a token) I get 2 failures on the API user but see nothing in the log
19:27 forrest herlo, nah I was being dumb :P par for the course for me!
19:28 luckenbach but the call goes as successful
19:28 herlo lol
19:28 herlo UtahDave: okay, that works! Thanks to forrest and Gareth! :D
19:29 forrest wooooooo *throws hands in air*
19:30 herlo still not how I would 'like' to do this...
19:30 herlo so I'll get an issue created soonish.
19:31 nyx joined #salt
19:32 gothix joined #salt
19:39 nmadhok joined #salt
19:39 nmadhok clear
19:39 nmadhok heyy
19:40 forrest hey
19:40 nmadhok i'm doing salt-call grains.get ipv4
19:40 TheoSLC joined #salt
19:40 nmadhok and getting two like output
19:41 nmadhok how do i extract only the second part
19:41 nmadhok ?
19:43 luckenbach what are you doing this in? console
19:43 ingwaem nmadhok: personally I use php to talk to salt, I get all the results in json and then iterate through the json accordingly…you may need to change the formatting slightly then build some code to interpret the results
19:43 luckenbach ^
19:43 nmadhok i states
19:43 nmadhok i could use grains.get
19:44 nmadhok and parse the data using jinja
19:44 nmadhok just forgot how to do that
19:46 bezeee joined #salt
19:46 srilyk Is it possible to drop into pdb in salt with a simple command, or do I need to go hunt it down?
19:47 srilyk er... hunt down the location in source to set the breakpoint
19:47 foxx hmmm, does anyone know if subuid/subgid is supported in the salt user module in any capacity? doesnt seem to be documented anywhere
19:47 foxx uh, salt user states*
19:48 marco_en_voyage joined #salt
19:51 foxx hmm ignore that, seems to be handled by useradd
19:53 toddnni joined #salt
19:55 m1crofarmer joined #salt
19:57 fragamus joined #salt
20:05 * dmick wasn't even aware there was such a thing as subuid; is this windows?
20:06 * dmick reads manpages.  wow.  What consumes uid_map/
20:07 dude051 joined #salt
20:08 dmick containers.  ok.
20:09 dude051 joined #salt
20:10 smcquay joined #salt
20:11 vejdmn joined #salt
20:12 srilyk oooooooh. So turns out that I've got an earlier version of salt, so tomcat needed a different grain tomcat-manager.user & tomcat-manager.passwd instead of tomcat-manager:user
20:13 smcquay joined #salt
20:17 gmeno dmick: the permissions on cachedir seem to be set by the umask in verify_env() only if it wasn't present when the salt-master starts. I guess the difference in mode between precise and RHEL to be attributable to the package
20:18 dmick are you saying the precise package contains those dirs?
20:18 gmeno I suspect they do
20:18 dmick can check
20:19 gmeno yes that is the next thing to do
20:20 dmick indeed they do, 755
20:20 dmick "they do appear"
20:21 dmick ...and are not in the rpm.  bingo
20:21 gmeno so then the RHEL package must either not contain those dirs or they do and the perms are 770
20:22 Ryan_Lane joined #salt
20:23 jaimed joined #salt
20:23 gmeno ok so we could change the mods and expect them to stick on the cachedir.  whether that's a good idea still not sure
20:23 dmick although apparently the salt packagers think it's ok..
20:24 druonysuse joined #salt
20:24 gmeno then put your packageer hat and tell me what you think :)
20:25 dmick the only issue I see is whether world-readability for /var/cache/salt is a security hole
20:25 dmick if it is, then the debian package has a bug
20:26 dmick it is still the case that files *in* /var/cache/salt vary in permission
20:26 gmeno Really I think it's limited to the PKI dirs
20:26 dmick there is, for example, /var/cache/salt/master/.root_key
20:27 dmick but it's 400/root/root
20:28 active8 joined #salt
20:29 dmick and the payloads for root jobs are 600, whereas things like jid and the dirs are world-readable
20:29 gmeno Right I'm saying it would be a security hole PKI dir was 755
20:29 dmick yeah.  .root_key would be too if it were readable
20:29 dmick the point is there are things that probably should be protected in /var/cache/salt, but it seems like they are
20:30 dmick so I might call this a bug in the rpm packaging, actually
20:30 repl1cant joined #salt
20:30 gmeno That's one way to look at it
20:33 TheThing joined #salt
20:37 delinquentme joined #salt
20:38 delinquentme So I want each of the new nodes I spawned with my salt master to report back their IPs ... surely theres an easy way to do this?
20:39 smcquay joined #salt
20:44 UtahDave salt \* networ.ip_addrs
20:44 UtahDave network.ip_addrs
20:45 quantumriff joined #salt
20:45 jhauser joined #salt
20:46 ClausA joined #salt
20:46 quantumriff I have my linux servers authenticating from a directory.  The users home directory doesn't get created, until the first time they log in.  Is there a way, to check, and if the home directory exists, add some ssh-key's to authorized_keys and some .bash_profile commands?
20:46 quantumriff But ideally, not exit with an error if it does not exist yet?
20:48 quantumriff or, i guess, sudo to them somehow, to force their home directories to be created
20:49 manfred quantumriff: you are currently using the /etc/skel stuff?
20:49 quantumriff yes
20:49 quantumriff oh.. wow.. I just found a "createhome: True"
20:49 quantumriff interesting
20:50 quantumriff https://github.com/saltstack/salt/issues/11162
20:55 wendall911 joined #salt
20:56 quantumriff but it appears 'createhome: True' is not happy, with a person not being defined locally
20:57 ecdhe Is there a singleton-role pattern in salt?
20:58 ecdhe I'm looking for a way to explicitly state that no matter how many minions get targeted, only ONE of them should have the following states:
20:58 vejdmn joined #salt
20:59 ecdhe In the normal case, only one minion would be targeted; I'm just looking for a way to explicitly exclude the others.
21:00 ingwaem ecdhe: that could be a difficult situation…salts targeting is really great in that you can select a bunch of minions that match a criteria, or a specific minion. perhaps your logic should make a selection before you do the targeting?
21:00 Eugene --subset=1 perhaps?
21:00 Eugene AFAIK it will pick a single random minion from the otherwise returned group, rather than "the first"
21:01 Eugene (according to my quick googling; this isn't one that I've used myself)
21:01 ecdhe Eugene, I'll try that!
21:01 ecdhe ingwaem, my targetting only returns a single minion, for now.
21:01 Eugene That's really not appropriate for states though
21:02 Eugene At least, a highstate
21:02 viq joined #salt
21:02 yomilk joined #salt
21:03 ecdhe ingwaem, I've had minions pop up with unexpected names.  Normally salt-key is where I catch those, but if one popped up that claimed to have a singleton-role, I would prefer the requisite states to be sticky and exclusive to the first instance.
21:03 dmick anyone: is there any reason not to have /var/cache/salt be set to 755?  The precise package does, the RPMs don't, and that causes permissions to fail for non-root accesses (even when they are in the ACL)
21:04 Ryan_Lane if you have a node you want to target individually, give it a grain
21:04 Ryan_Lane then target based on that grain
21:04 napper joined #salt
21:04 ingwaem that’s a great alternative Ryan_Lane
21:04 Ryan_Lane this works really well for canary nodes, for instance
21:04 ecdhe Ryan_Lane, that's kinda where I'm going.
21:05 bmatt I bet you could use etcd to elect a leader and store grain
21:05 ingwaem ecdhe: yea…like Ryan_Lane says, choose one of the instances that fits the clause, and assign it a grain, then you know it will always maintain the specific state you want
21:05 Ryan_Lane I actually use a different autoscaling group that just holds the canary
21:05 Ryan_Lane and have the autoscaling group add a canary tag to the instances
21:05 zooz joined #salt
21:05 Ryan_Lane then I have salt set a grain based on the tag
21:05 Ryan_Lane as part of my bootstrapping process
21:09 m1crofarmer joined #salt
21:10 Ryan_Lane if you're doing this manually, you can use the grains module to set the grain on the specific node :)
21:11 bezeee joined #salt
21:12 CF248676 joined #salt
21:18 geekmush joined #salt
21:19 gzcwnk joined #salt
21:20 gzcwnk hi would there be a way in salt to get a history of what was being typed by a user?
21:21 manfred not unless it is in the .bash_history, then just get that file.
21:27 kermit joined #salt
21:30 dvestal_ joined #salt
21:32 active8 joined #salt
21:35 gzcwnk yeah kind of figured that
21:36 sverrest joined #salt
21:36 jaimed joined #salt
21:36 aw110f joined #salt
21:41 tligda joined #salt
21:42 troyready joined #salt
21:46 foxx got a problem. i need to make a custom function which SLS files can call.. e.g. {{ salt['user.mycustomfunchere']('usernamehere']) }} - what is the best way to do this?
21:46 foxx (the use case is that i need to lookup the available subuid/subgid for a user, which salt doesnt support
21:46 dmick anyone: is there any reason not to have /var/cache/salt be set to 755?  The precise package does, the RPMs don't, and that causes permissions to fail for non-root accesses (even when they are in the ACL)
21:48 forrest dmick, I can't think of one. Can you please create an issue on the github about that and tag terminalage? He is the one building the RPMs
21:48 forrest *github issue tracker
21:49 newbsaltuser joined #salt
21:50 newbsaltuser hi...newb user here, our sys admin writes the states, and i am trying to high state a server and  i am getting a jinja error...i'm just not sure how to *set* the parameters it's looking for
21:50 newbsaltuser would anyone be willing to help?
21:53 forrest newbsaltuser, did you already confer with the sysadmin since he wrote the state? Might be faster
21:53 newbsaltuser he's only available one day a week, and i would have to wait until next week monday
21:54 newbsaltuser i know what state file it's referring to
21:54 forrest newbsaltuser, ok, can you find which state is causing the problem and pastebin/gist it please?
21:54 active8 joined #salt
21:54 newbsaltuser yes
21:55 dmick forrest: definitely
21:55 dmick (meanwhile we're going to implement a workaround, hence the urgency)
21:55 dmick tnx
21:55 forrest dmick, cool
21:55 forrest dmick, yea np
21:55 Linuturk so, I'm getting a stupid simple error message, but it is not clicking for me: No matching sls found for 'webpagetest' in env 'base'    I have webpagetest/init.sls defined in my git repo
21:56 Linuturk targeted correctly
21:56 Linuturk I've wiped the gitfs cache
21:56 newbsaltuser ha, I think I found how to fix it
21:56 newbsaltuser brb
21:56 Linuturk pillar is loading correctly for these nodes per pillar.items
21:56 forrest newbsaltuser, ok
21:56 Linuturk and, I can apply a state using state.sls webpagetest.apache2
21:57 forrest Linuturk, where webpagetest is the directory, and apache2 is the sls?
21:57 forrest yes
21:57 occupant joined #salt
21:57 Linuturk yeah, I've got an init.sls in there too, but calling state.sls bugs out
21:57 Linuturk and, I think I just figured something out. If I remove my include statement, things work
21:57 Linuturk might have that include setup wrong
21:58 Linuturk https://github.com/Linuturk/webpagetest/blob/master/webpagetest/init.sls
21:58 Linuturk uncommenting the last few lines get me that error
21:58 Linuturk I guess you can't reference pillar in includes?
21:59 Linuturk or . . . maybe i need to include webpagetest.{{ pillar }}
22:00 Linuturk that was it :)
22:00 forrest cool
22:02 foxx forrest: any known issues with custom _modules/* atm?
22:02 forrest foxx, not that I'm aware of
22:02 foxx hmm perhaps im going insane. lemme try this again
22:04 ingwaem bbl
22:07 Vye is the 2014.7 approximate release date posted somewhere?
22:07 bhosmer joined #salt
22:07 forrest Vye, no, it's in the RC phase currently
22:07 foxx forrest: look like a bug to you? http://pastebin.com/S4fSA5r0
22:09 dstokes i'm not seeing gitfs sync remotes every 60 seconds. anyway to test / verify this? no error output in master log
22:09 aquinas joined #salt
22:09 Vye forrest: OK. Do you know if there will be RC packages?
22:09 dstokes (currently manually pulling from origin after pushing changes)
22:10 nineteen1ightd joined #salt
22:10 forrest Vye, I don't think so
22:10 cwyse How long will 2014.7 be in the RC phase?
22:10 forrest depends if there are any major issues found
22:11 forrest the only answer I can give is 'I do not know' :P
22:11 robawt z/bu2
22:11 robawt errg
22:12 foxx forrest: ah, its because the minion needed restarting for the custom module to take effect. ill raise a doc bug and see if i can include a fix too
22:12 dstokes cwyse: there are some pretty severe issues currently
22:12 forrest foxx, cool
22:12 gldnspud_ joined #salt
22:13 robins joined #salt
22:13 terminalmage joined #salt
22:13 unknown001 joined #salt
22:13 terminalmage left #salt
22:15 cwyse dstokes: :(
22:16 davet joined #salt
22:17 Vye forrest: My dev environment is setup for packages. It would be a fair amount of work to change it. I'd love to run the RC through it but I guess I'll have to wait until the release. :(
22:17 forrest Vye, you can always package it yourself if you want
22:17 forrest shouldn't be too bad to build
22:18 MatthewsFace joined #salt
22:18 bezeee joined #salt
22:18 Vye forrest: hmm, that's true.
22:18 Vye forrest: I may be able to block some time to give it a try.
22:19 forrest cool
22:20 scoates joined #salt
22:25 DaveQB joined #salt
22:25 shannonman joined #salt
22:26 shannonman j
22:29 ndrei joined #salt
22:32 snuffeluffegus joined #salt
22:33 dmick forrest: https://github.com/saltstack/salt/issues/14768
22:34 forrest dmick, cool
22:34 ipmb joined #salt
22:34 dmick just closing the loop
22:37 forrest for sure
22:41 foxx forrest: wrote a small module for the subinfo stuff, if it gets accepted ill do a proper pr: https://github.com/saltstack/salt/issues/14770
22:41 forrest foxx, I'd suggest just creating it as a PR
22:42 forrest and close that issue, the discussion can happen on the PR, and you will get more eyes on it than an issue would
22:42 forrest especially from Tom and some of the other core contributors
22:42 foxx alright, ill do that shortly
22:42 forrest foxx, though you need to add some documentation in here :P
22:42 foxx yeah ;p
22:42 forrest I'd suggest to look at some of the existing modules to make sure you're meeting that format
22:42 forrest or the contribution guide if you haven't already
22:42 foxx yeah id prob send it as a user.py modification
22:42 foxx rather than a new module
22:43 forrest right
22:43 forrest make sure you document, and put a version add string in there though
22:43 foxx got it
22:43 forrest so I don't have to explain to people that someone forgot it, and no, it is in fact not in this release :P
22:43 foxx heh
22:59 Vye forrest: I found a build script for rpm, but is there one for building the tars that eventually go up on pypi?
23:00 jslatts joined #salt
23:00 dmick Vye: that's usually setup.py, I think
23:00 Vye dmick: thnx
23:02 dccc joined #salt
23:02 dmick python setup.py --help-commands shows them all, but I think you probably mean sdist
23:02 dmick (and/or upload)
23:02 logix812 joined #salt
23:03 Luke joined #salt
23:14 m1crofarmer joined #salt
23:17 Luke joined #salt
23:22 delinquentme joined #salt
23:24 vexati0n how far back does backwards compatibility go on the Master ?
23:24 vexati0n i have a really old minion i can't get directly to at the moment but i can't tell it to do anything because the master is too new
23:25 vexati0n master: 2014.1.7, minion: 0.16.3
23:25 robawt vexati0n: not that far
23:25 robawt vexati0n: i had 15.x -> 16.x problems, you should upgrade
23:25 vexati0n yeah, i can't though, i have no access to the minion except from salt
23:26 vexati0n which sucks because all i need it to do is run 1 command. blah.
23:26 druonysuse joined #salt
23:26 mosen joined #salt
23:27 robawt vexati0n: sounds like you should hit it from IPMI
23:27 vexati0n yes, except there is no such thing as IPMI over the internet :P
23:27 vexati0n at least not in this case
23:28 robawt speaking for myself only, that sounds like a planning issue
23:28 robawt i've been there. good luck :)
23:29 vexati0n it's not a planning issue, it's the nature of our purpose for salt
23:29 robawt not quite.  what do you do when you can't access salt?
23:29 dmick remote management of servers without remote console?....just say no
23:29 robawt dmick++
23:30 robawt DARE to keep admins of drugs .. err remote machines ... err something
23:30 Ryan_Lane if you can't access them, rebuild them from scratch ;)
23:30 vexati0n without giving away too much information, salt is the basis of our remote support platform. the reason we can't access the machines by remote console is because they are on networks that don't belong to us.
23:31 vexati0n that's what we have field techs for
23:31 vexati0n it just sounds weird because we're not using salt to orchestrate a cohesive environment like everyone else on the planet.
23:32 forrest vexati0n, yea you're screwed then unfortunately, remote tech go!
23:32 robawt gotcha
23:32 robawt you could bypass this by planning orchestrated updates in the future, but even that's shakey
23:32 robawt software isn't perfect
23:32 forrest vexati0n, or you could downgrade the master :(
23:32 robawt smart forrest
23:32 forrest This is what confused me about why the docs say to upgrade the master before the minions
23:33 forrest if you upgrade the master first, you're screwed
23:33 vexati0n this is just 1 minion out of 1500. not really a big deal, just checking.
23:33 Ryan_Lane vexati0n: do you work for cloutrout? :)
23:33 forrest at least if the minion kicks off the package upgrade, you have the latest release and it will reconnect to the master
23:33 vexati0n no, never heard of them
23:33 mosen hi saltines. talk about mass conversion.. tons of people on HN going over to saltstack
23:33 Ryan_Lane oh, ok. just wondering since they manage folks networks via salt-api
23:34 Ryan_Lane https://cloudrout.es/blog/2014/07/28/using-saltstack-and-cloudroutes-to-automagically-fix-issues-at-3-am/ <-- super cool
23:34 dmick saltines.  heh.  What's NH mosen?
23:34 dmick *HN
23:34 vexati0n that's neato
23:34 mosen dmick: hacker news.. its just a news feed thing plus comments. But it was interesting to see such a large amount of people saying they were moving to salt
23:35 forrest mosen, are you saying I should start consulting on the side? :P
23:35 dmick oh yeah
23:35 david_a joined #salt
23:36 mosen forrest: hmm maybe? :P
23:36 forrest ok, announcing my new startup: "No java, no oracle, no ruby, but I will salt your environment"
23:36 forrest there we go
23:36 geekmush joined #salt
23:36 forrest now where are my internet dollars?
23:37 dmick there's a joke in there somewhere about salting fields
23:37 forrest heh
23:38 gzcwnk $  <---- here you go, enjoy
23:38 forrest thanks!
23:38 gzcwnk :)
23:42 forrest gzcwnk, hmm, the bank is saying your money is no good gzcwnk
23:43 Comradephate joined #salt
23:44 colinjohnson joined #salt
23:47 Comradephate_ joined #salt
23:50 geekmush joined #salt
23:55 bhosmer joined #salt
23:56 Ryan_Lane I'm having an issue with git.latest
23:56 Ryan_Lane when I use rev: <hash>, it fails the first time the state runs when I update the hash
23:57 Ryan_Lane I'm running the dev version. has this been fixed in a newer version?
23:58 UtahDave Hm. Does it give you any details in the logs?
23:58 Ryan_Lane just Result: False
23:58 gzcwnk when I do a sate and use test=true it comes back n yellow, can I change the colour to save my eyeballs?
23:59 UtahDave Ryan_Lane: anything in the minion log?
23:59 Ryan_Lane 2014-08-05 23:39:08,313 [salt.loaded.int.module.cmdmod][ERROR   ] Command 'git branch | grep "^*\\ " | cut -d " " -f 2 | grep -v "(detached"' failed with return code: 1
23:59 Ryan_Lane 2014-08-05 23:39:08,314 [salt.loaded.int.module.cmdmod][ERROR   ] retcode: 1
23:59 UtahDave gzcwnk: You'd probably have to find the spot in the source where the colors are defined, but yeah, you should be able to.

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