Perl 6 - the future is here, just unevenly distributed

IRC log for #puppet-openstack, 2013-11-08

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

All times shown according to UTC.

Time Nick Message
00:10 tnoor2 joined #puppet-openstack
00:19 tnoor2 Hey guys.. I am getting a dependency missing for 2.2.0
00:19 tnoor2 Warning: Missing dependency 'puppetlabs-concat':
00:19 tnoor2 'puppetlabs-apache' (v0.9.0) requires 'puppetlabs-concat' (>= 1.0.0)
00:19 tnoor2 any idea how to get this added?
00:29 tnoor1 joined #puppet-openstack
00:44 xingchao joined #puppet-openstack
01:06 angdraug joined #puppet-openstack
01:24 michchap joined #puppet-openstack
01:25 michchap joined #puppet-openstack
01:29 Hunner dachary: want to chat about https://github.com/puppetlabs/rspec-system/issues/67 irl?
01:29 Hunner tnoor1: `puppet module install puppetlabs-concat` ?
01:30 Hunner (or download it from http://forge.puppetlabs.com/puppetlabs/concat)
01:40 e1mer joined #puppet-openstack
01:40 e1mer joined #puppet-openstack
01:42 tnoor1 Hunner: thanks that worked but it broke swift that i am not using at all
01:43 Hunner tnoor1: broke swift?...
01:43 tnoor1 'puppetlabs-swift' (v2.2.0) requires 'ripienaar-concat' (>=0.1.0 <1.0.0)
01:43 Hunner Ah. That is okay though... ripienaar-concat was renamed puppetlabs-concat when the ownership was moved, and 1.0.0 was released
01:43 Hunner So the 0.x was promoted to 1.0
01:44 tnoor1 I'm facing a strange issue.. i.e. can't start apache
01:44 Hunner tnoor1: If you run `service httpd start` (or apache2 if debian) does it give you errors?
01:48 tnoor1 Hunner: Error: /Stage[main]/Apache::Service/Service[httpd]: Failed to call refresh: Could not start Service[httpd]: Execution of '/sbin/service httpd start' retu
01:49 tnoor1 if i remove Listen 0.0.0.0:80 in httpd.conf, i can start apache
01:49 tnoor1 but can't access dashboard
01:49 Hunner tnoor1: BUT if you run `/sbin/service httpd start` by hand, what does it say?
01:50 Hunner (when 0.0.0.0:80 is in the conf)
01:50 Hunner I would like to help debug so others don't get this error :)
01:50 tnoor1 /sbin/service httpd start
01:50 tnoor1 Starting httpd: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
01:50 tnoor1 no listening sockets available, shutting down
01:50 tnoor1 Unable to open logs
01:50 tnoor1 [FAILED]
01:50 Hunner tnoor1: Okay, so some other service is listening on port 80... what does `netstat -tnlp|grep :80` say?
01:51 tnoor1 notjing is running on 80
01:51 tnoor1 yes that is the strange part
01:51 Hunner tnoor1: Are you running as root?
01:51 tnoor1 yes
01:51 Hunner (non root can't bind 80)
01:52 Hunner unable to open logs also sounds suspect
01:52 Hunner How about `getenforce`?
01:52 tnoor1 its disablesd
01:53 Hunner well... at least it's not an apache problem AFAIK... something else with the OS
01:53 tnoor1 iptables is also diabled
01:54 tnoor1 but if i remove Listen in httpd.conf.. i can start apache
01:54 Hunner If you remove listen, is it listening on any ports?
01:54 tnoor1 yes 80 that netstat shows
01:54 tnoor1 netstat -tnlp|grep :80
01:54 tnoor1 tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      7118/httpd
01:55 tnoor1 after removing Listen
01:55 tnoor1 but then dashboard says this
01:55 tnoor1 Internal Server Error
01:55 tnoor1 The server encountered an internal error or misconfiguration and was unable to complete your request.
01:55 tnoor1 Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
01:55 tnoor1 More information about this error may be available in the server error log.
01:55 Hunner tnoor1: I suspect that is already running, and so you have two httpd's trying to bind to 80. Can you kill 7118
01:56 tnoor1 7118 came after commenting Listen
01:56 tnoor1 and restarting httpd
01:57 mgagne joined #puppet-openstack
01:57 mgagne joined #puppet-openstack
01:57 Hunner hmm....
01:57 tnoor1 Hunner:do you suspenct anything via horizon
01:57 Hunner tnoor1: Where is the Listen 80 coming from then? If you `grep -r /etc/httpd 80` does another listen show up?
01:57 tnoor1 cat wsgi.conf
01:58 tnoor1 # The WSGI Apache module configuration file is being
01:58 tnoor1 # managed by Puppet an changes will be overwritten.
01:58 tnoor1 <IfModule mod_wsgi.c>
01:58 tnoor1 </IfModule>
01:58 Hunner wsgi.conf is a template that has variables in it if they are set, but not if they are not
01:59 tnoor1 here's muy httpd.conf
01:59 tnoor1 # Security
01:59 tnoor1 ServerTokens OS
01:59 tnoor1 ServerSignature On
01:59 tnoor1 TraceEnable Off
01:59 Hunner hah
01:59 tnoor1 joined #puppet-openstack
01:59 Hunner tnoor1: Don't paste here!
02:00 tnoor1 sorry..
02:00 Hunner tnoor1: Anything over 2 lines should not be pasted into irc... use gist.github.com or pastebin or something
02:00 tnoor1 i got discoonected after pasting :(
02:00 Hunner tnoor1: Can you grep for port 80? Are there any more port 80 listens?
02:00 Hunner (I don't need the config I don't think)
02:01 tnoor1 https://gist.github.com/tanweernoor/7365106
02:01 tnoor1 nopes.. there's no more 80
02:01 tnoor1 let me run find with exec for 80 in /etc/httpd
02:03 tnoor1 Hunner: there's 80 in this file 15-default.conf
02:03 Hunner Listen 80, or just <VirtualHost *:80> ?
02:03 tnoor1 i see tons of file under /etc/httpd/conf.d
02:04 tnoor1 ohh yes <VirtualHost *:80>
02:04 Hunner That is fine
02:04 tnoor1 even i kick started my system couple of times. i am running rhel 6 U4
02:06 Hunner I'm out of ideas. You have a single httpd daemon that is trying to bind to port 80 twice, but only has one Listen 80 statement... something weird is going on that doesn't sound like normal apache stuff
02:07 tnoor1 but i can assure you that apache is getting configured via puppet openstack module
02:08 Hunner tnoor1: What's in ports.conf?
02:08 tnoor1 Hunner: Listen 80
02:08 tnoor1 NameVirtualHost *:80
02:08 Hunner I wonder why there are two Listen statements in httpd.conf... they should not be there; they should be in ports.conf
02:09 tnoor1 ohh 80 is listed here
02:09 Hunner Yeah, that
02:09 Hunner Did you not grep?
02:09 tnoor1 i ran exec.. not sure how i missed it :( sorry about that
02:09 Hunner Something is messed up... perhaps in horizon module. Listen should only be in ports.conf
02:10 Hunner Anyway... okay next step; why is the server not working...
02:10 Hunner This is for horizon, right?
02:10 Hunner What version of puppetlabs-horizon?
02:11 tnoor1 all modules listed here https://gist.github.com/tanweernoor/7365179
02:12 Hunner thanks
02:12 tnoor1 Hunner: horizon is 2.2.0
02:13 otherwiseguy joined #puppet-openstack
02:14 Hunner tnoor1: Can you gist /etc/httpd/conf.d/openstack-dashboard.conf ?
02:15 prad joined #puppet-openstack
02:16 tnoor1 Hunner: here you go
02:16 tnoor1 https://gist.github.com/tanweernoor/7365229
02:17 Hunner okay, if you go to http://xx.xx.xx.xx/dashboard, does it give you the website error?
02:18 tnoor1 If i comment Listen in httpd.conf and start httpd manually.. i get Internal Server error
02:18 Hunner tnoor1: Okay. And does anything obvious about why show up in /var/log/httpd ?
02:18 tnoor1 otherwise can't access as apache is stopped
02:19 mgagne if you keep Listen statement, can you run apachectl configtest to see if there's any error or duplications?
02:20 michchap_ joined #puppet-openstack
02:21 tnoor1 mgagne:  apachectl configtest
02:21 tnoor1 Syntax OK
02:22 Hunner mgagne: Due to https://git.openstack.org/cgit/stackforge/puppet-horizon/tree/manifests/params.pp#n14 pointing to httpd.conf instead of ports.conf, two Listen 80's are added to the configs by puppet-horizon
02:23 mgagne Hunner: oh... that bug...
02:23 mgagne Hunner: does it mean puppetlabs-apache and puppet-horizon would fight to set Listen directives if we changed it to ports.conf instead?
02:24 Hunner mgagne: Yeah. So probably that will need a puppet-horizon patch... I don't yet have an openstack setup for testing puppet modules, but after last night I wanted to make an rspec-system test for it
02:24 mgagne Hunner: or is it a platform limitation where puppetlabs-apache sets Listen to ports.conf although there's already a default one provided by redhat packages?
02:24 Hunner mgagne: puppetlabs-apache has an apache::listen { '80': } defined resource for doing this
02:24 mgagne (in httpd.conf)
02:25 tnoor1 Hunner: and mgagne: I can do all the testing.. this way i will also learn :)
02:25 tnoor1 i have env setup for testing
02:25 Hunner mgagne: The httpd.conf is templated and move all Listen statements to ports.conf to make this "easier" (though apparently not actually easier).
02:26 Hunner mgagne: Want to meet in the dev lounge today to test?
02:26 Hunner tnoor1: Are you in hong kong?
02:26 tnoor1 Hunner: nopes.. i am located in San Francisco
02:26 mgagne Hunner: puppet-horizon still uses file_line hacks to setup Listen directives
02:26 Hunner mgagne: Yep. That is odd imho
02:27 tnoor1 i can fix this by adding a sed in manifest
02:27 Hunner tnoor1: file_line uses sed
02:27 Hunner So it is already there... that is what is breaking, since it is `sed`ing things "behind puppet's back" :)
02:28 tnoor1 which file inparticular?
02:28 Hunner Anyway... that is just for the Listen stuff. Why horizon wsgi is not working should be in the httpd logs
02:28 e1mer joined #puppet-openstack
02:28 Hunner tnoor1: This https://git.openstack.org/cgit/stackforge/puppet-horizon/tree/manifests/init.pp#n138-n144
02:29 tnoor1 thanks guys, let me re-test and update you guys
02:29 Hunner tnoor1: Instead of file_line {...} it should be `apache::listen { "${bind_address}:80": }`
02:31 tnoor1 there are 8 instances of file_line
02:31 tnoor1 ohh got it listen
02:31 Hunner Sorry, the one on line 138 that adds the Listen ${bind_address}:80
02:32 Hunner And cross my finders, since the default vhost probably also conflicts since it want port 80, but without a default vhost there will be no horizon since horizon does not create a VirtualHost
02:32 rongze joined #puppet-openstack
02:32 Hunner This is weird because horizon tries to know a lot about redhat/debian is configured, so it is missing a lot of pieces that are "automagically" working normally
02:33 mgagne joined #puppet-openstack
02:33 mgagne joined #puppet-openstack
02:34 Hunner And the puppetlabs-apache module says "redhat and debian do things differently on different versions, so to work on all versions we will do it one way always"
02:38 rongze joined #puppet-openstack
02:38 tnoor1 Hunner: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not match ${bind_address}:80", at /etc/puppet/modules/horizon/manifests/init.pp:
02:38 tnoor1 so i replaced line    => "Listen ${bind_address}:80",
02:39 tnoor1 to line    => "apache::listen { "${bind_address}:80",
02:41 mgagne joined #puppet-openstack
02:41 mgagne joined #puppet-openstack
02:41 tnoor1 mgagne:so i replaced line    => "Listen ${bind_address}:80",
02:42 tnoor1 to line    => "apache::listen { "${bind_address}:80",
02:44 mgagne reading irc logs atm
02:44 mgagne I think that one of the problem is that puppet-horizon tries (to hard) to mess with the global apache configuration. (httpd.conf/ports.conf) it can only lead to conflicting/duplicated resources in the long run.
02:45 mgagne horizon should already work out of the box on most distributions. if you have a very specific need to listen on a different port, either it should be addressed by a different class or by the end user himself.
02:46 rongze joined #puppet-openstack
02:51 badiane_ka joined #puppet-openstack
02:52 Hunner tnoor1: Uh no. Replace the whole file_line resource with the apache::listen resource...
02:53 Hunner tnoor1: If you want to try rewriting the module, I think you're on your own at this point. I can't help very much over irc...
02:54 Hunner mgagne: The puppet-horizon should be a bit more authoritative imho. The puppetlabs-apache module tries to give a solid foundation that works across many OSs so that modules like puppet-horizon don't have to do that work
02:54 Hunner s/authoritative/assertive/
02:55 otherwiseguy joined #puppet-openstack
02:55 Hunner Apache is always different on every OS and making everything work with that was a pain, so I just made the apache module able to unify the configs
02:55 mgagne Hunner: it won't address this problem: it can lead to conflicting/duplicated resources in the long run
02:56 Hunner mgagne: Could you be more specific about which resources? I know the listen ports can be solved, and the horizon config can be fixed to not conflict. Anything else?
02:57 mgagne Hunner: mostly the apache::listen resource
02:57 mgagne Hunner: lets use exported resources instead :D
02:57 Hunner NO!
02:57 Hunner :)
02:58 tnoor1 Hunner: yes, i need to modify local_settings as well as I am behind a VIP
02:58 mgagne tnoor1: what did you have to modify?
02:58 Hunner mgagne: The puppet-horizon module should use `class { 'apache': default_vhost => false, }` instead of `include apache`, and it should make a `apache::vhost { 'horizon': port => 80, ip => $bind_address, default_vhost => true, ... }` resource instead of the file lines
02:58 Hunner Then that will not conflict, and work on all debian/redhat OSs
02:59 tnoor1 OPENSTACK_HOST = "127.0.0.1"under local_settings
02:59 Hunner local_settings needs more variables. How many more?
02:59 Hunner Eww...
02:59 tnoor1 by default points to keystone host
02:59 mgagne Hunner: -> and now I can't use anything else using apache module on the same node because horizon used the class resource to include apache
03:00 mgagne tnoor1: can you use the keystone_host parameter to set the value?
03:00 Hunner mgagne: Okay, hiera can solve that by using `apache::default_vhost: false` instead of class declaration, but I see what you mean
03:00 Hunner mgagne: So you would use more apache websites on the horizon node?
03:00 mgagne Hunner: why not?
03:00 bauzas joined #puppet-openstack
03:01 Hunner mgagne: Separation of responsibilities?
03:01 mgagne Hunner: lets say I want to install keystone too with mod_wsgi
03:01 mgagne Hunner: people might not have this flexibility or resources
03:03 Hunner mgagne: Thinking about it... we actually can stick with `include apache` because `apache::vhost { '...': default_vhost => true, ...}` will override that without conflicting
03:03 Hunner Or no default_vhost even needed if people control DNS and can use real domain names... which is common
03:05 Hunner mgagne: What do you think about bind_address? How bad would it be to just listen on *:80/443 instead of specific IP addresses? Probably some company will want that though
03:06 Hunner The problem with apache is that mixing `Listen 80` and `Listen 10.0.0.x:80` breaks apache... I just need a way around that
03:06 mgagne Hunner: true
03:06 Hunner I think that is the only problem
03:06 mgagne Hunner: I'm in ML2 presentation atm so I might lag a bit
03:06 Hunner mgagne: Okay, we will talk later :)
03:07 Hunner I was looking at the ML2 one but went to docker instead
03:18 EmilienM mgagne: hey, then you will be able to review my ML2 patch in puppet ! :P
03:18 mgagne EmilienM: still trying to grasp the concept of ML2 plugin
03:19 EmilienM mgagne: i have a colleague who made part of ML2 in neutron, he made a review on my stuff, neutron-side
03:28 mjblack_ mgagne, Hunner: maybe we can do the apache class definition if we check to see if its defined, the truth is with the changes proposed to the keystone puppet module, we would need to do some changes to horizon module as well
03:31 Hunner_ joined #puppet-openstack
03:32 Hunner mjblack_: I dislike `if ! defined()` if it's not strictly required :(
03:32 Hunner mjblack_: I haven't yet looked at the keystone module... I should
03:33 mjblack_ Hunner: there is currently changes in review for the keystone module to allow a person to use it as a wsgi in apache
03:33 mjblack_ Hunner: the issue is that if I wanted a centralized keystone and horizon they would not be able to be on the same node because of this issue
03:34 mgagne Hunner: :O there's a split function in stdlib but no split =(
03:35 mgagne Hunner: ok... was looking at an outdated doc
03:35 Hunner_ Yeah, split() is there
03:35 mgagne thanks forge! https://forge.puppetlabs.com/puppetlabs/stdlib
03:35 Hunner_ :/
03:36 mjblack_ Hunner: There is an alternative that I probably think is better. Dont instantiate the apache class in the openstack modules and make it the users responsibility to do so
03:36 mgagne Hunner: or is it part of puppet core?
03:36 Hunner_ mgagne: Odd that split() is not in https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/README.markdown either...
03:37 mgagne Hunner_: it's part of puppet core, not stdlib :O http://docs.puppetlabs.com/references/latest/function.html
03:37 mgagne sorry for the noise
03:37 Hunner_ mjblack_: That would be the *correct* roles and profiles pattern, but I don't think the modules are positioned to support that yet. I think hodepodge would have something to say about that, since he used roles/profiles pattern to create puppetlabs-grizzly
03:38 Hunner_ mgagne: Oh... right. It is join() that is in stdlib but not core
03:38 mjblack_ Hunner_: right there would need to be changes thats for sure
03:38 mjblack_ Hunner_: but you dont have to make changes to stable/grizzly, you can do it in stable/havana (when its created) and master
03:40 Hunner_ mjblack_: Are you in HK?
03:40 mjblack_ Hunner_: I was not able to go, but my team is there
03:43 rongze joined #puppet-openstack
03:49 hogepodge joined #puppet-openstack
03:50 Hunner
03:52 hogepodge I'm branching stable/grizzly right now.
03:52 hogepodge Branch against master.
03:52 hogepodge s/stablegrizzly/stablehavana
03:52 bauzas joined #puppet-openstack
03:52 mjblack_ lol
03:53 rongze joined #puppet-openstack
03:59 Hunner hogepodge: So the ideas was pulling the apache class declaration out of keystone/horizon modules so that it would more closely conform to the R&P pattern
04:00 hogepodge I think that's a good idea. It will probably make the module more maintainable across platforms. Along the line I'd also like to see the addition of apache front ends for a bunch of the services to set up reliable ssl.
04:01 Hunner hogepodge: The issue is that the base apache class default vhost creates a listen on port 80, but what if we want a listen on a specific bind address?
04:01 Hunner hogepodge: What is "reliable"? Reliable in the puppet manifest not crashing sense, or reliable in the ssl-enabled service always working?
04:01 hogepodge python is really slow at handling ssl. It's a performance thing.
04:02 Hunner At what point is python handling ssl? It seems like that should be a web-daemon thing
04:03 hogepodge All of the service endpoints are python apps. If you enable ssl in, for example, keystone, you create a bottleneck.
04:05 Hunner_ Oh. Whoops
04:05 bauzas joined #puppet-openstack
04:07 mjblack_ hogepodge: there is a change in review to enable running keystone as a apache wsgi
04:08 hogepodge mjblack_ that's good. I always reverse proxied it, but having it run in apache space makes things less complicated, and saves on ports. :-)
04:08 mjblack_ hogepodge: and gives you more than 1 thread ;)
04:09 hogepodge that too. :-D
04:09 mjblack_ ssl wouldnt be your bottleneck with it running the standard way, if you have a large deployment with a lot of calls the 1 thread will be the bottleneck
04:10 mjblack_ I believe there is a change that will be in icehouse that will let you configure that but until then apache wsgi is the way to go
04:30 michchap joined #puppet-openstack
04:31 michchap joined #puppet-openstack
04:33 rongze joined #puppet-openstack
04:38 hogepodge mjblack_++
05:05 bauzas joined #puppet-openstack
05:21 rongze joined #puppet-openstack
05:22 rongze joined #puppet-openstack
05:33 bauzas joined #puppet-openstack
05:33 Jean-Roger joined #puppet-openstack
05:39 sileht joined #puppet-openstack
05:39 bauzas1 joined #puppet-openstack
06:17 Hunner_ Is there a style guide specific to the openstack modules?
06:22 bauzas joined #puppet-openstack
06:35 Hunner_ Looks like just the usual style guide
06:38 xarses joined #puppet-openstack
06:53 Hunner_ Is ekarlso (Endre Karlson) in hong kong, or perhaps someone who works with him?
06:53 mgagne joined #puppet-openstack
06:53 mgagne joined #puppet-openstack
07:16 EmilienM Hunner: maybe you could have a look at current modules hosted on Stackforge
07:16 EmilienM Hunner: there is also some useful documentation here : https://wiki.openstack.org/wiki/Puppet-openstack
07:27 prad_ joined #puppet-openstack
07:42 Hunner_ EmilienM: That's why I was looking... I was wondering if the stackforge modules style choices were from the openstack wiki or just the PL style guide :)
07:43 openstackgerrit Chris Hoge proposed a change to stackforge/puppet-swift: Preparing for 2.2.1 release  https://review.openstack.org/55628
07:52 xarses Please review https://review.openstack.org/#/c/54591/
09:00 mgagne joined #puppet-openstack
09:00 mgagne joined #puppet-openstack
09:20 mmagr joined #puppet-openstack
09:30 mgagne joined #puppet-openstack
09:30 mgagne joined #puppet-openstack
09:40 mgagne joined #puppet-openstack
09:40 mgagne joined #puppet-openstack
09:45 mgagne joined #puppet-openstack
09:45 mgagne joined #puppet-openstack
09:48 bauzas joined #puppet-openstack
09:57 EmilienM xarses: nice patch :)
10:28 dpyzhov joined #puppet-openstack
11:25 piliman974 joined #puppet-openstack
11:36 markvoelker joined #puppet-openstack
11:49 piliman974 joined #puppet-openstack
11:50 LAnthony joined #puppet-openstack
12:27 dpyzhov joined #puppet-openstack
13:31 fvollero EmilienM: still in HK ?
13:31 rongze joined #puppet-openstack
13:53 openstackgerrit Martin Mágr proposed a change to stackforge/puppet-neutron: VXLAN support  https://review.openstack.org/55578
14:03 dvanders joined #puppet-openstack
14:12 mjblack joined #puppet-openstack
14:20 openstackgerrit Martin Mágr proposed a change to stackforge/puppet-neutron: VXLAN support  https://review.openstack.org/55578
14:34 morazi joined #puppet-openstack
14:36 badiane_ka joined #puppet-openstack
14:40 dmsimard joined #puppet-openstack
14:46 dachary joined #puppet-openstack
14:57 mjblack joined #puppet-openstack
15:00 mjblack joined #puppet-openstack
15:23 dmsimard1 joined #puppet-openstack
15:25 rongze joined #puppet-openstack
15:48 otherwiseguy joined #puppet-openstack
15:56 dvanders joined #puppet-openstack
16:00 dvanders_ joined #puppet-openstack
16:18 mgagne joined #puppet-openstack
16:18 mgagne joined #puppet-openstack
16:31 tnoor1 joined #puppet-openstack
16:40 tnoor1 joined #puppet-openstack
16:44 tnoor2 joined #puppet-openstack
16:57 xarses joined #puppet-openstack
17:02 rmoe joined #puppet-openstack
17:03 otherwiseguy joined #puppet-openstack
17:36 bauzas joined #puppet-openstack
17:42 e1mer joined #puppet-openstack
17:43 dachary joined #puppet-openstack
18:02 rmoe joined #puppet-openstack
18:05 angdraug joined #puppet-openstack
18:08 pabelanger joined #puppet-openstack
18:15 sfu joined #puppet-openstack
18:18 openstackgerrit Ben Nemec proposed a change to stackforge/puppet-horizon: Fix readme link typos  https://review.openstack.org/55689
19:49 angdraug joined #puppet-openstack
20:20 dvanders joined #puppet-openstack
21:12 badiane_ka joined #puppet-openstack
21:13 nibalizer joined #puppet-openstack
21:18 otherwiseguy joined #puppet-openstack
22:21 mjblack joined #puppet-openstack
22:23 tnoor1 joined #puppet-openstack
22:25 tnoor2 joined #puppet-openstack
22:34 dachary joined #puppet-openstack

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