-----------------------------------------------------------
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