From 22430a84f825188ed747d2ae481fd63aaadd0920 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 14:56:46 -0800 Subject: [PATCH 01/14] remove extraneous spacing --- ceph/templates/secrets.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ceph/templates/secrets.yaml b/ceph/templates/secrets.yaml index 0dde40eb..d5711c02 100644 --- a/ceph/templates/secrets.yaml +++ b/ceph/templates/secrets.yaml @@ -28,7 +28,7 @@ metadata: type: Opaque data: ceph.keyring: | -{{ include "secrets/ceph.mds.keyring" . | b64enc | indent 4 }} +{{ include "secrets/ceph.mds.keyring" . | b64enc | indent 4 }} --- apiVersion: v1 kind: Secret @@ -37,7 +37,7 @@ metadata: type: Opaque data: ceph.keyring: | -{{ include "secrets/ceph.osd.keyring" . | b64enc | indent 4 }} +{{ include "secrets/ceph.osd.keyring" . | b64enc | indent 4 }} --- apiVersion: v1 kind: Secret @@ -45,4 +45,4 @@ metadata: name: "ceph-client-key" type: Opaque data: - ceph-client-key: {{ include "secrets/ceph-client-key" . | b64enc | quote }} + ceph-client-key: {{ include "secrets/ceph-client-key" . | b64enc | quote }} From 405bc05e3799953587a4135800bd8c44cb06d8fe Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 14:58:25 -0800 Subject: [PATCH 02/14] normalize ceph-client-key --- ceph/templates/secrets.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ceph/templates/secrets.yaml b/ceph/templates/secrets.yaml index d5711c02..91bff6a2 100644 --- a/ceph/templates/secrets.yaml +++ b/ceph/templates/secrets.yaml @@ -44,5 +44,5 @@ kind: Secret metadata: name: "ceph-client-key" type: Opaque -data: - ceph-client-key: {{ include "secrets/ceph-client-key" . | b64enc | quote }} +data: | + ceph-client-key: {{ include "secrets/ceph-client-key" . | b64enc | indent 4 }} From 79c8596c537f9517408a5e740515dfa6e47c7d70 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 14:59:28 -0800 Subject: [PATCH 03/14] do not base64 over base64 --- ceph/templates/secrets.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceph/templates/secrets.yaml b/ceph/templates/secrets.yaml index 91bff6a2..23e72b0b 100644 --- a/ceph/templates/secrets.yaml +++ b/ceph/templates/secrets.yaml @@ -45,4 +45,4 @@ metadata: name: "ceph-client-key" type: Opaque data: | - ceph-client-key: {{ include "secrets/ceph-client-key" . | b64enc | indent 4 }} + ceph-client-key: {{ include "secrets/ceph-client-key" . | indent 4 }} From b372c4b2f8e8069fdb773bea72b890c5ce393cfb Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 15:04:31 -0800 Subject: [PATCH 04/14] apply ceph-client-key normalization to common --- common/templates/secrets.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/templates/secrets.yaml b/common/templates/secrets.yaml index 3f6d335c..fb269e71 100644 --- a/common/templates/secrets.yaml +++ b/common/templates/secrets.yaml @@ -4,8 +4,9 @@ kind: Secret metadata: name: "pvc-ceph-conf-combined-storageclass" type: kubernetes.io/rbd -data: - key: {{ include "secrets/ceph-client-key" . | quote }} +data: + key: | + {{ include "secrets/ceph-client-key" . | indent 4 }} --- apiVersion: v1 kind: Secret @@ -13,4 +14,5 @@ metadata: name: "pvc-ceph-client-key" type: kubernetes.io/rbd data: - key: {{ include "secrets/ceph-client-key" . | quote }} + key: | + {{ include "secrets/ceph-client-key" . | indent 4 }} From 67c86d9fea2060a6b7d362c03e1f5085260f8265 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 15:07:15 -0800 Subject: [PATCH 05/14] apply ceph-client-key normalization to common (really this time) --- ceph/templates/secrets.yaml | 5 +++-- common/templates/secrets.yaml | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ceph/templates/secrets.yaml b/ceph/templates/secrets.yaml index 23e72b0b..26c914df 100644 --- a/ceph/templates/secrets.yaml +++ b/ceph/templates/secrets.yaml @@ -44,5 +44,6 @@ kind: Secret metadata: name: "ceph-client-key" type: Opaque -data: | - ceph-client-key: {{ include "secrets/ceph-client-key" . | indent 4 }} +data: + ceph-client-key: | +{{ include "secrets/ceph-client-key" . | indent 4 }} diff --git a/common/templates/secrets.yaml b/common/templates/secrets.yaml index fb269e71..ea0b9c1e 100644 --- a/common/templates/secrets.yaml +++ b/common/templates/secrets.yaml @@ -6,7 +6,7 @@ metadata: type: kubernetes.io/rbd data: key: | - {{ include "secrets/ceph-client-key" . | indent 4 }} +{{ include "secrets/ceph-client-key" . | indent 4 }} --- apiVersion: v1 kind: Secret @@ -15,4 +15,4 @@ metadata: type: kubernetes.io/rbd data: key: | - {{ include "secrets/ceph-client-key" . | indent 4 }} +{{ include "secrets/ceph-client-key" . | indent 4 }} From e86461b3f1f2e5d9db0c921b50b2b73f30b5c0b6 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 15:08:31 -0800 Subject: [PATCH 06/14] apply ceph-client-key normalization to common (really this time) --- ceph/templates/secrets.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ceph/templates/secrets.yaml b/ceph/templates/secrets.yaml index 26c914df..05f547ce 100644 --- a/ceph/templates/secrets.yaml +++ b/ceph/templates/secrets.yaml @@ -44,6 +44,6 @@ kind: Secret metadata: name: "ceph-client-key" type: Opaque -data: +data: ceph-client-key: | {{ include "secrets/ceph-client-key" . | indent 4 }} From ba70ad65ba87e4e74e356f663d6234749974ad58 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 15:36:54 -0800 Subject: [PATCH 07/14] remove duplicate mariadb service --- mariadb/templates/mariadb-deployment.yaml | 11 ----------- mariadb/templates/mariadb-service.yaml | 3 ++- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/mariadb/templates/mariadb-deployment.yaml b/mariadb/templates/mariadb-deployment.yaml index c3f68879..a19eb03b 100644 --- a/mariadb/templates/mariadb-deployment.yaml +++ b/mariadb/templates/mariadb-deployment.yaml @@ -1,14 +1,3 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: mariadb -spec: - ports: - - name: db - port: {{ .Values.network.port.mariadb }} - selector: - app: mariadb {{- $root := . -}} {{ range $k, $v := until (atoi .Values.replicas) }} --- diff --git a/mariadb/templates/mariadb-service.yaml b/mariadb/templates/mariadb-service.yaml index 5b3dae04..2fa2f631 100644 --- a/mariadb/templates/mariadb-service.yaml +++ b/mariadb/templates/mariadb-service.yaml @@ -4,6 +4,7 @@ metadata: name: mariadb spec: ports: - - port: {{ .Values.network.port.mariadb }} + - name: db + port: {{ .Values.network.port.mariadb }} selector: app: mariadb From 4861258380648b462b397c756b7874b707aa95ea Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 16:16:42 -0800 Subject: [PATCH 08/14] use beta even in 1.4 --- mariadb/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mariadb/values.yaml b/mariadb/values.yaml index 5f7ee600..e0a7f433 100644 --- a/mariadb/values.yaml +++ b/mariadb/values.yaml @@ -9,7 +9,7 @@ images: mariadb: quay.io/stackanetes/stackanetes-mariadb:newton volume: - class_path: volume.alpha.kubernetes.io/storage-class + class_path: volume.beta.kubernetes.io/storage-class class_name: general size: 20Gi From 3c2e101e72c82aa13cee99f643ccf224d138e79a Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 16:20:49 -0800 Subject: [PATCH 09/14] b64enc consistently --- ceph/templates/secrets.yaml | 2 +- common/templates/secrets.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ceph/templates/secrets.yaml b/ceph/templates/secrets.yaml index 05f547ce..eafaca48 100644 --- a/ceph/templates/secrets.yaml +++ b/ceph/templates/secrets.yaml @@ -46,4 +46,4 @@ metadata: type: Opaque data: ceph-client-key: | -{{ include "secrets/ceph-client-key" . | indent 4 }} +{{ include "secrets/ceph-client-key" . | b64enc | indent 4 }} diff --git a/common/templates/secrets.yaml b/common/templates/secrets.yaml index ea0b9c1e..62387f2f 100644 --- a/common/templates/secrets.yaml +++ b/common/templates/secrets.yaml @@ -6,7 +6,7 @@ metadata: type: kubernetes.io/rbd data: key: | -{{ include "secrets/ceph-client-key" . | indent 4 }} +{{ include "secrets/ceph-client-key" . | b64enc | indent 4 }} --- apiVersion: v1 kind: Secret @@ -15,4 +15,4 @@ metadata: type: kubernetes.io/rbd data: key: | -{{ include "secrets/ceph-client-key" . | indent 4 }} +{{ include "secrets/ceph-client-key" . | b64enc | indent 4 }} From a51d3b016756fa454541bb1d501217bf00f7a696 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 16:46:07 -0800 Subject: [PATCH 10/14] add namespace bootstrap chart --- Makefile | 6 +++-- bootstrap/.gitignore | 3 +++ bootstrap/.helmignore | 27 ++++++++++++++++++++ bootstrap/Chart.yaml | 4 +++ bootstrap/requirements.lock | 6 +++++ bootstrap/requirements.yaml | 4 +++ {common => bootstrap}/templates/secrets.yaml | 0 bootstrap/values.yaml | 4 +++ 8 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 bootstrap/.gitignore create mode 100644 bootstrap/.helmignore create mode 100755 bootstrap/Chart.yaml create mode 100644 bootstrap/requirements.lock create mode 100644 bootstrap/requirements.yaml rename {common => bootstrap}/templates/secrets.yaml (100%) create mode 100644 bootstrap/values.yaml diff --git a/Makefile b/Makefile index c3de0908..1e772b40 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: ceph mariadb keystone memcached rabbitmq common openstack all clean +.PHONY: ceph bootstrap mariadb keystone memcached rabbitmq common openstack all clean B64_DIRS := common/secrets B64_EXCLUDE := $(wildcard common/secrets/*.b64) @@ -6,12 +6,14 @@ B64_EXCLUDE := $(wildcard common/secrets/*.b64) CHARTS := ceph mariadb rabbitmq memcached keystone openstack COMMON_TPL := common/templates/_globals.tpl -all: common ceph mariadb rabbitmq memcached keystone openstack +all: common bootstrap mariadb rabbitmq memcached keystone openstack common: build-common ceph: build-ceph +bootstrap: build-bootstrap + mariadb: build-mariadb keystone: build-keystone diff --git a/bootstrap/.gitignore b/bootstrap/.gitignore new file mode 100644 index 00000000..e1bd7e85 --- /dev/null +++ b/bootstrap/.gitignore @@ -0,0 +1,3 @@ +secrets/* +!secrets/.gitkeep +templates/_secrets.tpl diff --git a/bootstrap/.helmignore b/bootstrap/.helmignore new file mode 100644 index 00000000..e8ef5ffa --- /dev/null +++ b/bootstrap/.helmignore @@ -0,0 +1,27 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj + +bin/ +etc/ +patches/ +*.py +Makefile diff --git a/bootstrap/Chart.yaml b/bootstrap/Chart.yaml new file mode 100755 index 00000000..a813321a --- /dev/null +++ b/bootstrap/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: aic-helm namespace bootstrap +name: bootstrap +version: 0.1.0 diff --git a/bootstrap/requirements.lock b/bootstrap/requirements.lock new file mode 100644 index 00000000..91b11207 --- /dev/null +++ b/bootstrap/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: http://localhost:8879/charts + version: 0.1.0 +digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc +generated: 2016-11-30T16:45:40.895492737-08:00 diff --git a/bootstrap/requirements.yaml b/bootstrap/requirements.yaml new file mode 100644 index 00000000..c36a1cba --- /dev/null +++ b/bootstrap/requirements.yaml @@ -0,0 +1,4 @@ +dependencies: +- name: common + repository: http://localhost:8879/charts + version: 0.1.0 diff --git a/common/templates/secrets.yaml b/bootstrap/templates/secrets.yaml similarity index 100% rename from common/templates/secrets.yaml rename to bootstrap/templates/secrets.yaml diff --git a/bootstrap/values.yaml b/bootstrap/values.yaml new file mode 100644 index 00000000..ff56130f --- /dev/null +++ b/bootstrap/values.yaml @@ -0,0 +1,4 @@ +# Default values for bootstrap. +# This is a YAML-formatted file. +# Declare name/value pairs to be passed into your templates. +# name: value From d8386f4e0e96207f27bc0d3485ebd65a88f03b3a Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 16:51:06 -0800 Subject: [PATCH 11/14] bugfix memcached command --- memcached/templates/deployment.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/memcached/templates/deployment.yaml b/memcached/templates/deployment.yaml index 2715ef75..35e20d90 100644 --- a/memcached/templates/deployment.yaml +++ b/memcached/templates/deployment.yaml @@ -15,7 +15,9 @@ spec: - name: memcached image: {{ .Values.images.memcached }} imagePullPolicy: Always - command: "memcached -v -p {{ .Values.network.port }} -U 0 -c 8192 -m 1024" + env: + - name: COMMAND + value: "memcached -v -p {{ .Values.network.port }} -U 0 -c 8192 -m 1024" ports: - containerPort: {{ .Values.network.port }} readinessProbe: From cded42e315879fffec0fce76234a350749d8be80 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 16:58:39 -0800 Subject: [PATCH 12/14] add environments necessary to memcache; bugfix rabbitmq configmap name --- memcached/templates/deployment.yaml | 10 ++++++++++ rabbitmq/templates/deployment.yaml | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/memcached/templates/deployment.yaml b/memcached/templates/deployment.yaml index 35e20d90..31842548 100644 --- a/memcached/templates/deployment.yaml +++ b/memcached/templates/deployment.yaml @@ -16,6 +16,16 @@ spec: image: {{ .Values.images.memcached }} imagePullPolicy: Always env: + - name: INTERFACE_NAME + value: "eth0" + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace - name: COMMAND value: "memcached -v -p {{ .Values.network.port }} -U 0 -c 8192 -m 1024" ports: diff --git a/rabbitmq/templates/deployment.yaml b/rabbitmq/templates/deployment.yaml index 69bf4102..50b254cb 100644 --- a/rabbitmq/templates/deployment.yaml +++ b/rabbitmq/templates/deployment.yaml @@ -37,5 +37,5 @@ spec: - name: rabbitmq-emptydir mountPath: /var/lib/rabbitmq - mountPath: /tmp/start_rabbitmq.sh - name: start-rabbitmq + name: rabbitmq-bin subPath: start_rabbitmq.sh From 0dd7bd45dd562112f544a6b74ce26a95b556718a Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 17:01:36 -0800 Subject: [PATCH 13/14] bugfix rabbitmq configmap name (further) --- rabbitmq/templates/deployment.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rabbitmq/templates/deployment.yaml b/rabbitmq/templates/deployment.yaml index 50b254cb..21bbd5f8 100644 --- a/rabbitmq/templates/deployment.yaml +++ b/rabbitmq/templates/deployment.yaml @@ -14,9 +14,9 @@ spec: volumes: - name: rabbitmq-emptydir emptyDir: {} - - name: start-rabbitmq + - name: rabbitmq-bin configMap: - name: start-rabbitmq + name: rabbitmq-bin containers: - name: rabbitmq image: {{ .Values.images.rabbitmq }} @@ -36,6 +36,6 @@ spec: volumeMounts: - name: rabbitmq-emptydir mountPath: /var/lib/rabbitmq - - mountPath: /tmp/start_rabbitmq.sh - name: rabbitmq-bin + - name: rabbitmq-bin + mountPath: /tmp/start_rabbitmq.sh subPath: start_rabbitmq.sh From d9942320b5ce1f6d13e14528aaee0d42f0bf7754 Mon Sep 17 00:00:00 2001 From: Alan Meadows Date: Wed, 30 Nov 2016 17:11:15 -0800 Subject: [PATCH 14/14] fix requirements to only require common --- bootstrap/requirements.lock | 2 +- ceph/requirements.lock | 6 ------ common/requirements.lock | 2 +- keystone/requirements.lock | 6 +++--- keystone/requirements.yaml | 12 ------------ mariadb/requirements.lock | 2 +- memcached/requirements.lock | 2 +- openstack/requirements.lock | 2 +- rabbitmq/requirements.lock | 2 +- 9 files changed, 9 insertions(+), 27 deletions(-) delete mode 100644 ceph/requirements.lock diff --git a/bootstrap/requirements.lock b/bootstrap/requirements.lock index 91b11207..e5d7bf64 100644 --- a/bootstrap/requirements.lock +++ b/bootstrap/requirements.lock @@ -3,4 +3,4 @@ dependencies: repository: http://localhost:8879/charts version: 0.1.0 digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc -generated: 2016-11-30T16:45:40.895492737-08:00 +generated: 2016-11-30T17:10:48.887264789-08:00 diff --git a/ceph/requirements.lock b/ceph/requirements.lock deleted file mode 100644 index 3bcbd6ea..00000000 --- a/ceph/requirements.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: http://localhost:8879/charts - version: 0.1.0 -digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc -generated: 2016-11-29T12:54:37.241999965-08:00 diff --git a/common/requirements.lock b/common/requirements.lock index 5f8e6381..98d4c0a4 100644 --- a/common/requirements.lock +++ b/common/requirements.lock @@ -1,3 +1,3 @@ dependencies: [] digest: sha256:81059fe6210ccee4e3349c0f34c12d180f995150128a913d63b65b7937c6b152 -generated: 2016-11-25T16:25:49.376763578-08:00 +generated: 2016-11-30T17:10:48.32482926-08:00 diff --git a/keystone/requirements.lock b/keystone/requirements.lock index a9bade32..33d057c1 100644 --- a/keystone/requirements.lock +++ b/keystone/requirements.lock @@ -1,6 +1,6 @@ dependencies: -- name: memcached +- name: common repository: http://localhost:8879/charts version: 0.1.0 -digest: sha256:481dd0955bd39e18cee2026239f140f595f08b988736ad8c1ef95c6212f619c4 -generated: 2016-11-25T16:15:47.611304031-08:00 +digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc +generated: 2016-11-30T17:10:51.579937981-08:00 diff --git a/keystone/requirements.yaml b/keystone/requirements.yaml index d95ff253..2350b1fa 100644 --- a/keystone/requirements.yaml +++ b/keystone/requirements.yaml @@ -2,15 +2,3 @@ dependencies: - name: common repository: http://localhost:8879/charts version: 0.1.0 -dependencies: - - name: mariadb - repository: http://localhost:8879/charts - version: 0.1.0 -dependencies: - - name: rabbitmq - repository: http://localhost:8879/charts - version: 0.1.0 -dependencies: - - name: memcached - repository: http://localhost:8879/charts - version: 0.1.0 diff --git a/mariadb/requirements.lock b/mariadb/requirements.lock index e992d3b6..9c460b97 100644 --- a/mariadb/requirements.lock +++ b/mariadb/requirements.lock @@ -3,4 +3,4 @@ dependencies: repository: http://localhost:8879/charts version: 0.1.0 digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc -generated: 2016-11-29T11:31:25.670403608-08:00 +generated: 2016-11-30T17:10:49.537749902-08:00 diff --git a/memcached/requirements.lock b/memcached/requirements.lock index 777c352b..a30dd69a 100644 --- a/memcached/requirements.lock +++ b/memcached/requirements.lock @@ -3,4 +3,4 @@ dependencies: repository: http://localhost:8879/charts version: 0.1.0 digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc -generated: 2016-11-29T11:31:27.05384225-08:00 +generated: 2016-11-30T17:10:50.917838584-08:00 diff --git a/openstack/requirements.lock b/openstack/requirements.lock index 51ea2d5f..73571f11 100644 --- a/openstack/requirements.lock +++ b/openstack/requirements.lock @@ -15,4 +15,4 @@ dependencies: repository: http://localhost:8879/charts version: 0.1.0 digest: sha256:e92d6b6811d65492a95e4db258d516bfd7dd540108bb3d0e92e7dabc13ae2bbf -generated: 2016-11-29T11:31:33.541933538-08:00 +generated: 2016-11-30T17:10:52.235026033-08:00 diff --git a/rabbitmq/requirements.lock b/rabbitmq/requirements.lock index 6ba5103c..3d8db9f4 100644 --- a/rabbitmq/requirements.lock +++ b/rabbitmq/requirements.lock @@ -3,4 +3,4 @@ dependencies: repository: http://localhost:8879/charts version: 0.1.0 digest: sha256:c6a7e430c900036912fe3fdc14213e9280c5da0b6607ce4dcf6dc95535d114fc -generated: 2016-11-29T11:31:26.360492977-08:00 +generated: 2016-11-30T17:10:50.189434385-08:00