diff --git a/.delivery/project.toml b/.delivery/project.toml new file mode 100644 index 0000000..9f05010 --- /dev/null +++ b/.delivery/project.toml @@ -0,0 +1,9 @@ +[local_phases] +unit = 'berks vendor cookbooks' +lint = 'cookstyle --display-cop-names --extra-details' +syntax = "./scripts/json_check.sh" +provision = "echo skipping" +deploy = "echo skipping" +smoke = "echo skipping" +functional = "echo skipping" +cleanup = "echo skipping" diff --git a/.zuul.yaml b/.zuul.yaml index fd3501d..2ff4d1f 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,10 +1,10 @@ - job: - name: openstack-chef-repo-rake + name: openstack-chef-repo-delivery parent: base - description: Run rake tests with openstack-chef-repo + description: Run Chef Delivery tests with openstack-chef-repo required-projects: openstack/openstack-chef-repo pre-run: playbooks/pre.yaml - run: playbooks/rake.yaml + run: playbooks/delivery.yaml timeout: 2700 - job: @@ -21,11 +21,11 @@ name: openstack-chef-repo-jobs check: jobs: - - openstack-chef-repo-rake + - openstack-chef-repo-delivery - openstack-chef-repo-integration gate: jobs: - - openstack-chef-repo-rake + - openstack-chef-repo-delivery - openstack-chef-repo-integration - project: diff --git a/playbooks/delivery.yaml b/playbooks/delivery.yaml new file mode 100644 index 0000000..c361eb3 --- /dev/null +++ b/playbooks/delivery.yaml @@ -0,0 +1,8 @@ +- hosts: all + roles: + - revoke-sudo + tasks: + - name: run delivery local + shell: + cmd: chef exec delivery local all + chdir: '{{ zuul.project.src_dir }}' diff --git a/scripts/json_check.sh b/scripts/json_check.sh new file mode 100755 index 0000000..284ec4e --- /dev/null +++ b/scripts/json_check.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# check data bags, roles, environment files sanity by loading them in +# chef-zero +for db in $(ls -d data_bags/* | cut -f2 -d'/');do knife data bag from file $db data_bags/$db/*.json -z --secret-file .chef/encrypted_data_bag_secret;done +for role in $(ls roles | grep json);do knife role from file $role -z;done +for env in $(ls environments | grep json);do knife environment from file $env -z ;done