diff --git a/.zuul.yaml b/.zuul.yaml index 380ebc3cc..a54e9a349 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,3 +1,62 @@ +- job: + name: designate-base + parent: devstack-tempest + post-run: playbooks/designate-base/post.yaml + vars: + devstack_localrc: + DESIGNATE_SERVICE_PORT_DNS: 5322 + TEMPEST_PLUGINS: '/opt/stack/designate-tempest-plugin' + devstack_plugins: + designate: git://git.openstack.org/openstack/designate + devstack_services: + designate: true + tox_envlist: all-plugin + tempest_test_regex: | + designate_tempest_plugin.* + required-projects: + - openstack/designate + - openstack/designate-dashboard + - openstack/designate-tempest-plugin + - openstack/python-designateclient + timeout: 4200 + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^etc/.*$ + +- job: + name: designate-bind9 + parent: designate-base + +- job: + name: designate-bind9-manager-model + parent: designate-bind9 + vars: + devstack_services: + designate-worker: false + designate-producer: false + designate-pool-manager: true + designate-zone-manager: true + +- job: + name: designate-bind9-py35 + parent: designate-bind9 + vars: + devstack_localrc: + USE_PYTHON3: true + devstack_services: + s-account: false + s-container: false + s-object: false + s-proxy: false + c-bak: false + +- job: + name: designate-bind9-py36 + parent: designate-bind9-py35 + nodeset: openstack-bionic-node + - job: name: designate-devstack-base parent: legacy-dsvm-base @@ -79,12 +138,6 @@ vars: backend_driver: knot2 -- job: - name: designate-devstack-bind9 - parent: designate-devstack-base - vars: - backend: bind9 - - job: name: designate-devstack-pdns4 parent: designate-devstack-base @@ -98,36 +151,25 @@ backend: pdns4 database: postgres -- job: - name: designate-devstack-pdns4-py35 - parent: designate-devstack-base - vars: - backend: pdns4 - python_version: py35 - -- job: - name: designate-devstack-pdns4-manager-model - parent: designate-devstack-base - vars: - manager_model: 1 - - project-template: name: designate-devstack-jobs check: jobs: - - designate-devstack-bind9 + - designate-bind9 + - designate-bind9-manager-model + - designate-bind9-py35 + - designate-bind9-py36 - designate-devstack-pdns4 - designate-devstack-pdns4-postgres - - designate-devstack-pdns4-manager-model - - designate-devstack-pdns4-py35 - designate-grenade-pdns4 gate: queue: designate jobs: - - designate-devstack-bind9 + - designate-bind9 + - designate-bind9-manager-model + - designate-bind9-py35 - designate-devstack-pdns4 - designate-devstack-pdns4-postgres - - designate-devstack-pdns4-manager-model - designate-grenade-pdns4 experimental: jobs: diff --git a/devstack/designate_plugins/backend-pdns4 b/devstack/designate_plugins/backend-pdns4 index 010157f4c..babf95743 100644 --- a/devstack/designate_plugins/backend-pdns4 +++ b/devstack/designate_plugins/backend-pdns4 @@ -46,8 +46,10 @@ EOF sudo apt-get update elif [ "$os_CODENAME" = "xenial" ]; then echo "Use PDNS4 from apt repo" + elif [ "$os_CODENAME" = "bionic" ]; then + echo "Use PDNS4 from apt repo" else - die $LINENO "PDNS4 backend only supports trusty or xenial" + die $LINENO "PDNS4 backend only supports bionic, trusty or xenial" fi PDNS=pdns-server else diff --git a/playbooks/designate-base/post.yaml b/playbooks/designate-base/post.yaml new file mode 100644 index 000000000..97beb0b1f --- /dev/null +++ b/playbooks/designate-base/post.yaml @@ -0,0 +1,4 @@ +- hosts: all + become: True + roles: + - bind-logs-conf diff --git a/roles/bind-logs-conf/defaults/main.yaml b/roles/bind-logs-conf/defaults/main.yaml new file mode 100644 index 000000000..f8fb8deac --- /dev/null +++ b/roles/bind-logs-conf/defaults/main.yaml @@ -0,0 +1 @@ +stage_dir: "{{ ansible_user_dir }}" diff --git a/roles/bind-logs-conf/tasks/main.yaml b/roles/bind-logs-conf/tasks/main.yaml new file mode 100644 index 000000000..41ba5f571 --- /dev/null +++ b/roles/bind-logs-conf/tasks/main.yaml @@ -0,0 +1,38 @@ +- name: Ensure target directory exists + file: + path: "{{ stage_dir }}/etc/bind" + state: directory + +- name: Find bind config files + find: + path: /etc/bind + file_type: any + register: bind_configs + +- name: Dereference bind configs + stat: + path: "{{ item.path }}" + with_items: "{{ bind_configs.files }}" + register: bind_configs_deref + +- name: Link configurations + file: + src: "{{ item.stat.lnk_source | default(item.stat.path) }}" + dest: "{{ stage_dir }}/etc/bind/{{ item.stat.path | basename }}" + state: hard + with_items: "{{ bind_configs_deref.results }}" + when: item.stat.isreg or item.stat.islnk + +# NOTE(frickler) Copied from devstack role export-devstack-journal +- name: Ensure {{ stage_dir }}/logs exists + become: true + file: + path: "{{ stage_dir }}/logs" + state: directory + owner: "{{ ansible_user }}" + +- name: Collect bind journal + become: true + shell: + cmd: | + journalctl -o short-precise --unit bind9 | gzip - > {{ stage_dir }}/logs/bind9.txt.gz