Merge "Lazy load client classes"
This commit is contained in:
commit
dcd88f6f19
@ -14,28 +14,31 @@
|
|||||||
|
|
||||||
import functools
|
import functools
|
||||||
|
|
||||||
from barbicanclient import client as barbicanclient
|
|
||||||
from ceilometerclient.v2 import client as ceilometerclient
|
|
||||||
from cinderclient.v2 import client as cinderclient
|
|
||||||
from designateclient import v1 as designateclient
|
|
||||||
from glanceclient.v2 import client as glanceclient
|
|
||||||
from heatclient.v1 import client as heatclient
|
|
||||||
from ironic_inspector_client import v1 as ironic_inspector_client
|
|
||||||
from ironicclient.v1 import client as ironicclient
|
|
||||||
from keystoneclient.auth import identity
|
|
||||||
from keystoneclient import httpclient
|
|
||||||
from keystoneclient.v3 import client as keystoneclient
|
|
||||||
from magnumclient.v1 import client as magnumclient
|
|
||||||
from mistralclient.api.v2 import client as mistralclient
|
|
||||||
from muranoclient.v1 import client as muranoclient
|
|
||||||
from neutronclient.v2_0 import client as neutronclient
|
|
||||||
from novaclient import client as novaclient
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
from swiftclient import client as swift_client
|
from oslo_utils import importutils
|
||||||
from tackerclient.v1_0 import client as tackerclient
|
|
||||||
from troveclient.v1 import client as troveclient
|
from keystoneclient.auth import identity
|
||||||
from zaqarclient.queues.v2 import client as zaqarclient
|
from keystoneclient import httpclient
|
||||||
|
|
||||||
|
barbicanclient = importutils.try_import('barbicanclient.client')
|
||||||
|
ceilometerclient = importutils.try_import('ceilometerclient.v2.client')
|
||||||
|
cinderclient = importutils.try_import('cinderclient.v2.client')
|
||||||
|
designateclient = importutils.try_import('designateclient.v1')
|
||||||
|
glanceclient = importutils.try_import('glanceclient.v2.client')
|
||||||
|
heatclient = importutils.try_import('heatclient.v1.client')
|
||||||
|
keystoneclient = importutils.try_import('keystoneclient.v3.client')
|
||||||
|
ironic_inspector_client = importutils.try_import('ironic_inspector_client.v1')
|
||||||
|
ironicclient = importutils.try_import('ironicclient.v1.client')
|
||||||
|
magnumclient = importutils.try_import('magnumclient.v1.client')
|
||||||
|
mistralclient = importutils.try_import('mistralclient.api.v2.client')
|
||||||
|
muranoclient = importutils.try_import('muranoclient.v1.client')
|
||||||
|
neutronclient = importutils.try_import('neutronclient.v2_0.client')
|
||||||
|
novaclient = importutils.try_import('novaclient.client')
|
||||||
|
swift_client = importutils.try_import('swiftclient.client')
|
||||||
|
tackerclient = importutils.try_import('tackerclient.v1_0.client')
|
||||||
|
troveclient = importutils.try_import('troveclient.v1.client')
|
||||||
|
zaqarclient = importutils.try_import('zaqarclient.queues.v2.client')
|
||||||
|
|
||||||
from mistral.actions.openstack import base
|
from mistral.actions.openstack import base
|
||||||
from mistral import context
|
from mistral import context
|
||||||
@ -82,7 +85,10 @@ class NovaAction(base.OpenStackAction):
|
|||||||
|
|
||||||
|
|
||||||
class GlanceAction(base.OpenStackAction):
|
class GlanceAction(base.OpenStackAction):
|
||||||
_client_class = glanceclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return glanceclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -91,7 +97,7 @@ class GlanceAction(base.OpenStackAction):
|
|||||||
|
|
||||||
glance_endpoint = keystone_utils.get_endpoint_for_project('glance')
|
glance_endpoint = keystone_utils.get_endpoint_for_project('glance')
|
||||||
|
|
||||||
return self._client_class(
|
return GlanceAction._get_client_class()(
|
||||||
glance_endpoint.url,
|
glance_endpoint.url,
|
||||||
region_name=glance_endpoint.region,
|
region_name=glance_endpoint.region,
|
||||||
token=ctx.auth_token
|
token=ctx.auth_token
|
||||||
@ -99,11 +105,14 @@ class GlanceAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class("fake_endpoint")
|
return cls._get_client_class()("fake_endpoint")
|
||||||
|
|
||||||
|
|
||||||
class KeystoneAction(base.OpenStackAction):
|
class KeystoneAction(base.OpenStackAction):
|
||||||
_client_class = keystoneclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return keystoneclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -125,7 +134,7 @@ class KeystoneAction(base.OpenStackAction):
|
|||||||
or keystone_utils.is_token_trust_scoped(ctx.auth_token)):
|
or keystone_utils.is_token_trust_scoped(ctx.auth_token)):
|
||||||
kwargs['endpoint'] = ctx.auth_uri
|
kwargs['endpoint'] = ctx.auth_uri
|
||||||
|
|
||||||
client = self._client_class(**kwargs)
|
client = KeystoneAction._get_client_class()(**kwargs)
|
||||||
|
|
||||||
client.management_url = ctx.auth_uri
|
client.management_url = ctx.auth_uri
|
||||||
|
|
||||||
@ -137,7 +146,7 @@ class KeystoneAction(base.OpenStackAction):
|
|||||||
authenticate = httpclient.HTTPClient.authenticate
|
authenticate = httpclient.HTTPClient.authenticate
|
||||||
|
|
||||||
httpclient.HTTPClient.authenticate = lambda x: True
|
httpclient.HTTPClient.authenticate = lambda x: True
|
||||||
fake_client = cls._client_class()
|
fake_client = cls._get_client_class()()
|
||||||
|
|
||||||
# Once we get fake client, return back authenticate method
|
# Once we get fake client, return back authenticate method
|
||||||
httpclient.HTTPClient.authenticate = authenticate
|
httpclient.HTTPClient.authenticate = authenticate
|
||||||
@ -146,7 +155,10 @@ class KeystoneAction(base.OpenStackAction):
|
|||||||
|
|
||||||
|
|
||||||
class CeilometerAction(base.OpenStackAction):
|
class CeilometerAction(base.OpenStackAction):
|
||||||
_client_class = ceilometerclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return ceilometerclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -162,7 +174,7 @@ class CeilometerAction(base.OpenStackAction):
|
|||||||
{'tenant_id': ctx.project_id}
|
{'tenant_id': ctx.project_id}
|
||||||
)
|
)
|
||||||
|
|
||||||
return self._client_class(
|
return CeilometerAction._get_client_class()(
|
||||||
endpoint_url,
|
endpoint_url,
|
||||||
region_name=ceilometer_endpoint.region,
|
region_name=ceilometer_endpoint.region,
|
||||||
token=ctx.auth_token,
|
token=ctx.auth_token,
|
||||||
@ -171,11 +183,14 @@ class CeilometerAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class("")
|
return cls._get_client_class()("")
|
||||||
|
|
||||||
|
|
||||||
class HeatAction(base.OpenStackAction):
|
class HeatAction(base.OpenStackAction):
|
||||||
_client_class = heatclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return heatclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -192,7 +207,7 @@ class HeatAction(base.OpenStackAction):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
return self._client_class(
|
return HeatAction._get_client_class()(
|
||||||
endpoint_url,
|
endpoint_url,
|
||||||
region_name=heat_endpoint.region,
|
region_name=heat_endpoint.region,
|
||||||
token=ctx.auth_token,
|
token=ctx.auth_token,
|
||||||
@ -201,11 +216,14 @@ class HeatAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class("")
|
return cls._get_client_class()("")
|
||||||
|
|
||||||
|
|
||||||
class NeutronAction(base.OpenStackAction):
|
class NeutronAction(base.OpenStackAction):
|
||||||
_client_class = neutronclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return neutronclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -214,7 +232,7 @@ class NeutronAction(base.OpenStackAction):
|
|||||||
|
|
||||||
neutron_endpoint = keystone_utils.get_endpoint_for_project('neutron')
|
neutron_endpoint = keystone_utils.get_endpoint_for_project('neutron')
|
||||||
|
|
||||||
return self._client_class(
|
return NeutronAction._get_client_class()(
|
||||||
endpoint_url=neutron_endpoint.url,
|
endpoint_url=neutron_endpoint.url,
|
||||||
region_name=neutron_endpoint.region,
|
region_name=neutron_endpoint.region,
|
||||||
token=ctx.auth_token,
|
token=ctx.auth_token,
|
||||||
@ -223,7 +241,10 @@ class NeutronAction(base.OpenStackAction):
|
|||||||
|
|
||||||
|
|
||||||
class CinderAction(base.OpenStackAction):
|
class CinderAction(base.OpenStackAction):
|
||||||
_client_class = cinderclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return cinderclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -242,7 +263,7 @@ class CinderAction(base.OpenStackAction):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
client = self._client_class(
|
client = CinderAction._get_client_class()(
|
||||||
ctx.user_name,
|
ctx.user_name,
|
||||||
ctx.auth_token,
|
ctx.auth_token,
|
||||||
project_id=ctx.project_id,
|
project_id=ctx.project_id,
|
||||||
@ -257,11 +278,14 @@ class CinderAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class()
|
return cls._get_client_class()()
|
||||||
|
|
||||||
|
|
||||||
class MistralAction(base.OpenStackAction):
|
class MistralAction(base.OpenStackAction):
|
||||||
_client_class = mistralclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return mistralclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -281,7 +305,7 @@ class MistralAction(base.OpenStackAction):
|
|||||||
auth_url = keystone_endpoint.url
|
auth_url = keystone_endpoint.url
|
||||||
mistral_url = None
|
mistral_url = None
|
||||||
|
|
||||||
return self._client_class(
|
return MistralAction._get_client_class()(
|
||||||
mistral_url=mistral_url,
|
mistral_url=mistral_url,
|
||||||
auth_token=ctx.auth_token,
|
auth_token=ctx.auth_token,
|
||||||
project_id=ctx.project_id,
|
project_id=ctx.project_id,
|
||||||
@ -291,11 +315,14 @@ class MistralAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class()
|
return cls._get_client_class()()
|
||||||
|
|
||||||
|
|
||||||
class TroveAction(base.OpenStackAction):
|
class TroveAction(base.OpenStackAction):
|
||||||
_client_class = troveclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return troveclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -311,7 +338,7 @@ class TroveAction(base.OpenStackAction):
|
|||||||
{'tenant_id': ctx.project_id}
|
{'tenant_id': ctx.project_id}
|
||||||
)
|
)
|
||||||
|
|
||||||
client = self._client_class(
|
client = TroveAction._get_client_class()(
|
||||||
ctx.user_name,
|
ctx.user_name,
|
||||||
ctx.auth_token,
|
ctx.auth_token,
|
||||||
project_id=ctx.project_id,
|
project_id=ctx.project_id,
|
||||||
@ -326,11 +353,14 @@ class TroveAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class("fake_user", "fake_passwd")
|
return cls._get_client_class()("fake_user", "fake_passwd")
|
||||||
|
|
||||||
|
|
||||||
class IronicAction(base.OpenStackAction):
|
class IronicAction(base.OpenStackAction):
|
||||||
_client_class = ironicclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return ironicclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -339,7 +369,7 @@ class IronicAction(base.OpenStackAction):
|
|||||||
|
|
||||||
ironic_endpoint = keystone_utils.get_endpoint_for_project('ironic')
|
ironic_endpoint = keystone_utils.get_endpoint_for_project('ironic')
|
||||||
|
|
||||||
return self._client_class(
|
return IronicAction._get_client_class()(
|
||||||
ironic_endpoint.url,
|
ironic_endpoint.url,
|
||||||
token=ctx.auth_token,
|
token=ctx.auth_token,
|
||||||
region_name=ironic_endpoint.region
|
region_name=ironic_endpoint.region
|
||||||
@ -347,11 +377,14 @@ class IronicAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class("http://127.0.0.1:6385/")
|
return cls._get_client_class()("http://127.0.0.1:6385/")
|
||||||
|
|
||||||
|
|
||||||
class BaremetalIntrospectionAction(base.OpenStackAction):
|
class BaremetalIntrospectionAction(base.OpenStackAction):
|
||||||
_client_class = ironic_inspector_client.ClientV1
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return ironic_inspector_client.ClientV1
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -362,7 +395,7 @@ class BaremetalIntrospectionAction(base.OpenStackAction):
|
|||||||
service_type='baremetal-introspection'
|
service_type='baremetal-introspection'
|
||||||
)
|
)
|
||||||
|
|
||||||
return self._client_class(
|
return BaremetalIntrospectionAction._get_client_class()(
|
||||||
api_version=1,
|
api_version=1,
|
||||||
inspector_url=inspector_endpoint.url,
|
inspector_url=inspector_endpoint.url,
|
||||||
auth_token=ctx.auth_token,
|
auth_token=ctx.auth_token,
|
||||||
@ -370,7 +403,10 @@ class BaremetalIntrospectionAction(base.OpenStackAction):
|
|||||||
|
|
||||||
|
|
||||||
class SwiftAction(base.OpenStackAction):
|
class SwiftAction(base.OpenStackAction):
|
||||||
_client_class = swift_client.Connection
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return swift_client.Connection
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -384,11 +420,14 @@ class SwiftAction(base.OpenStackAction):
|
|||||||
'preauthtoken': ctx.auth_token
|
'preauthtoken': ctx.auth_token
|
||||||
}
|
}
|
||||||
|
|
||||||
return self._client_class(**kwargs)
|
return SwiftAction._get_client_class()(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
class ZaqarAction(base.OpenStackAction):
|
class ZaqarAction(base.OpenStackAction):
|
||||||
_client_class = zaqarclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return zaqarclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -407,11 +446,11 @@ class ZaqarAction(base.OpenStackAction):
|
|||||||
auth_opts = {'backend': 'keystone', 'options': opts}
|
auth_opts = {'backend': 'keystone', 'options': opts}
|
||||||
conf = {'auth_opts': auth_opts}
|
conf = {'auth_opts': auth_opts}
|
||||||
|
|
||||||
return self._client_class(zaqar_endpoint.url, conf=conf)
|
return ZaqarAction._get_client_class()(zaqar_endpoint.url, conf=conf)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class("")
|
return cls._get_client_class()("")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_client_method(cls, client):
|
def _get_client_method(cls, client):
|
||||||
@ -481,7 +520,10 @@ class ZaqarAction(base.OpenStackAction):
|
|||||||
|
|
||||||
|
|
||||||
class BarbicanAction(base.OpenStackAction):
|
class BarbicanAction(base.OpenStackAction):
|
||||||
_client_class = barbicanclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return barbicanclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -498,7 +540,7 @@ class BarbicanAction(base.OpenStackAction):
|
|||||||
tenant_id=ctx.project_id
|
tenant_id=ctx.project_id
|
||||||
)
|
)
|
||||||
|
|
||||||
return self._client_class(
|
return BarbicanAction._get_client_class()(
|
||||||
project_id=ctx.project_id,
|
project_id=ctx.project_id,
|
||||||
endpoint=barbican_endpoint.url,
|
endpoint=barbican_endpoint.url,
|
||||||
auth=auth
|
auth=auth
|
||||||
@ -506,7 +548,7 @@ class BarbicanAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class(
|
return cls._get_client_class()(
|
||||||
project_id="1",
|
project_id="1",
|
||||||
endpoint="http://127.0.0.1:9311"
|
endpoint="http://127.0.0.1:9311"
|
||||||
)
|
)
|
||||||
@ -580,7 +622,10 @@ class BarbicanAction(base.OpenStackAction):
|
|||||||
|
|
||||||
|
|
||||||
class DesignateAction(base.OpenStackAction):
|
class DesignateAction(base.OpenStackAction):
|
||||||
_client_class = designateclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return designateclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -596,7 +641,7 @@ class DesignateAction(base.OpenStackAction):
|
|||||||
{'tenant_id': ctx.project_id}
|
{'tenant_id': ctx.project_id}
|
||||||
)
|
)
|
||||||
|
|
||||||
client = self._client_class(
|
client = DesignateAction._get_client_class()(
|
||||||
endpoint=designate_url,
|
endpoint=designate_url,
|
||||||
tenant_id=ctx.project_id,
|
tenant_id=ctx.project_id,
|
||||||
auth_url=ctx.auth_uri,
|
auth_url=ctx.auth_uri,
|
||||||
@ -611,11 +656,14 @@ class DesignateAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class()
|
return cls._get_client_class()()
|
||||||
|
|
||||||
|
|
||||||
class MagnumAction(base.OpenStackAction):
|
class MagnumAction(base.OpenStackAction):
|
||||||
_client_class = magnumclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return magnumclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -626,7 +674,7 @@ class MagnumAction(base.OpenStackAction):
|
|||||||
auth_url = keystone_endpoint.url
|
auth_url = keystone_endpoint.url
|
||||||
magnum_url = keystone_utils.get_endpoint_for_project('magnum').url
|
magnum_url = keystone_utils.get_endpoint_for_project('magnum').url
|
||||||
|
|
||||||
return self._client_class(
|
return MagnumAction._get_client_class()(
|
||||||
magnum_url=magnum_url,
|
magnum_url=magnum_url,
|
||||||
auth_token=ctx.auth_token,
|
auth_token=ctx.auth_token,
|
||||||
project_id=ctx.project_id,
|
project_id=ctx.project_id,
|
||||||
@ -636,11 +684,14 @@ class MagnumAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class()
|
return cls._get_client_class()()
|
||||||
|
|
||||||
|
|
||||||
class MuranoAction(base.OpenStackAction):
|
class MuranoAction(base.OpenStackAction):
|
||||||
_client_class = muranoclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return muranoclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -650,7 +701,7 @@ class MuranoAction(base.OpenStackAction):
|
|||||||
keystone_endpoint = keystone_utils.get_keystone_endpoint_v2()
|
keystone_endpoint = keystone_utils.get_keystone_endpoint_v2()
|
||||||
murano_endpoint = keystone_utils.get_endpoint_for_project('murano')
|
murano_endpoint = keystone_utils.get_endpoint_for_project('murano')
|
||||||
|
|
||||||
return self._client_class(
|
return MuranoAction._get_client_class()(
|
||||||
endpoint=murano_endpoint.url,
|
endpoint=murano_endpoint.url,
|
||||||
token=ctx.auth_token,
|
token=ctx.auth_token,
|
||||||
tenant=ctx.project_id,
|
tenant=ctx.project_id,
|
||||||
@ -660,11 +711,14 @@ class MuranoAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class()
|
return cls._get_client_class()()
|
||||||
|
|
||||||
|
|
||||||
class TackerAction(base.OpenStackAction):
|
class TackerAction(base.OpenStackAction):
|
||||||
_client_class = tackerclient.Client
|
|
||||||
|
@classmethod
|
||||||
|
def _get_client_class(cls):
|
||||||
|
return tackerclient.Client
|
||||||
|
|
||||||
def _get_client(self):
|
def _get_client(self):
|
||||||
ctx = context.ctx()
|
ctx = context.ctx()
|
||||||
@ -674,7 +728,7 @@ class TackerAction(base.OpenStackAction):
|
|||||||
keystone_endpoint = keystone_utils.get_keystone_endpoint_v2()
|
keystone_endpoint = keystone_utils.get_keystone_endpoint_v2()
|
||||||
tacker_endpoint = keystone_utils.get_endpoint_for_project('tacker')
|
tacker_endpoint = keystone_utils.get_endpoint_for_project('tacker')
|
||||||
|
|
||||||
return self._client_class(
|
return TackerAction._get_client_class()(
|
||||||
endpoint_url=tacker_endpoint.url,
|
endpoint_url=tacker_endpoint.url,
|
||||||
token=ctx.auth_token,
|
token=ctx.auth_token,
|
||||||
tenant_id=ctx.project_id,
|
tenant_id=ctx.project_id,
|
||||||
@ -684,4 +738,4 @@ class TackerAction(base.OpenStackAction):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _get_fake_client(cls):
|
def _get_fake_client(cls):
|
||||||
return cls._client_class()
|
return cls._get_client_class()()
|
||||||
|
@ -31,7 +31,6 @@ class OpenStackAction(base.Action):
|
|||||||
which are constructed via OpenStack Action generators.
|
which are constructed via OpenStack Action generators.
|
||||||
"""
|
"""
|
||||||
_kwargs_for_run = {}
|
_kwargs_for_run = {}
|
||||||
_client_class = None
|
|
||||||
client_method_name = None
|
client_method_name = None
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
@ -64,8 +63,8 @@ class OpenStackAction(base.Action):
|
|||||||
It is needed for getting client-method args and description for
|
It is needed for getting client-method args and description for
|
||||||
saving into DB.
|
saving into DB.
|
||||||
"""
|
"""
|
||||||
# Default is simple _client_class instance
|
# Default is simple _get_client_class instance
|
||||||
return cls._client_class()
|
return cls._get_client_class()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_fake_client_method(cls):
|
def get_fake_client_method(cls):
|
||||||
|
Loading…
Reference in New Issue
Block a user