-
Notifications
You must be signed in to change notification settings - Fork 1.2k
speedup iptables setup #1449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
speedup iptables setup #1449
Conversation
… instance -Modified code to add tag to aonly one cluster wide SP -Added validateList function -Added code to clear tags in tearDown class
Summary: listVolumes API fails when volume associated vm instance has NULL or invalid state. Fix the code to guard this situation since this should not block volume listing.
Updating the documentation before the api is actually supported
Conflicts: engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
…oaded data volume to VM
…yed and re created in Basic Zone -Merging the testcase in exsiting testcase by adding support for basic zone -Merging two commits into single commit
…id_event testpath
corrected some entires in test data
When rabbitmq connections are blocked(for example when rabbitmq is server is out of space), all the cloudstack threads which does any action and publishes to rabbitmq(for example login, launch vm etc.) are all blocked. Added a blocked connection listener to handle this and unblock the parent thread.
The main changes are: • Changing methods “Void” to “void”. • Removal of the method “Void copyAsync(DataObject srcData, DataObject destData, AsyncCompletionCallback callback)” that was never used. We noticed that methods form that class are using the return type Void with capital V. This way that method has to return a null value at the end.
… Server 10 SP2 and SP3" Added Unit test for the new method
CLOUDSTACK-9127 Missing PV-bootloader-args for "SUSE Linux Enterprise Server 10 SP2 and SP3"
ISSUE
--------
STOP-START of SUSE Linux VMs fail, as PV-bootloader-args are missing during the start command.
DESCRIPTION
----------------------
Repro steps
1. Upload Suse ISO
2. Create a VM with this ISO, and install it.
3. Detach ISO from the VM.
4. Reboot the VM, :>>>> This will work fine, as the pv-bootloader-args are not missing during reboot.
5.Stop the VM from CCP(VM will get destroyed in Xencenter)
6. Start the same VM from CCP , it will try to start but will fail.
Before Applying the fix
--------------------------------
Before applying the starting the VM failed with following exception
com.cloud.utils.exception.CloudRuntimeException: Unable to start VM(i-2-6-VM) on host(7cfd6388-b763-4c09-b3a3-9679db2904a3) due to Task failed! Task record: uuid: 21a6799f-9523-7c0e-bb86-1de750a38d74
nameLabel: Async.VM.start_on
nameDescription:
allowedOperations: []
currentOperations: {}
created: Wed Dec 09 07:00:29 UTC 2015
finished: Wed Dec 09 07:00:31 UTC 2015
status: failure
residentOn: com.xensource.xenapi.Host@513d238c
progress: 1.0
type: <none/>
result:
errorInfo: [BOOTLOADER_FAILED, OpaqueRef:0b10b6ac-837d-29af-da9d-6ef1e11a064a, Unable to find partition containing kernel
]
otherConfig: {}
subtaskOf: com.xensource.xenapi.Task@aaf13f6f
subtasks: []

After Applying the fix
--------------------------
After applying the fix I am able to start the vm.

* pr/1196:
CLOUDSTACK-9127 Missing PV-bootloader-args for "SUSE Linux Enterprise Server 10 SP2 and SP3"
Signed-off-by: Daan Hoogland <[email protected]>
CLOUDSTACK-9103 : Missing OS Mappings for VMware 6.0Added suitable db entries in tables hypervisor_capabilities and guest_os_hypervisor to support VMware 6.0 by copying from 5.5 and excluding few depricated guest os.And also added entries for guest os RHEL 7 for vmware 5.5 and 6.0. * pr/1216: CLOUDSTACK-9103 : Missing OS Mappings for VMware 6.0 Signed-off-by: Daan Hoogland <[email protected]>
CLOUDSTACK-9166:Build failed in Jenkins: cloudstack-rat-master #7038With my last PR#1196, I missed to place the license disclaimer into CitrixHelperTest.java. Updated the file with the disclaimer. * pr/1243: CLOUDSTACK-9166:Build failed in Jenkins: cloudstack-rat-master apache#7038 Signed-off-by: Daan Hoogland <[email protected]>
ADD be explicit about the underlying limitation - OpenSwanAccording to: http://linux.die.net/man/5/ipsec.secrets A preshared secret is most conveniently represented as a sequence of characters, delimited by the double-quote character ("). The sequence cannot contain a newline or double-quote. * pr/1426: ADD be explicit about the underlying limitation - OpenSwan Signed-off-by: Rafael Weingärtner <[email protected]>
Change variable "ROOK_DISK_CONTROLLER" to "ROOT_DISK_CONTROLLER"Change com.cloud.vm.VmDetailConstants variable name from "ROOK_DISK_CONTROLLER" to "ROOT_DISK_CONTROLLER". The ROOK_DISK_CONTROLLER variable stores the "rootDiskController" String; thus, this PR changes the name to "ROOT_DISK_CONTROLLER". * pr/1434: VmDetailConstants "ROOK_DISK_CONTROLLER" to "ROOT_DISK_CONTROLLER" Signed-off-by: Rafael Weingärtner <[email protected]>
…SP is found modified: nuageTestCase.py
…e memory utilization information for a VM for xenserver,kvm and for vmware.
CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VMfor xenserver,kvm and for vmware. * pr/780: CLOUDSTACK-8800 : Improved the listVirtualMachines API call to include memory utilization information for a VM for xenserver,kvm and for vmware. Signed-off-by: Kishan Kavala <[email protected]>
CLOUDSTACK-9304: Add nuagevsp userdata testcase (Cloudstack-9095) & Refactor existing testcaseshttps://issues.apache.org/jira/browse/CLOUDSTACK-9304 1. Created folder / test / integration / plugins / nuagevsp 2. Moved test_nuage_vpc_network.py , test_nuage_vsp.py from / test / integration / component / to---> / test / integration / plugins / nuagevsp/ 3. Added new testcase test_nuage_password_reset.py (Cloudstack-9095) 4. Added Nuage class in / tools / marvin / marvin / lib / base.py 5. Added services in / tools / marvin / marvin / config / test_data.py results: test_01_UserDataPasswordReset (nuagevsp.test_nuage_password_reset.TestNuagePasswordReset) ... === TestName: test_01_UserDataPasswordReset | Status : SUCCESS === ok Test Basic VPC Network Functionality with NuageVsp network Plugin ... === TestName: test_nuage_vpc_network | Status : SUCCESS === ok Test NuageVsp network plugin with basic Isolated Network functionality ... === TestName: test_nuage_vsp | Status : SUCCESS === ok ---------------------------------------------------------------------- XML: /root/report_xunit.xml ---------------------------------------------------------------------- [PassLogs.zip](https://github.com/apache/cloudstack/files/164368/PassLogs.zip) Ran 3 tests in 2406.256s OK #CLOUDSTACK-9304 * pr/1431: Made the code Pyflakes compliant CLOUDSTACK-9304 - Exit loop when Physical Network with isolation as VSP is found modified: nuageTestCase.py CLOUDSTACK-9304 - Modified Description deleted: test_vpcnetwork_nuage.py new file: ../plugins/nuagevsp/__init__.py Add nuagevsp userdata testcase (Cloudstack-9095) & Refactor existing testcases Signed-off-by: Srikanteswararao Talluri <[email protected]>
|
@kollyma I like what you did here. Besides apparently speeding up the iptables setup, the code looks more streamlined this way. |
|
@cristofolini : thanks! indeed the "Apache CloudStack Plugin - Quota Service" timed out. After reviewing the PR and the Jenkins output, I can not see any relations. Should I open another pull request with the same code and check if it works? Did I understand this correctly? |
|
@kollyma, maybe just add a comment at the top to mention something like "pre-fetch the variables so they are not fetched multiple times inline" or something like that and this should prompt another build without having to create a new PR. Since we can't close a PR without a merge, this is probably the simplest way to handle it. Good comments are rarely a bad thing. |
|
The third time is the charm,all checks have passed now! the first time Jenkins failed and strangely enough the second time Travis failed. |
|
Good job. Thanks. |
|
I am pretty comfortable with this PR given the scope of the change. Thanks @milamberspace for testing. Should this be committed against 4.7 and then forward merged? I am not entirely sure what the guidelines are for the types of changes that should be merged into previous releases. I know features should be against |
|
@swill it is our responsibility as committers to make sure that it is merged against the right branch. if it is not a new feature and at the moment 4.7 is the branch to go for. merging forward to 4.8. and master/4.9 is the right procedure. |
|
LGTM! please merge |
|
@remibergsma The test have already been started. :) |
CI Results84/85 SUCCESSFUL1 Failure (this and another similar test seem to fail consistently in my CI currently) Ran the following tests... Associated Uploads
Uploads will be available until Comment created by |
|
The debut of Given these results and the fact that the one failure consistently fails in my environment, I think we are ready to merge... |
|
@swill In the logs I see this: It resolved |
|
@kollyma Can you squash the commits for me and I will then merge this in. Thanks... |
Testing showed the following: with current code: root@kvm704:~# time /usr/share/cloudstack-common/scripts/network/domr/router_proxy.sh vr_cfg.sh 169.254.1.176 -c /var/cache/cloud/VR-12f28879-de7e-44d2-8dbe-b93a04bd3ba4.cfg real 2m56.401s user 0m0.012s sys 0m0.012s modified version: root@kvm704:~# time /usr/share/cloudstack-common/scripts/network/domr/router_proxy.sh vr_cfg.sh 169.254.1.176 -c /var/cache/cloud/VR-12f28879-de7e-44d2-8dbe-b93a04bd3ba4.cfg real 1m35.762s user 0m0.020s sys 0m0.004s Update configure.py add comment to trigger another build request. change comments changing some comments to verify if build fails.
|
@swill: tried to squash the commits shortly from holidays. Did not worked as expected, messed up my PR. I need to debug this when I am back next week... |
|
During commit squashing something went wrong.. i could not revert. Here a new Pull request with exactly the same changes. Sorry for any inconvenience caused.. and thanks for your "LGTM" |
…bles speedup iptables by prefetching the variables-- This PR is replacing speedup iptables setup #1449 -- Squashing commits and cleanup PR against 4.7 as discussed with Remi Bergsma. This will speed up the iptables creation on the virtual router. Testing showed the following: with current code: root@kvm704:~# time /usr/share/cloudstack-common/scripts/network/domr/router_proxy.sh vr_cfg.sh 169.254.1.176 -c /var/cache/cloud/VR-12f28879-de7e-44d2-8dbe-b93a04bd3ba4.cfg real 2m56.401s user 0m0.012s sys 0m0.012s modified version: root@kvm704:~# time /usr/share/cloudstack-common/scripts/network/domr/router_proxy.sh vr_cfg.sh 169.254.1.176 -c /var/cache/cloud/VR-12f28879-de7e-44d2-8dbe-b93a04bd3ba4.cfg real 1m35.762s user 0m0.020s sys 0m0.004s * pr/1487: speedup iptables by prefetching the variables Signed-off-by: Will Stevens <[email protected]>
PR against 4.7 as discussed with Remi Bergsma. This will speed up the iptables creation on the virtual router.
Testing showed the following:
with current code:
root@kvm704:~# time /usr/share/cloudstack-common/scripts/network/domr/router_proxy.sh vr_cfg.sh 169.254.1.176 -c /var/cache/cloud/VR-12f28879-de7e-44d2-8dbe-b93a04bd3ba4.cfg
real 2m56.401s
user 0m0.012s
sys 0m0.012s
modified version:
root@kvm704:~# time /usr/share/cloudstack-common/scripts/network/domr/router_proxy.sh vr_cfg.sh 169.254.1.176 -c /var/cache/cloud/VR-12f28879-de7e-44d2-8dbe-b93a04bd3ba4.cfg
real 1m35.762s
user 0m0.020s
sys 0m0.004s