Perl 6 - the future is here, just unevenly distributed

IRC log for #puppet-openstack, 2013-06-17

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

All times shown according to UTC.

Time Nick Message
00:05 EmilienM joined #puppet-openstack
01:04 openstackgerrit Simon Sellar proposed a change to stackforge/puppet-glance: Allow blank keystone flavor in glance configs  https://review.openstack.org/32835
01:07 openstackgerrit Simon Sellar proposed a change to stackforge/puppet-glance: Allow blank keystone flavor in glance configs  https://review.openstack.org/32835
01:14 openstackgerrit Maru Newby proposed a change to stackforge/puppet-quantum: Add quantum_network custom type.  https://review.openstack.org/31087
01:20 openstackgerrit Maru Newby proposed a change to stackforge/puppet-quantum: Add quantum_network custom type.  https://review.openstack.org/31087
03:57 openstackgerrit Simon Sellar proposed a change to stackforge/puppet-horizon: Apache module won't overwrite default vhost  https://review.openstack.org/33220
04:05 openstackgerrit Simon Sellar proposed a change to stackforge/puppet-horizon: Apache module won't overwrite default vhost  https://review.openstack.org/33220
04:46 openstackgerrit A change was merged to stackforge/puppet-ceilometer: Add auth_admin_prefix support for ceilometer::api  https://review.openstack.org/31965
04:48 openstackgerrit A change was merged to stackforge/puppet-swift: Add auth_admin_prefix and custom auth_uri params  https://review.openstack.org/29107
08:13 derekh joined #puppet-openstack
08:52 openstackgerrit Mehdi Abaakouk proposed a change to stackforge/puppet-nova: Add html5 spice support  https://review.openstack.org/26852
10:08 michchap_ joined #puppet-openstack
12:01 markvoelker joined #puppet-openstack
12:05 dprince joined #puppet-openstack
12:38 red_trela joined #puppet-openstack
12:48 openstackgerrit Yu Xingchao proposed a change to stackforge/puppet-swift: Add swift::bench to manage swift-bench.conf  https://review.openstack.org/32270
13:00 prad_ joined #puppet-openstack
13:04 michchap joined #puppet-openstack
13:12 openstackgerrit Yu Xingchao proposed a change to stackforge/puppet-swift: Add configurable log for proxy-server service  https://review.openstack.org/32866
13:47 openstackgerrit Chris Ricker proposed a change to stackforge/puppet-keystone: Retry when keystone server refuses connections  https://review.openstack.org/33268
13:59 dmsimard joined #puppet-openstack
14:38 michchap joined #puppet-openstack
15:08 michchap joined #puppet-openstack
15:12 otherwiseguy joined #puppet-openstack
15:17 michchap_ joined #puppet-openstack
15:18 michcha__ joined #puppet-openstack
15:19 michchap joined #puppet-openstack
15:20 michch___ joined #puppet-openstack
15:22 michchap_ joined #puppet-openstack
15:23 michcha__ joined #puppet-openstack
15:24 michchap joined #puppet-openstack
15:25 michc____ joined #puppet-openstack
15:38 hogepodge joined #puppet-openstack
15:57 michchap joined #puppet-openstack
15:58 marun joined #puppet-openstack
16:01 openstackgerrit Maru Newby proposed a change to stackforge/puppet-quantum: Add quantum_network custom type.  https://review.openstack.org/31087
16:35 michchap joined #puppet-openstack
16:48 marun bodepd: ping
16:48 marun I got stuck trying to access instances from the type
16:49 marun I couldn't evaluate Puppet::Type.type(:keystone_tenant) in irb (resulted in nil) in my environment, so I pulled it from the catalog
16:50 marun The provider does work, but I'd much prefer a cleaner solution.
16:54 openstackgerrit Benedikt Trefzer proposed a change to stackforge/puppet-quantum: fix ovs plugin to work with postgresql  https://review.openstack.org/33310
16:58 openstackgerrit A change was merged to stackforge/puppet-quantum: fix ovs plugin to work with postgresql  https://review.openstack.org/33310
17:13 michchap joined #puppet-openstack
17:25 michchap joined #puppet-openstack
17:26 michchap_ joined #puppet-openstack
17:27 michcha__ joined #puppet-openstack
17:29 michch___ joined #puppet-openstack
17:31 michchap joined #puppet-openstack
17:32 michchap_ joined #puppet-openstack
17:34 michcha__ joined #puppet-openstack
17:35 michch___ joined #puppet-openstack
17:47 bodepd marun: .instances
17:58 marun bodepd: i couldn't get the type to load (if that's the right term)
17:58 marun bodepd: Puppet::Type.type(:package) works fine
17:58 marun keystone_tenant, not so much
17:59 marun (in irb)
18:00 bodepd marun: ah. the loading in puppet is a little funky
18:00 bodepd what puppet version?
18:00 marun 3.2.1
18:00 bodepd uh....
18:00 bodepd ok
18:00 marun i'm working on a box that packstack installed
18:00 bodepd in puppet 3, you have to explicitly set up the config settings
18:01 bodepd if you run > puts Puppet[:modulepath]
18:01 bodepd what do you see
18:01 bodepd ?
18:01 marun in irb?
18:01 bodepd yep
18:01 marun error: could not find value for confdir
18:01 bodepd I have a feeling it is null, so you have to populate it with the call:
18:01 bodepd Puppet.parse_config
18:02 bodepd then try ( I may be missing one more method...)
18:02 marun oh, that might be the missing piece
18:02 marun ah, yup
18:03 bodepd yeah, and that is different between 2.7.x and 3.x
18:03 bodepd FYI
18:03 bodepd it is not needed in 2.7.x b/c the settings hash is auto-populated
18:03 marun so in 2.7 the parse_config call isn't required?
18:03 bodepd correct, as long as you are ok with all of the puppet defaults.
18:04 marun ok, good to know
18:04 bodepd I think it is slightly more complicated that than, but not much
18:04 marun do you want to see instances used instead of the catalog for the first pass of quantum_network?
18:05 bodepd I think catalog is fine b/c the assumption is that all resources are defined as a part of the same catalog
18:05 marun ah, fair enough
18:05 bodepd instances is an optimization that AFAIC can wait
18:05 michchap joined #puppet-openstack
18:06 marun the instances optimization will be required for the fog rework anyway
18:06 marun ok
18:06 bodepd instances is just potentially a little safer, and it already a parses all objects you may need for you (with caching)
18:06 marun so i'm aiming to have the subnet and router providers done by tomorrow
18:07 marun i'll be off the rest of the week, and i hope to have the support necessary for tempest setup before i go
18:07 bodepd when you start mucking with fog: https://github.com/bodepd/cloudstack_resources
18:07 bodepd that is somethign pretty close I wrote against the cloudstack API
18:07 bodepd let me know if there is anything else I can do.
18:07 bodepd how are you going to run tempest?
18:07 marun i'm not intending to run it
18:08 bodepd you guys have an auto-deploy framework based on packstack?
18:08 marun i'm intending to have puppet-tempest be configured by packstack, yeah
18:09 bodepd who is running the packstack project these days? still Derek when he gets back?
18:09 marun Yes, still derek.
18:10 marun Also Terry Wilson and Ryan O'Hara
18:10 marun (RHOS networking)
18:10 bodepd I met those guys at the last summit
18:10 marun And me, too :)
18:10 bodepd oh :(
18:10 bodepd can you remind me?
18:11 marun I was one of the redhat guys from the friday post-summit - tall and thin with long hair.
18:11 marun We hung out in the hotel and then went back to puppet hq.
18:11 bodepd oh. I remember you :)
18:12 marun I didn't expect to have to dig into the puppet stuff or I would have spent more time with yoU!
18:12 marun But good to have your help on irc at least.
18:12 marun The book looks good, too.  I wish I had read it beforehand.
18:13 marun And I think we might have met at the puppet booth at the summit, too.
18:13 bodepd my time there is all a blur
18:13 marun I was complaining about the ruby dsl being deprecated (in my ignorance)
18:14 marun I've actually been much happier with puppet than i ever was with chef.  Much better traceability - errors are very easy to debug.  Chef often gives a useful ruby traceback.
18:14 marun useful => useless
18:14 bodepd good to hear. you can still get the stacktraces if you with them with --trace :)
18:15 marun Oh yes, all good on the puppet side.  I meant to say that an error in a chef recipe would often given a useless ruby traceback, whereas an error in a puppet manifest usually results in a very useful error message.
18:16 marun so, advantage puppet
18:16 marun it's just more mature
18:17 bodepd marun: I was trying to be a bit of a smart-ass.
18:17 bodepd it's so difficult in irc
18:18 marun bodepd: I take things too seriously even irl :)
18:32 openstackgerrit Benedikt Trefzer proposed a change to stackforge/puppet-glance: fix api.pp and registry.pp to work with postgresql  https://review.openstack.org/33326
18:39 openstackgerrit A change was merged to stackforge/puppet-glance: fix api.pp and registry.pp to work with postgresql  https://review.openstack.org/33326
18:41 digicloseup joined #puppet-openstack
18:43 michchap joined #puppet-openstack
18:48 marun bodepd: how to mandate that a value be present for more than the namevar?  Do I just use the validate method?
18:51 marun bodepd: I'm also not sure whether it's useful to allow referencing by id at all if we have to rely on unique names for puppet to be able to effectively manage openstack resources.  It seems like unnecessary complexity at this point.
19:21 michchap joined #puppet-openstack
19:36 mgagne1 joined #puppet-openstack
19:49 odyi marun: Wow...I am a bit surprised by this but...
19:50 marun odyi: ?
19:50 odyi There is an "isrequired" method that you can add to parameter that makes it required but searching through all the core types in Puppet, it isn't used.
19:50 comptona has anybody worked with the new openstack::all yet?
19:50 comptona I'm having trouble with it trying to create database users multiple times and mysql complaining
19:50 odyi The only place I found it was in one of my custom types, https://github.com/puppetlabs/puppetlabs-ldap_entry/blob/master/lib/puppet/type/ldap_entry.rb#L34
19:51 marun odyi: ah, thank you!
19:53 marun odyi: that begs the question though - how to require one or the other of a parameter?
19:53 marun odyi: The trouble with openstack is the internal use of id but puppet's need to manage by name
19:53 marun odyi: For a quantum subnet, for example, it is necessary to provide a network to associate with
19:54 marun odyi: I'm tempted to require specifying by name, because otherwise I have to accept either the name or the id.  And make either one mandatory?
19:54 comptona oh, never mind; I was doing something wrong with mysql
19:55 marun mgagne: what do you think? ^^
19:55 mgagne marun: wasn't reading at all
19:55 mgagne will read
19:55 marun mgagne: danke
19:57 marun mgagne: in short, if puppet modules manage individual resources by name, does that imply that relationships between resources should always be managed by name, even if it would be possible to manage those relationships by id?
19:57 mgagne I know about the issue where Puppet expects a name of some sort and OpenStack using UUID (and authorizing duplicate names). I have nothing to propose except explaining the limitation to the user and making sure our puppet custom type is consisting with itself.
19:58 marun mgagne: I guess I'm thinking that it would be clearer if names were used everywhere and ids were only used internally if necessitated by an api
19:59 mgagne you won't be able to manage by id unless you create the "resource" yourself first and then pass the management/control to Puppet afterward which will usually not be the case.
19:59 mgagne users shouldn't be exposed to uuid unless we find an elegant way to do so
20:00 michchap joined #puppet-openstack
20:00 marun mgagne: right.  the example would be the fact that the quantum cli allows specifying the owner of a resource via --tenant-id.  For quantum_network I allow specifying the tenant_id or providing a tenant_name which will result in a lookup for the id
20:00 mgagne quantum_network { 'uuid:A7D13E62-B964-4A1B-8E91-32E7E4EDA9D0': }
20:00 mgagne maybe
20:00 marun mgagne: I'm thinking it shouldn't be possible to specify the id after all - only the name.
20:01 mgagne fine with me
20:01 mgagne it's already the case with glance_image
20:02 marun mgagne: cool.  :)  Nothing we can't change in the future if people scream for it, but I think it will be cleaner only using name references everywhere for now.
20:02 mgagne TBH, I didn't have the intention to add support for UUID so...
20:04 marun mgagne: Just my ignorance then.
20:04 mgagne marun: I didn't really communicate my intention ;)
20:04 marun mgagne: Do you want me to clean up the current review accordingly or can it wait until the next patch?
20:05 marun mgagne: I'm working on adding subnet.
20:05 marun mgagne: oh, there is a bit of a wrinkle...
20:06 mgagne marun: the patch can be split. it shouldn't be too big
20:06 marun mgagne: a resource declaration will specify the tenant_name, but show-[resource] will always only show the tenant_id
20:06 mgagne all parts can be reviewed individually
20:06 mgagne hmmm
20:06 marun mgagne: which implies translation in both directions.
20:06 marun mgagne: (yuck)
20:06 mgagne marun: isn't there a way to force quantum to resolve the tenant-id?
20:06 marun mgagne: nope.
20:07 marun mgagne: it would have to be done by the puppet type
20:07 marun mgagne: we only have to solve this generally once, at least.  all quantum types have the same issue.
20:08 mgagne marun: really depends on how we want the "user experience" to be.
20:08 mgagne I guess users aren't expecting to have to provide tenant-id but tenant-name.
20:08 mgagne but if keystone accepts duplicate tenant names...
20:09 marun mgagne: pretty much all openstack services accept duplicate names
20:09 mgagne marun: =(
20:09 marun mgagne: the only thing in our favour is that anybody managing openstack resources with puppet will likely adhere to unique names
20:09 marun (because things won't work if they don't)
20:10 marun mgagne: to be honest, I don't think that custom types for openstack will be usable beyond the trivial anyway
20:10 marun mgagne: my goal is simply to be able to replicate devstack's basic tempest-compatible provisioning
20:10 mgagne for networks and subnets, we can only hope that the name will be unique within the tenant.
20:13 marun mgagne: I think for simplicity I'm going to require network_name and not include network_id as a parameter.
20:13 mgagne my intention was to use quantum_network to pre-configure an openstack infra for test purposes only.
20:13 marun mgagne: yes, exactly
20:13 mgagne for production: maybe not =)
20:14 marun mgagne: is there a way to validate across multiple parameters?
20:14 marun mgagne: i.e. require this parameter OR this parameter?
20:14 marun mgagne: oh, actually, i have a way out...
20:14 mgagne there's a validate method I think
20:15 marun mgagne: but that's per-parameter
20:15 mgagne I used it already to check provider parameters
20:15 mgagne I don't think so =)
20:15 marun mgagne: if the validation has to occur across multiple parameters, that's a special case
20:15 marun mgagne: *sigh* wheel reinvention
20:15 mgagne see https://review.openstack.org/#/c/31087/5/lib/puppet/type/quantum_network.rb
20:15 mgagne validate
20:16 mgagne didn't find a way to have complex validation such as: all 3 or none. This one but not the other.
20:18 marun mgagne: ah!  I didn't realize there was a type-wide validate method.  That is what I was looking for and it was right under my nose.
20:18 mgagne =)
20:27 bodepd marun: I assume mgagne led you to the type wide validate call?
20:28 marun bodepd: he did indeed, thank you!
20:28 bodepd marun: I had set id as a read only parameter
20:28 bodepd marun: it was intended to serve two purposes.
20:28 bodepd 1. you can run : puppet resource keystone_user
20:29 bodepd and it's nice to be able to list the ids. I was also assuming it would be nice to store them in the resources so that resources could look up the id of other resources if they needed to
20:29 bodepd also, if name is not unique enough, perhaps.
20:29 bodepd quantum_network { 'name/tenant_name': }
20:30 bodepd or something is really want you want.
20:30 bodepd have a look at keystone endpoint for an example
20:30 bodepd b/ uniqueness is name + region
20:30 marun bodepd: ah, right
20:31 marun bodepd: no guarantee, but it could help
20:33 bodepd marun: don't get me started on guids again :) I've had time to further build an opinion on why they irritate me so much since we last chatted :)
20:33 dmsimard joined #puppet-openstack
20:33 marun bodepd: Fair enough.  :)
20:34 marun bodepd: I'd like to hear alternate ways of handling the problem they are solving, because i can't think of a better way to do it that scales, but I'll save that question for another day.
20:37 dmsimard1 joined #puppet-openstack
20:38 michchap joined #puppet-openstack
20:56 devicenull joined #puppet-openstack
20:57 JoeJulian_ joined #puppet-openstack
21:05 bodepd that module seems a little invasive in terms of how it configures apache
21:11 bodepd oops wrong window :)
21:13 otherwiseguy joined #puppet-openstack
21:16 michchap joined #puppet-openstack
21:21 dmsimard joined #puppet-openstack
21:34 marun bodepd, mgagne: help with autorequire?
21:35 mgagne It is a helper which adds a require to a resource of your choise if present. If the resource isn't declared, no require is defined on the custom type.
21:36 marun so if a subnet has a network name, how do i add a require for the network?
21:36 mgagne example: A file resource owner by 'marun'. Puppet will automatically add a require onto User['marun'] if it exists. it won't if none is found.
21:36 marun code example?
21:36 marun the example in dan's book is self[:source] if self[:source] and Pathname.new(self[:source]).absolute?
21:36 mgagne https://review.openstack.org/#/c/31087/5/lib/puppet/type/quantum_network.rb ?
21:37 mgagne line #87
21:37 marun i don't really get the syntax - what does it mean?
21:38 mgagne hold on, checking to make sure
21:39 mgagne :service is the resource type. I guess it could be quantum_network in your case. The method should return an array of quantum_networks
21:39 mgagne autorequire(:quantum_network) do
21:39 mgagne ['wan2001']
21:39 mgagne end
21:39 mgagne where wan2001 is the name of your network
21:40 mgagne I guess you can use one of the properties defined in your resource such as "network"
21:41 mgagne I think @parameters[:network] is the right one. bodepd should be able to confirm.
21:47 marun mgagne: cool, thank you
21:55 michchap joined #puppet-openstack
22:09 openstackgerrit Maru Newby proposed a change to stackforge/puppet-quantum: Add quantum_network custom type.  https://review.openstack.org/31087
22:12 openstackgerrit Maru Newby proposed a change to stackforge/puppet-quantum: Add quantum_subnet custom type.  https://review.openstack.org/33360
22:18 marun mgagne, bodepd: thinking of how to best implement for router interfaces...
22:18 marun mgagne, bodepd: is there a good way to integrate it into a router type, or should it be a separate type?
22:28 bodepd marun: are you sorted with autorequire ?
22:29 bodepd mgagne: marun should be self[:network] if I understand correctly
22:30 mgagne https://github.com/puppetlabs/puppet/blob/master/lib/puppet/type/user.rb#L331
22:33 michchap joined #puppet-openstack
22:34 bodepd IIRC self[] should be the way to do it.
22:34 bodepd the puppet source code itself is the worst place to look for the right way of doing things
22:34 bodepd it is full of contrast and in general lacks consistency
22:36 bodepd the other types in stackforge do you self[:param]
22:36 bodepd https://github.com/stackforge/puppet-keystone/blob/master/lib/puppet/type/keystone_user.rb#L60
23:02 mgagne bodepd: I'm using self[] myself :O
23:05 marun bodepd: I *think*  I'm sorted with autorequire...
23:06 marun autorequire(:network) do
23:06 marun [@parameters[:network_name]]
23:06 marun end
23:12 michchap joined #puppet-openstack
23:45 bodepd that looks right, except mgagne and I agreed it shoudl be self[:network_name] :)
23:46 bodepd (at least I think we did ;) )
23:50 michchap joined #puppet-openstack

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