Perl 6 - the future is here, just unevenly distributed

IRC log for #puppet-openstack, 2015-04-09

| Channels | #puppet-openstack index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 mgagne with fact
00:00 Hunner like let(:facts) do { :environment => 'foo' } end ?
00:00 mgagne yep
00:00 mgagne https://gist.github.com/mgagne/efcf6e904af897aa8932
00:01 Hunner I think that is just a top-scope variable at that point
00:02 Hunner So... the node environment is probably still production
00:02 mgagne ok, I'll have to test then
00:02 mgagne I have to go now, will test tomorrow
00:03 Hunner But hiera should still prefer the fact environment
00:03 Hunner k. ciao
00:25 rcallawa_ joined #puppet-openstack
00:45 vinsh joined #puppet-openstack
01:40 ericpeterson joined #puppet-openstack
01:40 xarses joined #puppet-openstack
01:48 ilbot3 joined #puppet-openstack
01:48 Topic for #puppet-openstack is now Place to collaborate on Puppet/OpenStack tools: logs at http://irclog.perlgeek.de/puppet-openstack/today - Weekly meeting (every Monday 13:00 UTC): https://wiki.openstack.org/wiki/Meetings/PuppetOpenStack - On going efforts: https://trello.com/puppetopenstack
02:06 gildub joined #puppet-openstack
02:12 stevemar joined #puppet-openstack
03:35 ozialien joined #puppet-openstack
04:03 fedexo joined #puppet-openstack
04:04 fedexo joined #puppet-openstack
04:10 gchamoul joined #puppet-openstack
04:16 gchamoul joined #puppet-openstack
04:33 zerda joined #puppet-openstack
04:34 ericpeterson joined #puppet-openstack
04:38 ericpeterson joined #puppet-openstack
04:42 gchamoul joined #puppet-openstack
05:24 ToMiles joined #puppet-openstack
05:25 crinkle joined #puppet-openstack
05:52 ericpeterson joined #puppet-openstack
06:31 tfz joined #puppet-openstack
07:04 arnaud_orange joined #puppet-openstack
07:04 mmagr joined #puppet-openstack
07:05 gchamoul_ joined #puppet-openstack
07:15 jistr joined #puppet-openstack
07:16 gchamoul joined #puppet-openstack
07:20 jpena joined #puppet-openstack
07:45 gfidente joined #puppet-openstack
07:57 gchamoul joined #puppet-openstack
07:57 gchamoul morning!
08:00 gchamoul left #puppet-openstack
08:01 openstackgerrit Yanis Guenane proposed stackforge/puppet-tripleo: Enable access to HAProxy stats page  https://review.openstack.org/171957
08:05 gchamoul joined #puppet-openstack
08:13 derekh joined #puppet-openstack
08:40 dgurtner joined #puppet-openstack
08:40 dgurtner joined #puppet-openstack
08:40 cdent joined #puppet-openstack
08:41 ddmitriev joined #puppet-openstack
08:50 openstackgerrit Yanis Guenane proposed stackforge/puppet-tripleo: Loadbalancer: Add support for Redis  https://review.openstack.org/171121
08:56 openstackgerrit Yanis Guenane proposed stackforge/puppet-tripleo: Loadbalancer: Add support for Redis  https://review.openstack.org/171121
09:17 pcaruana joined #puppet-openstack
09:25 ericpeterson joined #puppet-openstack
09:59 tfz joined #puppet-openstack
10:29 tfz joined #puppet-openstack
10:32 gildub joined #puppet-openstack
11:11 ericpeterson joined #puppet-openstack
11:29 mmagr joined #puppet-openstack
11:43 stevemar joined #puppet-openstack
11:43 joes_ joined #puppet-openstack
11:54 ericpeterson joined #puppet-openstack
12:04 openstackgerrit Aleksandr Didenko proposed stackforge/puppet-swift: Add support for DLO configuration.  https://review.openstack.org/172021
12:04 hogepodge joined #puppet-openstack
12:07 dprince joined #puppet-openstack
12:17 morazi joined #puppet-openstack
12:20 EmilienM good morning!
12:43 ozialien joined #puppet-openstack
12:54 rcallawa joined #puppet-openstack
13:03 ericpeterson joined #puppet-openstack
13:15 ericpeterson joined #puppet-openstack
13:22 IBerezovskiy joined #puppet-openstack
13:23 richm joined #puppet-openstack
13:24 xingchao joined #puppet-openstack
13:27 ericpeterson joined #puppet-openstack
13:33 tfz joined #puppet-openstack
13:36 ericpeterson joined #puppet-openstack
13:42 ericpeterson joined #puppet-openstack
13:46 stevemar joined #puppet-openstack
13:47 fc__ n
13:53 openstackgerrit joined #puppet-openstack
13:59 markvoelker joined #puppet-openstack
14:52 mdorman joined #puppet-openstack
14:57 cwolferh joined #puppet-openstack
15:04 openstackgerrit Yanis Guenane proposed stackforge/puppet-tripleo: Add $::galera_bootstrapped fact  https://review.openstack.org/172107
15:04 EmilienM crinkle: it sounds like elections are finished. Should I send a patch to governance now?
15:06 openstackgerrit Yanis Guenane proposed stackforge/puppet-tripleo: Add $::galera_bootstrapped fact  https://review.openstack.org/172107
15:06 mgagne are we an official program/project yet?
15:08 EmilienM mgagne: I don't know, that's what I would like to submit
15:09 mgagne alright, understood
15:09 EmilienM mgagne: I think I'll just send a patch
15:09 EmilienM and see how it works
15:18 cdent joined #puppet-openstack
15:20 EmilienM mgagne: I tried something: https://review.openstack.org/172112
15:21 mgagne lets see where this leads us
15:34 crinkle richm: I think I'm backtracking on the plan from yesterday, I think it's making it way too complicated
15:35 crinkle I think it would be better to just have one type, keystone_domain, with parameters admin => true/false and default => true/false
15:35 EmilienM mgagne, crinkle: I hope I followed the right process
15:36 crinkle and admin and default domains have to be run on the keystone server, and only modify one thing in the config file, not do a massive gsub
15:36 crinkle EmilienM: i have no idea, i thought there was some kind of application process?
15:37 crinkle richm: and the manifests still have to guard against modifying the policy file with that admin domain id
15:38 ericpeterson joined #puppet-openstack
15:39 richm crinkle: This is what I have so far:
15:39 richm http://paste.openstack.org/show/201369/
15:39 richm crinkle: This is from init.pp
15:39 richm keystone_config_default_domain_id is a subclass of keystone_config
15:40 richm the value parameter is the default domain name
15:41 richm the provider will look up the domain id from the domain name and ensure that value in identity/default_domain_id
15:42 crinkle richm: if you set the source => of the policy file resource then any types that modify it will conflict with it
15:45 crinkle richm: i think having keystone_domain do the work of changing that parameter, as long as admin => true, is okay, and much simpler, and i regret dismissing it before
15:46 richm crinkle: then, changes to roles/admin.pp - http://paste.openstack.org/show/201372/
15:47 richm keystone_policy_admin_domain is a subclass of the augeas provider
15:47 richm This would replace "admin_domain_id" with the actual domain id
15:47 richm if $admin_domain is undef, it would use the default_domain_id from keystone.conf
15:48 richm otherwise, it would grab the keystone_domain[$admin_domain][:id]
15:49 richm I guess I'm just not clear on how keystone::policy is used
15:56 richm crinkle: If we go with the keystone_domain default/admin route - would keystone_domain use keystone::policy to update the policy file?
15:57 richm or should keystone_domain just use low level text gsub?
15:59 crinkle richm: providers can't reach into classes to do things
15:59 crinkle richm: I think it would use json to set the one parameter
15:59 crinkle and it would be up to keystone::policy to make sure it's not messing with that one parameter
16:00 ericpeterson joined #puppet-openstack
16:00 crinkle keystone::policy just takes a hash of policies and uses the augeas provider to set them
16:01 crinkle so it would just say if one of these keys is setting the admin domain id, fail or warn or ignore or something
16:02 rwsu joined #puppet-openstack
16:03 richm crinkle: so if $key == "cloud_admin" { fail/warn/ignore/other }
16:03 crinkle richm: yes
16:04 crinkle does anyone else have input on this?
16:04 richm crinkle: where/how is keystone::policy used?  I can't find any examples of it being used
16:05 crinkle richm: it's a public class used on its own to set policies
16:05 crinkle i think spredzy|afk wrote it, iirc
16:05 richm ok - maybe spinal stack uses it
16:06 EmilienM richm: we don't
16:06 mschmitt joined #puppet-openstack
16:09 xingchao joined #puppet-openstack
16:11 crinkle EmilienM: have you been following the discussion? do you have ideas on how this should be architected?
16:18 EmilienM crinkle: let me catch up
16:20 EmilienM crinkle: indeed, we missed that part. We would have to patch https://github.com/stackforge/puppet-openstacklib/blob/master/manifests/policy/base.pp
16:21 crinkle EmilienM: hrm? why?
16:21 EmilienM crinkle: because it's used by keystone::policy
16:22 ericpeterson joined #puppet-openstack
16:22 EmilienM of let me check the code
16:22 crinkle EmilienM: my suggestion is to add a check in keystone::policy to avoid setting the admin id, i don't think openstacklib::policy::base would need to be affected
16:22 EmilienM oh yes
16:22 EmilienM we don't want duplication
16:23 crinkle we would have to do that whether we have just one keystone_domain type or if we have the three different types that richm is working on
16:24 crinkle and i don't think we get a lot of benefit from having three different types to manage an admin domain, a default domain, and a regular domain
16:45 cdent joined #puppet-openstack
17:18 richm for the keystone_domain { admin => true } case, I'll need to edit the policy file.  Should I pass in the policy file name as a parameter?  What about the "cloud_admin" key?  And the "template" value?  There needs to be a file {} resource for the policy file, to create it from the source too.
17:20 spredzy|afk richm, you're right. keytstone/init.pp is missing the include ::keystone::policy as the other module do (ie. https://github.com/stackforge/puppet-nova/blob/master/manifests/api.pp#L187)
17:21 spredzy|afk crinkle, ^
17:21 spredzy|afk let me fix that
17:22 crinkle spredzy|afk: what is the value of that? if it's just included with no parameters it won't do anything, afaict
17:22 spredzy crinkle, prupose it to use it via hiera
17:23 spredzy so as long as you include keystone, you can customize the policy,json file
17:23 richm Seems that keystone::policy needs to have a file resource to create the file from the source
17:23 crinkle spredzy: but that could be done in a profile
17:23 crinkle richm: no, if you do that then the file resource and the augeas provider will fight
17:23 crinkle because they both try to set the content
17:24 richm I guess this is only a problem for v3 support, since v3 support will need to replace the default policy.json with the v3 version
17:24 spredzy well technically yet, but providing it with the class that manages the API just make it simpler for the itnegrator. Just include nova::api and you'll have control over the policy.json
17:24 spredzy so you don't have to think about adding an extra nova::policy in your profile
17:24 spredzy its already there for you
17:25 crinkle spredzy: but then if you don't want to use hiera, but you do want to set policies, you would have a multiple definition error
17:25 spredzy if you don't care about it, then never mind, just don't specify anythong
17:25 ozialien joined #puppet-openstack
17:31 spredzy crinkle, yep, indded :( if you reuse a class {'::keystone::policy' : ... } in the same manifest it will fail with duplicat error
17:31 spredzy should we add a $manage_policies boolean to ensure the include ?
17:32 crinkle spredzy: or you could have a policies parameter in init.pp
17:32 crinkle spredzy: i don't have strong feelings about it though, maybe it could stay as is but add documentation about it in the readme
17:36 spredzy crinkle, what should be enforced in the documentaton ? That it is hiera only and that i can not be redelcared ?
17:36 crinkle spredzy: yes
17:36 richm another problem with using keystone_domain { $admin_domain: admin => true }
17:36 richm $admin_domain can be undef
17:37 richm this means "for the admin_domain_id in the policy, just use whatever the default_domain_id is in keystone.conf identity/default_domain_id"
17:37 spredzy crinkle, ack will do that
17:37 richm can a resource have a name that is undef?
17:37 crinkle richm: for earlier question: yes, you could have a file resource manage policy.json, same as we have for keystone.conf, but i don't think it should manage the source/content. the file name should probably be passed as a parameter to keystone_domain, though the *_config don't do that, so it may be okay to do that later; i don't know what you mean by cloud admin key or template
17:38 crinkle richm: for this question: no, but you could just not create the domain
17:39 crinkle richm: maybe i'm not really understanding
17:39 crinkle richm: you could have the title be whatever you want but pass name => '' which the provider could interpret some way
17:40 richm crinkle: for the admin domain case, you are proposing that the keystone_domain provider is responsible for updating the policy.json, to replace the token "admin_domain_id" with the actual domain id of the admin domain?
17:40 crinkle yes?
17:41 richm so I need to add a parameter to keystone_domain { policy_file => '/path/to/policy.json' }?
17:42 richm I guess I don't need to worry about the cloud admin key or template - I can just do a simple gsub("admin_domain_id", id)
17:42 crinkle richm: probably yes, but you can see that some of our other providers don't even bother making the config file path modifiable, https://github.com/stackforge/puppet-nova/blob/master/lib/puppet/provider/nova_config/ini_setting.rb#L24
17:43 crinkle richm: i would rather use json than gsub
17:43 richm crinkle: why?
17:43 crinkle richm: and yes i am hoping that there's only that one parameter that needs to be modified
17:44 crinkle richm: what if admin_domain_id appears somewhere else in the file? and what if it is set to something else, as it would be if we'd already set the admin domain id in an earlier puppet run?
17:44 crinkle that gsub would only work once
17:44 crinkle json would look at the key and set the value appropriately
17:45 richm According to the keystone docs and devs, the procedure is to replace the token "admin_domain_id" with the actual admin domain id, wherever it occurs in that file
17:45 richm so there is no changing it :-(
17:46 crinkle i'm sure that means just the first time, you'd have to replace the new domain id with the next one
17:47 richm I guess if we make the assumption that it will always be the "cloud_admin" key in the json, and that the value will never change, we can just replace the value every time
17:48 crinkle that seems reasonable to me
18:01 vinsh joined #puppet-openstack
18:04 EmilienM crinkle, spredzy : I think we should not enforce our users to use Hiera - but we should "educate" and document that's the way to go
18:05 spredzy EmilienM, ack that, so on top of policies they are stuff that we would need to change (ie. https://github.com/stackforge/puppet-nova/blob/master/manifests/api.pp#L185) because it forces the use of hiera currently
18:06 EmilienM spredzy: well, you can use nova::db on the right nodes if you don't have hiera
18:07 EmilienM in the manifest I mean
18:07 dgurtner joined #puppet-openstack
18:07 dgurtner joined #puppet-openstack
18:07 spredzy EmilienM, but how do you specify nova::db::database_connection w/o hiera
18:07 spredzy ?
18:07 EmilienM spredzy: class { 'nova::db': database_connection => 'foo' } ?
18:08 EmilienM in your manifest.pp
18:08 spredzy EmilienM, you can't duplicate error
18:08 spredzy but this is my answer https://github.com/stackforge/puppet-nova/blob/master/manifests/db.pp#L41
18:08 spredzy Sorry for the noise :)
18:08 EmilienM I did that code for backward compat: https://github.com/stackforge/puppet-nova/commit/30b6a9c4c7d9b662eb8e70b58a1ad63d1c4e89aa
18:28 openstackgerrit Matt Fischer proposed stackforge/puppet-glance: Fix API/Registry ensure for Ubuntu  https://review.openstack.org/168082
18:36 mschmitt joined #puppet-openstack
18:41 tfz joined #puppet-openstack
18:44 ozialien joined #puppet-openstack
18:47 rcallawa_ joined #puppet-openstack
18:56 openstackgerrit Yanis Guenane proposed stackforge/puppet-keystone: Allow policies specification on the higher level  https://review.openstack.org/172176
18:56 spredzy|afk crinkle, would that make sense ^ ?
18:59 EmilienM dmsimard: ping
18:59 dmsimard that's me
18:59 EmilienM I think I found something very weird in puppet-swift
18:59 EmilienM I even hope I'm wrong.
19:00 dmsimard I find some things in puppet-swift every day
19:00 dmsimard go on
19:00 dmsimard mgagne already told you about my weird noises :p
19:00 ericpete_ joined #puppet-openstack
19:00 EmilienM I'm deploying Swift, I can upload an object but I can't download it, it's put in quarantine. It's because swift.conf is created after auditor service is run
19:00 EmilienM http://paste.openstack.org/show/xYtj40voGNefz7goehF7/
19:01 EmilienM dmsimard: before sending a patch, can you tell me if I'm crazy ?
19:02 dmsimard EmilienM: according to what I can see you're not crazy, how are you setting this up that results in this ?
19:02 dmsimard there's a notify that should prevent this from happening
19:03 dmsimard https://github.com/stackforge/puppet-swift/blob/master/manifests/storage/server.pp#L85-L91
19:03 EmilienM dmsimard: https://github.com/stackforge/puppet-openstack-cloud/tree/master/manifests/object
19:03 EmilienM https://github.com/stackforge/puppet-openstack-cloud/blob/master/manifests/object/storage.pp
19:06 dmsimard That's fairly similar to what I have
19:06 dmsimard Don't see why, is it a race condition ?
19:07 dmsimard a.k.a, puppet hasn't finished his run (yet) and hasn't triggered the refresh yet but you've already uploaded an object
19:08 EmilienM dmsimard: I'm gonna fix it anyway, we should have dependencies
19:08 dmsimard What's your fix ?
19:08 EmilienM like in other modules BTW
19:08 EmilienM i have no fix yet
19:08 EmilienM if you have one, push it now, otherwise I'll work on it tonight
19:09 dmsimard wow lol
19:09 dmsimard what kind of dirty hack is that: https://github.com/stackforge/puppet-openstack-cloud/blob/master/manifests/object/controller.pp#L109-L114
19:09 dmsimard EmilienM: Go for it, I have no fix for that cause I'm not bumping into that issue
19:09 dmsimard happy to review
19:09 EmilienM dmsimard: dirty hack but it work
19:09 EmilienM dmsimard: ok cool. I'm producing something today
19:12 dmsimard EmilienM: I've been indeed sort of frustrated about adding config that isn't supported by puppet-swift out of the box, I don't want to submit a new commit for every parameter I need
19:12 dmsimard mgagne's been telling me to add concat fragments, so I guess your way is another way :p
19:19 dmsimard I see I'm not the only one who's removed ceilometer from the pipeline :)
19:25 openstackgerrit Emilien Macchi proposed stackforge/puppet-swift: Notify services if swift.conf is modified  https://review.openstack.org/172183
19:25 EmilienM dmsimard: please review ^
19:29 mfisch EmilienM: I added some tests to that glance change
19:29 openstackgerrit Emilien Macchi proposed stackforge/puppet-swift: Notify services if swift.conf is modified  https://review.openstack.org/172183
19:29 EmilienM mfisch: thx, will look
19:35 openstackgerrit Bradley Klein proposed stackforge/puppet-monasca: Cleanup start script for stack  https://review.openstack.org/172184
19:37 ericpeterson joined #puppet-openstack
19:41 dmsimard EmilienM: I'm curious if that actually fixes your problem, can you test it ?
19:49 EmilienM dmsimard: I'm testing it right now
19:49 EmilienM I'm running 5 deployments in // to check if the race is fixed
19:49 joes__ joined #puppet-openstack
19:52 dmsimard EmilienM: ok
19:53 dmsimard EmilienM: The problem I'm fighting right now is along the lines of a commit I submitted a while back https://review.openstack.org/#/c/93360/
19:54 openstackgerrit Merged stackforge/puppet-monasca: Cleanup start script for stack  https://review.openstack.org/172184
19:55 dmsimard It's also a problem I only have in my CI :)
19:57 tfz joined #puppet-openstack
20:26 ozialien joined #puppet-openstack
20:34 openstackgerrit Merged stackforge/puppet-tripleo: Rethink the backup option for Galera  https://review.openstack.org/170021
20:53 EmilienM dmsimard: I don't have the race anymore
20:53 EmilienM dmsimard: http://paste.openstack.org/show/vsQjc8D4oWmjcOQHJVzQ/
20:57 EmilienM crinkle, mfisch, mgagne: I think the bug is quite critical, I would like an eye on https://review.openstack.org/172183 when you got some time
21:00 mgagne EmilienM: what about account storage?
21:00 mfisch do you have all the services?
21:00 mgagne mfisch worded it better =)
21:00 EmilienM oh
21:01 mgagne grep service and see which ones should be patched. I feel you left some behind
21:02 rcallawa joined #puppet-openstack
21:03 openstackgerrit Emilien Macchi proposed stackforge/puppet-swift: Notify services if swift.conf is modified  https://review.openstack.org/172183
21:06 vinsh When would you ever want to change the suffix on an operating cluster? EmilienM^^ ?
21:07 vinsh Anyway.. that change is great for bootstrapping a new cluster.. I hit a case where services failed to start since the hash wasn't yet written.  I added some ensure and notifies to my manifest to cover that.
21:07 EmilienM vinsh: it's not a matter of changing, it's a matter of orchestration during a bootstrap
21:07 vinsh bingo.
21:07 EmilienM :))
21:07 vinsh +1 then.
21:07 EmilienM I tested it 5 times
21:07 EmilienM and no race anymore.
21:08 vinsh I can go clean some of the belt/braces from my manifest and let this take action.  Thanks for the change.
21:08 EmilienM vinsh: so you knew about this issue?
21:09 vinsh I didn't realize it was inherent to the module , but hit it when implementing puppet-swift here.
21:09 hogepodge I'm a bit rusty with the types and providers.
21:09 vinsh I thought it was my fault for not ordering my manifest correctly
21:09 hogepodge If I want to use the modules to just manage resources in an existing cloud, what do I need to do to get the credentials to the providers?
21:09 hogepodge EmilienM: crinkle ^^
21:09 hogepodge Are the pulled from openrc?
21:09 mgagne hogepodge: I think they are read from nova.conf or something
21:10 EmilienM depends of the modules
21:10 mgagne hogepodge: I'm not sure anymore
21:10 hogepodge mgagne: I knew at some point.
21:10 hogepodge I'll keep reading the code
21:10 crinkle hogepodge: the keystone providers have an auth parameter, if you run `puppet describe keystone_tenant` it will show you how to use it
21:10 crinkle the other modules read from their .conf files for now
21:11 crinkle they keystone modules are also still capable of reading keystone.conf for the admin token and url
21:12 hogepodge as of 5.0? I want to install from puppet forge module if possible
21:12 crinkle no, in master
21:12 hogepodge ok, thanks.
21:12 hogepodge Maybe it's a thing for r10k to handle. :-D
21:14 ericpeterson joined #puppet-openstack
21:14 hogepodge Looks like it depends on admin token and endpoint too, which I can't guarantee (can get admin user creds though)
21:17 vinsh EmilienM: to the replicator services such as "swift-account-replicator" also need to be notified?
21:17 EmilienM bogdando: why did you abandon https://review.openstack.org/#/c/130171/ ?
21:17 EmilienM bogdando: I hit this issue today
21:17 EmilienM vinsh: I asked to swift core members, they said yes
21:17 vinsh ok, I don't see that in your change.
21:17 EmilienM mgagne, mfisch: I updated BTW
21:18 EmilienM vinsh: wait, where is the service manage
21:18 EmilienM vinsh: https://review.openstack.org/#/c/172183/3/manifests/storage/generic.pp,cm
21:19 vinsh /manifests/storage/server.pp
21:20 vinsh ah, I guess that guy calls the replicators
21:21 tfz joined #puppet-openstack
21:21 vinsh EmilienM: in any case,  I can pull this in locally and remove my other fixes around this.  will see how it holds up. (should be good)
21:22 vinsh I'm bootstrapping constantly.
21:54 rushiagr_away joined #puppet-openstack
22:02 vinsh joined #puppet-openstack
22:06 openstackgerrit Emilien Macchi proposed stackforge/puppet-neutron: Fix db-sync dependencies  https://review.openstack.org/130171
22:10 vinsh_ joined #puppet-openstack
22:15 mdorman joined #puppet-openstack
22:27 vinsh joined #puppet-openstack
22:32 ericpeterson joined #puppet-openstack
22:32 ericpeterson joined #puppet-openstack
22:34 cwolferh joined #puppet-openstack
22:44 tfz joined #puppet-openstack
22:54 vinsh Hi gchamoul, if you have some tips on review 169071, anything to point me in the right direction would be good.  I don't know really where to add such tests.  I am thinking maybe a new block in swift_storage_all_spec.. but dunno.
23:14 britthouser joined #puppet-openstack
23:14 * vinsh goes to RTFM for 10 hours. :)
23:22 britthouser joined #puppet-openstack
23:25 britthou_ joined #puppet-openstack
23:27 britthouser joined #puppet-openstack
23:49 gildub joined #puppet-openstack
23:52 britthouser joined #puppet-openstack
23:56 ericpeterson joined #puppet-openstack

| Channels | #puppet-openstack index | Today | | Search | Google Search | Plain-Text | summary