Files
virtual-kubelet/vendor/github.com/vmware/vic/tests/test-cases/Group1-Docker-Commands/1-41-Docker-Commit.md
Loc Nguyen 513cebe7b7 VMware vSphere Integrated Containers provider (#206)
* 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
2018-06-04 15:41:32 -07:00

1.6 KiB

Test 1-41 - Docker Commit

Purpose:

To verify that docker commit is supported and works as expected.

References:

1 - Docker Command Line Reference

Environment:

This test requires that a vSphere server is running and available

Test Steps:

  1. Create a new debian container
  2. Install nano into the container
  3. Stop the container and commit the changes to the image
  4. Start a new container based on the new image, checking that nano is installed already
  5. Start another container then stop the container and commit an environment variable to the image using docker commit -c ENV TEST 'test string'
  6. Start a new container based on the new image, checking that the environment variable is set
  7. Attempt to commit an unsupported command into the image like RUN
  8. Stop the container and commit another environment variable into the image with the author set and commit message set
  9. Attempt to commit to a container that doesn't exist

Expected Outcome:

  • Steps 1-3 should succeed
  • Step 4 nano should now be found in the image
  • Step 5-6 TEST should now be an environment variable in the container
  • Step 7 should return an error: Error response from daemon: run is not a valid change command
  • Step 8 should be able to be verified that the author and message are set when you inspect the image afterwards
  • Step 9 should return error and indicate the container does not exist

Possible Problems:

  • This test relies on our implementation of docker exec in order to work, if there is a problem in exec then these test results will likely not be valid