Chris,

This looks very helpful.  I'll follow that approach and report back.

Thanks!

~jpr

On 04/08/2014 07:43 AM, christopher_dearb...@dell.com wrote:
>
> Hey John-Paul,
>
>  
>
> If you're looking to hack on the chef recipes on the admin node, then
> this is an easy way to do it:
>
>  
>
> 1.       Make your changes in /opt/dell/chef/cookbooks/nova/recipes/api.rb
>
> 2.       Upload your changes to the chef server:
>
> a.       cd /opt/dell/chef/cookbooks
>
> b.      knife cookbook upload nova --o .
>
> 3.       Wait for the next chef-client run, or run chef-client
> yourself on the target node
>
>  
>
>  
>
> Hope this helps!
>
>  
>
> Chris
>
> Dell
>
>  
>
>  
>
> *From:*crowbar-bounces *On Behalf Of *John-Paul Robinson
> *Sent:* Monday, April 07, 2014 11:33 AM
> *To:* crowbar
> *Subject:* Re: [Crowbar] changing the keystone endpoints to use FQDN
> for publicURL instead of IP
>
>  
>
> Thanks for the insights Adam.
>
> We have Crowbar 1.5.   I think that puts us in betty release territory
> so this is our api.rb:
>
> https://github.com/crowbar/barclamp-nova/blob/release/betty/master/chef/cookbooks/nova/recipes/api.rb
>
> I checked on the helpers.rb code in roxy and it looks useful.  I don't
> think I'll be able to use it directly in our version of crowbar
> because I don't think our deploy has information about host names. 
> The example does clarify that all I'd really need to do is set the
> preferred host name statically.
>
> While it would be a dirty fix, I think I could get away with setting
> my host name statically on line 125 in our api.rb:
>
> https://github.com/crowbar/barclamp-nova/blob/release/betty/master/chef/cookbooks/nova/recipes/api.rb#L125
>
> I don't mind this approach, at least as a first step.  My issue really
> boils down to where to make changes when there are chef recipes to update:
>
> Do I:
>
>   * edit the api.rb in the barclamp-nova under
>     /opt/dell/barclamps/nova/chef/cookbooks/nova/recipes/api.rb and
>     then install this updated barclamp -- if so how do I install the
>     new barclamp?
>   * edit the api.rb in the chef configuration under
>     /opt/dell/chef/cookbooks/nova/recipes/api.rb and install the new
>     recipie -- if so how do I best install the new recipe?
>   * do something else?
>
> I'm confused on how I go from code update -> barclamp -> chef
> server.   Is it possible to non-destructively (from the perspective of
> the nodes that have been provisioned by a barclamp) redeploy a
> barclamp after changing something like the cookbooks it contains?
>
> Thanks for any pointers.
>
> ~jpr
>
> On 04/04/2014 11:41 AM, Adam Spiers wrote:
>
>     John-Paul Robinson (j...@uab.edu <mailto:j...@uab.edu>) wrote:
>
>         Hi,
>
>          
>
>         I'm trying to enable nova client access to my controller deployed by
>
>         crowbar from nodes that are not on the public/float network.  In our
>
>         environment the public/float network is a private address range that
>
>         sits behind an additional firewall.  I'd like to change the public 
> URLs
>
>         advertised by keystone to use FQDNs instead of IPs.
>
>          
>
>         I'm able to add a new FQDN-based endpoint directly using the keystone
>
>         admin URL. However, it appears this is all managed by Chef since the 
> new
>
>         entry is removed within 15 minutes.
>
>          
>
>         Indeed there is a nova barclamp and installed nova cookbook on the 
> admin
>
>         node.
>
>          
>
>         It looks like the nova api.rb recipe is responsible for setting this
>
>         value in the "register nova endpoint" section:
>
>          
>
>         endpoint_publicURL "http://#{public_api_ip}:8774/v2/$(tenant_id)s" 
> <http://#%7Bpublic_api_ip%7D:8774/v2/$%28tenant_id%29s>
>
>          
>
>         The public_api_ip comes from earlier in the recipe and is set from
>
>         (likely) the Crowbar install parameters:
>
>          
>
>         public_api_ip =
>
>         Chef::Recipe::Barclamp::Inventory.get_network_by_type(api, 
> "public").address
>
>          
>
>         I'd like to change public_api_ip to my preferred FQDN of the 
> controller.
>
>          I'm assuming there is no variable that I can draw from to get this 
> FQDN
>
>         and am fine with starting off hard coding the value in the above
>
>         variable definition (ugly but effective).
>
>          
>
>         What I don't fully grok yet, is where to make this change.  I'm 
> assuming
>
>         it would be best to make it in Chef recipe housed in the nova barclamp
>
>         and then update the barclamp in some way, which would update the
>
>         registered nova cookbook with Chef, which would then change keystone 
> on
>
>         the controller.  How do I do that?
>
>      
>
>     Which release are you using?  In roxy (as used by SUSE Cloud 3), we
>
>     already expose this as an option, and in fact the code handles several
>
>     related issues:
>
>      
>
>       - if there is a preferred public name, it gets used
>
>       - if not, the IP is used by default, although ...
>
>       - if SSL is in use, the host's FQDN is used instead (so certificate
>
>         validation works)
>
>       - https protocol is used if SSL enabled
>
>       - if keystone is running inside a Pacemaker cluster then HAproxy
>
>         is automatically configured, a floating IP is set up for its
>
>         frontend, together with an associated hostname in DNS which the
>
>         other barclamps can then consume
>
>      
>
>     e.g. see 
> https://github.com/crowbar/barclamp-nova/blob/release/roxy/master/chef/cookbooks/nova/recipes/api.rb#L59
>
>      
>
>     This is achieved via shared helpers so that all barclamps consume
>
>     endpoints in a consistent DRY manner:
>
>      
>
>       
> https://github.com/crowbar/barclamp-crowbar/blob/release/roxy/master/chef/cookbooks/utils/libraries/helpers.rb#L12
>
>      
>
>         Sorry for beating this issue to death, but this is just a place where
>
>         the Crowbar docs don't really (or appear to) help out much.
>
>      
>
>     Right :-/
>
>      
>
>     But these are the kind of common use cases where we want to do the
>
>     hard work so you don't have to ;-)
>
>      
>
>     _______________________________________________
>
>     Crowbar mailing list
>
>     Crowbar@dell.com <mailto:Crowbar@dell.com>
>
>     https://lists.us.dell.com/mailman/listinfo/crowbar
>
>     For more information: http://crowbar.github.com/
>
>  
>

_______________________________________________
Crowbar mailing list
Crowbar@dell.com
https://lists.us.dell.com/mailman/listinfo/crowbar
For more information: http://crowbar.github.com/

Reply via email to