Skip to content

Latest commit

 

History

History
797 lines (673 loc) · 76.4 KB

CHANGELOG.md

File metadata and controls

797 lines (673 loc) · 76.4 KB

CHANGELOG

1.0.0 (2018-08-31)

IMPORTANT: The PouchContainer is general availability right now. Thanks for all the contributors!

Pouch Daemon

Kubernetes

Documentation

Testing

Contrib

New Contributors

Here is the list of new contributors:

1.0.0-rc2 (2018-08-23)

IMPORTANT: In PouchContainer 1.0.0-rc2 makes runtime stable and introduces:

  • Image Manager supports history functionality
  • Syslog Driver supports lazy connection
  • Support nvidia-container 2.0 to enable GPU access
  • CRI supports exec resize

Pouch Daemon

Storage

Kubernetes

Documentation

Testing

Contrib

New Contributors

Here is the list of new contributors:

1.0.0-rc1 (2018-07-13)

IMPORTANT: In PouchContainer 1.0.0-rc1 we have done many things that important to all users of PouchContainer:

  • PouchContainer-CRI now supports using annotation to choose different runtime.
  • PouchContainer Image Manager supports load and save functionality.
  • PouchContainer Log Driver supports syslog type.
  • PouchContainer uses latest libnetwork in network module.
  • PouchContainer makes the runtime module stable.

Pouch Daemon & API:

Container Runtime:

Network:

Kubernetes CRI:

  • feature: make runtime choosing supported in CRI managers for Kubernetes #1593 (Starnop)
  • bugfix: skip teardown network, if the sandbox has been stopped #1539 (YaoZengzeng)
  • refactor: return CRI services error #1521 (oiooj)
  • bugfix: bind an address for stream server #1520 (YaoZengzeng)
  • feature: UpdateContainerResources of CRI Manager #1511 (Starnop)
  • bugfix: Make hack/kubernetes/allinone_aliyun.sh to pass shellcheck #1507 (Starnop)
  • bugfix: if run sandbox failed, clean up; deduplicate the default mounts with user defined ones #1468 (YaoZengzeng)
  • feature: stats of cri manager #1431 (Starnop)

Test & Tool:

Documentation:

New Contributors

Here is the list of new contributors:

0.5.0 (2018-05-25)

IMPORTANT: In PouchContainer 0.5.0 we have done many things that important to all users of PouchContainer:

  1. PouchContainer now supports CRI v1alpha2 that will support for Kubernetes 1.10.0
  2. Add plugin mechanism that we can use many existing volume and network plugins
  3. Add many container and image tools like logs and tag command that will be very helpful for daily container operation
  4. PouchContainer now is more stable and works well in production environment

Remote API && Client

  • Add instruction comment for the blkio-weight-device flag of run command #1381 (Ace-Tang)
  • Fix cgroup-parent can not be set from the daemon config file #1361 (Ace-Tang)
  • Add volume drivers info to system info #1352 (shaloulcy)
  • Fix ExecIDs parameter of ContainerConfig should be a slice #1324 (HusterWan)
  • Refactor format topExamples code and add execExample #1319 (soarpenguin)
  • Enhance add more field in pouch info command #1238 (ZouRui89)
  • Add debug flag to pouch client #1234 (shaloulcy)
  • Fix exec command align with Moby v1.24 API #1226 (fuweid)
  • Fix volume info of inspect output is incompatible with Moby API #1213 (HusterWan)
  • Refactor network list api, make it compatible with Mody API #1173 (rudyfly)

Runtime

  • Fix container may be killed when ontainerd instance exit #1407 (HusterWan)
  • Fix panic when execute exec command with flag -d #1394 (HusterWan)
  • New tag tool for pouch that allow create alias name for images #1378 (fuweid)
  • Fix add judge for whether pidfile path is given when start pouch daemon #1374 (Ace-Tang)
  • Fix map type can not be merged #1367 (Ace-Tang)
  • Add support for updating or deleting an env value #1364 (HusterWan)
  • Add support for managing more containers in some commands #1357 (xiechengsheng)
  • Fix remove pids-limit initial value #1354 (Ace-Tang)
  • Add support for using an image by digest id #1351 (fuweid)
  • Support generate version information at build time #1350 (Ace-Tang)
  • Fix let execConfig value assignment before IO close, so thath CRI test case can get right result before container exit #1340 (ZouRui89)
  • Fix make the jsonfile exit friendly #1330 (fuweid)
  • Fix markStopped may failed that will cause container status not right #1322 (HusterWan)
  • Fix mount /sys/fs/cgroup into container #1314 (fuweid)
  • Fix make pouch daemon exit friendly #1311 (fuweid)
  • Refactor eliminate containerMeta in pouch daemon manager #1300 (allencloud)
  • New logs API implement to redirct container's StdOut and StdErr to json file #1298 (fuweid)
  • Refactor reorder function sequence to make it more reasonable #1296 (allencloud)
  • Add support for taking over old containerd instance when pouchd restart #1275 (HusterWan)
  • Fix can't stop a paused container #1269 (shaloulcy)
  • Refactor image manager: redesign the imageStore in image manager and make it more clear and stable #1267 (fuweid)
  • Fix compatibility with alidocker when update container diskquota #1264 (HusterWan)
  • Fix change the QuotaID to QuotaId to align with Moby v1.24 API #1263 (fuweid)
  • Refactor facilitate make.sh build part code #1261 (u2takey)
  • Fix set container env failed because Invalid cross-device link error #1260 (HusterWan)
  • Fix the output file is used incorrectly & fix the wrong test case name #1258 (xieyanke)
  • Add --volume flag when remove container that will delete all anonymous volumes created by pouchd #1255 (rudyfly)
  • Fix mountpoint binary not found error #1253 (shaloulcy)
  • Fix the mount path of tmpfs volume and some misspells #1251 (shaloulcy)
  • Fix merge flag default value in pouch daemon config, if flag not be passed, we should not merge it with daemon config #1246 (Ace-Tang)
  • Add vagrant environment for development #1245 (u2takey)
  • Fix free resources after exec exit #1240 (Ace-Tang)
  • Fix modify log format #1239 (rudyfly)
  • Fix add newline for id when create container #1237 (fuweid)
  • Add update restful api support to update container diskquota #1235 (HusterWan)
  • Fix setRawMode can only be set when the user set tty #1233 (fuweid)
  • Fix compatibility with alidocker when update container labels #1228 (HusterWan)
  • Add --pids-limit flags to create command #1227 (Ace-Tang)
  • Add support update container's cpu-period #1222 (HusterWan)
  • Add support parsing ContainerConfig.Volumes when create container #1219 (rudyfly)
  • Add support updating env when container is running #1218 (HusterWan)
  • Fix volume size without unit #1215 (rudyfly)
  • Fix remove the DiskQuota field from Resource struct #1212 (fuweid)
  • Fix make stopping an non-running container valid #1210 (allencloud)
  • Fix make stopping a stopped container return no error #1209 (allencloud)
  • Fix make restart API support restarting an stopped container #1208 (allencloud)
  • Refactor store container info to disk failed should return errors #1203 (HusterWan)
  • Fix make logrus detect whether output with color #1202 (yyb196)
  • Fix remove update image and fix bugs when update env #1196 (HusterWan)
  • Fix remove log format type check #1192 (oiooj)
  • Fix add default tag :latest when using pouch rmi command to remove untagged container images. #1191 (xiechengsheng)
  • Fix container cannot start after first start failed #1190 (HusterWan)
  • Fix check the duplicate mount point #1185 (rudyfly)
  • Fix if user rename container with id use the real name to clean the cache #1182 (yyb196)
  • Add --ulimit flag to create command #1179 (Ace-Tang)
  • Add support recording container's last exit time #1176 (Ace-Tang)
  • Fix update SafeMap item should just call Put method, no need call Remove method #1175 (HusterWan)
  • Add support setting volumes to /etc/mtab #1170 (rudyfly)

Documentation

Kubernetes

  • Fix return container LogPath in ContainerStatusResponse #1401 (Starnop)
  • Fix replace pod default pause image with the google released image #1382 (ZouRui89)
  • Add support both for CRI v1alpha1 and v1alpha2 version #1359 (Starnop)
  • Add timeout handler for execSync in cri part #1318 (ZouRui89)
  • Refactor move the CRI code out of pouch mgr dirctory #1317 (Starnop)
  • Fix disable mux stdout and stderr if backend is not http #1250 (YaoZengzeng)
  • Fix handle container io properly when restart pouchd #1220 (YaoZengzeng)
  • Fix evaluate finish time of container in CRI correctly #1183 (YaoZengzeng)

Storage

  • Support volume plugin mechanism, now pouch not only supports local/tmpfs/ceph volumes, but also support existing mature docker volume drivers #1326 (shaloulcy)
  • Fix we should add lock before visit volume boltdb #1286 (rudyfly)
  • Add pouch plugin mechanism, so that we can use existing moby volume and network plugins #1278 (shaloulcy)
  • Fix change volume metadata struct for remote storage manager #1271 (rudyfly)
  • Add volume-driver-alias flag to volume manager, we can set alias name for the exist volume drivers #1224 (rudyfly)

Network

  • Fix endpoints are disappeared when pouchd restart #1312 (rudyfly)
  • Fix remove all endpoints when execute network disconnect command #1284 (rudyfly)
  • Add network connect interface for container #1187 (rudyfly)
  • Add network disconnect interface for container #1172 (HusterWan)

Test

New Contributors

Here is the list of new contributors:

0.4.0 (2018-04-19)

Remote API && Client

Runtime

Network

  • Refactor manage libnetwork by subtree instead of submodule #1135 (rudyfly)
  • Fix make pouch network non-existent return exit code 1 #1089 (allencloud)
  • Fix delete endpoint after failing to create endpoint #1069 (faycheng)
  • Add support for inspecting network by ID #1040 (faycheng)

Kubernetes

Test

New Contributors

Here is the list of new contributors:

0.3.0 (2018-03-30)

IMPORTANT: Pouch 0.3.0 has met almost all your basic needs for kubernetes:

  1. Sandbox/Container lifecycle management
  2. Image management
  3. Network management with CNI
  4. Container streaming: exec/attach/portforward
  5. Container logging
  6. Security Context: RunAsUser, Apparmor,Seccomp,Sysctl
  7. Validation test of cri-tools: 51/55 Pass

IMPORTANT: Kubernetes 1.10 was released recently and the CRI of it has updated from v1alpha1 to v1alpha2. Pouch will first try to fully support CRI v1alpha1 and then CRI v1alpha2. So kubernetes 1.9.X is recommended now

Remote API && Client

  • inspect now support input multi items #989
  • Refactor make route code much more simplified #988
  • Fix restart router miss versionMatcher #986
  • Add kernel value in pouch version command #942
  • Make pouch info print more pretty #941
  • Add no-trunc flag to pouch ps #909
  • New restart command that allow restarting an running container #890
  • New upgrade command that allow upgrading image and resources of a container #852
  • New top command that allow showing processes informations in container #878
  • Add --format flag to pouch image inspect and pouch network inspect commands #871
  • New pouch info command to print all informations about th pouch daemon #859
  • New pouch logs command that allow printing logs of container #886
  • Using the default registry when execute logoutcommand if not specified one #902
  • New resize command that allow changing the height and width of TTY of an running container #879

Pouch Daemon

  • New update API that allow updating labels and image-proxy parameters of pouch daemon #987
  • Add --label flag to pouchd #982

Runtime

  • Change container parameter's json name from ID to Id to be compatible with Moby API #1002
  • Fix errors checked by markdownlint #974
  • Refactor the pouch ctrd layer client interface #971
  • Refactor the pkg package that let's client package independent to other inner pkgs #962
  • Add circleci to pouch to validate markdown files #961
  • Fix log initialization of libnetwork in pouch #956
  • Fix the import path of package logrus #953
  • Fix should checking kernelVersion.Kernel not kernelVersion.Major when setting disk quota driver #946
  • New restart interface that allow restarting an running container #944
  • Refactor modify logic in complement image fullname #940
  • Add --oom-kill-disable and --oom-score-adj flags to pouch create #934
  • New resize API that allow changing the height and width of TTY of an running container #931
  • Fix execute pouch images command panic when pulling an image failed before #926
  • New upgrade API that allow upgrading the image and resource of a container #923
  • New plugin framework to support executing custom codes at plugin points #919
  • Add default registry namespace #911
  • New top API that allow showing the processes informations in an running container #900
  • Fix cgroup-parent should always be abs #896
  • Refactor set lxcfs service managed by systemd #885
  • Add version information in restful api url #869
  • Add repoTags and repoDigests in ImageInfo struct #721

Documentation

  • Add introduction document to diskquota #972
  • Improve test guidance doc #856

Storage

  • Add --volume flag to pouch create to support bind mounts for files #937
  • Fix volume can be removed when using by container #888
  • Add disk quota for container's rootfs #876

Kubernetes

  • With this PR, we can get the error informations when stream server handles exec or attach commands occurred errors #1007
  • Add websocket support for cri stream server #985
  • Fix handle image format 'namespace/name:tag' correctly #981
  • Fix pull image and get its status with RefDigest #973
  • Store sandbox config informations for cri manager #955
  • Separate stdout & stderr of container io and support host network mode for sandbox #945
  • Implement ReadOnlyRootfs and add no-new-privileges support to cri manager #935
  • Add support getting the logs of container to cri manager #928
  • Add support setting pod dns configuration to cri manager #912
  • Wrap cri manager to log every cri operation #899
  • Fix inspect image by image id with prefix #895
  • Implement exec and attach method of stream server #854
  • Add --group-add flag to pouch create command and supplemental groups for cri manager #753

Test

  • Add mock test for rename client #1021
  • Add mock test for version client #1004
  • Add test cases for imageCache.get #979
  • Add mock test for client package #965
  • Add test case for login/logout command #908
  • Add related functions for test pouch daemon #884
  • Print error log in CI for debug #883

0.2.1 (2018-03-09)

Network

  • Support port mapping and exposed ports in container

Bugfix

  • Fix project quota can't be set on kernel-4.9
  • Fix rich container mode can't find binary in PATH

0.2.0 (2018-03-02)

Runtime

  • Add rich container mode for daemon and runc
  • Add support for Intel RDT isolation
  • Support add annotation for oci-specs in daemon
  • Add memory limit options specifically for open source AliOS
  • Add user group support for container
  • Add image pulling proxy for Dragonfly
  • Add sccomp support for container
  • refactor package reference image to cover more scenarios
  • Add privileged mode support for container
  • Add capability support for container
  • Add apparmor support for container
  • Add blkio isolation support for container
  • Add sysctl support for container
  • Add more fields in ImageInfo struct
  • support user setting default registry
  • Add ipc, pid, uts namespace support for container

Client

  • Add login/logout command for registry
  • Add update command for container's resource or restart policy and so on
  • Support context in client side
  • Add volume list command

Network

  • support host/none/container network mode

Storage

  • support diskquota via project quota and group quota only for local volume (container diskquota is in progress)

Kubernetes(CRI)

  • Add CNI framework implementation
  • Add all options of container in CRI manager
  • Using cri-tools to verify every interface implementation of CRI

Document

  • Add document pouch with LXCFS
  • Add document how to install Pouch in Kubernetes cluster
  • Add volume design document
  • Add document pouch with rich container

0.1.0 (2018-01-17)

Initial experiemental release for public

  • Initial implemention to integrate containerd 1.0 in daemon
  • Hypervisor-based container implementation
  • Achieve container resource view isolation via supporting LXCFS
  • Add API and CLI documentation
  • Add unit test for project
  • Add API and CLI for project
  • Implement basic CRI to support Kubernetes
  • Be consistent with Moby's 1.12.6 API
  • Support basic network management and volume management
  • Make Pouch run as a system service
  • Make Pouch installed on distribution CentOS 7.2 and Ubuntu 16.04