Skip to content
Snippets Groups Projects
  • Rafael Weingärtner's avatar
    f425c067
    Standardize use and construction of endpoint URLs · f425c067
    Rafael Weingärtner authored
    
    The goal for this push request is to normalize the construction and use
     of internal, external, and admin URLs. While extending Kolla-ansible
     to enable a more flexible method to manage external URLs, we noticed
     that the same URL was constructed multiple times in different parts
     of the code. This can make it difficult for people that want to work
     with these URLs and create inconsistencies in a large code base with
     time. Therefore, we are proposing here the use of
     "single Kolla-ansible variable" per endpoint URL, which facilitates
     for people that are interested in overriding/extending these URLs.
    
    As an example, we extended Kolla-ansible to facilitate the "override"
    of public (external) URLs with the following standard
    "<component/serviceName>.<companyBaseUrl>".
    Therefore, the "NAT/redirect" in the SSL termination system (HAproxy,
    HTTPD or some other) is done via the service name, and not by the port.
    This allows operators to easily and automatically create more friendly
     URL names. To develop this feature, we first applied this patch that
     we are sending now to the community. We did that to reduce the surface
      of changes in Kolla-ansible.
    
    Another example is the integration of Kolla-ansible and Consul, which
    we also implemented internally, and also requires URLs changes.
    Therefore, this PR is essential to reduce code duplicity, and to
    facility users/developers to work/customize the services URLs.
    
    Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93
    Signed-off-by: default avatarRafael Weingärtner <rafael@apache.org>
    f425c067
    History
    Standardize use and construction of endpoint URLs
    Rafael Weingärtner authored
    
    The goal for this push request is to normalize the construction and use
     of internal, external, and admin URLs. While extending Kolla-ansible
     to enable a more flexible method to manage external URLs, we noticed
     that the same URL was constructed multiple times in different parts
     of the code. This can make it difficult for people that want to work
     with these URLs and create inconsistencies in a large code base with
     time. Therefore, we are proposing here the use of
     "single Kolla-ansible variable" per endpoint URL, which facilitates
     for people that are interested in overriding/extending these URLs.
    
    As an example, we extended Kolla-ansible to facilitate the "override"
    of public (external) URLs with the following standard
    "<component/serviceName>.<companyBaseUrl>".
    Therefore, the "NAT/redirect" in the SSL termination system (HAproxy,
    HTTPD or some other) is done via the service name, and not by the port.
    This allows operators to easily and automatically create more friendly
     URL names. To develop this feature, we first applied this patch that
     we are sending now to the community. We did that to reduce the surface
      of changes in Kolla-ansible.
    
    Another example is the integration of Kolla-ansible and Consul, which
    we also implemented internally, and also requires URLs changes.
    Therefore, this PR is essential to reduce code duplicity, and to
    facility users/developers to work/customize the services URLs.
    
    Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93
    Signed-off-by: default avatarRafael Weingärtner <rafael@apache.org>