(zuul) Basic zuul gates
- Charting linting Change-Id: I7c15ba455bab3d2c9d8b458de1d7ebe15e1c97a4
This commit is contained in:
parent
e3f8ffe9ae
commit
90a5ed3e78
45
.zuul.yaml
Normal file
45
.zuul.yaml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
- project:
|
||||||
|
check:
|
||||||
|
jobs:
|
||||||
|
- airship-maas-lint-ws
|
||||||
|
- airship-maas-lint-chart
|
||||||
|
gate:
|
||||||
|
jobs:
|
||||||
|
- airship-maas-lint-ws
|
||||||
|
- airship-maas-lint-chart
|
||||||
|
|
||||||
|
- nodeset:
|
||||||
|
name: airship-maas-single-node
|
||||||
|
nodes:
|
||||||
|
- name: primary
|
||||||
|
label: ubuntu-xenial
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: airship-maas-lint-ws
|
||||||
|
description: |
|
||||||
|
Lints all files for trailing whitespace
|
||||||
|
run: tools/gate/playbooks/zuul-linter.yaml
|
||||||
|
timeout: 300
|
||||||
|
nodeset: airship-maas-single-node
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: airship-maas-lint-chart
|
||||||
|
files:
|
||||||
|
- ^charts/.*$
|
||||||
|
description: |
|
||||||
|
Lints Helm charts for validity
|
||||||
|
run: tools/gate/playbooks/helm-linter.yaml
|
||||||
|
timeout: 600
|
||||||
|
nodeset: airship-maas-single-node
|
10
Makefile
10
Makefile
@ -22,11 +22,12 @@ CACHE_SUFFIX ?= maas-cache
|
|||||||
CACHE_IMG_DIR ?= images/sstream-cache
|
CACHE_IMG_DIR ?= images/sstream-cache
|
||||||
IMAGE_PREFIX ?= attcomdev
|
IMAGE_PREFIX ?= attcomdev
|
||||||
IMAGE_TAG ?= latest
|
IMAGE_TAG ?= latest
|
||||||
HELM ?= helm
|
|
||||||
PROXY ?= http://one.proxy.att.com:8080
|
PROXY ?= http://one.proxy.att.com:8080
|
||||||
USE_PROXY ?= false
|
USE_PROXY ?= false
|
||||||
LABEL ?= commit-id
|
LABEL ?= commit-id
|
||||||
IMAGE_NAME := maas-rack-controller maas-region-controller sstream-cache
|
IMAGE_NAME := maas-rack-controller maas-region-controller sstream-cache
|
||||||
|
BUILD_DIR := $(shell mktemp -d)
|
||||||
|
HELM := $(BUILD_DIR)/helm
|
||||||
|
|
||||||
.PHONY: images
|
.PHONY: images
|
||||||
#Build all images in the list
|
#Build all images in the list
|
||||||
@ -54,6 +55,11 @@ dry-run: helm_lint
|
|||||||
|
|
||||||
# Make targets intended for use by the primary targets above.
|
# Make targets intended for use by the primary targets above.
|
||||||
|
|
||||||
|
# Install helm binary
|
||||||
|
.PHONY: helm-install
|
||||||
|
helm-install:
|
||||||
|
tools/helm_install.sh $(HELM)
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
build:
|
build:
|
||||||
ifeq ($(USE_PROXY), true)
|
ifeq ($(USE_PROXY), true)
|
||||||
@ -67,7 +73,7 @@ clean:
|
|||||||
rm -rf build
|
rm -rf build
|
||||||
|
|
||||||
.PHONY: helm_lint
|
.PHONY: helm_lint
|
||||||
helm_lint: clean
|
helm_lint: clean helm-install
|
||||||
tools/helm_tk.sh $(HELM)
|
tools/helm_tk.sh $(HELM)
|
||||||
mkdir -p build/charts/maas
|
mkdir -p build/charts/maas
|
||||||
cp -R charts/maas build/charts/
|
cp -R charts/maas build/charts/
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
description: Chart to run MaaS
|
description: Chart to run Canonical MaaS
|
||||||
name: maas
|
name: maas
|
||||||
version: 0.1.0
|
version: 0.1.0
|
||||||
home: https://docs.ubuntu.com/maas
|
home: https://docs.ubuntu.com/maas
|
||||||
@ -21,4 +21,4 @@ sources:
|
|||||||
- https://git.launchpad.net/maas
|
- https://git.launchpad.net/maas
|
||||||
- https://git.openstack.org/cgit/openstack/openstack-helm
|
- https://git.openstack.org/cgit/openstack/openstack-helm
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: OpenStack-Helm Authors
|
- name: Openstack Airship Contributors
|
||||||
|
@ -129,4 +129,3 @@ alan@hpdesktop:~/Workbench/att/attcomdev/dockerfiles/maas$
|
|||||||
```
|
```
|
||||||
|
|
||||||
Finally, to access your MaaS UI, visit http://172.0.0.1:7777/MAAS/ and login as admin/admin.
|
Finally, to access your MaaS UI, visit http://172.0.0.1:7777/MAAS/ and login as admin/admin.
|
||||||
|
|
||||||
|
21
tools/gate/playbooks/helm-linter.yaml
Normal file
21
tools/gate/playbooks/helm-linter.yaml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
- hosts: primary
|
||||||
|
tasks:
|
||||||
|
- name: Execute the make target for Helm chart linting
|
||||||
|
make:
|
||||||
|
chdir: "{{ zuul.project.src_dir }}"
|
||||||
|
target: helm_lint
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed
|
20
tools/gate/playbooks/zuul-linter.yaml
Normal file
20
tools/gate/playbooks/zuul-linter.yaml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Copyright 2017 The Openstack-Helm Authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
- hosts: primary
|
||||||
|
tasks:
|
||||||
|
- name: Execute a Whitespace Linter check
|
||||||
|
command: find . -not -path "*/\.*" -not -name "*.tgz" -not -name "*.patch" -type f -exec egrep -l " +$" {} \;
|
||||||
|
register: result
|
||||||
|
failed_when: result.stdout != ""
|
43
tools/helm_install.sh
Executable file
43
tools/helm_install.sh
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
HELM=$1
|
||||||
|
HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://storage.googleapis.com/kubernetes-helm/helm-v2.7.2-linux-amd64.tar.gz"}
|
||||||
|
|
||||||
|
|
||||||
|
function install_helm_binary {
|
||||||
|
if [[ -z "${HELM}" ]]
|
||||||
|
then
|
||||||
|
echo "No Helm binary target location."
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -w "$(dirname ${HELM})" ]]
|
||||||
|
then
|
||||||
|
TMP_DIR=$(dirname ${HELM})
|
||||||
|
curl -o "${TMP_DIR}/helm.tar.gz" "${HELM_ARTIFACT_URL}"
|
||||||
|
cd ${TMP_DIR}
|
||||||
|
tar -xvzf helm.tar.gz
|
||||||
|
cp "${TMP_DIR}/linux-amd64/helm" "${HELM}"
|
||||||
|
else
|
||||||
|
echo "Cannot write to ${HELM}"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
install_helm_binary
|
@ -18,6 +18,7 @@
|
|||||||
HELM=$1
|
HELM=$1
|
||||||
HTK_REPO=${HTK_REPO:-"https://github.com/openstack/openstack-helm"}
|
HTK_REPO=${HTK_REPO:-"https://github.com/openstack/openstack-helm"}
|
||||||
HTK_PATH=${HTK_PATH:-""}
|
HTK_PATH=${HTK_PATH:-""}
|
||||||
|
HTK_STABLE_COMMIT=${HTK_COMMIT:-"f902cd14fac7de4c4c9f7d019191268a6b4e9601"}
|
||||||
DEP_UP_LIST=${DEP_UP_LIST:-"maas"}
|
DEP_UP_LIST=${DEP_UP_LIST:-"maas"}
|
||||||
|
|
||||||
if [[ ! -z $(echo $http_proxy) ]]
|
if [[ ! -z $(echo $http_proxy) ]]
|
||||||
@ -50,12 +51,18 @@ function helm_serve {
|
|||||||
${HELM} repo add local http://localhost:8879/charts
|
${HELM} repo add local http://localhost:8879/charts
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# OSH Makefile is bugged, so ensure helm is in the path
|
||||||
|
if [[ ${HELM} != "helm" ]]
|
||||||
|
then
|
||||||
|
export PATH=${PATH}:$(dirname ${HELM})
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
pushd build
|
pushd build
|
||||||
git clone --depth 1 $HTK_REPO || true
|
git clone $HTK_REPO || true
|
||||||
pushd openstack-helm/$HTK_PATH
|
pushd openstack-helm/$HTK_PATH
|
||||||
|
git reset --hard "${HTK_STABLE_COMMIT}"
|
||||||
|
|
||||||
git pull
|
|
||||||
helm_serve
|
helm_serve
|
||||||
make helm-toolkit
|
make helm-toolkit
|
||||||
popd && popd
|
popd && popd
|
||||||
|
Loading…
Reference in New Issue
Block a user