* Add Virtual Kubelet provider for VIC Initial virtual kubelet provider for VMware VIC. This provider currently handles creating and starting of a pod VM via the VIC portlayer and persona server. Image store handling via the VIC persona server. This provider currently requires the feature/wolfpack branch of VIC. * Added pod stop and delete. Also added node capacity. Added the ability to stop and delete pod VMs via VIC. Also retrieve node capacity information from the VCH. * Cleanup and readme file Some file clean up and added a Readme.md markdown file for the VIC provider. * Cleaned up errors, added function comments, moved operation code 1. Cleaned up error handling. Set standard for creating errors. 2. Added method prototype comments for all interface functions. 3. Moved PodCreator, PodStarter, PodStopper, and PodDeleter to a new folder. * Add mocking code and unit tests for podcache, podcreator, and podstarter Used the unit test framework used in VIC to handle assertions in the provider's unit test. Mocking code generated using OSS project mockery, which is compatible with the testify assertion framework. * Vendored packages for the VIC provider Requires feature/wolfpack branch of VIC and a few specific commit sha of projects used within VIC. * Implementation of POD Stopper and Deleter unit tests (#4) * Updated files for initial PR
4.0 KiB
4.0 KiB
Test 1-10 - Docker PS
Purpose:
To verify that docker ps command is supported by VIC appliance
References:
1 - Docker Command Line Reference
Environment:
This test requires that a vSphere server is running and available
Test Steps:
- Deploy VIC appliance to vSphere server
- Issue docker ps
- Issue docker create busybox /bin/top
- Issue docker start
- Issue docker create busybox ls
- Issue docker start
- Issue docker create busybox dmesg
- Issue docker ps
- Issue docker ps -a
- Issue docker create --name jojo busybox /bin/top
- PowerOn container jojo-* out of band via govc
- Issue docker ps -q
- Issue docker create --name koko busybox /bin/top
- Issue docker start koko
- Issue docker ps -q
- PowerOff container koko* out of band via govc
- Issue docker ps -q
- Issue docker create -p 8000:80 -p 8443:443 nginx
- Issue docker ps -a
- Issue docker run -d -p 6379 redis:alpine
- Issue docker ps
- Issue docker create --name lolo busybox /bin/top
- Issue docker start lolo
- Issue docker stop lolo
- Issue docker ps -aq
- Destroy container lolo* out of band via govc
- Issue docker ps -aq
- Issue docker ps -l
- Issue docker ps -n=2
- Issue docker ps -ls
- Issue docker ps -aq
- Create 3 containers
- Issue docker ps -aq
- Issue docker ps -f status=created
- Issue docker create --name abe --label prod busybox /bin/top
- Issue docker ps -a -f label=prod
- Issue docker ps -a -f name=abe
- Issue docker create -v foo:/dir --name fooContainer busybox
- Issue docker ps -a -f volume=foo
- Issue docker ps -a -f volume=foo -f volume=bar
- Issue docker ps -a -f volume=fo
- Issue docker network create fooNet
- Issue docker create --net=fooNet --name fooNetContainer busybox
- Issue docker ps -a -f network=fooNet
- Issue docker ps -a -f network=fooNet -f network=barNet
- Issue docker ps -a -f network=fo
- Issue docker ps -a -f volume=foo -f network=bar
- Issue docker ps -a -f network=bar -f volume=foo
- Issue docker ps -a -f volume=foo -f volume=buz -f network=bar
- Issue docker create -v buz:/dir --net=fooNet --name buzFooContainer busybox
- Issue docker ps -a -f volume=buz -f network=fooNet
Expected Outcome:
- Steps 2-13 should all return without error
- Step 2 should return with only the printed ps command header and no containers
- Step 8 should return with only the information for the /bin/top container
- Step 9 should return with the information for all 3 containers
- Step 10-11 should return without error
- Step 12 should include jojo-* containerVM
- Steps 13-16 should return without error
- Step 17 should not include koko and have one less container than in Step 15
- Step 18 should return without error
- Step 19 should include the port-mappings of Step 18's container
- Step 20 should return without error
- Step 21 should include the port-mappings of Step 20's container
- Steps 22-25 should return without errors
- Step 26 should succeed on ESXi and fail on vCenter with the error:
govc: ServerFaultCode: The method is disabled by 'VIC'
- Step 27 should include one less container than in Step 25
- Step 28 should include only redis
- Step 29 should include only redis and nginx
- Step 30 should include only redis with SIZE present
- Steps 31-32 should return with error
- Step 33 should include 3 more containers than in Step 31
- Step 34 should include 4 created containers
- Step 35 should return without error
- Step 36 should include only abe
- Step 37 should include only abe
- Step 38 should return without error
- Step 39 should include only fooContainer
- Step 40 should include only fooContainer
- Step 41 should not include any containers
- Steps 42-43 should return without error
- Step 44 should include only fooNetContainer
- Step 45 should include only fooNetContainer
- Step 46 should not include any containers
- Steps 47-49 should not include any containers
- Step 50 should return without error
- Step 51 should include only buzFooContainer
Possible Problems:
None