Release 0.12.0 created by Andrey Kurilin on 08 May 2018, 22:36:33 UTC
Rally v0.12.0
+------------------+-----------------------+ | Release date | **05/08/2018** | +------------------+-----------------------+ .. warning:: It is friendly reminder about the future of in-tree OpenStack plugins. All further development is done in `a separate project <https://github.com/openstack/rally-openstack>`_. In-tree plugins are deprecated and will be removed in next major release! * Improve performance of *rally task import* command. * Port internals of Verification component to support pip 10 * Extend plugins interface to provide config options to load. An example of *setup.cfg*/*setup.py*: .. code-block:: [entry_points] rally_plugins = path = rally_openstack options = rally_openstack.cfg.opts:list_opts Method *list_opts* in the above example, returns a dict where key is a category name, value is a list of options. * Rework *ResourceType* plugin type. Previously, it was hard-coded for OpenStack resources only (initialization of OpenStack clients). An old interface looked like: .. code-block:: python from rally.common.plugin import plugin from rally.task import type @plugin.configure(name="glance") class GlanceResource(type.ResourceType): @classmethod def transform(cls, clients, resource_config): """Transform the resource config to id. :param clients: Initialized OpenStack clients :param resource_config: a dict with resource description taken from workload """ pass The new one: .. code-block:: python from rally.common.plugin import plugin from rally.task import type @plugin.configure(name="glance") class GlanceResource(type.ResourceType): def __init__(self, context, cache=None): """init method :param context: A context object as like other plugins accept. :param cache: A global cache which can be used for listing the similar resources. """ super(GlanceResource, self).__init__(context, cache) # NOTE #1: the next code is copy-pasted from # *rally_openstack.types.OpenStackResourceType* class and # there is no need to copy it to plugins itself, just inherit # from the right parent. # NOTE #2: the following code is equal to what we have in # an old ResourceType implementation. Property *self._clients* # is what was transmitted to transform method as *clients* # argument self._clients = None if self._context.get("admin"): self._clients = osclients.Clients( self._context["admin"]["credential"]) elif self._context.get("users"): self._clients = osclients.Clients( self._context["users"][0]["credential"]) def pre_process(self, resource_spec, config): """Pre process the resource config to id. :param resource_spec: a dict with resource description taken from workload :param config: A resource specification from scenario plugin. Usually it contains only *type* of resource. """ pass Fixed bugs ~~~~~~~~~~ * Fix deprecated *--tasks* argument of *rally task report*. Use *--uuid* instead. * Fix printing warning of an old deprecated deployment configuration format. Thanks ~~~~~~ 2 Everybody! -----BEGIN PGP SIGNATURE----- iQE0BAABCAAeBQJa8ibNFxxhbmRyLmt1cmlsaW5AZ21haWwuY29tAAoJEAgT8OTI EahpSUsIALQBdb3tALdRfaYG+vvVPWcjrMzm+TJVjTW0mr3GWFvw6l+Np4Ls++mF t2CHe1eUYTW921ugzybtAnt2LLITk1iy0NMNsDGar9tHzTnuwprqsP27A1PCMYN1 iW2QtuKk1sWDRbRTVJ7qwnUrrei7CbDcWSYSAg522SLwvk4F3yzyCVMyRPVCSMFQ sHNTLYED3zLU1WW6ThnS8NEvgNvRYUTU69bojOWGRvVFe03sObAjXYZpnUNFF8yT PBQSRJqmYh/6cdEdLzi/XIM+JxwTMYGIsphsgUqmQh9AhzViAj3ifnrodIENa4bF clEFMeweNTp5sNlkhjl0h4PfwJ2w48s= =tCMz -----END PGP SIGNATURE-----
Target: 6dcaebdc40bf676f9e9e68033cdca3b3962152b7
Directory: 47ad5ee974c50b1f7f3a7e646a97d4ce3f74553b
back to top