# Andi Chandler <andi@gowling.com>, 2017. #zanata
# Andi Chandler <andi@gowling.com>, 2018. #zanata
msgid ""
msgstr ""
"Project-Id-Version: Murano Release Notes\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-26 12:04+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2018-02-09 11:21+0000\n"
"Last-Translator: Andi Chandler <andi@gowling.com>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
"X-Generator: Zanata 4.3.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"

msgid ""
"\"List Environments\" API call is now able to filter environments by an "
"owner project (tenant)."
msgstr ""
"\"List Environments\" API call is now able to filter environments by an "
"owner project (tenant)."

msgid ""
"/environments/ENV_ID/model/PATH endpoint added. GET request responds with "
"the subsection of ENV_ID's object model located in its PATH. PATCH request "
"applies json-patch from request body to ENV_ID's model. It does not contain "
"PATH in the URL."
msgstr ""
"/environments/ENV_ID/model/PATH endpoint added. GET request responds with "
"the subsection of ENV_ID's object model located in its PATH. PATCH request "
"applies json-patch from request body to ENV_ID's model. It does not contain "
"PATH in the URL."

msgid "1.0.2"
msgstr "1.0.2"

msgid "1.0.3"
msgstr "1.0.3"

msgid "2.0.0"
msgstr "2.0.0"

msgid "2.0.1"
msgstr "2.0.1"

msgid "2.0.2"
msgstr "2.0.2"

msgid "2.0.2-12"
msgstr "2.0.2-12"

msgid "3.0.0"
msgstr "3.0.0"

msgid "3.0.0-15"
msgstr "3.0.0-15"

msgid "3.1.0"
msgstr "3.1.0"

msgid "3.2.0"
msgstr "3.2.0"

msgid "4.0.0"
msgstr "4.0.0"

msgid "5.0.0.0b1"
msgstr "5.0.0.0b1"

msgid "5.0.0.0b3"
msgstr "5.0.0.0b3"

msgid ""
"A configuration file setting `[engine]/agent_source` was added. The value is "
"then used for the `pip install` command to install the murano-agent. Since "
"pip accepts http and git URLs, this can be used to install agent from the "
"custom git repo or install version other than the latest."
msgstr ""
"A configuration file setting `[engine]/agent_source` was added. The value is "
"then used for the `pip install` command to install the murano-agent. Since "
"pip accepts HTTP and git URLs, this can be used to install agent from the "
"custom git repo or install version other than the latest."

msgid ""
"API call for deleting a service from environment template did not return "
"result of its operation. The issue is fixed."
msgstr ""
"API call for deleting a service from environment template did not return "
"result of its operation. The issue is fixed."

msgid "Add multiple engine workers"
msgstr "Add multiple engine workers"

msgid ""
"Add notifications about environment events that are required for tracking. "
"These are AMQP notifications and oslo.messaging library is used for sending "
"them. The follow event types are provided: environment.deploy.end, "
"environment.delete.end, environment.exists There are 2 new configuration "
"options controlling these notifications: stats.env_audit_period, "
"env_audit_enabled."
msgstr ""
"Add notifications about environment events that are required for tracking. "
"These are AMQP notifications and oslo.messaging library is used for sending "
"them. The follow event types are provided: environment.deploy.end, "
"environment.delete.end, environment.exists There are 2 new configuration "
"options controlling these notifications: stats.env_audit_period, "
"env_audit_enabled."

msgid ""
"Added :command:`murano-test-tunner` command to run murano package tests."
msgstr ""
"Added :command:`murano-test-tunner` command to run Murano package tests."

msgid ""
"Added API endpoint ``/templates/{env_template_id}/services/{path:.*?}`` for "
"environment template application update operation."
msgstr ""
"Added API endpoint ``/templates/{env_template_id}/services/{path:.*?}`` for "
"environment template application update operation."

msgid ""
"Added Support for application deployment across OpenStack regions. Now, all "
"OpenStack resource classes inherit from ``io.murano.CloudResource`` that "
"provides ``.getRegion()`` method and ``regionName`` property. This allows to "
"assign resources to different regions. ``.getRegion()`` returns ``io.murano."
"CloudRegion`` instance that resource or its parent belongs to. "
"``CloudRegion`` has interface similar to ``Environment`` class and is the "
"correct way to get ``HeatStack`` instance associated with the region, "
"default network configuration, security group manager and agent listener "
"instances. ``Environment`` now acts as default region so backward "
"compatibility is not broken. However new applications should not use "
"environment to set security group rules but rather a region(s) of their "
"instance(s) in order to work correctly when their instances were configured "
"to use region other than the default."
msgstr ""
"Added Support for application deployment across OpenStack regions. Now, all "
"OpenStack resource classes inherit from ``io.murano.CloudResource`` that "
"provides ``.getRegion()`` method and ``regionName`` property. This allows to "
"assign resources to different regions. ``.getRegion()`` returns ``io.murano."
"CloudRegion`` instance that resource or its parent belongs to. "
"``CloudRegion`` has interface similar to ``Environment`` class and is the "
"correct way to get ``HeatStack`` instance associated with the region, "
"default network configuration, security group manager and agent listener "
"instances. ``Environment`` now acts as default region so backward "
"compatibility is not broken. However new applications should not use "
"environment to set security group rules but rather a region(s) of their "
"instance(s) in order to work correctly when their instances were configured "
"to use region other than the default."

msgid ""
"Added a MetadataAware mixin class capable to retrieve the metadata "
"attributes from the implementing objects and all its parents."
msgstr ""
"Added a MetadataAware mixin class capable to retrieve the metadata "
"attributes from the implementing objects and all its parents."

msgid ""
"Added a ``metadata()`` yaql function to retrieve the meta information about "
"the object, stored in the \"?/metadata\" section of object model."
msgstr ""
"Added a ``metadata()`` yaql function to retrieve the meta information about "
"the object, stored in the \"?/metadata\" section of object model."

msgid ""
"Added a new API endpoint ``v1/actions`` to call static public methods. It "
"accepts class name, method name, method arguments, and optionally package "
"name and class version in the request body. This call does not create an "
"environment, object instances or database records."
msgstr ""
"Added a new API endpoint ``v1/actions`` to call static public methods. It "
"accepts class name, method name, method arguments, and optionally package "
"name and class version in the request body. This call does not create an "
"environment, object instances or database records."

msgid ""
"Added a new engine RPC call to generate json-schema from MuranoPL class. The "
"schema may be generated either from the entire class or for specific model "
"builders - static actions that can be used to generate object model from "
"their input. Class schema is built by inspecting class properties and method "
"schema using the same algorithm but applied to its arguments."
msgstr ""
"Added a new engine RPC call to generate json-schema from MuranoPL class. The "
"schema may be generated either from the entire class or for specific model "
"builders - static actions that can be used to generate object model from "
"their input. Class schema is built by inspecting class properties and method "
"schema using the same algorithm but applied to its arguments."

msgid ""
"Added a new manifest format 1.4.0. Introduced the 'Scope' keyword for class "
"methods to declare a method's accessibility from outside through the API "
"call."
msgstr ""
"Added a new manifest format 1.4.0. Introduced the 'Scope' keyword for class "
"methods to declare a method's accessibility from outside through the API "
"call."

msgid ""
"Added a new yaql function 'decryptData' which pairs with 'encryptData' on "
"the dashboard side. Application authors can use these functions to secure "
"sensitive input to their Murano applications such as passwords."
msgstr ""
"Added a new YAQL function 'decryptData' which pairs with 'encryptData' on "
"the dashboard side. Application authors can use these functions to secure "
"sensitive input to their Murano applications such as passwords."

msgid "Added ability to extend MuranoPL entities with custom metadata."
msgstr "Added ability to extend MuranoPL entities with custom metadata."

msgid ""
"Added an overload of the new function - ``new($model, $owner)``. It loads "
"complete object graph in a single call. Objects in the model can have cross "
"references. In that case, this is the only way to instantiate the graph. "
"Objects might be specified either in object model format (with '?' attribute "
"or in MuranoPL format (used for Meta definitions)."
msgstr ""
"Added an overload of the new function - ``new($model, $owner)``. It loads "
"complete object graph in a single call. Objects in the model can have cross "
"references. In that case, this is the only way to instantiate the graph. "
"Objects might be specified either in object model format (with '?' attribute "
"or in MuranoPL format (used for Meta definitions)."

msgid "Added clone action to environment templates."
msgstr "Added clone action to environment templates."

msgid "Added filter by 'Name' which only matches package name."
msgstr "Added filter by 'Name' which only matches package name."

msgid ""
"Added magnum plugin to murano, that allows creating/deleting of magnum "
"baymodels and bays from MuranoPL"
msgstr ""
"Added Magnum plugin to Murano, that allows creating/deleting of Magnum "
"baymodels and bays from MuranoPL"

msgid ""
"Added public field to environment templates. GET method for api now displays "
"public templates from other projects(tenants)."
msgstr ""
"Added public field to environment templates. GET method for API now displays "
"public templates from other projects(tenants)."

msgid "Added public filter to environment templates api."
msgstr "Added public filter to environment templates API."

msgid ""
"Added the ``api_workers`` option to ``murano`` config group. It controls the "
"number of API workers launched by murano. If not set, it would default to "
"the number of CPUs available."
msgstr ""
"Added the ``api_workers`` option to ``murano`` config group. It controls the "
"number of API workers launched by Murano. If not set, it would default to "
"the number of CPUs available."

msgid ""
"Added the ``description_text`` field to environment and environment "
"templates database tables and respective API objects."
msgstr ""
"Added the ``description_text`` field to environment and environment "
"templates database tables and respective API objects."

msgid ""
"Added the ``driver`` configuration option to the ``networking`` group. It "
"allows to explicitly select the networking driver. It supports 'neutron' and "
"'nova' options. If set to ``None`` (default), murano attempts to use "
"'neutron' if available, 'nova' otherwise. The change is backward compatible."
msgstr ""
"Added the ``driver`` configuration option to the ``networking`` group. It "
"allows to explicitly select the networking driver. It supports 'neutron' and "
"'nova' options. If set to ``None`` (default), Murano attempts to use "
"'neutron' if available, 'nova' otherwise. The change is backward compatible."

msgid ""
"Added the ``timeout`` parameter to ``runCommand`` and ``putFile`` methods of "
"the ``io.murano.configuration.Linux`` class."
msgstr ""
"Added the ``timeout`` parameter to ``runCommand`` and ``putFile`` methods of "
"the ``io.murano.configuration.Linux`` class."

msgid ""
"Added the capability to declare MuranoPL YAML methods with variable length "
"positional and keyword arguments. This is done using argument ``Usage`` "
"attribute. Regular arguments have Standard usage which is the default. "
"Variable length args (args in Python) should have \"Usage: VarArgs\" and "
"keyword args (kwargs) are declared with \"Usage: KwArgs\". Inside the method "
"they are seen as a list and a dictionary correspondingly. For such arguments "
"contracts are written for individual argument values thus no need to write "
"them as lists/dicts."
msgstr ""
"Added the capability to declare MuranoPL YAML methods with variable length "
"positional and keyword arguments. This is done using argument ``Usage`` "
"attribute. Regular arguments have Standard usage which is the default. "
"Variable length args (args in Python) should have \"Usage: VarArgs\" and "
"keyword args (kwargs) are declared with \"Usage: KwArgs\". Inside the method "
"they are seen as a list and a dictionary correspondingly. For such arguments "
"contracts are written for individual argument values thus no need to write "
"them as lists/dicts."

msgid ""
"Added the following meta-classes to the core library - ``Title`` "
"``Description`` ``HelpText`` ``Hidden`` ``Section`` ``Position`` "
"``ModelBuilder``. These classes will later be used to implement dynamic "
"object model generation."
msgstr ""
"Added the following meta-classes to the core library - ``Title`` "
"``Description`` ``HelpText`` ``Hidden`` ``Section`` ``Position`` "
"``ModelBuilder``. These classes will later be used to implement dynamic "
"object model generation."

msgid ""
"All HOT template outputs are put into a single dictionary property "
"'templateOutputs' rather than in a generated property per each output. As a "
"result there are no more constraints on output names."
msgstr ""
"All HOT template outputs are put into a single dictionary property "
"'templateOutputs' rather than in a generated property per each output. As a "
"result there are no more constraints on output names."

msgid ""
"Avoid race condition during parallel upload of packages, when packages have "
"same tags."
msgstr ""
"Avoid race condition during parallel upload of packages, when packages have "
"same tags."

msgid ""
"Basic reflection capabilities were added to MuranoPL. Now it is possible to "
"get type info with typeinfo() function and using it as a starting point "
"obtain information about the class, its methods and properties as well as "
"the package of the class. Reflected properties can be used to obtain or set "
"its value in a given object or invoke its method."
msgstr ""
"Basic reflection capabilities were added to MuranoPL. Now it is possible to "
"get type info with typeinfo() function and using it as a starting point "
"obtain information about the class, its methods and properties as well as "
"the package of the class. Reflected properties can be used to obtain or set "
"its value in a given object or invoke its method."

msgid "Bug Fixes"
msgstr "Bug Fixes"

msgid ""
"Changed the type representation in object model. Previous format was to have "
"three attributes in \"?\" section of the object - type, classVersion and "
"package where only the \"type\" is mandatory. Now they are merged into "
"single attribute \"type\" that has a format ``typeName/version@package``. "
"Version and package parts are still optional."
msgstr ""
"Changed the type representation in object model. Previous format was to have "
"three attributes in \"?\" section of the object - type, classVersion and "
"package where only the \"type\" is mandatory. Now they are merged into "
"single attribute \"type\" that has a format ``typeName/version@package``. "
"Version and package parts are still optional."

msgid ""
"Class configs are now also versioned. For class foo.bar version 1.2.3 the "
"following file names will be examined: foo.bar-1.2.3.json foo.bar-1.2.3.yaml "
"foo.bar-1.2.json foo.bar-1.2.yaml foo.bar-1.json foo.bar-1.yaml In addition "
"for classes of version 0.x.y file name without version suffix are also "
"examined as a last attempt so the backward compatibility is retained"
msgstr ""
"Class configs are now also versioned. For class foo.bar version 1.2.3 the "
"following file names will be examined: foo.bar-1.2.3.json foo.bar-1.2.3.yaml "
"foo.bar-1.2.json foo.bar-1.2.yaml foo.bar-1.json foo.bar-1.yaml In addition "
"for classes of version 0.x.y file name without version suffix are also "
"examined as a last attempt so the backward compatibility is retained"

msgid ""
"Classes to work with Cinder volumes were added to core library. Now it is "
"possible to create new volume from various sources or use existing volume. "
"Also it is possible to attach volumes to instances and boot instances from "
"volumes."
msgstr ""
"Classes to work with Cinder volumes were added to core library. Now it is "
"possible to create new volume from various sources or use existing volume. "
"Also it is possible to attach volumes to instances and boot instances from "
"volumes."

msgid ""
"Core Library's init scripts used to have various problems detecting pre-"
"installed (by DIB) murano-agent on non-ubuntu images. Agent setup script now "
"checks wider list of directories before attempting to install murano-agnet "
"and service script now does not impose strict script location."
msgstr ""
"Core Library's init scripts used to have various problems detecting pre-"
"installed (by DIB) murano-agent on non-ubuntu images. Agent setup script now "
"checks wider list of directories before attempting to install murano-agnet "
"and service script now does not impose strict script location."

msgid "Current Series Release Notes"
msgstr "Current Series Release Notes"

msgid ""
"Deprecated the 'Usage Action' keyword. For format versions >= 1.4.0, use "
"'Scope Public' instead."
msgstr ""
"Deprecated the 'Usage Action' keyword. For format versions >= 1.4.0, use "
"'Scope Public' instead."

msgid "Deprecation Notes"
msgstr "Deprecation Notes"

msgid ""
"Due to refactoring, contracts work a little bit faster because there is no "
"more need to generate yaql function definition for each contract method on "
"each call."
msgstr ""
"Due to refactoring, contracts work a little bit faster because there is no "
"more need to generate a YAQL function definition for each contract method on "
"each call."

msgid "Enable mocks in MuranoPL tests cases."
msgstr "Enable mocks in MuranoPL tests cases."

msgid ""
"Enabling multiple workers might break workflows under BSD and Windows systems"
msgstr ""
"Enabling multiple workers might break workflows under BSD and Windows systems"

msgid ""
"Equality check (assertEqual) in test-runner can now properly compare two "
"MuranoPl objects."
msgstr ""
"Equality check (assertEqual) in test-runner can now properly compare two "
"MuranoPl objects."

msgid ""
"File ``murano-paste.ini has been updated to use oslo HTTPProxyToWSGI "
"middleware. Config option ``secure_proxy_ssl_header`` has been removed. "
"Please refer to oslo_middleware configuration options if you wish deploy "
"murano behind TLS proxy. Most notably you would need to set "
"``enable_proxy_headers_parsing`` under group ``oslo_middleware`` to True, to "
"enable header parsing."
msgstr ""
"File ``murano-paste.ini has been updated to use oslo HTTPProxyToWSGI "
"middleware. Config option ``secure_proxy_ssl_header`` has been removed. "
"Please refer to oslo_middleware configuration options if you wish deploy "
"murano behind TLS proxy. Most notably you would need to set "
"``enable_proxy_headers_parsing`` under group ``oslo_middleware`` to True, to "
"enable header parsing."

msgid ""
"Fixed a bug when the UI dialog was not displayed in Murano Dashboard for "
"applications which don't have UI definitions bundled in the package but "
"generate them based on the package contents instead. This usually affected "
"HOT-based packages and other non-muranopl-based applications."
msgstr ""
"Fixed a bug when the UI dialogue was not displayed in Murano Dashboard for "
"applications which don't have UI definitions bundled in the package but "
"generate them based on the package contents instead. This usually affected "
"HOT-based packages and other non-muranopl-based applications."

msgid ""
"Fixed incorrect murano behaviour if deployed on devstack with keystone v3 by "
"default."
msgstr ""
"Fixed incorrect Murano behaviour if deployed on devstack with keystone v3 by "
"default."

msgid ""
"Fixed the issue that prevented the test-runner from properly invoking "
"``setUp`` and ``tearDown`` methods of fixtures in some cases."
msgstr ""
"Fixed the issue that prevented the test-runner from properly invoking "
"``setUp`` and ``tearDown`` methods of fixtures in some cases."

msgid ""
"For MuranoPL classes new key \"Usage\" was added. By default it is \"Class"
"\". But it can also be \"Meta\" to define meta-class. Meta-class has all the "
"capabilities of regular classes and in addition has 3 new attributes: "
"Cardinality, Applies and Inherited."
msgstr ""
"For MuranoPL classes new key \"Usage\" was added. By default it is \"Class"
"\". But it can also be \"Meta\" to define meta-class. Meta-class has all the "
"capabilities of regular classes and in addition has 3 new attributes: "
"Cardinality, Applies and Inherited."

msgid ""
"Heat stacks created by murano during environment deployment now have "
"'murano' tag by default. This is controlled by ``stack_tags`` config "
"parameter."
msgstr ""
"Heat stacks created by Murano during environment deployment now have "
"'murano' tag by default. This is controlled by ``stack_tags`` config "
"parameter."

msgid ""
"Implemented a new contract function ``template()``. ``template()`` works "
"similar to the ``class()`` in regards to the data validation but does not "
"instantiate objects. Instead, the data is left in the object model in "
"dictionary format so that it could be instantiated later with the ``new()`` "
"function. Additionally, the function allows excluding specified properties "
"from validation and from the resulting template so that they could be "
"provided later. Objects that are assigned to the property or argument with "
"``template()`` contract will be automatically converted to their object "
"model representation."
msgstr ""
"Implemented a new contract function ``template()``. ``template()`` works "
"similar to the ``class()`` in regards to the data validation but does not "
"instantiate objects. Instead, the data is left in the object model in "
"dictionary format so that it could be instantiated later with the ``new()`` "
"function. Additionally, the function allows excluding specified properties "
"from validation and from the resulting template so that they could be "
"provided later. Objects that are assigned to the property or argument with "
"``template()`` contract will be automatically converted to their object "
"model representation."

msgid ""
"Implemented a new framework for MuranoPL contracts. Now, instead of several "
"independent implementations of the same yaql methods (string(), class() "
"etc.) all implementations of the same method are combined into single class. "
"Therefore, we now have a class per contract method. This also simplifies "
"development of new contracts. Each such class can provide methods for data "
"transformation (default contract usage), validation that is used to decide "
"if the method can be considered an extension method for the value, and json "
"schema generation method that was moved from the schema generator script."
msgstr ""
"Implemented a new framework for MuranoPL contracts. Now, instead of several "
"independent implementations of the same YAQL methods (string(), class() "
"etc.) all implementations of the same method are combined into single class. "
"Therefore, we now have a class per contract method. This also simplifies "
"development of new contracts. Each such class can provide methods for data "
"transformation (default contract usage), validation that is used to decide "
"if the method can be considered an extension method for the value, and JSON "
"schema generation method that was moved from the schema generator script."

msgid ""
"Implemented the capability for API endpoint ``/catalog/packages`` to filter "
"'id', 'category', 'tag' properties using the 'in' operator. An example of "
"using the 'in' operator for 'id' is 'id=in:id1,id2,id3'. This filter is "
"added using syntax that conforms to the latest guidelines from the OpenStack "
"API-WG."
msgstr ""
"Implemented the capability for API endpoint ``/catalog/packages`` to filter "
"'id', 'category', 'tag' properties using the 'in' operator. An example of "
"using the 'in' operator for 'id' is 'id=in:id1,id2,id3'. This filter is "
"added using syntax that conforms to the latest guidelines from the OpenStack "
"API-WG."

msgid ""
"Implemented the capability for the helper methods of Linux class to run "
"concurrently if executed for different VM agents."
msgstr ""
"Implemented the capability for the helper methods of Linux class to run "
"concurrently if executed for different VM agents."

msgid ""
"Internally, both pre-deployment garbage collection (that was done by "
"comparision of ``Objects`` and ``ObjectsCopy``) and post-deployment orphan "
"object collection are now done through the new GC."
msgstr ""
"Internally, both pre-deployment garbage collection (that was done by "
"comparison of ``Objects`` and ``ObjectsCopy``) and post-deployment orphan "
"object collection are now done through the new GC."

msgid ""
"Introduced a new MuranoPL class ``io.murano.system.GC`` Now MuranoPL garbage "
"collector can be used to set up destruction dependencies between murano "
"objects. If object Foo is subscribed to object Bar's destruction, it will be "
"notified through a specific handler. If both Foo and Bar are going to be "
"destroyed during one execution session, Foo will be destroyed after Bar. You "
"can omit the handler, in this case destruction order will also be preserved. "
"Handler can be a static or a usual function."
msgstr ""
"Introduced a new MuranoPL class ``io.murano.system.GC`` Now MuranoPL garbage "
"collector can be used to set up destruction dependencies between Murano "
"objects. If object Foo is subscribed to object Bar's destruction, it will be "
"notified through a specific handler. If both Foo and Bar are going to be "
"destroyed during one execution session, Foo will be destroyed after Bar. You "
"can omit the handler, in this case destruction order will also be preserved. "
"Handler can be a static or a usual function."

msgid ""
"Introduced two YAQL *inject* functions to enable mocks ``def inject(target, "
"target_method, mock_object, mock_name)`` and ``def inject(target, "
"target_method, yaql_expr)``."
msgstr ""
"Introduced two YAQL *inject* functions to enable mocks ``def inject(target, "
"target_method, mock_object, mock_name)`` and ``def inject(target, "
"target_method, yaql_expr)``."

msgid ""
"It is now possible to use version specifications like '=0.0.0' when "
"``semantic_version`` library version '2.3.1' is installed. Previously such "
"specifications caused an error and '==0.0.0' had to be used."
msgstr ""
"It is now possible to use version specifications like '=0.0.0' when "
"``semantic_version`` library version '2.3.1' is installed. Previously such "
"specifications caused an error and '==0.0.0' had to be used."

msgid ""
"It is possible to attach meta-class instances to packages, classes "
"(including other meta-classes), properties, methods and method arguments. "
"Each of them got new \"Meta\" key containing list (or single scalar) of meta-"
"class instances."
msgstr ""
"It is possible to attach meta-class instances to packages, classes "
"(including other meta-classes), properties, methods and method arguments. "
"Each of them got new \"Meta\" key containing list (or single scalar) of meta-"
"class instances."

msgid ""
"It was impossible to explicitly provide attribute owner class to getAttr/"
"setAttr methods without using namespace prefix or if the type was not from "
"the core library."
msgstr ""
"It was impossible to explicitly provide attribute owner class to getAttr/"
"setAttr methods without using namespace prefix or if the type was not from "
"the core library."

msgid "Known Issues"
msgstr "Known Issues"

msgid "Liberty Series Release Notes"
msgstr "Liberty Series Release Notes"

msgid "Mitaka Series Release Notes"
msgstr "Mitaka Series Release Notes"

msgid "Murano Release Notes"
msgstr "Murano Release Notes"

msgid ""
"Murano engine can be configured to sign all the RabbitMQ messages sent to "
"the agents. When the RSA key is provided, engine will provide agents with "
"its public part and sign all the messages sent. Agents then will ignore any "
"command that was not sent by the engine."
msgstr ""
"Murano engine can be configured to sign all the RabbitMQ messages sent to "
"the agents. When the RSA key is provided, engine will provide agents with "
"its public part and sign all the messages sent. Agents then will ignore any "
"command that was not sent by the engine."

msgid ""
"Murano engine is now capable of caching packages on disk for reuse. This is "
"controlled by `packages_cache` directory path and `enable_packages_cache` "
"boolean parameter (true by default). The packages are cached in a eventlet/"
"inter-process safe manner and are cleaned up as soon as newer version of the "
"package becomes available (unless it's used by ongoing deployment)"
msgstr ""
"Murano engine is now capable of caching packages on disk for reuse. This is "
"controlled by `packages_cache` directory path and `enable_packages_cache` "
"boolean parameter (true by default). The packages are cached in a eventlet/"
"inter-process safe manner and are cleaned up as soon as newer version of the "
"package becomes available (unless it's used by ongoing deployment)"

msgid ""
"Murano engine no longer logs methods ``string()``, ``json()``, and "
"``yaml()`` of the 'io.murano.system.Resources' class. This is done to "
"prevent UnicodeDecodeError's when transferring binary files to murano agent."
msgstr ""
"Murano engine no longer logs methods ``string()``, ``json()``, and "
"``yaml()`` of the 'io.murano.system.Resources' class. This is done to "
"prevent UnicodeDecodeError's when transferring binary files to Murano agent."

msgid ""
"Murano is now able to assign correct floating IPs when using multiple "
"external networks. It attempts to choose one that shares a router with "
"internal network."
msgstr ""
"Murano is now able to assign correct Floating IPs when using multiple "
"external networks. It attempts to choose one that shares a router with "
"internal network."

msgid ""
"Murano is now able to deploy applications in the environments with disabled "
"Neutron Security Groups. Detection is based on the presence of 'security-"
"group' Neutron extension."
msgstr ""
"Murano is now able to deploy applications in the environments with disabled "
"Neutron Security Groups. Detection is based on the presence of 'security-"
"group' Neutron extension."

msgid ""
"Murano is now able to work with keystone configured to use a templated "
"catalog."
msgstr ""
"Murano is now able to work with Keystone configured to use a templated "
"catalogue."

msgid ""
"Murano switched to using standard oslo middleware HTTPProxyToWSGI instead of "
"custom implementation. This middleware parses the X-Forwarded-Proto HTTP "
"header or the Proxy protocol in order to help murano respond with the "
"correct URL refs when it's put behind a TLS proxy (such as HAProxy). This "
"middleware is disabled by default, but can be enabled via a configuration "
"option in the oslo_middleware group."
msgstr ""
"Murano switched to using standard Oslo middleware HTTPProxyToWSGI instead of "
"custom implementation. This middleware parses the X-Forwarded-Proto HTTP "
"header or the Proxy protocol in order to help Murano respond with the "
"correct URL refs when it's put behind a TLS proxy (such as HAProxy). This "
"middleware is disabled by default, but can be enabled via a configuration "
"option in the oslo_middleware group."

msgid "Murano was migrated to yaql 1.1"
msgstr "Murano was migrated to YAQL 1.1"

msgid "New Features"
msgstr "New Features"

msgid "New database migration 015 has to be applied."
msgstr "New database migration 015 has to be applied."

msgid ""
"New format MuranoPL/1.3 can be specified in manifest files. MuranoPL/1.3 is "
"identical to MuranoPL/1.2 but except for the fact that MuranoPL/1.3 packages "
"cannot be imported to earlier Murano versions. Thus applications that use "
"new features of yaql 1.1 should use this format version."
msgstr ""
"New format MuranoPL/1.3 can be specified in manifest files. MuranoPL/1.3 is "
"identical to MuranoPL/1.2 but except for the fact that MuranoPL/1.3 packages "
"cannot be imported to earlier Murano versions. Thus applications that use "
"new features of YAQL 1.1 should use this format version."

msgid ""
"New method type: extension methods. Extension methods enable you to \"add\" "
"methods to existing types without modifying the original type. Extension "
"methods are a special kind of static method, but they are called as if they "
"were instance methods on the extended type. Extension methods are identified "
"by \"Usage: Extension\" and the type they extend is determined by their "
"first argument contract. Thus such methods must have at lease one parameter."
msgstr ""
"New method type: extension methods. Extension methods enable you to \"add\" "
"methods to existing types without modifying the original type. Extension "
"methods are a special kind of static method, but they are called as if they "
"were instance methods on the extended type. Extension methods are identified "
"by \"Usage: Extension\" and the type they extend is determined by their "
"first argument contract. Thus such methods must have at lease one parameter."

msgid ""
"New on-request garbage collector for MuranoPL objects were implemented. "
"Garbage collection is triggered by io.murano.system.GC.collect() static "
"method. Garbage collector destroys all object that are not reachable "
"anymore. GC can handle objects with cross-references and isolated object "
"graphs. When portion of object model becomes not reachable it destroyed in "
"predictable order such that child objects get destroyed before their parents "
"and, when possible, before objects that are subscribed to their destruction "
"notifications."
msgstr ""
"New on-request garbage collector for MuranoPL objects were implemented. "
"Garbage collection is triggered by io.murano.system.GC.collect() static "
"method. Garbage collector destroys all object that are not reachable any "
"more. GC can handle objects with cross-references and isolated object "
"graphs. When portion of object model becomes not reachable it destroyed in "
"predictable order such that child objects get destroyed before their parents "
"and, when possible, before objects that are subscribed to their destruction "
"notifications."

msgid ""
"New operator *is* was added to MuranoPL. Now it is possible to test if "
"MuranoPL object is of particular type."
msgstr ""
"New operator *is* was added to MuranoPL. Now it is possible to test if "
"MuranoPL object is of particular type."

msgid ""
"New plugin 'murano_heat-translator_plugin' was added. Now it is possible to "
"deploy applications from CSAR templates."
msgstr ""
"New plugin 'murano_heat-translator_plugin' was added. Now it is possible to "
"deploy applications from CSAR templates."

msgid ""
"New type-level keyword \"Import\" which can be either list or scalar that "
"specifies type names which extensions methods should be imported into class "
"context and thus become available to type members."
msgstr ""
"New type-level keyword \"Import\" which can be either list or scalar that "
"specifies type names which extensions methods should be imported into class "
"context and thus become available to type members."

msgid "Newton Series Release Notes"
msgstr "Newton Series Release Notes"

msgid ""
"Now all native MuranoPL methods (those that are written in Python) have \"?"
"muranoMethod\" metadata key referring to MuranoMethod instance for the "
"method."
msgstr ""
"Now all native MuranoPL methods (those that are written in Python) have \"?"
"muranoMethod\" metadata key referring to MuranoMethod instance for the "
"method."

msgid ""
"Now it is possible to have several classes in one YAML file. Classes are "
"separated using YAML document separator (3 dashes). Empty documents are "
"skipped. If the class doesn't have Namespace section corresponding section "
"from the previous class in the same file is used. Thus it is possible to "
"declare namespace prefixes once at the file header. Even if there are "
"several classes in one file all of them are still required to be declared in "
"manifest file."
msgstr ""
"Now it is possible to have several classes in one YAML file. Classes are "
"separated using YAML document separator (3 dashes). Empty documents are "
"skipped. If the class doesn't have Namespace section corresponding section "
"from the previous class in the same file is used. Thus it is possible to "
"declare namespace prefixes once at the file header. Even if there are "
"several classes in one file all of them are still required to be declared in "
"manifest file."

msgid "Ocata Series Release Notes"
msgstr "Ocata Series Release Notes"

msgid "Other Notes"
msgstr "Other Notes"

msgid "Pike Series Release Notes"
msgstr "Pike Series Release Notes"

msgid ""
"Prevented the resource leak for objects created during deployment with "
"``new()`` function call."
msgstr ""
"Prevented the resource leak for objects created during deployment with "
"``new()`` function call."

msgid ""
"Previously Cinder Volumes created in MuranoPL were not released correctly on "
"object destruction. The issue is now fixed."
msgstr ""
"Previously Cinder Volumes created in MuranoPL were not released correctly on "
"object destruction. The issue is now fixed."

msgid ""
"Previously murano assumed that the service user and service project are in "
"the 'Default' domain. These values can now be set in ``keystone_authtoken`` "
"config group."
msgstr ""
"Previously Murano assumed that the service user and service project are in "
"the 'Default' domain. These values can now be set in ``keystone_authtoken`` "
"config group."

msgid ""
"Previously, when a class overrode a property from its parent class the value "
"was stored separately for both of them, transformed by each of the "
"contracts. Thus each class saw the value of its contract. In absolute "
"majority of the cases, the observed value was the same. However, if the "
"contracts were compatible on the provided value (say int() and string() "
"contracts on the value \"123\") they were different. This is considered to "
"be a bad pattern. Now, the value is stored only once per object and "
"transformed by the contract defined in the actual object type. All base "
"contracts are used to validate the transformed object thus this pattern will "
"not work anymore."
msgstr ""
"Previously, when a class overrode a property from its parent class the value "
"was stored separately for both of them, transformed by each of the "
"contracts. Thus each class saw the value of its contract. In absolute "
"majority of the cases, the observed value was the same. However, if the "
"contracts were compatible on the provided value (say int() and string() "
"contracts on the value \"123\") they were different. This is considered to "
"be a bad pattern. Now, the value is stored only once per object and "
"transformed by the contract defined in the actual object type. All base "
"contracts are used to validate the transformed object thus this pattern will "
"not work any more."

msgid ""
"Previously, when pre-deployment garbage collection occurred it executed ``."
"destroy`` method for objects that were present in the ``ObjectsCopy`` "
"section of the object model (which is the the snapshot of the model after "
"last deployment) and not present in the current model anymore (because they "
"were deleted through the API between deployments). If the destroyed objects "
"were to access another object that was not deleted it was accessing its copy "
"from the ``ObjectsCopy``. Thus any changes to the internal state made by "
"that object were lost after the garbage collection finished (that is, before "
"the ``.deploy`` method call) and could not affect the deployment. Now, if "
"the object is present in both ``Objects`` and ``ObjectsCopy``, a single "
"instance (the one from ``Objects``) is used for both garbage collection and "
"deployment. As a consequence, instances (in their ``.destroy`` method) now "
"may observe changes made to other objects they refer if they were not "
"deleted, but modified through the API. In some rare cases, it may break "
"existing applications."
msgstr ""
"Previously, when pre-deployment garbage collection occurred it executed ``."
"destroy`` method for objects that were present in the ``ObjectsCopy`` "
"section of the object model (which is the the snapshot of the model after "
"last deployment) and not present in the current model any more (because they "
"were deleted through the API between deployments). If the destroyed objects "
"were to access another object that was not deleted it was accessing its copy "
"from the ``ObjectsCopy``. Thus any changes to the internal state made by "
"that object were lost after the garbage collection finished (that is, before "
"the ``.deploy`` method call) and could not affect the deployment. Now, if "
"the object is present in both ``Objects`` and ``ObjectsCopy``, a single "
"instance (the one from ``Objects``) is used for both garbage collection and "
"deployment. As a consequence, instances (in their ``.destroy`` method) now "
"may observe changes made to other objects they refer if they were not "
"deleted, but modified through the API. In some rare cases, it may break "
"existing applications."

msgid ""
"Remove hardcoded constant called 'ITERATORS_LIMIT', that can be exceeded "
"(2000) having big amount of objects. Introduce dsl_iterators_limit "
"configuration option instead of constant."
msgstr ""
"Remove hardcoded constant called 'ITERATORS_LIMIT', that can be exceeded "
"(2000) having big amount of objects. Introduce dsl_iterators_limit "
"configuration option instead of constant."

msgid ""
"Removed `show_categories` endpoint from the application catalog API which "
"has been deprecated since the Liberty cycle. Use `list_categories` instead."
msgstr ""
"Removed `show_categories` endpoint from the application catalogue API which "
"has been deprecated since the Liberty cycle. Use `list_categories` instead."

msgid ""
"Removed the need for Keystone v2 options (admin_user, admin_password, "
"admin_tenant_name) when Keystone v3 is in use."
msgstr ""
"Removed the need for Keystone v2 options (admin_user, admin_password, "
"admin_tenant_name) when Keystone v3 is in use."

msgid ""
"Renamed the ``workers`` option from the ``engine`` group to "
"``engine_workers`` to reduce ambiguity with the ``api_workers`` option."
msgstr ""
"Renamed the ``workers`` option from the ``engine`` group to "
"``engine_workers`` to reduce ambiguity with the ``api_workers`` option."

msgid ""
"RequestContext now serialises it's roles. This should allow murano to work "
"correctly (and allow rules like \"role:xxx\" in policy.json) when using oslo."
"context prior to 2.2.0 and oslo.policy"
msgstr ""
"RequestContext now serialises it's roles. This should allow Murano to work "
"correctly (and allow rules like \"role:xxx\" in policy.json) when using oslo."
"context prior to 2.2.0 and oslo.policy"

msgid ""
"Requires a valid secret storage backend (e.g. Barbican) to be configured via "
"Castellan."
msgstr ""
"Requires a valid secret storage backend (e.g. Barbican) to be configured via "
"Castellan."

msgid "Security Issues"
msgstr "Security Issues"

msgid ""
"Separated murano service broker from murano-api into a murano-cfapi service. "
"Created a separate database and ``paste.ini`` for service broker."
msgstr ""
"Separated Murano service broker from murano-api into a murano-cfapi service. "
"Created a separate database and ``paste.ini`` for service broker."

msgid ""
"Since Newton release, heat is available as a devstack plugin. So we remove "
"heat as enable_service in devstack."
msgstr ""
"Since Newton release, heat is available as a devstack plugin. So we remove "
"heat as enable_service in devstack."

msgid ""
"Split ``Instance``'s ``.deploy()`` method into two phases - "
"``beginDeploy()`` and ``endDeploy()``. This allows the application developer "
"to provision multiple instances at once without the need to push the stack "
"for each instance."
msgstr ""
"Split ``Instance``'s ``.deploy()`` method into two phases - "
"``beginDeploy()`` and ``endDeploy()``. This allows the application developer "
"to provision multiple instances at once without the need to push the stack "
"for each instance."

msgid ""
"Static methods and properties were introduced. Both properties and methods "
"can be marked as Usage: Static Statics can be accessed using ns:Class."
"property / ns:Class.method(), :Class.property / :Class.method() to access "
"class from current namespace or type('full.name').property / type('full."
"name').method() to use full type name."
msgstr ""
"Static methods and properties were introduced. Both properties and methods "
"can be marked as Usage: Static Statics can be accessed using ns:Class."
"property / ns:Class.method(), :Class.property / :Class.method() to access "
"class from current namespace or type('full.name').property / type('full."
"name').method() to use full type name."

msgid ""
"The ``string()`` contract no longer converts everything to string values. "
"Now it only converts scalar values to strings. Previous behavior allowed "
"``string()`` property to accept lists and convert them to their Python "
"string representation which is clearly not what developers expected."
msgstr ""
"The ``string()`` contract no longer converts everything to string values. "
"Now it only converts scalar values to strings. Previous behaviour allowed "
"``string()`` property to accept lists and convert them to their Python "
"string representation which is clearly not what developers expected."

msgid ""
"The contract ``class()`` now uses the same approach to load classes from "
"dictionaries. Thus the same two syntaxes apply there as well."
msgstr ""
"The contract ``class()`` now uses the same approach to load classes from "
"dictionaries. Thus the same two syntaxes apply there as well."

msgid ""
"The test-runner now does not output logs to stderr by default unless a "
"'use_stderr' parameter is specified in the configuration file."
msgstr ""
"The test-runner now does not output logs to stderr by default unless a "
"'use_stderr' parameter is specified in the configuration file."

msgid ""
"The test-runner now outputs the tests it runs and their results to stdout "
"directly, instead of the logging system."
msgstr ""
"The test-runner now outputs the tests it runs and their results to stdout "
"directly, instead of the logging system."

msgid ""
"The value that is stored in the object's properties is obtained by executing "
"special \"finalize\" contract implementation which by default returns the "
"input value unmodified. Because validation happens on the transformed value "
"before it gets finalized it is possible for transformation to return a value "
"that will pass the validation though the final value won't. This is used to "
"relax the template() contract limitation that prevented child class from "
"excluding additional properties from the template."
msgstr ""
"The value that is stored in the object's properties is obtained by executing "
"special \"finalise\" contract implementation which by default returns the "
"input value unmodified. Because validation happens on the transformed value "
"before it gets finalized it is possible for transformation to return a value "
"that will pass the validation though the final value won't. This is used to "
"relax the template() contract limitation that prevented child class from "
"excluding additional properties from the template."

msgid "Upgrade Notes"
msgstr "Upgrade Notes"

msgid ""
"Users can now assign an existing security group to an application as an "
"alternative to using the one created by Murano's ``SecurityGroupManager``."
msgstr ""
"Users can now assign an existing security group to an application as an "
"alternative to using the one created by Murano's ``SecurityGroupManager``."

msgid ""
"When updating to Mitaka, the operator should update service name and type "
"for endpoint in keystone from \"application_catalog\" to \"application-"
"catalog\" if SQL is used for catalog back-end driver."
msgstr ""
"When updating to Mitaka, the operator should update service name and type "
"for endpoint in Keystone from \"application_catalog\" to \"application-"
"catalog\" if SQL is used for catalogue back-end driver."

msgid ""
"Whenever murano-engine accesses script files, text script files are opened "
"in 'rU' mode which recognizes all types of newlines, and binary files are "
"opened in 'rb' mode to prevent their corruption."
msgstr ""
"Whenever murano-engine accesses script files, text script files are opened "
"in 'rU' mode which recognises all types of newlines, and binary files are "
"opened in 'rb' mode to prevent their corruption."

msgid ""
"cve-2016-4972 has been addressed. In ceveral places Murano used loaders "
"inherited directly from yaml.Loader when parsing MuranoPL and UI files from "
"packages. This is unsafe, because this loader is capable of creating custom "
"python objects from specifically constructed yaml files. With this change "
"all yaml loading operations are done using safe loaders instead."
msgstr ""
"cve-2016-4972 has been addressed. In several places Murano used loaders "
"inherited directly from yaml.Loader when parsing MuranoPL and UI files from "
"packages. This is unsafe, because this loader is capable of creating custom "
"Python objects from specifically constructed YAML files. With this change "
"all YAML loading operations are done using safe loaders instead."

msgid "io.murano.configuration.Linux methods are now static"
msgstr "io.murano.configuration.Linux methods are now static"

msgid ""
"io.murano.system.GC.isDestroyed() static method was added. It checks if the "
"object is destroyed and thus no methods can be invoked on it."
msgstr ""
"io.murano.system.GC.isDestroyed() static method was added. It checks if the "
"object is destroyed and thus no methods can be invoked on it."

msgid ""
"io.murano.system.GC.isDoomed() static method was added. It can be used "
"within the ``.destroy`` method to test if other object is also going to be "
"destroyed."
msgstr ""
"io.murano.system.GC.isDoomed() static method was added. It can be used "
"within the ``.destroy`` method to test if other object is also going to be "
"destroyed."
