Merge pull request #41674 from ixdy/etcd-empty-dir-cleanup-busybox
Automatic merge from submit-queue Base etcd-empty-dir-cleanup on busybox, run as nobody, and update to etcdctl 3.0.14 **What this PR does / why we need it**: since the `etcd-empty-dir-cleanup` image just uses a simple shell script and `etcdctl`, we can base it on busybox, which is a smaller target than alpine. I've also updated this to use an `etcdctl` from etcd 3.0.14, which matches the version of etcd we're running in 1.6 clusters (I believe), and changed the tag to match the `etcdctl` version. Tested in my own e2e cluster, where it seems to work. I haven't pushed the image yet, so e2e tests *may* fail. Tagging `do-not-merge`; if you think this looks good, I'll push the image and retest. **Release note**: ```release-note ``` cc @timstclair @mml @wojtek-t
This commit is contained in:
		@@ -10,4 +10,4 @@ spec:
 | 
			
		||||
  dnsPolicy: Default
 | 
			
		||||
  containers:
 | 
			
		||||
  - name: etcd-empty-dir-cleanup
 | 
			
		||||
    image: gcr.io/google_containers/etcd-empty-dir-cleanup:0.0.1
 | 
			
		||||
    image: gcr.io/google-containers/etcd-empty-dir-cleanup:3.0.14.0
 | 
			
		||||
 
 | 
			
		||||
@@ -12,12 +12,14 @@
 | 
			
		||||
# See the License for the specific language governing permissions and
 | 
			
		||||
# limitations under the License.
 | 
			
		||||
 | 
			
		||||
FROM gliderlabs/alpine
 | 
			
		||||
FROM busybox
 | 
			
		||||
 | 
			
		||||
COPY etcdctl etcd-empty-dir-cleanup.sh /
 | 
			
		||||
RUN chmod a+rx /etcdctl /etcd-empty-dir-cleanup.sh
 | 
			
		||||
 | 
			
		||||
RUN apk-install bash
 | 
			
		||||
ADD etcd-empty-dir-cleanup.sh etcd-empty-dir-cleanup.sh
 | 
			
		||||
ADD etcdctl etcdctl
 | 
			
		||||
ENV ETCDCTL /etcdctl
 | 
			
		||||
ENV SLEEP_SECOND 3600
 | 
			
		||||
RUN chmod +x etcd-empty-dir-cleanup.sh
 | 
			
		||||
CMD bash /etcd-empty-dir-cleanup.sh
 | 
			
		||||
 | 
			
		||||
USER nobody:nogroup
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ["/etcd-empty-dir-cleanup.sh"]
 | 
			
		||||
 
 | 
			
		||||
@@ -14,9 +14,9 @@
 | 
			
		||||
 | 
			
		||||
.PHONY:	build push
 | 
			
		||||
 | 
			
		||||
ETCD_VERSION = 2.2.1
 | 
			
		||||
IMAGE = gcr.io/google_containers/etcd-empty-dir-cleanup
 | 
			
		||||
TAG = 0.0.1
 | 
			
		||||
ETCD_VERSION = 3.0.14
 | 
			
		||||
IMAGE = gcr.io/google-containers/etcd-empty-dir-cleanup
 | 
			
		||||
TAG = 3.0.14.0
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -rf etcdctl etcd-v$(ETCD_VERSION)-linux-amd64 etcd-v$(ETCD_VERSION)-linux-amd64.tar.gz
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Copyright 2016 The Kubernetes Authors.
 | 
			
		||||
#
 | 
			
		||||
@@ -17,7 +17,7 @@
 | 
			
		||||
echo "Removing empty directories from etcd..."
 | 
			
		||||
 | 
			
		||||
cleanup_empty_dirs () {
 | 
			
		||||
  if [[ $(${ETCDCTL} ls $1) ]]; then
 | 
			
		||||
  if [ "$(${ETCDCTL} ls $1)" ]; then
 | 
			
		||||
    for SUBDIR in $(${ETCDCTL} ls -p $1 | grep "/$")
 | 
			
		||||
    do
 | 
			
		||||
      cleanup_empty_dirs ${SUBDIR}
 | 
			
		||||
@@ -34,4 +34,4 @@ do
 | 
			
		||||
  cleanup_empty_dirs "/registry"
 | 
			
		||||
  echo "Done with cleanup."
 | 
			
		||||
  sleep ${SLEEP_SECOND}
 | 
			
		||||
done
 | 
			
		||||
done
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user