blob: 4685010875c716d795e40809c954309fad7e00c9 [file] [log] [blame]
Andy Baviera27effe2016-07-18 19:23:26 -04001---
Andy Bavier8a7b8b62016-07-26 18:35:06 -04002# test-vsg/tasks/main.yml
Andy Baviera27effe2016-07-18 19:23:26 -04003#
Andy Bavierb83beac2016-10-20 15:54:08 -04004# Run tests to check that the CORD-in-a-Box deployment has worked.
Andy Baviera27effe2016-07-18 19:23:26 -04005
6- name: Create a sample CORD subscriber
7 command: ansible xos-1 -u ubuntu -m shell \
8 -a "cd ~/service-profile/cord-pod; make cord-subscriber"
Zack Williams35624562016-08-28 17:12:26 -07009 tags:
10 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040011
12- name: Pause 60 seconds (work around bug in synchronizer)
13 pause: seconds=60
14
15- name: Re-run 'make vtn' (work around bug in synchronizer)
16 command: ansible xos-1 -u ubuntu -m shell \
17 -a "cd ~/service-profile/cord-pod; make vtn"
Zack Williams35624562016-08-28 17:12:26 -070018 tags:
19 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040020
21- name: Wait for vSG VM to come up
22 shell: bash -c "source ~/admin-openrc.sh; nova list --all-tenants|grep 'vsg.*ACTIVE' > /dev/null"
23 register: result
24 until: result | success
25 retries: 10
26 delay: 60
Zack Williams35624562016-08-28 17:12:26 -070027 tags:
28 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040029
30- name: Get ID of VM
31 shell: bash -c "source ~/admin-openrc.sh; nova list --all-tenants|grep mysite_vsg|cut -d '|' -f 2"
32 register: nova_id
Zack Williams35624562016-08-28 17:12:26 -070033 tags:
34 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040035
36- name: Get mgmt IP of VM
37 shell: bash -c "source ~/admin-openrc.sh; nova interface-list {{ nova_id.stdout }}|grep -o -m 1 172.27.[[:digit:]]*.[[:digit:]]*"
38 register: mgmt_ip
Zack Williams35624562016-08-28 17:12:26 -070039 tags:
40 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040041
Andy Bavier30d27c92016-09-15 15:59:17 -040042- name: Get name of compute node
43 shell: bash -c "source ~/admin-openrc.sh; nova service-list|grep nova-compute|cut -d '|' -f 3"
44 register: node_name
45 tags:
46 - skip_ansible_lint # running a sub job
47
Andy Baviera27effe2016-07-18 19:23:26 -040048- name: Wait for Docker container inside VM to come up
Andy Bavier30d27c92016-09-15 15:59:17 -040049 shell: ssh -o ProxyCommand="ssh -W %h:%p -l ubuntu {{ node_name.stdout }}" ubuntu@{{ mgmt_ip.stdout }} "sudo docker ps|grep vcpe" > /dev/null
Andy Baviera27effe2016-07-18 19:23:26 -040050 register: result
51 until: result | success
52 retries: 20
53 delay: 60
Zack Williams35624562016-08-28 17:12:26 -070054 tags:
55 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040056
Andy Baviercb030992016-11-02 14:26:43 -040057- name: get "fabric" bridge interface
58 shell: route -n | grep 10.6.1.0 | awk '{print $8}'
59 register: bridge
60 tags:
61 - skip_ansible_lint # running a sub job
62
Andy Bavierb83beac2016-10-20 15:54:08 -040063# Specifying this through container_config below was not working...
64- name: set lxc bridge interface
65 become: yes
66 lineinfile:
67 dest: /etc/lxc/default.conf
68 regexp: "^lxc.network.link ="
Andy Baviercb030992016-11-02 14:26:43 -040069 line: "lxc.network.link = {{ bridge.stdout }}"
Andy Baviera27effe2016-07-18 19:23:26 -040070
Andy Bavierb83beac2016-10-20 15:54:08 -040071- name: Create testclient
72 become: yes
73 lxc_container:
74 name: testclient
75 container_log: true
76 template: ubuntu
77 state: started
78 template_options: --release trusty
79 container_command: |
80 ifdown eth0
81 sed -i 's/eth0 inet dhcp/eth0 inet manual/g' /etc/network/interfaces
82 ifup eth0
83 ip link show eth0.222 || ip link add link eth0 name eth0.222 type vlan id 222
84 ip link show eth0.222.111 || ip link add link eth0.222 name eth0.222.111 type vlan id 111
85 ifconfig eth0.222 up
86 ifconfig eth0.222.111 up
87 dhclient eth0.222.111
88
89# Don't use lxc_container so that we can get output
Andy Baviera27effe2016-07-18 19:23:26 -040090- name: Test external connectivity in test client
Andy Bavierb83beac2016-10-20 15:54:08 -040091 become: yes
92 command: lxc-attach -n testclient -- ping -c 3 8.8.8.8
Andy Baviera27effe2016-07-18 19:23:26 -040093 register: pingtest
Scott Bakerc7a02562016-10-28 14:38:29 -070094 tags:
95 - skip_ansible_lint # running a sub job
Andy Baviera27effe2016-07-18 19:23:26 -040096
97- name: Output from ping test
Zack Williams35624562016-08-28 17:12:26 -070098 debug: var=pingtest.stdout_lines