Update release docs with bugs
[appc.git] / docs / release-notes.rst
1 .. ============LICENSE_START==========================================
2 .. ===================================================================
3 .. Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
4 .. ===================================================================
5 .. Licensed under the Creative Commons License, Attribution 4.0 Intl.  (the "License");
6 .. you may not use this documentation except in compliance with the License.
7 .. You may obtain a copy of the License at
8 .. 
9 ..  https://creativecommons.org/licenses/by/4.0/
10 .. 
11 .. Unless required by applicable law or agreed to in writing, software
12 .. distributed under the License is distributed on an "AS IS" BASIS,
13 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 .. See the License for the specific language governing permissions and
15 .. limitations under the License.
16 .. ============LICENSE_END============================================
17
18 Release Notes
19 =============
20
21 .. note
22 ..      * This Release Notes must be updated each time the team decides to Release new artifacts.
23 ..      * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes.
24 ..      * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes.
25 ..      * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release.
26 ..      * This note must be removed after content has been added.
27
28
29 Version: 1.4.4
30 --------------
31
32 :Release Date: 2019-1-31
33
34
35 **Bug Fixes**
36
37 The Casablanca maintenance release fixed the following bugs:
38
39         - `APPC-1247 <https://jira.onap.org/browse/APPC-1247>`_ - java.lang.NoClassDefFoundError when publishing DMAAP message
40              Changes were made to the karaf bundle exports to fix this problem.
41         - `APPC-1289 <https://jira.onap.org/browse/APPC-1289>`_ - VNF Restart flow throws Linkage Error
42              Pom file dependency changes were made to fix this problem.
43         - `CCSDK-741 <https://jira.onap.org/browse/CCSDK-741>`_ - Removed Work-around required for vCPE use case to correct the error described in CCSDK ticket.
44              APPC updated to using the latest CCSDK version in order to recieve the fix for this problem (`APPC-1304 <https://jira.onap.org/browse/APPC-1304>`_)
45  
46 Special Note for `APPC-1367 <https://jira.onap.org/browse/APPC-1367>`_ - APPC fails healthcheck with 404 error:
47
48        During testing, we found there is a timing issue. When using OOM to deploy to k8s environment the clustered MariaDB database is not accessible at the time when the APPC pod is trying to insert the DG into MariaDb. This would cause the healthcheck issue. The workaround to solve this issue is redeploying the APPC pod.
49
50 Version: 1.4.3
51 --------------
52
53 :Release Date: 2018-11-30
54
55
56 **New Features**
57
58 The Casablanca release added the following functionality:
59
60          - Upgraded OpenDaylight (ODL) version to Oxygen 
61
62          - Upgraded to Karaf 4.1.5
63
64          - Migrated DB from mysql to maria db with galeira, tested on k8s clustering platform
65
66          - Added an ansible docker container, tested for DistributeTraffic LCM action
67
68          - Added support for the following LCM actions (a desciption of all of the above LCM actions can be found in the APPC LCM API Guide on readthedoc): 
69          
70                 - To support in-place software upgrade:
71                 
72                   - DistributeTraffic
73                   
74                 - To support storage management in OpenStack
75                 
76                   - Reboot with hard and soft option
77                   
78          - Additional contributions as part of Casablanca include: 
79          
80                 - Support for Platform Maturity requirements, including:
81                 
82                    - Increased security
83                    
84                           - Enabled bath feature from AAF, CDT GUI and APIDOC can be used when AAF enbled  (see `APPC-1237 <https://jira.onap.org/browse/APPC-1237>`_ for additional details)
85                           - Addressed critical alerts reported via Nexus IQ to the extent possible (see `APPC-770 <https://jira.onap.org/browse/APPC-770>`_ and wiki: https://wiki.onap.org/pages/viewpage.action?pageId=40927352 )
86                           
87                    - Stability
88                    
89                           - Executed 72 hour stability test on both Heat and OOM deployed environments using JMeter to drive a steady set of transactions over the 72 hour period (see the following wiki page for more details: https://wiki.onap.org/display/DW/APPC+72+Hour+Stability+Testing+Casablanca )
90                           
91                    - Resiliency
92                    
93                           - Support for OOM deployment, which enables resiliency via use of Kubernetes (see https://wiki.onap.org/display/DW/APPC+Resiliency for additional details) 
94                           
95
96 **Bug Fixes**
97
98         - `APPC-1009 <https://jira.onap.org/browse/APPC-1009>`_ - An incorrect regex in appc-provider-model was causing intermittent unit test failures. This is now fixed.
99
100         - `APPC-1021 <https://jira.onap.org/browse/APPC-1021>`_ - An unnecessary pseudoterminal allocation for SSH connection was causing problems when trying to connect to a ConfD NETCONF Server.
101   
102         - `APPC-1107 <https://jira.onap.org/browse/APPC-1107>`_ - Database problems were causing artifacts created in CDT to not save to APPC. These have been fixed.
103
104         - `APPC-1111 <https://jira.onap.org/browse/APPC-1111>`_ - TestDmaapConsumerImpl.testFetch method was taking 130+ seconds to run test. Build time is shorter now.
105
106         - `APPC-1112 <https://jira.onap.org/browse/APPC-1112>`_ - Several unit tests in TimeTest.java had intermittent failures.
107
108         - `APPC-1157 <https://jira.onap.org/browse/APPC-1157>`_ - Mockito package was removed from the APPC client jar. It was causing conflicts with other applications using APPC client library.
109
110         - `APPC-1184 <https://jira.onap.org/browse/APPC-1184>`_ - The APPC LCM API documentation was outdated and did not reflect the correct endpoints.
111
112         - `APPC-1186 <https://jira.onap.org/browse/APPC-1186>`_ - VNF-Level OpenStack actions such as Restart were failing if the optional identity-url was omitted from the payload of the request.
113
114         - `APPC-1188 <https://jira.onap.org/browse/APPC-1188>`_ - Exception was occurring if force flag was set to false in a request from policy.
115
116         - `APPC-1192 <https://jira.onap.org/browse/APPC-1192>`_ - CDT was not updating the DEVICE_INTERFACE_PROTOCOL table, so APPC was unable to get the protocol during lcm actions.
117
118         - `APPC-1205 <https://jira.onap.org/browse/APPC-1205>`_ - Artifacts manually entered into CDT were not saving correctly, while artifacts created by uploading a template were.
119
120         - `APPC-1207 <https://jira.onap.org/browse/APPC-1207>`_ - Logging constants were missing in several features, causing incorrect logging messages.
121
122         - `APPC-1218 <https://jira.onap.org/browse/APPC-1218>`_ - Aai connection had certificate errors and path build exceptions.
123
124         - `APPC-1224 <https://jira.onap.org/browse/APPC-1224>`_ - SubRequestID was not being relayed back to Policy in DMaaP Response messages.
125
126         - `APPC-1226 <https://jira.onap.org/browse/APPC-1226>`_ - Mock code to mimic backend execution for Reboot was causing problems and has been removed.
127
128         - `APPC-1227 <https://jira.onap.org/browse/APPC-1227>`_ - APPC was not able to read VNF templates created with CDT.
129
130         - `APPC-1230 <https://jira.onap.org/browse/APPC-1230>`_ - APPC was using the GenericRestart DG instead of DGOrchestrator.
131
132         - `APPC-1231 <https://jira.onap.org/browse/APPC-1231>`_ - APPC was not updating the TRANSACTIONS table correctly when an operation completed.
133
134         - `APPC-1233 <https://jira.onap.org/browse/APPC-1233>`_ - DGOrchestrator was incorrectly being given an output.payload parameter instead of output-payload.
135
136         - `APPC-1234 <https://jira.onap.org/browse/APPC-1234>`_ - AppC Open Day Light login was responding 401 unauthorized when AAF was enabled.
137
138         - `APPC-1237 <https://jira.onap.org/browse/APPC-1237>`_ - APPC was not properly url-encoding AAF credentials.
139
140         - `APPC-1243 <https://jira.onap.org/browse/APPC-1243>`_ - Container was not preserving mysql data after kubectl edit statefulset.
141
142         - `APPC-1244 <https://jira.onap.org/browse/APPC-1244>`_ - Ansible Server would never start in oom.
143
144 **Known Issues**
145
146         - `APPC-1247 <https://jira.onap.org/browse/APPC-1247>`_ - java.lang.NoClassDefFoundError when publishing DMAAP message
147             - This issue is relevant during the vCPE use case.
148             - Due to this defect, the VM will perform four start/stop sequences, instead of the normal one.
149             - After the four start/stop sequences, the VM will be left in the correct state that it should be in.
150         
151         - Work-around required for vCPE use case to correct the error described in: `CCSDK-741 <https://jira.onap.org/browse/CCSDK-741>`_
152             - CCSDK aai adapter doesn't recognize generic-vnf attribute in the response, as it is not defined by aai_schema XSD
153             - To work around this, several steps must be performed as described here:
154                 
155                 1. Add a restapi template file into the appc docker containers
156                     a. Enter the appc docker container (docker exec... or kubectl exec...)
157                     b. Create a directory: /opt/onap/appc/templates
158                     c. Download this file `aai-named-query.json <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob_plain;f=vcpe-workaround-files/aai-named-query.json;hb=refs/heads/casablanca>`_ and place it in that directory
159                 2. Replace the generic restart DG with a new one
160                     a. Download the `APPC_Generic_Restart.xml <https://gerrit.onap.org/r/gitweb?p=appc/deployment.git;a=blob_plain;f=vcpe-workaround-files/APPC_method_Generic_Restart_3.0.0.xml;hb=refs/heads/casablanca>`_
161                     b. Edit the file. Find the parameter definition lines for restapiUrl, restapiUser, restapiPassword (lines 52-54) and replace these with the correct values for your aai server.
162                     c. Copy this file into the appc docker containers to the /opt/onap/appc/svclogic/graphs directory (you will be replacing the old version of the file with this copy)
163                 3. Load the new DG file
164                     a. In the appc docker containers, enter the "/opt/appc/svclogic/bin directory
165                     b. Run install-converted-dgs.sh
166
167 Quick Links:
168
169         - `APPC project page <https://wiki.onap.org/display/DW/Application+Controller+Project>`_
170         
171         - `Passing Badge information for APPC <https://bestpractices.coreinfrastructure.org/en/projects/1579>`_
172         
173         - `Project Vulnerability Review Table for APPC <https://wiki.onap.org/pages/viewpage.action?pageId=40927352>`_
174
175 **Other**
176
177 - Limitations, Constraints and other worthy notes:
178
179         - OpenStack Restriction:
180
181                 - Currently APPC only supports OpenStack.
182
183                 - Admin level access for Tenant level operations.
184
185                 - OpenStack Hypervisorcheck is turned off by default.
186
187
188         - Integration with MultiCloud is supported for Standalone Restart (i.e., not via DGOrchestrator). For any other action, such as Stop, Start, etc.. via MultiCloud requires the MultiCloud identity URL to be either passed in the payload or defined in appc.properties.
189         
190
191
192 Version: 1.3.0
193 --------------
194
195
196 :Release Date: 2018-06-07
197
198
199 **New Features**
200
201 The Beijing release added the following functionality:
202  
203          - Added support for the following LCM actions (a desciption of all of the above LCM actions can be found in the APPC LCM API Guide on readthedoc): 
204          
205                 - To support in-place software upgrade:
206                 
207                   - QuiesceTraffic
208                   - ResumeTraffic
209                   - UpgradeSoftware
210                   - UpgradePreCheck
211                   - UpgradePostCheck
212                   - UpgradeBackup
213                   - UpgradeBackout
214                   
215                 - To support storage management in OpenStack
216                 
217                   - AttachVolume
218                   - DetachVolume
219                   
220                 - To support Manual Scale Out use case
221                 
222                   - ConfigScaleOut (more details can be found in teh APPC Epic: `APPC-431 <https://jira.onap.org/browse/APPC-431>`_ )
223                   
224                 - To support general operations
225                 
226                   - ActionStatus
227                   
228
229          - Contributed the APPC Controller Design Tool (CDT), which enables self-serve capabilities by allowing users to model their VNF/VNFC for consumption by APPC to use in the execution of requests to perform life cycle management activities.
230          
231                 - More details on the APPC CDT can be found in the APPC CDT User Guide in readthedocs.
232                 - Additional information on how the APPC CDT tool was used to model the vLB and build teh artifacts needed by APPC to execute teh ConfigScaleOut action can be found at the following wiki pages: https://wiki.onap.org/pages/viewpage.action?pageId=33065185 
233                 
234          - Additional contributions as part of Beijing include: 
235          
236                 - Support for Platform Maturity requirements, including:
237                 
238                    - Increased security
239                    
240                           - Added security to ODL web-based API access via AAF (see `APPC-404 <https://jira.onap.org/browse/APPC-404>`_ for additional details)
241                           - Addressed critical alerts reported via Nexus IQ to the extent possible (see `APPC-656 <https://jira.onap.org/browse/APPC-656>`_ )
242                           
243                    - Stability
244                    
245                           - Executed 72 hour stability test on both Heat and OOM deployed environments using JMeter to drive a steady set of transactions over the 72 hour period (see the following wiki page for more details: https://wiki.onap.org/display/DW/ONAP+APPC+72+Hour+Stability+Test+Results )
246                           
247                    - Resiliency
248                    
249                           - Support for OOM deployment, which enables resiliency via use of Kubernetes (see `APPC-414 <https://jira.onap.org/browse/APPC-414>`_ for additional details) 
250                           
251                 - Upgraded OpenDaylight (ODL) version to Nitrogen
252       
253       
254
255
256 **Bug Fixes**
257
258 The following defects that were documented as known issues in Amsterdam have been fixed in Beijing release:
259         
260         - `APPC-316 <https://jira.onap.org/browse/APPC-316>`_ - Null payload issue for Stop Application
261
262         - `APPC-315 <https://jira.onap.org/browse/APPC-315>`_ - appc-request-handler is giving error java.lang.NoClassDefFoundError 
263
264         - `APPC-312 <https://jira.onap.org/browse/APPC-312>`_ - APPC request is going to wrong request handler and rejecting request
265
266         - `APPC-311 <https://jira.onap.org/browse/APPC-311>`_ - The APPC LCM Provider Healthcheck
267
268         - `APPC-309 <https://jira.onap.org/browse/APPC-309>`_ - APPC LCM Provider URL missing in appc.properties. 
269
270         - `APPC-307 <https://jira.onap.org/browse/APPC-307>`_ - Embed jackson-annotations dependency in appc-dg-common during run-time 
271
272         - `APPC-276 <https://jira.onap.org/browse/APPC-276>`_ - Some Junit are breaking convention causing excessively long build
273   
274         - `APPC-248 <https://jira.onap.org/browse/APPC-248>`_ - There is an compatibility issue between PowerMock and Jacoco which causes Sonar coverage not to be captured. Fix is to move to Mockito.
275         
276         
277 **Known Issues**
278
279 The following issues remain open at the end of Beijing release. Please refer to Jira for further details and workaround, if available.
280
281         - `APPC-987 <https://jira.onap.org/browse/APPC-987>`_ - APPC Investigate TRANSACTION Table Aging. See **Other** section for further information
282         
283         - `APPC-977 <https://jira.onap.org/browse/APPC-977>`_ - Procedures needed for enabling AAF support in OOM. See **Other** section for further information
284         
285         - `APPC-973 <https://jira.onap.org/browse/APPC-973>`_ - Fix delimiter string for xml-download CDT action
286         
287         - `APPC-940 <https://jira.onap.org/browse/APPC-940>`_ - APPC CDT Tool is not updating appc_southbound.properties with the URL supplied for REST
288
289         - `APPC-929 <https://jira.onap.org/browse/APPC-929>`_ - LCM API - ConfigScaleOut- Payload parameter to be manadatory set to "true"
290  
291         - `APPC-912 <https://jira.onap.org/browse/APPC-912>`_ - MalformedChunkCodingException in MDSALStoreImpl.getNodeName
292         
293         - `APPC-892 <https://jira.onap.org/browse/APPC-892>`_ - Cntl+4 to highlight and replace feature-Textbox is accepting space  and able to submit without giving any value
294
295         - `APPC-869 <https://jira.onap.org/browse/APPC-869>`_ - VM Snapshot error occurs during image validation.
296         
297         - `APPC-814 <https://jira.onap.org/browse/APPC-814>`_ - Update openecomp-tosca-datatype namespace  
298         
299         - `APPC-340 <https://jira.onap.org/browse/APPC-340>`_ - APPC rejecting request even for decimal of millisecond timestamp difference
300          
301         - `APPC-154 <https://jira.onap.org/browse/APPC-154>`_ - Logging issue - Request REST API of APPC has RequestID (MDC) in Body or Payload section instead of Header.
302         
303         
304 **Security Notes**
305
306 APPC code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The APPC open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=25438971>`_.
307
308 Additionally, communication over DMaaP currently does not use secure topics in this release. This has dependency on DMaaP to enable.    
309
310
311 Quick Links:
312         - `APPC project page <https://wiki.onap.org/display/DW/Application+Controller+Project>`_
313         
314         - `Passing Badge information for APPC <https://bestpractices.coreinfrastructure.org/en/projects/1579>`_
315         
316         - `Project Vulnerability Review Table for APPC <https://wiki.onap.org/pages/viewpage.action?pageId=25438971>`_
317         
318 **Other**
319
320 - Limitations, Constraints and other worthy notes
321
322         - An issue was discovered with usage of AAF in an OOM deployed environment after the Beijing release was created. The issue was twofold (tracked under `APPC-977 <https://jira.onap.org/browse/APPC-977>`_):
323           
324              - Needed APPC configuration files were missing in Beijing OOM , and 
325              - AAF updated their certificates to require 2way certs, which requires APPC updates 
326                  
327           Additionally, in a Heat deployed environment, a manual workaround will be required to authorize with AAF if they are using 2way certificates.  For instruction on workaround steps needed depending on type of deployment, please refer to the following wiki: https://wiki.onap.org/display/DW/AAF+Integration+with+APPC.  
328
329         - During the testing of the vCPE/vMUX closed loop scenarios in an OOM deployed environment, an issue was encountered where transactions were not being deleted from the TRANSACTION table and was blocking other Restart request from completing successfully (tracked under `APPC-987 <https://jira.onap.org/browse/APPC-987>`_). A workaround is available and documented in the Jira ticket.
330
331         - It is impossible for us to test all aspect of the application. Scope of testing done in Beijing is captured on the following wiki:   https://wiki.onap.org/display/DW/APPC+Beijing+Testing+Scope+and+Status
332           
333         - Currently APPC only supports OpenStack
334           
335         - OpenStack Hypervisorcheck is turned off by default. If you want to invoke this functionality via the appc.properties, you need to enable it and ensure you have Admin level access to OpenStack.
336           
337         - Integration with MultiCloud is supported for Standalone Restart (i.e., not via DGOrchestrator). For any other action, such as Stop, Start, etc.. via MultiCloud requires the MultiCloud identity URL to be either passed in the payload or defined in appc.properties.
338           
339         - APPC needs Admin level access for Tenant level operations. 
340           
341         - Currently, the "ModifyConfig" API and the implementation in the Master Directed Graph is only designed to work with the vFW Closed-Loop Demo.
342   
343
344 Version: 1.2.0
345 --------------
346
347 :Release Date: 2017-11-16
348
349
350 **New Features**
351
352 The Amsterdam release continued evolving the design driven architecture of and functionality for APPC. 
353 APPC aims to be completely agnostic and make no assumption about the network. 
354
355 The main goal of the Amsterdam release was to:
356  - Support the vCPE use case as part of the closed loop action to perform a Restart on the vGMUX
357  - Demonstrate integration with MultiCloud as a proxy to OpenStack 
358  - Continue supporting the vFW closed loop use case as part of regression from the seed contribution. 
359
360 Other key features added in this release include:
361  - Support for Ansible 
362    - The Ansible Extension for APP-C allows management of VNFs that support Ansible. Ansible is a an open-source VNF management framework that provides an almost cli like set of tools in a structured form. APPC supports Ansible through the following three additions: An Ansible server interface, Ansible Adapter, and Ansible Directed Graph. 
363  - Support for Chef 
364    - The Chef Extension for APPC allows management of VNFs that support Chef through the following two additions: a Chef Adapter and Chef Directed Graph.
365  - LifeCycle Management (LCM) APIs via standalone DGs or via the DGOrchestrator architecture to trigger actions on VMs, VNFs, or VNFCs
366  - OAM APIs to manage the APPC application itself
367  - Upgrade of OpenDaylight to Carbon version
368
369
370
371 **Bug Fixes**
372
373         - This is technically the first release of APPC, previous release was the seed code contribution. As such, the defects fixed in this release were raised during the course of the release. Anything not closed is captured below under Known Issues. If you want to review the defects fixed in the Amsterdam release, refer to `Jira <https://jira.onap.org/issues/?filter=10570&jql=project%20%3D%20APPC%20AND%20issuetype%20%3D%20Bug%20AND%20status%20%3D%20Closed%20AND%20fixVersion%20%3D%20%22Amsterdam%20Release%22>`_. 
374         
375         - Please also refer to the notes below. Given the timeframe and resource limitations, not all functions of the release could be validated. Items that were validated are documented on the wiki at the link provide below. If you find issues in the course of your work with APPC, please open a defect in the Application Controller project of Jira (jira.onpa.org)
376         
377 **Known Issues**
378
379         - `APPC-312 <https://jira.onap.org/browse/APPC-312>`_ - APPC request is going to wrong request handler and rejecting request. Configure request failing with following error: ``REJECTED Action Configure is not supported on VM level``.
380         
381         - `APPC-311 <https://jira.onap.org/browse/APPC-311>`_ - The APPC LCM Provider Healthcheck, which does a healthceck on a VNF, is failing. No known workaround at this time. 
382         
383         - `APPC-309 <https://jira.onap.org/browse/APPC-309>`_ - The property: ``appc.LCM.provider.url=http://127.0.0.1:8181/restconf/operations/appc-provider-lcm`` is missing from appc.properties in the appc deployment.  The property can be manually added as a workaround, then bounce the appc container. 
384         
385         - `APPC-307 <https://jira.onap.org/browse/APPC-307>`_ - Missing jackson-annotations dependency in appc-dg-common - This issue results in Rebuild operation via the APPC Provider not to work. Use instead Rebuild via the APPC LCM Provider using DGOrchestrator.
386         
387         - `APPC-276 <https://jira.onap.org/browse/APPC-276>`_ - A number of junit testcases need to be reworked because they are causing APPC builds to take much  longer to complete. This issue does not cause the build to fail, just take longer. You can comment out these junit in your local build if this is a problem. 
388           
389         - `APPC-248 <https://jira.onap.org/browse/APPC-248>`_ - There is an compatibility issue between PowerMock and Jacoco which causes Sonar coverage not to be captured. There is no functional impact on APPC.
390          
391         - `APPC-154 <https://jira.onap.org/browse/APPC-154>`_ - Logging issue - Request REST API of APPC has RequestID (MDC) in Body or Payload section instead of Header.
392         
393                 
394 **Security Issues**
395         - Communication over DMaaP currently does not use secure topics in this release.
396         - AAF is deactivated by default in this release and was not validated or committed as part of the Amsterdam Release.
397
398
399 **Other**
400
401 - Limitations, Constraints and other worthy notes
402
403   - LCM Healthcheck and Configure actions do not work.
404   - The APPC actions validated in this release are captured here: https://wiki.onap.org/display/DW/APPC+Testing+Scope+and+Status
405   - Currently APPC only supports OpenStack
406   - OpenStack Hypervisorcheck is turned off by default. If you want to invoke this functionality via the appc.properties, you need to enable it and ensure you have Admin level access to OpenStack.
407   - Integration with MultiCloud is supported for Standalone Restart (i.e., not via DGOrchestrator). For any other action, such as Stop, Start, etc.. via MultiCloud requires the MultiCloud identity URL to be either passed in the payload or defined in appc.properties.
408   - APPC needs Admin level access for Tenant level operations. 
409   - Currently, if DGs are modified in appc.git repo, they must be manually moved to the appc/deployment repo. 
410   - Currently, the "ModifyConfig" API and the implementation in the Master Directed Graph is only designed to work with the vFW Closed-Loop Demo.
411   
412
413 ===========
414
415 End of Release Notes
416
417