os-log-merger/contrib/debug-live-migration/debug-live-migration.yaml

197 lines
8.9 KiB
YAML

---
- name: Configure debug settings.
hosts: all
tasks:
- name: Set nova and neutron on debug.
command: openstack-config --set {{ item }} DEFAULT debug True
with_items:
- /etc/neutron/neutron.conf
- /etc/nova/nova.conf
- name: Copy log tool.
copy: src=scripts/ansiblelog.sh dest=/tmp/ansiblelog.sh mode=755
- name: Restart controller (with networker) services.
hosts: controllers
tasks:
- name: Clear logs.
command: rm -f /var/log/nova/nova-api.log /var/log/neutron/server.log /var/log/neutron/l3-agent.log /var/log/ansible-debug.log
- name: Restart controller services
service: name={{ item }} state=restarted
with_items:
- neutron-server
- neutron-l3-agent
- openstack-nova-api
- name: Restart compute services.
hosts: computes
tasks:
- name: Clear logs.
command: rm -f /var/log/nova/nova-compute.log /var/log/neutron/openvswitch-agent.log
- name: Restart neutron openvswitch agent and nova compute
service: name={{ item }} state=restarted
with_items:
- neutron-openvswitch-agent
- openstack-nova-compute
- name: Start pingers and arp loggers
hosts: all
tasks:
- name: Kill old dumpers and loggers.
shell: |
killall pinger.sh
killall arpdumper.sh
killall tapdumper.sh
killall fdbshower.sh
killall tcpdump
killall ping
exit 0
- name: Copy scripts.
copy: src=scripts/{{ item }} dest=/tmp/{{ item }} mode=755
with_items:
- pinger.sh
- arpdumper.sh
- tapdumper.sh
- fdbshower.sh
- name: Start new pingers in openstack log format.
shell: |
rm -f /var/log/neutron/pinger.log
nohup /tmp/pinger.sh {{ floating_ip }} > /var/log/neutron/pinger.log &
- name: Start arpdumper.
shell: |
rm -f /var/log/neutron/arpdumper.log
nohup /tmp/arpdumper.sh > /var/log/neutron/arpdumper.log &
- name: Start tapdumpers.
shell: |
rm -f /var/log/neutron/tapdumper.log
nohup /tmp/tapdumper.sh {{ vm_tap }} > /var/log/neutron/tapdumper.log &
rm -f /var/log/neutron/qvodumper.log
nohup /tmp/tapdumper.sh {{ vm_bridge }} > /var/log/neutron/qvodumper.log &
- name: Start fdb/show loop
shell: |
rm -f /var/log/neutron/fdbshow.log
nohup /tmp/fdbshower.sh > /var/log/neutron/fdbshow.log &
- name: Migrate back and forth
hosts: command-controller
tasks:
- name: Migrate to c29
shell: |
/tmp/ansiblelog.sh starting migration to c29
source /root/keystonerc_admin
nova live-migration {{ vm_id }} {{ migration_host_c29 }}
sleep {{ migration_wait }}
- name: Migrate to c30
shell: |
/tmp/ansiblelog.sh starting migration to c30
source /root/keystonerc_admin
nova live-migration {{ vm_id }} {{ migration_host_c30 }}
sleep {{ migration_wait }}
- name: Fetch logs from hosts
hosts: all
tasks:
- name: create local log dir
local_action: command mkdir -p logs/{{ ansible_hostname }}/var/log/{{ item }}
with_items:
- nova
- neutron
- name: Fetch logs
synchronize: mode=pull src=/var/log/{{ item }}/ dest=logs/{{ ansible_hostname }}/var/log/{{ item }}/ delete=yes
with_items:
- nova
- neutron
- name: Touch extra log
command: touch /var/log/ansible-debug.log
- name: Fetch our extra log
fetch: src=/var/log/ansible-debug.log dest=logs/
- name: Final merge
hosts: command-controller # a dirty trick to get this locally ran once... is there a better way to do this?
tasks:
- name: filter nova lifecycles
local_action: shell
grep "(Lifecycle Event)" logs/hp-ms-01-c29/var/log/nova/nova-compute.log > logs/hp-ms-01-c29/var/log/nova/vmlife.log;
grep "(Lifecycle Event)" logs/hp-ms-01-c30/var/log/nova/nova-compute.log > logs/hp-ms-01-c30/var/log/nova/vmlife.log
- name: merge logs
local_action: shell
oslogmerger logs/hp-ms-01-c29/var/log/neutron/server.log:NEUTRONSRV \
logs/hp-ms-01-c29/var/log/neutron/openvswitch-agent.log:OVS29 \
logs/hp-ms-01-c29/var/log/neutron/pinger.log:PING29 \
logs/hp-ms-01-c29/var/log/neutron/arpdumper.log:ARP29 \
logs/hp-ms-01-c29/var/log/neutron/tapdumper.log:TAP29 \
logs/hp-ms-01-c29/var/log/neutron/qvodumper.log:QVO29 \
logs/hp-ms-01-c29/var/log/neutron/fdbshow.log:FDB29 \
logs/hp-ms-01-c29/var/log/ansible-debug.log:ANSIBLE29 \
logs/hp-ms-01-c29/var/log/nova/nova-api.log:NOVAAPI \
logs/hp-ms-01-c29/var/log/nova/nova-compute.log:COMPUTE29 \
logs/hp-ms-01-c29/var/log/neutron/l3-agent.log:L3AGENT \
logs/hp-ms-01-c30/var/log/neutron/openvswitch-agent.log:OVS30 \
logs/hp-ms-01-c30/var/log/neutron/pinger.log:PING30 \
logs/hp-ms-01-c30/var/log/neutron/arpdumper.log:ARP30 \
logs/hp-ms-01-c30/var/log/neutron/tapdumper.log:TAP30 \
logs/hp-ms-01-c30/var/log/neutron/qvodumper.log:QVO30 \
logs/hp-ms-01-c30/var/log/neutron/fdbshow.log:FDB30 \
logs/hp-ms-01-c30/var/log/nova/nova-compute.log:COMPUTE30 \
logs/hp-ms-01-c30/var/log/ansible-debug.log:ANSIBLE30 >logs/mergedlogs.log
- name: merge logs low level only (no controllers)
local_action: shell
oslogmerger logs/hp-ms-01-c29/var/log/neutron/openvswitch-agent.log:OVS29 \
logs/hp-ms-01-c29/var/log/neutron/pinger.log:PING29 \
logs/hp-ms-01-c29/var/log/neutron/arpdumper.log:ARP29 \
logs/hp-ms-01-c29/var/log/neutron/tapdumper.log:TAP29 \
logs/hp-ms-01-c29/var/log/neutron/qvodumper.log:QVO29 \
logs/hp-ms-01-c29/var/log/neutron/fdbshow.log:FDB29 \
logs/hp-ms-01-c29/var/log/ansible-debug.log:ANSIBLE29 \
logs/hp-ms-01-c29/var/log/nova/nova-compute.log:COMPUTE29 \
logs/hp-ms-01-c29/var/log/neutron/l3-agent.log:L3AGENT \
logs/hp-ms-01-c30/var/log/neutron/openvswitch-agent.log:OVS30 \
logs/hp-ms-01-c30/var/log/neutron/pinger.log:PING30 \
logs/hp-ms-01-c30/var/log/neutron/arpdumper.log:ARP30 \
logs/hp-ms-01-c30/var/log/neutron/tapdumper.log:TAP30 \
logs/hp-ms-01-c30/var/log/neutron/qvodumper.log:QVO30 \
logs/hp-ms-01-c30/var/log/neutron/fdbshow.log:FDB30 \
logs/hp-ms-01-c30/var/log/nova/nova-compute.log:COMPUTE30 \
logs/hp-ms-01-c30/var/log/ansible-debug.log:ANSIBLE30 >logs/mergedlogs-compute.log
- name: merge packets and ovs
local_action: shell
oslogmerger logs/hp-ms-01-c29/var/log/neutron/openvswitch-agent.log:OVS29 \
logs/hp-ms-01-c29/var/log/neutron/pinger.log:PING29 \
logs/hp-ms-01-c29/var/log/neutron/arpdumper.log:ARP29 \
logs/hp-ms-01-c29/var/log/neutron/tapdumper.log:TAP29 \
logs/hp-ms-01-c29/var/log/neutron/qvodumper.log:QVO29 \
logs/hp-ms-01-c29/var/log/neutron/fdbshow.log:FDB29 \
logs/hp-ms-01-c29/var/log/nova/vmlife.log:VMLIFE29 \
logs/hp-ms-01-c30/var/log/neutron/openvswitch-agent.log:OVS30 \
logs/hp-ms-01-c30/var/log/neutron/pinger.log:PING30 \
logs/hp-ms-01-c30/var/log/neutron/arpdumper.log:ARP30 \
logs/hp-ms-01-c30/var/log/neutron/tapdumper.log:TAP30 \
logs/hp-ms-01-c30/var/log/neutron/qvodumper.log:QVO30 \
logs/hp-ms-01-c30/var/log/neutron/fdbshow.log:FDB30 \
logs/hp-ms-01-c30/var/log/nova/vmlife.log:VMLIFE30 >logs/mergedlogs-packets-ovs.log
- name: merge packets
local_action: shell
oslogmerger logs/hp-ms-01-c29/var/log/neutron/pinger.log:PING29 \
logs/hp-ms-01-c29/var/log/neutron/arpdumper.log:ARP29 \
logs/hp-ms-01-c29/var/log/neutron/tapdumper.log:TAP29 \
logs/hp-ms-01-c29/var/log/neutron/qvodumper.log:QVO29 \
logs/hp-ms-01-c29/var/log/neutron/fdbshow.log:FDB29 \
logs/hp-ms-01-c29/var/log/nova/vmlife.log:VMLIFE29 \
logs/hp-ms-01-c30/var/log/neutron/pinger.log:PING30 \
logs/hp-ms-01-c30/var/log/neutron/arpdumper.log:ARP30 \
logs/hp-ms-01-c30/var/log/neutron/tapdumper.log:TAP30 \
logs/hp-ms-01-c30/var/log/neutron/qvodumper.log:QVO30 \
logs/hp-ms-01-c30/var/log/neutron/fdbshow.log:FDB30 \
logs/hp-ms-01-c30/var/log/nova/vmlife.log:VMLIFE30 >logs/mergedlogs-packets.log