----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/24152/ -----------------------------------------------------------
(Updated Aug. 5, 2014, 5:16 a.m.) Review request for cloudstack, Alena Prokharchyk and Sheng Yang. Changes ------- Updated the testing done field Bugs: CLOUDSTACK-7182 https://issues.apache.org/jira/browse/CLOUDSTACK-7182 Repository: cloudstack-git Description ------- - Check to see if network is implemented changed from 'state == Implementing||Implemented' to 'state == Implemented'. The earlier check was a hack to prevent the issue described next. - At the time of implementing network (using implementNetwork() method), if the VR needs to be deployed then it follows the same path of regular VM deployment. This leads to a nested call to implementNetwork() while preparing VR nics. This flow creates issues in dealing with network state transitions. The original call puts network in "Implementing" state and then the nested call again tries to put it into same state resulting in issues. In order to avoid it, implementNetwork() call for VR is replaced with below code. Diffs ----- engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java cdca839 Diff: https://reviews.apache.org/r/24152/diff/ Testing (updated) ------- 1. Ran the network related tests under /test/integration/smoke folder using Simulator. Also the other smoke tests didn’t cause any new failures. 2. Also ran the following VPC test using simulator: a. created vpc, VR gets started as part of this b. created network in the vpc c. deployed vm in network created in step#2 3. Manually ran the following tests using simulator (for both regular VR and VPC VR): a. VR stop/start via API when the network is in Implemented state. Network implement shouldn’t be triggered in this case. Deployed VM, network gets implemented, stopped/started VR. Repeated this for VPC as well. b. VR start via API when network is Allocated state. It should trigger network implement process. This test case is a good one to test the chicken-egg problem – VR triggers network implement, and network implement in turn triggers the provider implementation – which is the virtual router itself. Deployed VM, network gets implemented, destroyed VM, after sometime VR gets stopped and network goes to allocated state. At this point started the VR. Also repeated same for VPC. 4. Ran #3 using XS setup as well Thanks, Koushik Das