Skip to content
This repository has been archived by the owner on Jun 9, 2020. It is now read-only.

Placeholder for roles & playbooks to address OpenEBS issue #463 #19

Merged
merged 3 commits into from
Oct 16, 2017
Merged

Placeholder for roles & playbooks to address OpenEBS issue #463 #19

merged 3 commits into from
Oct 16, 2017

Conversation

ksatchit
Copy link

@ksatchit ksatchit commented Oct 9, 2017

  1. Why is this change necessary?
  • There is a need to reduce the time taken for the integration test suite execution
    that is triggered by jenkins. This should be approached in different ways, one way
    being - loading pre-pulled test images just before tests, so as to avoid pulling a
    test image freshly during the suite

  • This commit addresses the above by introducing the following :

    a) Ansible role and playbook to pull test images specified by a list
    b) Ansible role and playbook to load this into test k8s nodes (vagrantVM /baremetal)
    c) Updates to ci.yml to include load step
    d) Updates to global var specification file all.yml to hold some test labels

  1. How does this change address the issue?
  • Expected to reduce test time by having the image tar file ready

  • The load step, where the images are loaded into the test nodes via docker load command
    takes time on the vagrant VMs. Need to identify machines w/ better resource OR a more
    optimal load technique.

    Sometimes , docker load can be a bursty Write spike on the VM storage which can take
    up system resources making the process slow. One approach is to have multiple load operations
    than one single large load. This will also help with versioning/maintenance of test images.

    However, the current changes will first have to be tested to identify the efficacy before moving
    on to enhancements. This is yet to be done due to certain issue on the local jenkins setup.

  1. What side effects does this change have?
  • None on the product itself. This is test code

ksatchit added 3 commits September 28, 2017 19:07
----------------------------------------------------------------------------------------

1. Why is this change necessary?

- There is a need to reduce the time taken for the integration test suite execution
  that is triggered by jenkins. This should be approached in different ways, one way
  being - loading pre-pulled test images just before tests, so as to avoid pulling a
  test image freshly during the suite

- This commit addresses the above by introducing the following :

  a) Ansible role and playbook to pull test images specified by a list
  b) Ansible role and playbook to load this into test k8s nodes (vagrantVM /baremetal)
  c) Updates to ci.yml to include load step
  d) Updates to global var specification file all.yml to hold some test labels

2. How does this change address the issue?

- Expected to reduce test time by having the image tar file ready

- The load step, where the images are loaded into the test nodes via docker load command
  takes time on the vagrant VMs. Need to identify machines w/ better resource OR a more
  optimal load technique.

  Sometimes , docker load can be a bursty Write spike on the VM storage which can take
  up system resources making the process slow. One approach is to have multiple load operations
  than one single large load. This will also help with versioning/maintenance of test images.

  However, the current changes will first have to be tested to identify the efficacy before moving
  on to enhancements. This is yet to be done due to certain issue on the local jenkins setup.

3. What side effects does this change have?

- None on the product itself. This is test code
@ksatchit
Copy link
Author

ksatchit commented Oct 9, 2017

Here are some logs alluding to the resource issues discussed above (bursty docker load). The following were executed on the jenkins server :

root      5411 12.2  2.1 244780 21344 pts/0    Sl+  14:15   2:08 docker load --input test_images.tar
ubuntu    6974  0.0  0.0  12948   968 pts/1    S+   14:32   0:00 grep --color=auto load
top - 20:03:41 up  2:32,  2 users,  load average: 6.25, 6.59, 5.37
Tasks: 153 total,   1 running, 152 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.3 us, 90.1 sy,  0.0 ni,  1.2 id,  0.0 wa,  0.0 hi,  3.3 si,  0.0 st
KiB Mem : 16432760 total,  1287612 free,  5274476 used,  9870672 buff/cache
KiB Swap: 16775164 total, 16775124 free,       40 used. 10758496 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 9060 jenkins   20   0 2453364 110648  49008 S  75.3  0.7  16:07.23 VBoxHeadless
10699 jenkins   20   0 2459120 115068  50636 S  68.8  0.7  15:19.02 VBoxHeadless
 7424 jenkins   20   0 2438532  99220  48844 S  45.7  0.6  14:17.63 VBoxHeadless

Copy link
Contributor

@yudaykiran yudaykiran left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@ksatchit
Copy link
Author

The case of bursty load was mitigated by using vagrant boxes with improved resources

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants