Uplift Promenade

Uplifts the Promenade image as well as other modifications required
because of recent changes to Promenade, namely:
  * HostSystem schema changes for new image and new key under packages
  * New chart configuration to utilize new source for hyperkube
  * Refactoring names to make more sense and added new monitoring_image

Change-Id: I6c8e0c9f7c51438aa1d911c5fcd0d2f197ca37cf
This commit is contained in:
Alexander Noskov 2019-06-14 00:01:19 +00:00
parent d1b9954e86
commit 9ca7dfd06b
5 changed files with 247 additions and 116 deletions

View File

@ -11,9 +11,9 @@ metadata:
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .files.kubelet
path: .images.kubernetes.hyperkube
dest:
path: .files[0].tar_url
path: .files[0].docker_image
# Initial CoreDNS image (used during node Genesis and node join)
- src:
@ -41,9 +41,9 @@ metadata:
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.kubernetes.kubectl
path: .images.ucp.promenade.monitoring_image
dest:
path: .images.kubernetes.kubectl
path: .images.monitoring_image
# System packages
- src:
@ -51,20 +51,20 @@ metadata:
name: software-versions
path: .packages.named.docker
dest:
path: .packages.required.docker
path: .packages.common.required.docker
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .packages.named.socat
dest:
path: .packages.required.socat
path: .packages.common.required.socat
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .packages.unnamed
dest:
path: .packages.additional
path: .packages.common.additional
# Docker authorization
- src:
@ -72,13 +72,19 @@ metadata:
path: .
name: private_docker_key
dest:
path: .files[2].content
path: .files[4].content
pattern: DH_SUB_PRIVATE_DOCKER_KEY
data:
files:
- path: /opt/kubernetes/bin/hyperkube
file_path: /hyperkube
mode: 0555
- path: /opt/kubernetes/bin/kubelet
tar_path: kubernetes/node/bin/kubelet
symlink: /opt/kubernetes/bin/hyperkube
mode: 0555
- path: /usr/local/bin/kubectl
symlink: /opt/kubernetes/bin/hyperkube
mode: 0555
- path: /etc/logrotate.d/json-logrotate
mode: 0444
@ -111,7 +117,12 @@ data:
- path: /var/lib/prom.done
mode: 0444
content: ""
- path: /etc/profile.d/kubeconfig.sh
mode: 0744
content: |-
export KUBECONFIG=/etc/kubernetes/admin/kubeconfig.yaml
packages:
common:
repositories:
- deb https://download.docker.com/linux/ubuntu/ xenial stable
keys:

View File

@ -11,6 +11,18 @@ data:
abs_path:
type: string
pattern: '^/.+$'
systemd_unit:
type: object
properties:
enable:
type: boolean
disable:
type: boolean
start:
type: boolean
stop:
type: boolean
additionalProperties: false
apt_source_line:
type: string
# XXX add regex
@ -27,7 +39,12 @@ data:
$ref: '#/definitions/url'
tar_path:
$ref: '#/definitions/rel_path'
docker_image:
$ref: '#/definitions/url'
file_path:
$ref: '#/definitions/abs_path'
symlink:
$ref: '#/definitions/abs_path'
required:
- mode
- path
@ -35,12 +52,21 @@ data:
- type: object
required:
- content
- type: object
required:
- symlink
- type: object
allOf:
- type: object
required:
- tar_url
- tar_path
- type: object
allOf:
- type: object
required:
- docker_image
- file_path
additionalProperties: false
image:
@ -68,13 +94,17 @@ data:
type: object
items:
$ref: '#/definitions/file'
systemd_units:
type: object
additionalProperties:
$ref: '#/definitions/systemd_unit'
images:
type: object
properties:
haproxy:
$ref: '#/definitions/image'
coredns:
$ref: '#/definitions/image'
haproxy:
$ref: '#/definitions/image'
helm:
type: object
properties:
@ -83,22 +113,17 @@ data:
required:
- helm
additionalProperties: false
kubernetes:
type: object
properties:
kubectl:
monitoring_image:
$ref: '#/definitions/image'
required:
- kubectl
additionalProperties: false
required:
- haproxy
- coredns
- helm
- kubernetes
- monitoring_image
additionalProperties: false
packages:
type: object
common:
type: object
properties:
additional:
@ -131,6 +156,83 @@ data:
- required
additionalProperties: false
genesis:
type: object
properties:
additional:
type: array
items:
$ref: '#/definitions/package'
keys:
type: array
items:
$ref: '#/definitions/public_key'
required:
type: object
properties:
docker:
$ref: '#/definitions/package'
socat:
$ref: '#/definitions/package'
required:
- docker
- socat
additionalProperties: false
repositories:
type: array
items:
$ref: '#/definitions/apt_source_line'
required:
- required
additionalProperties: false
join:
type: object
properties:
additional:
type: array
items:
$ref: '#/definitions/package'
keys:
type: array
items:
$ref: '#/definitions/public_key'
required:
type: object
properties:
docker:
$ref: '#/definitions/package'
socat:
$ref: '#/definitions/package'
required:
- docker
- socat
additionalProperties: false
repositories:
type: array
items:
$ref: '#/definitions/apt_source_line'
required:
- required
additionalProperties: false
validation:
type: object
properties:
pod_logs:
type: object
properties:
image:
type: string
additionalProperties: false
additionalProperties: false
required:
- images
- packages

View File

@ -26,6 +26,20 @@ metadata:
path: .images.ucp.promenade
dest:
path: .values.images.tags
- src:
schema: pegleg/SoftwareVersions/v1
name: software-versions
path: .images.ucp.promenade.monitoring_image
dest:
path: .values.images.tags.monitoring_image
# Files
- src:
schema: promenade/HostSystem/v1
name: host-system
path: .files[0].path
dest:
path: .values.pod.mount_path
# Endpoints

View File

@ -468,7 +468,7 @@ data:
type: git
promenade:
location: https://opendev.org/airship/promenade
reference: 44b5fae04788c6a28de0f9a2e132204561474d47
reference: fefd664cd8a5de659e197694b1cfa4d243ab4fae
subpath: charts/promenade
type: git
promenade-htk:
@ -536,8 +536,6 @@ data:
reference: 09ae22d8493d5cef34c80cb69117c69dc0f2dc8e
subpath: helm-toolkit
type: git
files:
kubelet: https://dl.k8s.io/v1.11.6/kubernetes-node-linux-amd64.tar.gz
images:
calico:
calico: {}
@ -568,8 +566,8 @@ data:
haproxy:
anchor: gcr.io/google_containers/hyperkube-amd64:v1.11.6
haproxy: docker.io/haproxy:1.8.19
hyperkube: gcr.io/google-containers/hyperkube-amd64:v1.11.6
ingress: {}
kubectl: gcr.io/google-containers/hyperkube-amd64:v1.11.6
pause: gcr.io/google-containers/pause-amd64:3.1
proxy:
proxy: gcr.io/google-containers/hyperkube-amd64:v1.11.6
@ -635,7 +633,8 @@ data:
pegleg: quay.io/airshipit/pegleg:fb2f62d25a11374435d99d9f59049d5799ccab73-ubuntu_xenial
postgresql: {}
promenade:
promenade: quay.io/airshipit/promenade:9b62a49eae5b29088c1f7899949df38ae91494e2
monitoring_image: busybox:1.28.3
promenade: quay.io/airshipit/promenade:fefd664cd8a5de659e197694b1cfa4d243ab4fae
rabbitmq: {}
shipyard:
airflow: quay.io/airshipit/airflow:89a8eda43e4af3cf146f89a25e96c37dbaa5fa88-ubuntu_xenial

View File

@ -132,12 +132,17 @@ no_proxy=${no_proxy:-}
HTTP_PROXY=${HTTP_PROXY:-}
HTTPS_PROXY=${HTTPS_PROXY:-}
NO_PROXY=${NO_PROXY:-}
# Promenade specific variables for downloading hyperkube image to generate genesis.sh
PROMENADE_TMP=/tmp
PROMENADE_TMP_LOCAL=/tmp
EOF
docker run --rm --net=host $TERM_OPTS \
-u "${USER}:${GROUP}" \
-w /target \
-v $(pwd):/target \
-v /tmp:/tmp \
-v /var/run/docker.sock:/var/run/docker.sock \
--env-file $ENV_FILE \
$IMAGE_URL $@
}