diff options
| author | Zuul <zuul@review.openstack.org> | 2017-10-19 16:01:23 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-10-19 16:01:23 +0000 |
| commit | 323ee0b09ce6e74c2e45e9baff9983e7e9cea90e (patch) | |
| tree | f092d2f2fe026c693841784cdd449db7064c0385 /tests | |
| parent | 5767a494def9c4e454b28c2c689c21639f348e56 (diff) | |
| parent | b64198cce099934a9389a34522c73e2bb65e399d (diff) | |
| download | kolla-323ee0b09ce6e74c2e45e9baff9983e7e9cea90e.tar.gz kolla-323ee0b09ce6e74c2e45e9baff9983e7e9cea90e.zip | |
Merge "Moving jobs to kolla repo"
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 }}' |
