Adding chart for docker registry and serving master images
Docker registry will be running as a pod, if configured, it will load tarball with images and start serviceg then inside of a kubernetes cluster. Change-Id: I9b0df3c27148b22b204403a38e8b49495e31e03f
This commit is contained in:
parent
13324268cd
commit
50fc348e39
|
@ -0,0 +1,11 @@
|
||||||
|
apiVersion: v1
|
||||||
|
version: 0.7.0-1
|
||||||
|
description: private docker registry
|
||||||
|
name: registry-deployment
|
||||||
|
keywords:
|
||||||
|
- docker
|
||||||
|
- registry
|
||||||
|
home: http://www.openstack.org
|
||||||
|
sources:
|
||||||
|
- http://github.com/openstack
|
||||||
|
engine: gotpl
|
|
@ -0,0 +1,79 @@
|
||||||
|
{{- $replicas := .Values.replicas }}
|
||||||
|
{{- $svcName := .Values.svc_name }}
|
||||||
|
{{- $initLoad := .Values.initial_load }}
|
||||||
|
{{- $distro := .Values.distro }}
|
||||||
|
{{- $type := .Values.type }}
|
||||||
|
{{- $branch := .Values.branch }}
|
||||||
|
{{- $nodePort := .Values.node_port }}
|
||||||
|
{{- $initImage := .Values.init_image }}
|
||||||
|
{{- $initImageV := .Values.init_image_version }}
|
||||||
|
{{- $registryImage := .Values.registry_image }}
|
||||||
|
{{- $registryImageV := .Values.registry_image_version }}
|
||||||
|
{{- $tarballURL := .Values.tarball_url }}
|
||||||
|
---
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ $svcName }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ $replicas }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
service: {{ $svcName }}
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: init-myservice
|
||||||
|
image: "{{ $initImage }}:{{ $initImageV }}"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
- -ec
|
||||||
|
- |
|
||||||
|
{{- if $initLoad }}
|
||||||
|
fn='{{ $distro }}-{{ $type }}-registry-{{ $branch }}.tar.gz';
|
||||||
|
echo $fn;
|
||||||
|
curl {{ $tarballURL }}$fn | tar -C /var/lib/registry/ -xzvf -;
|
||||||
|
{{- end }}
|
||||||
|
echo Registry is all ready serving images...;
|
||||||
|
volumeMounts:
|
||||||
|
- name: image-store
|
||||||
|
mountPath: /var/lib/registry
|
||||||
|
containers:
|
||||||
|
- name: registry
|
||||||
|
image: "{{ $registryImage }}:{{ $registryImageV }}"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 256Mi
|
||||||
|
env:
|
||||||
|
- name: REGISTRY_HTTP_ADDR
|
||||||
|
value: ":4000"
|
||||||
|
- name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
|
||||||
|
value: "/var/lib/registry"
|
||||||
|
volumeMounts:
|
||||||
|
- name: image-store
|
||||||
|
mountPath: /var/lib/registry
|
||||||
|
ports:
|
||||||
|
- containerPort: 4000
|
||||||
|
name: registry
|
||||||
|
protocol: TCP
|
||||||
|
volumes:
|
||||||
|
- name: image-store
|
||||||
|
emptyDir: {}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ $svcName }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
service: {{ $svcName }}
|
||||||
|
ports:
|
||||||
|
- name: registry
|
||||||
|
port: 4000
|
||||||
|
protocol: TCP
|
||||||
|
nodePort: {{ $nodePort }}
|
||||||
|
type: NodePort
|
||||||
|
---
|
|
@ -0,0 +1,12 @@
|
||||||
|
svc_name: kube-registry
|
||||||
|
node_port: 30400
|
||||||
|
initial_load: false
|
||||||
|
replicas: 1
|
||||||
|
distro: centos
|
||||||
|
type: source
|
||||||
|
branch: master
|
||||||
|
init_image: centos
|
||||||
|
init_image_version: latest
|
||||||
|
registry_image: registry
|
||||||
|
registry_image_version: 2
|
||||||
|
tarball_url: http://tarballs.openstack.org/kolla/images/
|
|
@ -0,0 +1,48 @@
|
||||||
|
function common_iscsi_config {
|
||||||
|
echo "global:"
|
||||||
|
echo " kolla:"
|
||||||
|
echo " all:"
|
||||||
|
echo " docker_registry: 127.0.0.1:30401"
|
||||||
|
echo " docker_namespace: lokolla"
|
||||||
|
echo " image_tag: 5.0.0"
|
||||||
|
echo " storage_provider: host"
|
||||||
|
echo " install_type: source"
|
||||||
|
echo " storage_provider_fstype: xfs"
|
||||||
|
echo " ceph_backend: false"
|
||||||
|
echo " kolla_toolbox_image_tag: 5.0.0"
|
||||||
|
echo " haproxy_image_tag: 5.0.0"
|
||||||
|
echo " fluentd_image_tag: 5.0.0"
|
||||||
|
echo " kubernetes_entrypoint_image_tag: 5.0.0"
|
||||||
|
echo " lvm_backends:"
|
||||||
|
echo " - '172.18.0.1': 'cinder-volumes'"
|
||||||
|
echo " cinder:"
|
||||||
|
echo " all:"
|
||||||
|
echo " image_tag: 5.0.0"
|
||||||
|
echo " volume_lvm:"
|
||||||
|
echo " all:"
|
||||||
|
echo " element_name: cinder-volume"
|
||||||
|
echo " nova:"
|
||||||
|
echo " all:"
|
||||||
|
echo " image_tag: 5.0.0"
|
||||||
|
echo " placement_api_enabled: true"
|
||||||
|
echo " cell_enabled: true"
|
||||||
|
echo " api:"
|
||||||
|
echo " create_cell:"
|
||||||
|
echo " job:"
|
||||||
|
echo " cell_wait_compute: false"
|
||||||
|
echo " ironic:"
|
||||||
|
echo " all:"
|
||||||
|
echo " image_tag: 5.0.0"
|
||||||
|
echo " conductor:"
|
||||||
|
echo " all:"
|
||||||
|
echo " ironic_api_ip: 172.21.0.10"
|
||||||
|
echo " ironic_provision_cidr: 172.21.0.0/24"
|
||||||
|
echo " inspector:"
|
||||||
|
echo " all:"
|
||||||
|
echo " initramfs_url: http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-newton.gz"
|
||||||
|
echo " kernel_url: http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-newton.vmlinuz"
|
||||||
|
echo " ironic_dhcp_range: net2,172.22.0.10,172.22.0.20,255.255.255.0"
|
||||||
|
echo " horizon:"
|
||||||
|
echo " all:"
|
||||||
|
echo " image_tag: 5.0.0"
|
||||||
|
}
|
|
@ -13,6 +13,7 @@ function iscsi_config {
|
||||||
function check_for_nova {
|
function check_for_nova {
|
||||||
for service in nova-scheduler nova-conductor nova-compute;
|
for service in nova-scheduler nova-conductor nova-compute;
|
||||||
do
|
do
|
||||||
|
nova service-list
|
||||||
str=$(nova service-list | grep $service | awk '{print $12}')
|
str=$(nova service-list | grep $service | awk '{print $12}')
|
||||||
status=${str%%[[:space:]]*}
|
status=${str%%[[:space:]]*}
|
||||||
if [ "x$status" != "xup" ]; then
|
if [ "x$status" != "xup" ]; then
|
||||||
|
@ -27,7 +28,7 @@ function wait_for_openstack {
|
||||||
count=0
|
count=0
|
||||||
while true; do
|
while true; do
|
||||||
[ $count -gt 60 ] && echo Wait for openstack services failed... \
|
[ $count -gt 60 ] && echo Wait for openstack services failed... \
|
||||||
&& return -1
|
&& return 1
|
||||||
echo "Check for nova"
|
echo "Check for nova"
|
||||||
check_for_nova
|
check_for_nova
|
||||||
retcode=$?
|
retcode=$?
|
||||||
|
@ -40,6 +41,7 @@ function wait_for_openstack {
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
set -e
|
set -e
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function deploy_iscsi_common {
|
function deploy_iscsi_common {
|
||||||
|
@ -61,11 +63,15 @@ IRONIC_CONDUCTOR_IP=${6:-172.21.0.10}
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
|
||||||
|
|
||||||
. "$DIR/tests/bin/common_workflow_config.sh"
|
. "$DIR/tests/bin/common_workflow_config.sh"
|
||||||
if [ "x$branch" == "x4" ]; then
|
|
||||||
. "$DIR/tests/bin/common_iscsi_config_v4.sh"
|
case "$branch" in
|
||||||
else
|
4) . "$DIR/tests/bin/common_iscsi_config_v4.sh"
|
||||||
. "$DIR/tests/bin/common_iscsi_config.sh"
|
;;
|
||||||
fi
|
t) . "$DIR/tests/bin/common_iscsi_config_v5.sh"
|
||||||
|
;;
|
||||||
|
*) . "$DIR/tests/bin/common_iscsi_config.sh"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
general_config $IP $base_distro $tunnel_interface $branch > /tmp/general_config.yaml
|
general_config $IP $base_distro $tunnel_interface $branch > /tmp/general_config.yaml
|
||||||
iscsi_config > /tmp/iscsi_config.yaml
|
iscsi_config > /tmp/iscsi_config.yaml
|
||||||
|
@ -528,7 +534,14 @@ $DIR/tools/wait_for_pods.sh kolla
|
||||||
$DIR/tools/build_local_admin_keystonerc.sh
|
$DIR/tools/build_local_admin_keystonerc.sh
|
||||||
. ~/keystonerc_admin
|
. ~/keystonerc_admin
|
||||||
|
|
||||||
wait_for_openstack
|
#
|
||||||
|
# NOTE(sbezverk) In current master nova service-list commands
|
||||||
|
# comes back empty if cell has not been already deployed.
|
||||||
|
# As a result we cannot wait for nova services to be up and
|
||||||
|
# need to deploy cell0 right away.
|
||||||
|
if [ "x$branch" != "xt" ]; then
|
||||||
|
wait_for_openstack
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "x$branch" != "x2" -a "x$branch" != "x3" ]; then
|
if [ "x$branch" != "x2" -a "x$branch" != "x3" ]; then
|
||||||
helm install kolla/nova-cell0-create-db-job --version $VERSION \
|
helm install kolla/nova-cell0-create-db-job --version $VERSION \
|
||||||
|
|
|
@ -194,6 +194,10 @@ def main():
|
||||||
merge_dict(pkg_values, values['common-mariadb'])
|
merge_dict(pkg_values, values['common-mariadb'])
|
||||||
if package in values:
|
if package in values:
|
||||||
merge_dict(pkg_values, values[package])
|
merge_dict(pkg_values, values[package])
|
||||||
|
if package == "registry-deployment":
|
||||||
|
sys.stdout.write("\rSkip registry chart")
|
||||||
|
sys.stdout.flush()
|
||||||
|
continue
|
||||||
with open(os.path.join(microdir, package, "values.yaml"), "w") as f:
|
with open(os.path.join(microdir, package, "values.yaml"), "w") as f:
|
||||||
f.write("# This file is generated. Please edit all_values.yaml\n")
|
f.write("# This file is generated. Please edit all_values.yaml\n")
|
||||||
f.write("# and rerun tools/helm_prebuild.py\n")
|
f.write("# and rerun tools/helm_prebuild.py\n")
|
||||||
|
|
|
@ -28,8 +28,12 @@ case "$BRANCH" in
|
||||||
sed -i 's/2\.0\.2/4.0.0/g' tests/conf/ceph-all-in-one/kolla_config
|
sed -i 's/2\.0\.2/4.0.0/g' tests/conf/ceph-all-in-one/kolla_config
|
||||||
;;
|
;;
|
||||||
"t" )
|
"t" )
|
||||||
echo Version: $BRANCH is not implemented yet.
|
sed -i 's/2\.0\.2/5.0.0/g' helm/all_values.yaml
|
||||||
exit 1
|
sed -i 's/2\.0\.2/5.0.0/g' tests/conf/ceph-all-in-one/kolla_config
|
||||||
|
if [ "x$4" != "xiscsi" ]; then
|
||||||
|
echo CEPH workflow for branch "$BRANCH" is not implemented yet. Exiting...
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"2" )
|
"2" )
|
||||||
sed -i 's/cell_enabled.*/cell_enabled: false/g' helm/service/nova-control/values.yaml
|
sed -i 's/cell_enabled.*/cell_enabled: false/g' helm/service/nova-control/values.yaml
|
||||||
|
|
|
@ -77,6 +77,9 @@ elif [ "x$4" == "xironic" ]; then
|
||||||
elif [ "x$4" == "xhelm-operator" ]; then
|
elif [ "x$4" == "xhelm-operator" ]; then
|
||||||
echo "Not yet implemented..." "$4" "$2" "$BRANCH"
|
echo "Not yet implemented..." "$4" "$2" "$BRANCH"
|
||||||
else
|
else
|
||||||
|
if [ "x$BRANCH" == "xt" ]; then
|
||||||
|
tools/setup_registry.sh $DISTRO $TYPE $BRANCH
|
||||||
|
fi
|
||||||
tests/bin/iscsi_generic_workflow.sh "$4" "$2" "$BRANCH"
|
tests/bin/iscsi_generic_workflow.sh "$4" "$2" "$BRANCH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
#
|
||||||
|
# Passed parameters: $1 - Distro, $2 - Type,
|
||||||
|
# $3 - Branch
|
||||||
|
#
|
||||||
|
Distro="$1"
|
||||||
|
Type="$2"
|
||||||
|
Branch="$3"
|
||||||
|
VERSION=0.7.0-1
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/" && pwd )"
|
||||||
|
|
||||||
|
echo "Deploying registry for: $Distro - $Type - $Branch"
|
||||||
|
|
||||||
|
helm install kolla/registry-deployment --version $VERSION --debug \
|
||||||
|
--namespace kolla --name registry \
|
||||||
|
--set initial_load=true --set node_port=30401 \
|
||||||
|
--set distro=$Distro --set type=$Type
|
||||||
|
|
||||||
|
$DIR/wait_for_pods.sh kolla 600
|
||||||
|
|
||||||
|
echo "Registry with images for: $Distro - $Type - $Branch is running..."
|
Loading…
Reference in New Issue