← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1526300] [NEW] openstack client in Mistal can't support to change the endpoint_type

 

Public bug reported:

In my OpenStack environment, publicURL of all the OpenStack services are based on HTTPS, and internalURL is based on HTTP. I want Mistral to use internalURL to access other OpenStack services, but looks like the "endpoint_type" is hard coded as shown here:
NovaAction._get_client
    def _get_client(self):
        ctx = context.ctx()

        LOG.debug("Nova action security context: %s" % ctx)

        keystone_endpoint = keystone_utils.get_keystone_endpoint_v2()
        nova_endpoint = keystone_utils.get_endpoint_for_project('nova')

        client = self._client_class(
            username=None,
            api_key=None,
            endpoint_type='publicURL',     <<<<< Here it is hard coded.
            service_type='compute',
            auth_token=ctx.auth_token,
            tenant_id=ctx.project_id,
            region_name=keystone_endpoint.region,
            auth_url=keystone_endpoint.url
        )

        client.client.management_url = keystone_utils.format_url(
            nova_endpoint.url,
            {'tenant_id': ctx.project_id}
        )

        return client

If it can be configurable, it will be great.

Thanks,
Tony

** Affects: mistral
     Importance: Undecided
         Status: New

** Project changed: horizon => mistral

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1526300

Title:
  openstack client in Mistal can't support to change the endpoint_type

Status in Mistral:
  New

Bug description:
  In my OpenStack environment, publicURL of all the OpenStack services are based on HTTPS, and internalURL is based on HTTP. I want Mistral to use internalURL to access other OpenStack services, but looks like the "endpoint_type" is hard coded as shown here:
  NovaAction._get_client
      def _get_client(self):
          ctx = context.ctx()

          LOG.debug("Nova action security context: %s" % ctx)

          keystone_endpoint = keystone_utils.get_keystone_endpoint_v2()
          nova_endpoint = keystone_utils.get_endpoint_for_project('nova')

          client = self._client_class(
              username=None,
              api_key=None,
              endpoint_type='publicURL',     <<<<< Here it is hard coded.
              service_type='compute',
              auth_token=ctx.auth_token,
              tenant_id=ctx.project_id,
              region_name=keystone_endpoint.region,
              auth_url=keystone_endpoint.url
          )

          client.client.management_url = keystone_utils.format_url(
              nova_endpoint.url,
              {'tenant_id': ctx.project_id}
          )

          return client

  If it can be configurable, it will be great.

  Thanks,
  Tony

To manage notifications about this bug go to:
https://bugs.launchpad.net/mistral/+bug/1526300/+subscriptions