diff options
| author | Jeffrey Zhang <zhang.lei.fly@gmail.com> | 2017-09-29 08:36:33 +0800 |
|---|---|---|
| committer | Jeffrey Zhang <zhang.lei.fly@gmail.com> | 2017-10-19 10:34:03 +0800 |
| commit | b64198cce099934a9389a34522c73e2bb65e399d (patch) | |
| tree | 042c20f1f34aa1bf4ca484024ff505b1f8b458d8 /tests | |
| parent | 2ef0bd51a93a3d0d5e963824a7e5fb2ea556239e (diff) | |
| download | kolla-b64198cce099934a9389a34522c73e2bb65e399d.tar.gz kolla-b64198cce099934a9389a34522c73e2bb65e399d.zip | |
Moving jobs to kolla repo
This is zuulv3 migration patch. This patch only implement build jobs.
Deploy jobs will be pushed in another one.
Partial-Bug: #1720601
Change-Id: Ib9157ed132820d752ef1dbd7a53353ebd68b1934
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/playbooks/post.yml | 79 | ||||
| -rw-r--r-- | tests/playbooks/pre.yml | 13 | ||||
| -rw-r--r-- | tests/playbooks/run.yml | 51 |
3 files changed, 143 insertions, 0 deletions
diff --git a/tests/playbooks/post.yml b/tests/playbooks/post.yml new file mode 100644 index 000000000..345ccab04 --- /dev/null +++ b/tests/playbooks/post.yml @@ -0,0 +1,79 @@ +- hosts: all + tasks: + - shell: + cmd: | + set +o errexit + mkdir -p logs + # copy system log + + sudo cp -r /var/log logs/system_log + + if which journalctl ; then + # the journal gives us syslog() and kernel output, so is like + # a concatenation of the above. + sudo journalctl --no-pager | sudo tee logs/syslog.txt > /dev/null + sudo journalctl --no-pager -u docker.service | sudo tee logs/docker.log > /dev/null + else + # assume rsyslog + sudo cp /var/log/syslog logs/syslog.txt + sudo cp /var/log/kern.log logs/kern_log.txt + sudo cp /var/log/upstart/docker.log logs/docker.log + fi + + if sudo test -d /var/lib/docker/volumes/kolla_logs/_data; then + sudo cp -r /var/lib/docker/volumes/kolla_logs/_data logs/kolla_logs + fi + + # sudo config + sudo cp -r /etc/sudoers.d logs/ + sudo cp /etc/sudoers logs/sudoers.txt + + df -h > logs/df.txt + free > logs/free.txt + sudo parted -l | sudo tee logs/parted-l.txt > /dev/null + mount > logs/mount.txt + env > logs/env.txt + + if [ `command -v dpkg` ]; then + dpkg -l | sudo tee logs/dpkg-l.txt > /dev/null + fi + if [ `command -v rpm` ]; then + rpm -qa | sudo tee logs/rpm-qa.txt > /dev/null + fi + + # final memory usage and process list + ps -eo user,pid,ppid,lwp,%cpu,%mem,size,rss,cmd > logs/ps.txt + + # docker related information + (docker info && docker images && docker ps -a) > logs/docker-info.txt + + sudo cp -r /etc/kolla logs/kolla_configs + + # fix the permissions for logs folder + sudo chmod -R 777 logs + + # rename files to .txt; this is so that when displayed via + # logs.openstack.org clicking results in the browser shows the + # files, rather than trying to send it to another app or make you + # download it, etc. + + # firstly, rename all .log files to .txt files + for f in $(find logs -name "*.log"); do + sudo mv $f ${f/.log/.txt} + done + + # append .txt to all kolla config file + find logs/kolla_configs -type f -exec mv '{}' '{}'.txt \; + + # Compress all text logs + find logs -iname '*.txt' -execdir gzip -9 {} \+ + find logs -iname '*.json' -execdir gzip -9 {} \+ + executable: /bin/bash + chdir: "{{ zuul.project.src_dir }}" + + - synchronize: + src: '{{ zuul.project.src_dir }}/logs' + dest: '{{ zuul.executor.log_root }}' + mode: pull + copy_links: true + verify_host: true diff --git a/tests/playbooks/pre.yml b/tests/playbooks/pre.yml new file mode 100644 index 000000000..4be5f1375 --- /dev/null +++ b/tests/playbooks/pre.yml @@ -0,0 +1,13 @@ +- hosts: all + become: true + + tasks: + - name: Install dbus for debian system + apt: name=dbus + when: ansible_os_family == 'Debian' + + - name: Install ansible + pip: + name: ansible + when: + - inventory_hostname == "primary" diff --git a/tests/playbooks/run.yml b/tests/playbooks/run.yml new file mode 100644 index 000000000..5d08a21a5 --- /dev/null +++ b/tests/playbooks/run.yml @@ -0,0 +1,51 @@ +- hosts: all + vars: + kolla_inventory_path: "{{ zuul.project.src_dir }}/inventory" + tasks: + - name: generate kolla inventory file + copy: + dest: "{{ kolla_inventory_path }}" + content: | + {% for host in hostvars %} + {{ host }} ansible_host={{ hostvars[host]['ansible_host'] }} ansible_user={{ hostvars[host]['ansible_user'] }} + {% endfor %} + + - name: setup logging + shell: + cmd: | + mkdir logs + ln -s $(pwd)/logs /tmp/logs + mkdir -p /tmp/logs/{ansible,build,kolla,kolla_configs,system_logs} + executable: /bin/bash + chdir: "{{ zuul.project.src_dir }}" + + - name: copy setup script + copy: + src: "{{ zuul.executor.work_root }}/{{ zuul.project.src_dir }}/tools/setup_{{ ansible_os_family }}.sh" + dest: /tmp/setup.sh + mode: 0755 + + - name: run node setup script + shell: /tmp/setup.sh + become: true + + - name: changing permission of Docker socket to 666 + file: + path: /run/docker.sock + mode: 666 + become: true + + - shell: + cmd: | + set -e + set -x + + export ACTION={{ action }} + export BASE_DISTRO={{ base_distro }} + export INSTALL_TYPE={{ install_type }} + export IN_PROJECT_JOBS=1 + + tools/gate_run.sh + executable: /bin/bash + chdir: "{{ zuul.project.src_dir }}" + environment: '{{ zuul | zuul_legacy_vars }}' |
