diff --git a/murano/locale/en_GB/LC_MESSAGES/murano.po b/murano/locale/en_GB/LC_MESSAGES/murano.po index c5fc82884..804e0d35f 100644 --- a/murano/locale/en_GB/LC_MESSAGES/murano.po +++ b/murano/locale/en_GB/LC_MESSAGES/murano.po @@ -1,14 +1,15 @@ # OpenStack Infra , 2015. #zanata # Andi Chandler , 2017. #zanata +# Andi Chandler , 2018. #zanata msgid "" msgstr "" "Project-Id-Version: murano VERSION\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" -"POT-Creation-Date: 2017-12-19 17:39+0000\n" +"POT-Creation-Date: 2018-02-01 04:41+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2017-12-23 11:14+0000\n" +"PO-Revision-Date: 2018-02-09 11:08+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en-GB\n" @@ -264,6 +265,9 @@ msgstr "Package with specified full name is already registered" msgid "Package with the same Name is already made public" msgstr "Package with the same Name is already made public" +msgid "Path to RSA key for agent message signing" +msgstr "Path to RSA key for agent message signing" + msgid "Path to class configuration files" msgstr "Path to class configuration files" @@ -445,6 +449,9 @@ msgstr "cannot understand JSON" msgid "cannot understand XML" msgstr "cannot understand XML" +msgid "pip URL/package spec for murano-agent" +msgstr "pip URL/package spec for murano-agent" + msgid "{0}: Unsupported Format. Only {1} allowed" msgstr "{0}: Unsupported Format. Only {1} allowed" diff --git a/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po b/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po new file mode 100644 index 000000000..fc96e3fbe --- /dev/null +++ b/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po @@ -0,0 +1,1050 @@ +# Andi Chandler , 2017. #zanata +# Andi Chandler , 2018. #zanata +msgid "" +msgstr "" +"Project-Id-Version: Murano Release Notes\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-01 04:41+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 \n" +"Language-Team: English (United Kingdom)\n" +"Language: en-GB\n" +"X-Generator: Zanata 3.9.6\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +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.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 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."