[openstack-dev] [Heat] publicURL vs internalURL for resource validation

Attila Szlovencsak attila at componentsoft.eu
Fri Oct 23 22:50:39 UTC 2015


Hi!

I am using Openstack Kilo (2015.1.1)
As I learned from the code, heat-engine uses the endpoint-type "publicURL",
when validating templates. I also see that I can override that from
heat.conf via [clients_XXX]/endpoint_type.


heat/engine/clients/os/nova.py
================================
    def _create(self):
        endpoint_type = self._get_client_option('nova', 'endpoint_type')
        management_url = self.url_for(service_type='compute',
                                      endpoint_type=endpoint_type)


/heat/common/config.py
=====================================
# these options define baseline defaults that apply to all clients
default_clients_opts = [
    cfg.StrOpt('endpoint_type',
               default='publicURL',

============
My questions:

1. Shouldn't we use the  interalURL instead as default?  In a typical case,
the controller node sits behind a load-balancer, and IP for the publicURLs
are held by the load-balancer. The controller node (so heat-engine) might
not have access to the publicURL at all.

2. Instead of creating and "endpoint_type" entry in heat.conf for each and
every service,  is there a simpler way to force using the internalURL?

Thanks in advance,
Attila




More information about the OpenStack-dev mailing list