From 04d716d1ba29dcc27ecefb189e3c2b72659f6aa2 Mon Sep 17 00:00:00 2001 From: Xin Wang Date: Wed, 24 Jul 2019 05:54:26 +0000 Subject: [PATCH] [CRM] Wait more time for CRM stats to update CRM testing may fail because CRM stats was not updated yet while checking the counters. Main purpose of this change is to increase the time waiting for CRM update from 2 seconds to 4 seconds. Two other improvements: * Decrease the time waiting for CRM counters update from 300 seconds to 30 seconds. The 300 seconds waiting is unnecessary. * Use a single redis-cli command to get used and available counters rather than two commands. Signed-off-by: Xin Wang --- ansible/roles/test/tasks/crm.yml | 3 +- .../test/tasks/crm/crm_test_acl_counter.yml | 41 +++++++++--------- .../test/tasks/crm/crm_test_acl_entry.yml | 38 +++++++--------- .../test/tasks/crm/crm_test_fdb_entry.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_ipv4_neighbor.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_ipv4_nexthop.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_ipv4_route.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_ipv6_neighbor.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_ipv6_nexthop.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_ipv6_route.yml | 43 ++++++++----------- .../test/tasks/crm/crm_test_nexthop_group.yml | 37 ++++++++-------- .../crm/crm_test_nexthop_group_member.yml | 43 ++++++++----------- 12 files changed, 193 insertions(+), 270 deletions(-) diff --git a/ansible/roles/test/tasks/crm.yml b/ansible/roles/test/tasks/crm.yml index d9561013283..a502dcd19c1 100644 --- a/ansible/roles/test/tasks/crm.yml +++ b/ansible/roles/test/tasks/crm.yml @@ -16,12 +16,13 @@ - set_fact: ansible_date_time: "{{ansible_date_time}}" + crm_update_time: 4 - name: Set polling interval command: crm config polling interval 1 - name: Make sure CRM counters updated - pause: seconds=300 + pause: seconds=30 - name: Run test case "CRM IPv4 route resource" include: roles/test/tasks/crm/crm_test_ipv4_route.yml diff --git a/ansible/roles/test/tasks/crm/crm_test_acl_counter.yml b/ansible/roles/test/tasks/crm/crm_test_acl_counter.yml index 4ee805e8427..9b536a3ee6a 100644 --- a/ansible/roles/test/tasks/crm/crm_test_acl_counter.yml +++ b/ansible/roles/test/tasks/crm/crm_test_acl_counter.yml @@ -6,17 +6,22 @@ - name: Copy ACL JSON config to switch. copy: src=roles/test/tasks/crm/acl.json dest=/tmp + - name: Get original "crm_stats_acl_counter_available" counter value + command: redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_counter_available + register: out + - set_fact: original_crm_stats_acl_counter_available={{out.stdout}} + - name: Add ACL command: acl-loader update full /tmp/acl.json become: yes - name: Get ACL entry keys - command: bash -c "docker exec -i database redis-cli --raw -n 1 KEYS *SAI_OBJECT_TYPE_ACL_ENTRY*" + command: redis-cli --raw -n 1 KEYS *SAI_OBJECT_TYPE_ACL_ENTRY* register: out - set_fact: acl_tbl_keys={{out.stdout.split()}} - name: Get ethertype for ACL entry in order to match ACL which was configured - command: bash -c "docker exec -i database redis-cli -n 1 HGET {{item}} SAI_ACL_ENTRY_ATTR_FIELD_ETHER_TYPE" + command: redis-cli -n 1 HGET {{item}} SAI_ACL_ENTRY_ATTR_FIELD_ETHER_TYPE with_items: "{{acl_tbl_keys}}" register: out @@ -26,22 +31,19 @@ when: item.stdout|search("2048") - name: Get ACL table key - command: bash -c "docker exec -i database redis-cli -n 1 HGET {{key}} SAI_ACL_ENTRY_ATTR_TABLE_ID" + command: redis-cli -n 1 HGET {{key}} SAI_ACL_ENTRY_ATTR_TABLE_ID register: out - set_fact: acl_tbl_key={{"CRM:ACL_TABLE_STATS:{0}".format(out.stdout|replace("oid:", ""))}} - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_acl_counter_used" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_counter_used - register: out - - set_fact: new_crm_stats_acl_counter_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_acl_counter_available" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_counter_available + - name: Get new "crm_stats_acl_counter" used and available counter value + command: redis-cli --raw -n 2 HMGET {{acl_tbl_key}} crm_stats_acl_counter_used crm_stats_acl_counter_available register: out - - set_fact: new_crm_stats_acl_counter_available={{out.stdout}} + - set_fact: + new_crm_stats_acl_counter_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_acl_counter_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_acl_counter_used" counter was incremented assert: {that: "{{new_crm_stats_acl_counter_used|int - crm_stats_acl_counter_used|int == 2}}"} @@ -60,17 +62,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_acl_counter_used" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_counter_used - register: out - - set_fact: new_crm_stats_acl_counter_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_acl_counter_available" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_counter_available + - name: Get new "crm_stats_acl_counter" used and available counter value + command: redis-cli --raw -n 2 HMGET {{acl_tbl_key}} crm_stats_acl_counter_used crm_stats_acl_counter_available register: out - - set_fact: new_crm_stats_acl_counter_available={{out.stdout}} + - set_fact: + new_crm_stats_acl_counter_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_acl_counter_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_acl_counter_used" counter was decremented assert: {that: "{{new_crm_stats_acl_counter_used|int - crm_stats_acl_counter_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_acl_entry.yml b/ansible/roles/test/tasks/crm/crm_test_acl_entry.yml index 2c134567f8e..12d3968edb0 100644 --- a/ansible/roles/test/tasks/crm/crm_test_acl_entry.yml +++ b/ansible/roles/test/tasks/crm/crm_test_acl_entry.yml @@ -11,15 +11,15 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 + pause: seconds={{ crm_update_time }} - name: Get ACL entry keys - command: bash -c "docker exec -i database redis-cli --raw -n 1 KEYS *SAI_OBJECT_TYPE_ACL_ENTRY*" + command: redis-cli --raw -n 1 KEYS *SAI_OBJECT_TYPE_ACL_ENTRY* register: out - set_fact: acl_tbl_keys={{out.stdout.split()}} - name: Get ethertype for ACL entry in order to match ACL which was configured - command: bash -c "docker exec -i database redis-cli -n 1 HGET {{item}} SAI_ACL_ENTRY_ATTR_FIELD_ETHER_TYPE" + command: redis-cli -n 1 HGET {{item}} SAI_ACL_ENTRY_ATTR_FIELD_ETHER_TYPE with_items: "{{acl_tbl_keys}}" register: out @@ -29,22 +29,19 @@ when: item.stdout|search("2048") - name: Get ACL table key - command: bash -c "docker exec -i database redis-cli -n 1 HGET {{key}} SAI_ACL_ENTRY_ATTR_TABLE_ID" + command: redis-cli -n 1 HGET {{key}} SAI_ACL_ENTRY_ATTR_TABLE_ID register: out - set_fact: acl_tbl_key={{"CRM:ACL_TABLE_STATS:{0}".format(out.stdout|replace("oid:", ""))}} - name: Make sure CRM counters updated - pause: seconds=2 + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_acl_entry_used" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_entry_used + - name: Get new "crm_stats_acl_entry" used and available counter value + command: redis-cli --raw -n 2 HMGET {{acl_tbl_key}} crm_stats_acl_entry_used crm_stats_acl_entry_available register: out - - set_fact: new_crm_stats_acl_entry_used={{out.stdout}} - - - name: Get new "crm_stats_acl_entry_available" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_entry_available - register: out - - set_fact: new_crm_stats_acl_entry_available={{out.stdout}} + - set_fact: + new_crm_stats_acl_entry_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_acl_entry_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_acl_entry_used" counter was incremented assert: {that: "{{new_crm_stats_acl_entry_used|int - crm_stats_acl_entry_used|int == 2}}"} @@ -63,17 +60,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_acl_entry_used" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_entry_used - register: out - - set_fact: new_crm_stats_acl_entry_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_acl_entry_available" counter value - command: docker exec -i database redis-cli -n 2 HGET {{acl_tbl_key}} crm_stats_acl_entry_available + - name: Get new "crm_stats_acl_entry" used and available counter value + command: redis-cli --raw -n 2 HMGET {{acl_tbl_key}} crm_stats_acl_entry_used crm_stats_acl_entry_available register: out - - set_fact: new_crm_stats_acl_entry_available={{out.stdout}} + - set_fact: + new_crm_stats_acl_entry_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_acl_entry_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_acl_entry_used" counter was decremented assert: {that: "{{new_crm_stats_acl_entry_used|int - crm_stats_acl_entry_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_fdb_entry.yml b/ansible/roles/test/tasks/crm/crm_test_fdb_entry.yml index 7abb952dd83..c4e80c25978 100644 --- a/ansible/roles/test/tasks/crm/crm_test_fdb_entry.yml +++ b/ansible/roles/test/tasks/crm/crm_test_fdb_entry.yml @@ -1,14 +1,11 @@ - block: - - name: Get "crm_stats_fdb_entry_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_fdb_entry_used + - name: Get "crm_stats_fdb_entry" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_fdb_entry_used crm_stats_fdb_entry_available register: out - - set_fact: crm_stats_fdb_entry_used={{out.stdout}} - - - name: Get "crm_stats_fdb_entry_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_fdb_entry_available - register: out - - set_fact: crm_stats_fdb_entry_available={{out.stdout}} + - set_fact: + crm_stats_fdb_entry_used: "{{ out.stdout_lines[0] }}" + crm_stats_fdb_entry_available: "{{ out.stdout_lines[1] }}" - name: Copy FDB JSON config to switch. copy: src=roles/test/tasks/crm/fdb.json dest=/tmp @@ -28,17 +25,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_fdb_entry_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_fdb_entry_used - register: out - - set_fact: new_crm_stats_fdb_entry_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_fdb_entry_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_fdb_entry_available + - name: Get new "crm_stats_fdb_entry" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_fdb_entry_used crm_stats_fdb_entry_available register: out - - set_fact: new_crm_stats_fdb_entry_available={{out.stdout}} + - set_fact: + new_crm_stats_fdb_entry_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_fdb_entry_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_fdb_entry_used" counter was incremented assert: {that: "{{new_crm_stats_fdb_entry_used|int - crm_stats_fdb_entry_used|int == 1}}"} @@ -57,17 +51,14 @@ command: fdbclear - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_fdb_entry_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_fdb_entry_used - register: out - - set_fact: new_crm_stats_fdb_entry_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_fdb_entry_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_fdb_entry_available + - name: Get new "crm_stats_fdb_entry" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_fdb_entry_used crm_stats_fdb_entry_available register: out - - set_fact: new_crm_stats_fdb_entry_available={{out.stdout}} + - set_fact: + new_crm_stats_fdb_entry_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_fdb_entry_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_fdb_entry_used" counter was decremented assert: {that: "{{new_crm_stats_fdb_entry_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_ipv4_neighbor.yml b/ansible/roles/test/tasks/crm/crm_test_ipv4_neighbor.yml index 8e5740b994c..62221ec2f11 100644 --- a/ansible/roles/test/tasks/crm/crm_test_ipv4_neighbor.yml +++ b/ansible/roles/test/tasks/crm/crm_test_ipv4_neighbor.yml @@ -1,31 +1,25 @@ - block: - - name: Get "crm_stats_ipv4_neighbor_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_neighbor_used + - name: Get "crm_stats_ipv4_neighbor" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_neighbor_used crm_stats_ipv4_neighbor_available register: out - - set_fact: crm_stats_ipv4_neighbor_used={{out.stdout}} - - - name: Get "crm_stats_ipv4_neighbor_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_neighbor_available - register: out - - set_fact: crm_stats_ipv4_neighbor_available={{out.stdout}} + - set_fact: + crm_stats_ipv4_neighbor_used: "{{ out.stdout_lines[0] }}" + crm_stats_ipv4_neighbor_available: "{{ out.stdout_lines[1] }}" - name: Add IPv4 neighbor command: ip neigh replace 2.2.2.2 lladdr 11:22:33:44:55:66 dev {{crm_intf}} become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv4_neighbor_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_neighbor_used - register: out - - set_fact: new_crm_stats_ipv4_neighbor_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv4_neighbor_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_neighbor_available + - name: Get new "crm_stats_ipv4_neighbor" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_neighbor_used crm_stats_ipv4_neighbor_available register: out - - set_fact: new_crm_stats_ipv4_neighbor_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv4_neighbor_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv4_neighbor_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv4_neighbor_used" counter was incremented assert: {that: "{{new_crm_stats_ipv4_neighbor_used|int - crm_stats_ipv4_neighbor_used|int >= 1}}"} @@ -38,17 +32,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv4_neighbor_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_neighbor_used - register: out - - set_fact: new_crm_stats_ipv4_neighbor_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv4_neighbor_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_neighbor_available + - name: Get new "crm_stats_ipv4_neighbor" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_neighbor_used crm_stats_ipv4_neighbor_available register: out - - set_fact: new_crm_stats_ipv4_neighbor_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv4_neighbor_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv4_neighbor_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv4_neighbor_used" counter was decremented assert: {that: "{{new_crm_stats_ipv4_neighbor_used|int - crm_stats_ipv4_neighbor_used|int >= 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_ipv4_nexthop.yml b/ansible/roles/test/tasks/crm/crm_test_ipv4_nexthop.yml index 3280e98bd98..733341268c5 100644 --- a/ansible/roles/test/tasks/crm/crm_test_ipv4_nexthop.yml +++ b/ansible/roles/test/tasks/crm/crm_test_ipv4_nexthop.yml @@ -1,31 +1,25 @@ - block: - - name: Get "crm_stats_ipv4_nexthop_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_nexthop_used + - name: Get "crm_stats_ipv4_nexthop" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_nexthop_used crm_stats_ipv4_nexthop_available register: out - - set_fact: crm_stats_ipv4_nexthop_used={{out.stdout}} - - - name: Get "crm_stats_ipv4_nexthop_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_nexthop_available - register: out - - set_fact: crm_stats_ipv4_nexthop_available={{out.stdout}} + - set_fact: + crm_stats_ipv4_nexthop_used: "{{ out.stdout_lines[0] }}" + crm_stats_ipv4_nexthop_available: "{{ out.stdout_lines[1] }}" - name: Add IPv4 nexthop command: ip neigh replace 2.2.2.2 lladdr 11:22:33:44:55:66 dev {{crm_intf}} become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv4_nexthop_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_nexthop_used - register: out - - set_fact: new_crm_stats_ipv4_nexthop_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv4_nexthop_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_nexthop_available + - name: Get new "crm_stats_ipv4_nexthop" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_nexthop_used crm_stats_ipv4_nexthop_available register: out - - set_fact: new_crm_stats_ipv4_nexthop_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv4_nexthop_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv4_nexthop_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv4_nexthop_used" counter was incremented assert: {that: "{{new_crm_stats_ipv4_nexthop_used|int - crm_stats_ipv4_nexthop_used|int == 1}}"} @@ -38,17 +32,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv4_nexthop_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_nexthop_used - register: out - - set_fact: new_crm_stats_ipv4_nexthop_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv4_nexthop_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_nexthop_available + - name: Get new "crm_stats_ipv4_nexthop" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_nexthop_used crm_stats_ipv4_nexthop_available register: out - - set_fact: new_crm_stats_ipv4_nexthop_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv4_nexthop_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv4_nexthop_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv4_nexthop_used" counter was decremented assert: {that: "{{new_crm_stats_ipv4_nexthop_used|int - crm_stats_ipv4_nexthop_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_ipv4_route.yml b/ansible/roles/test/tasks/crm/crm_test_ipv4_route.yml index 1af11bddedc..5fad99aa95a 100644 --- a/ansible/roles/test/tasks/crm/crm_test_ipv4_route.yml +++ b/ansible/roles/test/tasks/crm/crm_test_ipv4_route.yml @@ -1,14 +1,11 @@ - block: - - name: Get "crm_stats_ipv4_route_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_route_used + - name: Get "crm_stats_ipv4_route" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_route_used crm_stats_ipv4_route_available register: out - - set_fact: crm_stats_ipv4_route_used={{out.stdout}} - - - name: Get "crm_stats_ipv4_route_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_route_available - register: out - - set_fact: crm_stats_ipv4_route_available={{out.stdout}} + - set_fact: + crm_stats_ipv4_route_used: "{{ out.stdout_lines[0] }}" + crm_stats_ipv4_route_available: "{{ out.stdout_lines[1] }}" - name: Get NH IP command: ip -4 neigh show dev {{crm_intf}} nud reachable nud stale @@ -20,17 +17,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv4_route_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_route_used - register: out - - set_fact: new_crm_stats_ipv4_route_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv4_route_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_route_available + - name: Get new "crm_stats_ipv4_route" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_route_used crm_stats_ipv4_route_available register: out - - set_fact: new_crm_stats_ipv4_route_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv4_route_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv4_route_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv4_route_used" counter was incremented assert: {that: "{{new_crm_stats_ipv4_route_used|int - crm_stats_ipv4_route_used|int == 1}}"} @@ -43,17 +37,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv4_route_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_route_used - register: out - - set_fact: new_crm_stats_ipv4_route_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv4_route_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv4_route_available + - name: Get new "crm_stats_ipv4_route" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv4_route_used crm_stats_ipv4_route_available register: out - - set_fact: new_crm_stats_ipv4_route_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv4_route_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv4_route_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv4_route_used" counter was decremented assert: {that: "{{new_crm_stats_ipv4_route_used|int - crm_stats_ipv4_route_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_ipv6_neighbor.yml b/ansible/roles/test/tasks/crm/crm_test_ipv6_neighbor.yml index 4d0879bd49e..58f8b8aa67f 100644 --- a/ansible/roles/test/tasks/crm/crm_test_ipv6_neighbor.yml +++ b/ansible/roles/test/tasks/crm/crm_test_ipv6_neighbor.yml @@ -1,31 +1,25 @@ - block: - - name: Get "crm_stats_ipv6_neighbor_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_neighbor_used + - name: Get "crm_stats_ipv6_neighbor" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_neighbor_used crm_stats_ipv6_neighbor_available register: out - - set_fact: crm_stats_ipv6_neighbor_used={{out.stdout}} - - - name: Get "crm_stats_ipv6_neighbor_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_neighbor_available - register: out - - set_fact: crm_stats_ipv6_neighbor_available={{out.stdout}} + - set_fact: + crm_stats_ipv6_neighbor_used: "{{ out.stdout_lines[0] }}" + crm_stats_ipv6_neighbor_available: "{{ out.stdout_lines[1] }}" - name: Add IPv6 neighbor command: ip neigh replace 2001::1 lladdr 11:22:33:44:55:66 dev {{crm_intf}} become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv6_neighbor_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_neighbor_used - register: out - - set_fact: new_crm_stats_ipv6_neighbor_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv6_neighbor_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_neighbor_available + - name: Get new "crm_stats_ipv6_neighbor" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_neighbor_used crm_stats_ipv6_neighbor_available register: out - - set_fact: new_crm_stats_ipv6_neighbor_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv6_neighbor_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv6_neighbor_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv6_neighbor_used" counter was incremented assert: {that: "{{new_crm_stats_ipv6_neighbor_used|int - crm_stats_ipv6_neighbor_used|int >= 1}}"} @@ -38,17 +32,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv6_neighbor_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_neighbor_used - register: out - - set_fact: new_crm_stats_ipv6_neighbor_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv6_neighbor_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_neighbor_available + - name: Get new "crm_stats_ipv6_neighbor" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_neighbor_used crm_stats_ipv6_neighbor_available register: out - - set_fact: new_crm_stats_ipv6_neighbor_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv6_neighbor_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv6_neighbor_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv6_neighbor_used" counter was decremented assert: {that: "{{new_crm_stats_ipv6_neighbor_used|int - crm_stats_ipv6_neighbor_used|int >= 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_ipv6_nexthop.yml b/ansible/roles/test/tasks/crm/crm_test_ipv6_nexthop.yml index f253302e61e..15147374908 100644 --- a/ansible/roles/test/tasks/crm/crm_test_ipv6_nexthop.yml +++ b/ansible/roles/test/tasks/crm/crm_test_ipv6_nexthop.yml @@ -1,31 +1,25 @@ - block: - - name: Get "crm_stats_ipv6_nexthop_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_nexthop_used + - name: Get "crm_stats_ipv6_nexthop" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_nexthop_used crm_stats_ipv6_nexthop_available register: out - - set_fact: crm_stats_ipv6_nexthop_used={{out.stdout}} - - - name: Get "crm_stats_ipv6_nexthop_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_nexthop_available - register: out - - set_fact: crm_stats_ipv6_nexthop_available={{out.stdout}} + - set_fact: + crm_stats_ipv6_nexthop_used: "{{ out.stdout_lines[0] }}" + crm_stats_ipv6_nexthop_available: "{{ out.stdout_lines[1] }}" - name: Add IPv6 nexthop command: ip neigh replace 2001::1 lladdr 11:22:33:44:55:66 dev {{crm_intf}} become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv6_nexthop_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_nexthop_used - register: out - - set_fact: new_crm_stats_ipv6_nexthop_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv6_nexthop_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_nexthop_available + - name: Get new "crm_stats_ipv6_nexthop" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_nexthop_used crm_stats_ipv6_nexthop_available register: out - - set_fact: new_crm_stats_ipv6_nexthop_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv6_nexthop_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv6_nexthop_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv6_nexthop_used" counter was incremented assert: {that: "{{new_crm_stats_ipv6_nexthop_used|int - crm_stats_ipv6_nexthop_used|int == 1}}"} @@ -38,17 +32,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv6_nexthop_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_nexthop_used - register: out - - set_fact: new_crm_stats_ipv6_nexthop_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv6_nexthop_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_nexthop_available + - name: Get new "crm_stats_ipv6_nexthop" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_nexthop_used crm_stats_ipv6_nexthop_available register: out - - set_fact: new_crm_stats_ipv6_nexthop_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv6_nexthop_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv6_nexthop_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv6_nexthop_used" counter was decremented assert: {that: "{{new_crm_stats_ipv6_nexthop_used|int - crm_stats_ipv6_nexthop_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_ipv6_route.yml b/ansible/roles/test/tasks/crm/crm_test_ipv6_route.yml index c4ebacfd6d9..5cf7b662b97 100644 --- a/ansible/roles/test/tasks/crm/crm_test_ipv6_route.yml +++ b/ansible/roles/test/tasks/crm/crm_test_ipv6_route.yml @@ -1,14 +1,11 @@ - block: - - name: Get "crm_stats_ipv6_route_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_route_used + - name: Get "crm_stats_ipv6_route" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_route_used crm_stats_ipv6_route_available register: out - - set_fact: crm_stats_ipv6_route_used={{out.stdout}} - - - name: Get "crm_stats_ipv6_route_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_route_available - register: out - - set_fact: crm_stats_ipv6_route_available={{out.stdout}} + - set_fact: + crm_stats_ipv6_route_used: "{{ out.stdout_lines[0] }}" + crm_stats_ipv6_route_available: "{{ out.stdout_lines[1] }}" - name: Get NH IP shell: ip -6 neigh show dev {{crm_intf}} nud reachable nud stale | grep -v fe80 @@ -20,17 +17,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv6_route_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_route_used - register: out - - set_fact: new_crm_stats_ipv6_route_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv6_route_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_route_available + - name: Get new "crm_stats_ipv6_route" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_route_used crm_stats_ipv6_route_available register: out - - set_fact: new_crm_stats_ipv6_route_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv6_route_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv6_route_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv6_route_used" counter was incremented assert: {that: "{{new_crm_stats_ipv6_route_used|int - crm_stats_ipv6_route_used|int == 1}}"} @@ -43,17 +37,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_ipv6_route_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_route_used - register: out - - set_fact: new_crm_stats_ipv6_route_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_ipv6_route_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_ipv6_route_available + - name: Get new "crm_stats_ipv6_route" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_ipv6_route_used crm_stats_ipv6_route_available register: out - - set_fact: new_crm_stats_ipv6_route_available={{out.stdout}} + - set_fact: + new_crm_stats_ipv6_route_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_ipv6_route_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_ipv6_route_used" counter was decremented assert: {that: "{{new_crm_stats_ipv6_route_used|int - crm_stats_ipv6_route_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_nexthop_group.yml b/ansible/roles/test/tasks/crm/crm_test_nexthop_group.yml index 38d30cd7db5..6325064fbaf 100644 --- a/ansible/roles/test/tasks/crm/crm_test_nexthop_group.yml +++ b/ansible/roles/test/tasks/crm/crm_test_nexthop_group.yml @@ -1,14 +1,11 @@ - block: - - name: Get "crm_stats_nexthop_group_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_used - register: out - - set_fact: crm_stats_nexthop_group_used={{out.stdout}} - - - name: Get "crm_stats_nexthop_group_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_available + - name: Get "crm_stats_nexthop_group" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_nexthop_group_used crm_stats_nexthop_group_available register: out - - set_fact: crm_stats_nexthop_group_available={{out.stdout}} + - set_fact: + crm_stats_nexthop_group_used: "{{ out.stdout_lines[0] }}" + crm_stats_nexthop_group_available: "{{ out.stdout_lines[1] }}" - name: Get NH IP 1 command: ip -4 neigh show dev {{crm_intf}} nud reachable nud stale @@ -25,7 +22,7 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 + pause: seconds={{ crm_update_time }} - name: Get new "crm_stats_nexthop_group_used" counter value command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_used @@ -37,6 +34,13 @@ register: out - set_fact: new_crm_stats_nexthop_group_available={{out.stdout}} + - name: Get new "crm_stats_nexthop_group" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_nexthop_group_used crm_stats_nexthop_group_available + register: out + - set_fact: + new_crm_stats_nexthop_group_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_nexthop_group_available: "{{ out.stdout_lines[1] }}" + - name: Verify "crm_stats_nexthop_group_used" counter was incremented assert: {that: "{{new_crm_stats_nexthop_group_used|int - crm_stats_nexthop_group_used|int == 1}}"} @@ -48,17 +52,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_nexthop_group_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_used - register: out - - set_fact: new_crm_stats_nexthop_group_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_nexthop_group_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_available + - name: Get new "crm_stats_nexthop_group" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_nexthop_group_used crm_stats_nexthop_group_available register: out - - set_fact: new_crm_stats_nexthop_group_available={{out.stdout}} + - set_fact: + new_crm_stats_nexthop_group_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_nexthop_group_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_nexthop_group_used" counter was decremented assert: {that: "{{new_crm_stats_nexthop_group_used|int - crm_stats_nexthop_group_used|int == 0}}"} diff --git a/ansible/roles/test/tasks/crm/crm_test_nexthop_group_member.yml b/ansible/roles/test/tasks/crm/crm_test_nexthop_group_member.yml index 6181b87a0c3..1a24af51da8 100644 --- a/ansible/roles/test/tasks/crm/crm_test_nexthop_group_member.yml +++ b/ansible/roles/test/tasks/crm/crm_test_nexthop_group_member.yml @@ -1,14 +1,11 @@ - block: - - name: Get "crm_stats_nexthop_group_member_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_member_used + - name: Get "crm_stats_nexthop_group_member" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_nexthop_group_member_used crm_stats_nexthop_group_member_available register: out - - set_fact: crm_stats_nexthop_group_member_used={{out.stdout}} - - - name: Get "crm_stats_nexthop_group_member_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_member_available - register: out - - set_fact: crm_stats_nexthop_group_member_available={{out.stdout}} + - set_fact: + crm_stats_nexthop_group_member_used: "{{ out.stdout_lines[0] }}" + crm_stats_nexthop_group_member_available: "{{ out.stdout_lines[1] }}" - name: Get NH IP 1 command: ip -4 neigh show dev {{crm_intf}} nud reachable nud stale @@ -25,17 +22,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_nexthop_group_member_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_member_used - register: out - - set_fact: new_crm_stats_nexthop_group_member_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_nexthop_group_member_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_member_available + - name: Get new "crm_stats_nexthop_group_member" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_nexthop_group_member_used crm_stats_nexthop_group_member_available register: out - - set_fact: new_crm_stats_nexthop_group_member_available={{out.stdout}} + - set_fact: + new_crm_stats_nexthop_group_member_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_nexthop_group_member_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_nexthop_group_member_used" counter was incremented assert: {that: "{{new_crm_stats_nexthop_group_member_used|int - crm_stats_nexthop_group_member_used|int == 2}}"} @@ -48,17 +42,14 @@ become: yes - name: Make sure CRM counters updated - pause: seconds=2 - - - name: Get new "crm_stats_nexthop_group_member_used" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_member_used - register: out - - set_fact: new_crm_stats_nexthop_group_member_used={{out.stdout}} + pause: seconds={{ crm_update_time }} - - name: Get new "crm_stats_nexthop_group_member_available" counter value - command: docker exec -i database redis-cli -n 2 HGET CRM:STATS crm_stats_nexthop_group_member_available + - name: Get new "crm_stats_nexthop_group_member" used and available counter value + command: redis-cli --raw -n 2 HMGET CRM:STATS crm_stats_nexthop_group_member_used crm_stats_nexthop_group_member_available register: out - - set_fact: new_crm_stats_nexthop_group_member_available={{out.stdout}} + - set_fact: + new_crm_stats_nexthop_group_member_used: "{{ out.stdout_lines[0] }}" + new_crm_stats_nexthop_group_member_available: "{{ out.stdout_lines[1] }}" - name: Verify "crm_stats_nexthop_group_member_used" counter was decremented assert: {that: "{{new_crm_stats_nexthop_group_member_used|int - crm_stats_nexthop_group_member_used|int == 0}}"}