Skip to content

Parallelize integration tests#5601

Merged
mhagen-vmware merged 9 commits intomasterfrom
feature/parallel-robot
Jun 4, 2018
Merged

Parallelize integration tests#5601
mhagen-vmware merged 9 commits intomasterfrom
feature/parallel-robot

Conversation

@mhagen-vmware
Copy link
Contributor

@mhagen-vmware mhagen-vmware commented Jun 27, 2017

[skip unit]
[full ci]

Copy link
Contributor

@hickeng hickeng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general - I think you'll be racing on the Clean Up Containers and Images however.

I'm also not sure we need to clean up existing containers for most tests, and images for even fewer.

The ps tests definitely assert number of lines in output, but many others don't care. If we support labels we may be able to label the containers with the build number/test name so that filtering can be used when needed.

[Return] ${output}

Cleanup Containers And Images
${out}= Run docker %{VCH-PARAMS} ps -aq | xargs -n1 docker %{VCH-PARAMS} rm -f
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you shouldn't need the -n1 but I don't think it'll hurt

@hickeng
Copy link
Contributor

hickeng commented Jun 27, 2017

Can we have each test suite make a "Get VCH" call or similar. Flow would be:

  • is there an existing VCH?
    • does the existing VCH pass basic functional check (e.g. docker info)?
      • if yes, use this VCH
  • deploy VCH
    • is there a VCH deploy already in progress?
      • if so, wait for deploy to complete and retry from top
    • start new VCH deploy
      • wait for deploy to complete and retry from top

@mhagen-vmware mhagen-vmware changed the title [skip ci] WIP Parallelize robot and reuse VCHs WIP Parallelize robot and reuse VCHs Jun 28, 2017
@mhagen-vmware mhagen-vmware changed the title WIP Parallelize robot and reuse VCHs [full ci]WIP Parallelize robot and reuse VCHs Jun 28, 2017
Copy link
Contributor

@rogeliosanchez rogeliosanchez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mhagen-vmware mhagen-vmware force-pushed the feature/parallel-robot branch 2 times, most recently from 80ae2e7 to e79962f Compare June 28, 2017 23:43
Copy link
Contributor

@caglar10ur caglar10ur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YES, PLEASE! 👍 💯 🥇

@mdubya66
Copy link
Contributor

mdubya66 commented Jun 29, 2017

LGTM!

Approved with PullApprove

@mhagen-vmware mhagen-vmware force-pushed the feature/parallel-robot branch 2 times, most recently from e67f606 to 41a8ae2 Compare July 26, 2017 15:00
@mhagen-vmware mhagen-vmware changed the title [full ci]WIP Parallelize robot and reuse VCHs [full ci] Parallelize robot and reuse VCHs Aug 17, 2017
@mhagen-vmware mhagen-vmware force-pushed the feature/parallel-robot branch from 41a8ae2 to 406e6c1 Compare August 17, 2017 14:45
@mhagen-vmware
Copy link
Contributor Author

Still seeing TLS handshake timeouts with @caglar10ur latest changes.

@caglar10ur
Copy link
Contributor

I think we are getting those cause the ESXi is getting slower and eventually timing out. Can we collect the host statistics during the run to see whether 1) This speculation is correct 2) The slowness is CPU or IO bound 3) we can do something about it?

@mdharamadas1 mdharamadas1 mentioned this pull request Sep 8, 2017
7 tasks
@mhagen-vmware mhagen-vmware force-pushed the feature/parallel-robot branch 3 times, most recently from ad376d4 to 6250499 Compare October 24, 2017 09:17
@mdharamadas1
Copy link
Contributor

@mhagen-vmware This seems to have issue with cleaning up container VMs as observed in this build running on builds-16.vmware.run. There were about 87 VMs left over.

@caglar10ur
Copy link
Contributor

Several failures occurred:

1) 'govc: 503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0x31eb2938] _serverNamespace = /sdk _isRedirect = false _port = 8307)' does not contain 'OK'

2) 'govc: 503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http16LocalServiceSpecE:0x31eb2938] _serverNamespace = /sdk _isRedirect = false _port = 8307)' does not contain 'OK'

looks like someone restarted the host ESXi server while the tests are running

@mhagen-vmware
Copy link
Contributor Author

I restarted it afterwards, because the system was in a state that we continue to see. In which everything appears up, but the system reports wrong password when trying to login or do anything via govc. A system reboot through OVH is needed and fixes it.

.drone.local.yml Outdated

vic-integration-test-on-pr:
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.39}
image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.37}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be we reverting to 1.37 from 1.39?

if [[ $DRONE_BRANCH == "master" || $DRONE_BRANCH == "releases/"* ]] && [[ $DRONE_REPO == "vmware/vic" ]] && [[ $DRONE_BUILD_EVENT == "push" ]]; then
echo "Running full CI for $DRONE_BUILD_EVENT on $DRONE_BRANCH"
pybot --removekeywords TAG:secret --exclude skip tests/test-cases
pabot --processes 2 --removekeywords TAG:secret --exclude skip tests/test-cases
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

parameterize the number of processes or do we want to be able to chose per-scenario values?

@mhagen-vmware mhagen-vmware changed the title [full ci] Parallelize robot and reuse VCHs [full ci] Parallelize integration tests Feb 6, 2018
@mhagen-vmware mhagen-vmware force-pushed the feature/parallel-robot branch from d23af43 to ccb1778 Compare February 6, 2018 21:10
@mhagen-vmware mhagen-vmware changed the title [full ci] Parallelize integration tests Parallelize integration tests Apr 30, 2018
@mhagen-vmware mhagen-vmware force-pushed the feature/parallel-robot branch from ccb1778 to 5f4e2ab Compare April 30, 2018 15:44
@codecov-io
Copy link

codecov-io commented May 22, 2018

Codecov Report

Merging #5601 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5601   +/-   ##
=======================================
  Coverage   26.07%   26.07%           
=======================================
  Files          37       37           
  Lines        5243     5243           
=======================================
  Hits         1367     1367           
  Misses       3769     3769           
  Partials      107      107

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 138a803...9b8365a. Read the comment docs.

@mhagen-vmware mhagen-vmware merged commit 02ba3ad into master Jun 4, 2018
@mhagen-vmware mhagen-vmware deleted the feature/parallel-robot branch June 4, 2018 14:08
zjs pushed a commit to zjs/vic that referenced this pull request Jul 27, 2018
zjs pushed a commit to zjs/vic that referenced this pull request Aug 2, 2018
zjs pushed a commit that referenced this pull request Aug 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants