diff --git a/Makefile b/Makefile index 03ead8686..452f462aa 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ SHELL := /bin/bash HELM := helm TASK := build -EXCLUDES := helm-toolkit doc tests tools logs tmp roles playbooks releasenotes +EXCLUDES := helm-toolkit doc tests tools logs tmp roles playbooks releasenotes zuul.d CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) .PHONY: $(EXCLUDES) $(CHARTS) diff --git a/.zuul.yaml b/zuul.d/jobs.yaml similarity index 67% rename from .zuul.yaml rename to zuul.d/jobs.yaml index a667bbcf3..cb08b2527 100644 --- a/.zuul.yaml +++ b/zuul.d/jobs.yaml @@ -1,4 +1,5 @@ -# Copyright 2017 The Openstack-Helm Authors. +--- +# Copyright 2018 SUSE LINUX GmbH. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,172 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -- project: - templates: - - publish-openstack-docs-pti - check: - jobs: - - openstack-helm-infra-linter - - openstack-helm-infra-five-ubuntu - - openstack-helm-infra-dev-deploy-ceph: - # NOTE(srwilkers): Changing the dev-deploy-ceph job to nonvoting - # until we can agree on the proper services to deploy with this job - voting: false - - openstack-helm-infra-dev-deploy-nfs: - #NOTE(srwilkers): Changing the dev-deploy-nfs job to nonvoting until - # we can agree on the proper services to deploy with this job - voting: false - - openstack-helm-infra-openstack-support - - openstack-helm-infra-kubernetes-keystone-auth - gate: - jobs: - - openstack-helm-infra-linter - - openstack-helm-infra-five-ubuntu - - openstack-helm-infra-openstack-support - - openstack-helm-infra-kubernetes-keystone-auth - experimental: - jobs: - #NOTE(srwilkers): Make fedora job experimental until issues resolved - - openstack-helm-infra-five-fedora - #NOTE(srwilkers): Make centos job experimental until issues resolved - - openstack-helm-infra-five-centos - -- nodeset: - name: openstack-helm-single-node - nodes: - - name: primary - label: ubuntu-xenial - groups: - - name: primary - nodes: - - primary - -- nodeset: - name: openstack-helm-ubuntu - nodes: - - name: primary - label: ubuntu-xenial - - name: node-1 - label: ubuntu-xenial - - name: node-2 - label: ubuntu-xenial - groups: - - name: primary - nodes: - - primary - - name: nodes - nodes: - - node-1 - - node-2 - -- nodeset: - name: openstack-helm-centos - nodes: - - name: primary - label: centos-7 - - name: node-1 - label: centos-7 - - name: node-2 - label: centos-7 - groups: - - name: primary - nodes: - - primary - - name: nodes - nodes: - - node-1 - - node-2 - -- nodeset: - name: openstack-helm-fedora - nodes: - - name: primary - label: fedora-latest - - name: node-1 - label: fedora-latest - - name: node-2 - label: fedora-latest - groups: - - name: primary - nodes: - - primary - - name: nodes - nodes: - - node-1 - - node-2 - - -- nodeset: - name: openstack-helm-five-node-ubuntu - nodes: - - name: primary - label: ubuntu-xenial - - name: node-1 - label: ubuntu-xenial - - name: node-2 - label: ubuntu-xenial - - name: node-3 - label: ubuntu-xenial - - name: node-4 - label: ubuntu-xenial - groups: - - name: primary - nodes: - - primary - - name: nodes - nodes: - - node-1 - - node-2 - - node-3 - - node-4 - -- nodeset: - name: openstack-helm-five-node-centos - nodes: - - name: primary - label: centos-7 - - name: node-1 - label: centos-7 - - name: node-2 - label: centos-7 - - name: node-3 - label: centos-7 - - name: node-4 - label: centos-7 - groups: - - name: primary - nodes: - - primary - - name: nodes - nodes: - - node-1 - - node-2 - - node-3 - - node-4 - -- nodeset: - name: openstack-helm-five-node-fedora - nodes: - - name: primary - label: fedora-latest - - name: node-1 - label: fedora-latest - - name: node-2 - label: fedora-latest - - name: node-3 - label: fedora-latest - - name: node-4 - label: fedora-latest - groups: - - name: primary - nodes: - - primary - - name: nodes - nodes: - - node-1 - - node-2 - - node-3 - - node-4 +- job: + name: openstack-helm-lint + run: zuul.d/playbooks/lint.yml + nodeset: ubuntu-xenial - job: name: openstack-helm-infra-functional @@ -224,6 +63,7 @@ - ./tools/deployment/multinode/130-fluent-logging.sh - ./tools/deployment/multinode/140-kibana.sh + - job: name: openstack-helm-infra-ubuntu parent: openstack-helm-infra @@ -319,7 +159,6 @@ - ./tools/deployment/openstack-support/035-mariadb.sh - ./tools/deployment/openstack-support/040-libvirt.sh - ./tools/deployment/openstack-support/045-openvswitch.sh - - job: name: openstack-helm-infra-five-ubuntu parent: openstack-helm-infra diff --git a/zuul.d/nodesets.yaml b/zuul.d/nodesets.yaml new file mode 100644 index 000000000..ba44edf54 --- /dev/null +++ b/zuul.d/nodesets.yaml @@ -0,0 +1,151 @@ +--- +# 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. + +- nodeset: + name: openstack-helm-single-node + nodes: + - name: primary + label: ubuntu-xenial + groups: + - name: primary + nodes: + - primary + +- nodeset: + name: openstack-helm-ubuntu + nodes: + - name: primary + label: ubuntu-xenial + - name: node-1 + label: ubuntu-xenial + - name: node-2 + label: ubuntu-xenial + groups: + - name: primary + nodes: + - primary + - name: nodes + nodes: + - node-1 + - node-2 + +- nodeset: + name: openstack-helm-centos + nodes: + - name: primary + label: centos-7 + - name: node-1 + label: centos-7 + - name: node-2 + label: centos-7 + groups: + - name: primary + nodes: + - primary + - name: nodes + nodes: + - node-1 + - node-2 + +- nodeset: + name: openstack-helm-fedora + nodes: + - name: primary + label: fedora-27 + - name: node-1 + label: fedora-27 + - name: node-2 + label: fedora-27 + groups: + - name: primary + nodes: + - primary + - name: nodes + nodes: + - node-1 + - node-2 + + +- nodeset: + name: openstack-helm-five-node-ubuntu + nodes: + - name: primary + label: ubuntu-xenial + - name: node-1 + label: ubuntu-xenial + - name: node-2 + label: ubuntu-xenial + - name: node-3 + label: ubuntu-xenial + - name: node-4 + label: ubuntu-xenial + groups: + - name: primary + nodes: + - primary + - name: nodes + nodes: + - node-1 + - node-2 + - node-3 + - node-4 + +- nodeset: + name: openstack-helm-five-node-centos + nodes: + - name: primary + label: centos-7 + - name: node-1 + label: centos-7 + - name: node-2 + label: centos-7 + - name: node-3 + label: centos-7 + - name: node-4 + label: centos-7 + groups: + - name: primary + nodes: + - primary + - name: nodes + nodes: + - node-1 + - node-2 + - node-3 + - node-4 + +- nodeset: + name: openstack-helm-five-node-fedora + nodes: + - name: primary + label: fedora-27 + - name: node-1 + label: fedora-27 + - name: node-2 + label: fedora-27 + - name: node-3 + label: fedora-27 + - name: node-4 + label: fedora-27 + groups: + - name: primary + nodes: + - primary + - name: nodes + nodes: + - node-1 + - node-2 + - node-3 + - node-4 diff --git a/zuul.d/playbooks/lint.yml b/zuul.d/playbooks/lint.yml new file mode 100644 index 000000000..13d73303e --- /dev/null +++ b/zuul.d/playbooks/lint.yml @@ -0,0 +1,23 @@ +--- +# Copyright 2018 SUSE LINUX GmbH. +# +# 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: all[0] + tasks: + - name: Prevent trailing whitespaces + shell: find . -not -path "*/\.*" -not -path "*/doc/build/*" -not -name "*.tgz" -type f -exec egrep -l " +$" {} \; + register: _found_whitespaces + failed_when: _found_whitespaces.stdout != "" + args: + chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}" diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 000000000..6bea713fe --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,44 @@ +--- +# Copyright 2018 SUSE LINUX GmbH. +# +# 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: + templates: + - publish-openstack-docs-pti + check: + jobs: + - openstack-helm-lint + - openstack-helm-infra-five-ubuntu + - openstack-helm-infra-dev-deploy-ceph: + # NOTE(srwilkers): Changing the dev-deploy-ceph job to nonvoting + # until we can agree on the proper services to deploy with this job + voting: false + - openstack-helm-infra-dev-deploy-nfs: + #NOTE(srwilkers): Changing the dev-deploy-nfs job to nonvoting until + # we can agree on the proper services to deploy with this job + voting: false + - openstack-helm-infra-openstack-support + - openstack-helm-infra-kubernetes-keystone-auth + gate: + jobs: + - openstack-helm-lint + - openstack-helm-infra-five-ubuntu + - openstack-helm-infra-openstack-support + - openstack-helm-infra-kubernetes-keystone-auth + experimental: + jobs: + #NOTE(srwilkers): Make fedora job experimental until issues resolved + - openstack-helm-infra-five-fedora + #NOTE(srwilkers): Make centos job experimental until issues resolved + - openstack-helm-infra-five-centos