summaryrefslogtreecommitdiff
path: root/test/integration/targets
diff options
context:
space:
mode:
authorMike Wiebe <mwiebe@cisco.com>2018-11-19 23:44:15 -0500
committerTrishna Guha <trishnaguha17@gmail.com>2018-11-20 10:14:15 +0530
commita7215722069b79c422f3cacd26497f48effbcaf6 (patch)
tree9cfcad6415c62ff9b91f0d9c1186f786d37b87c2 /test/integration/targets
parent10095a397c9ca6742e71c3edaf4490da3032a124 (diff)
downloadansible-a7215722069b79c422f3cacd26497f48effbcaf6.tar.gz
Fix issues with nxos_os_install module (#48811)
* Use expect module to copy files * Remove old and redundant upgrade files * Return error message instead of code * Cleanup copy command code * Fix force issue in nxos_install_os * new nxos_install_os integration tests * Uncomment transport tests * Revert negative test change * Remove combined option that is no longer required * Make shippable happy * Add n5k test files
Diffstat (limited to 'test/integration/targets')
-rw-r--r--test/integration/targets/nxos_install_os/tasks/httpapi.yaml2
-rw-r--r--test/integration/targets/nxos_install_os/tasks/network_cli.yaml2
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml48
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml1
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/delete_files_provider.yaml11
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml1
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server_provider.yaml6
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml11
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/install_os_provider.yaml25
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml22
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/install_system_provider.yaml25
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml22
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick_provider.yaml26
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml4
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload.yaml22
-rw-r--r--test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload_provider.yaml23
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade.yaml15
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_greensboro.yaml28
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u61a.yaml29
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u62a.yaml29
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u63a.yaml29
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n35_62a88.yaml29
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n35_greensboro.yaml28
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_730_N11.yaml28
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_733_N11.yaml28
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_atherton.yaml28
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_helsinki.yaml28
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro.yaml41
-rw-r--r--test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_hamilton.yaml39
29 files changed, 458 insertions, 172 deletions
diff --git a/test/integration/targets/nxos_install_os/tasks/httpapi.yaml b/test/integration/targets/nxos_install_os/tasks/httpapi.yaml
index 28c543fba2..34516c8eb0 100644
--- a/test/integration/targets/nxos_install_os/tasks/httpapi.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/httpapi.yaml
@@ -10,7 +10,7 @@
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (ansible_connection=httpapi)
- include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ include: "{{ test_case_to_run }} ansible_connection=httpapi connection={{ nxapi }}"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
diff --git a/test/integration/targets/nxos_install_os/tasks/network_cli.yaml b/test/integration/targets/nxos_install_os/tasks/network_cli.yaml
index e69ab5e2fe..497a535b24 100644
--- a/test/integration/targets/nxos_install_os/tasks/network_cli.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/network_cli.yaml
@@ -10,7 +10,7 @@
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (ansible_connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ include: "{{ test_case_to_run }} ansible_connection=network_cli connection={{ cli }}"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml
index b043b1e35e..7f8383f76d 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml
@@ -4,24 +4,25 @@
when: ansible_connection == 'httpapi'
- include: targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml
- when: connection is not defined
-
-- include: targets/nxos_install_os/tasks/upgrade/enable_scp_server_provider.yaml
- when: connection is defined
- name: "Copy {{ si }} to bootflash"
nxos_file_copy:
- local_file: "{{image_dir}}{{ si }}"
- file_system: "bootflash:"
+ file_pull: True
+ file_pull_timeout: 1200
+ remote_file: "{{image_dir}}{{ si }}"
+ remote_scp_server: 192.168.1.1
+ remote_scp_server_user: scp_user
+ remote_scp_server_password: scp_password
register: result
- ignore_errors: "{{ ignore_errors_httpapi }}"
-- name: "Copy {{ si }} to bootflash"
- nxos_file_copy:
- local_file: "{{image_dir}}{{ si }}"
- file_system: "bootflash:"
- register: result
- ignore_errors: "{{ ignore_errors_httpapi }}"
+#- name: "Copy {{ si }} to bootflash"
+# expect:
+# command: "scp {{image_dir}}{{ si }} {{ ansible_ssh_user }}@{{ ansible_ssh_host }}:"
+# responses:
+# (?i)Are you sure you want to continue connecting.*: yes
+# (?i)password: "{{ ansible_ssh_pass }}"
+# timeout: 1800
+# register: result
- debug:
msg: "{{ item.key }} {{ item.value }}"
@@ -29,11 +30,24 @@
- name: "Copy {{ ki }} to bootflash"
nxos_file_copy:
- local_file: "{{image_dir}}/{{ ki }}"
- file_system: "bootflash:"
- register: result
+ file_pull: True
+ file_pull_timeout: 1200
+ remote_file: "{{image_dir}}{{ ki }}"
+ remote_scp_server: 192.168.1.1
+ remote_scp_server_user: scp_user
+ remote_scp_server_password: scp_password
when: ki is defined
- ignore_errors: "{{ ignore_errors_httpapi }}"
+ register: result
+
+#- name: "Copy {{ ki }} to bootflash"
+# expect:
+# command: "scp {{image_dir}}{{ ki }} {{ ansible_ssh_user }}@{{ ansible_ssh_host }}:"
+# responses:
+# (?i)Are you sure you want to continue connecting.*: yes
+# (?i)password: "{{ ansible_ssh_pass }}"
+# timeout: 1800
+# when: ki is defined
+# register: result
- debug:
msg: "{{ item.key }} {{ item.value }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml
index 27157b690b..f72f31569f 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml
@@ -6,5 +6,6 @@
- allow delete boot-image
- "delete {{ item }}"
match: none
+ provider: "{{ connection }}"
ignore_errors: yes
with_items: "{{ delete_image_list }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files_provider.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files_provider.yaml
deleted file mode 100644
index 0ba4280402..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/delete_files_provider.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
----
- - name: "Delete Files To Make Room On Bootflash using provider"
- nxos_config: &remove_file
- lines:
- - terminal dont-ask
- - allow delete boot-image
- - "delete {{ item }}"
- match: none
- provider: "{{ connection }}"
- ignore_errors: yes
- with_items: "{{ delete_image_list }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml
index f8a4e54e34..4fcae4ca60 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml
@@ -3,3 +3,4 @@
nxos_feature:
feature: scp-server
state: enabled
+ provider: "{{ connection }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server_provider.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server_provider.yaml
deleted file mode 100644
index d1da1833bf..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server_provider.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: "Setup - Turn on feature scp-server using provider"
- nxos_feature:
- feature: scp-server
- state: enabled
- provider: "{{ connection }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml
index 6dc811cdc7..2c0dac2639 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml
@@ -1,15 +1,15 @@
---
- include: targets/nxos_install_os/tasks/upgrade/delete_files.yaml
- when: delete_image_list is defined
+ when: delete_files
-- include: targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml
- when: copy_images is defined
+- include: "targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml ansible_connection=network_cli connection={{ cli }}"
+ when: copy_images
- include: targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml
- when: ki is defined and combined is undefined
+ when: ki is defined
- include: targets/nxos_install_os/tasks/upgrade/install_system.yaml
- when: combined is defined
+ when: ki is undefined
# Only needed when - meta: reset_connection does not work. Fixed in 2.6
#- include: targets/nxos_install_os/tasks/upgrade/clear_persistent_sockets.yaml
@@ -19,6 +19,7 @@
- name: "Check installed OS for newly installed version {{ tv }}"
nxos_command:
commands: ['show version | json']
+ provider: "{{ connection }}"
register: output
- debug: msg="Version detected {{ output['stdout_lines'][0]['kickstart_ver_str'] }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/install_os_provider.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/install_os_provider.yaml
deleted file mode 100644
index b8381aa002..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/install_os_provider.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-- include: targets/nxos_install_os/tasks/upgrade/delete_files_provider.yaml
- when: delete_image_list is defined
-
-- include: targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml
- when: copy_images is defined
-
-- include: targets/nxos_install_os/tasks/upgrade/install_with_kick_provider.yaml
- when: ki is defined and combined is undefined
-
-- include: targets/nxos_install_os/tasks/upgrade/install_system_provider.yaml
- when: combined is defined
-
-# Only needed when - meta: reset_connection does not work. Fixed in 2.6
-#- include: targets/nxos_install_os/tasks/upgrade/clear_persistent_sockets.yaml
-
-- meta: reset_connection
-
-- name: "Check installed OS for newly installed version {{ tv }}"
- nxos_command:
- commands: ['show version | json']
- provider: "{{ connection }}"
- register: output
-
-- debug: msg="Version detected {{ output['stdout_lines'][0]['kickstart_ver_str'] }}"
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml
index ec1b34fccf..d3b4dd8961 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml
@@ -4,9 +4,31 @@
nxos_install_os:
system_image_file: "{{ si }}"
issu: "{{ issu }}"
+ provider: "{{ connection }}"
register: result
+ when: not force
+
+- name: "Set OS image {{ si }} boot pointers"
+ nxos_config:
+ lines:
+ - no boot nxos
+ - no boot kickstart
+ - no boot system
+ - "boot nxos bootflash:{{ si }}"
+ - copy run start
+ match: line
+ provider: "{{ connection }}"
+ when: force
+
+- name: "Boot image {{ si }} using reload"
+ nxos_command:
+ commands: 'terminal dont-ask ; reload'
+ provider: "{{ connection }}"
+ ignore_errors: yes
+ when: force
- debug: msg=" {{ result['install_state'] }}"
+ when: not force
- name: Wait for device to come back up with new image
wait_for:
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/install_system_provider.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/install_system_provider.yaml
deleted file mode 100644
index e8aee7b5f4..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/install_system_provider.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-- name: "Install OS image {{ si }} using provider"
- check_mode: "{{ checkmode }}"
- nxos_install_os:
- system_image_file: "{{ si }}"
- issu: "{{ issu }}"
- provider: "{{ connection }}"
- register: result
-
-- debug: msg=" {{ result['install_state'] }}"
-
-- name: Wait for device to come back up with new image
- wait_for:
- port: 22
- state: started
- timeout: 500
- delay: 60
- host: "{{ inventory_hostname }}"
- when: result.changed and not checkmode
-
-- debug: msg='Wait 5 mins to allow system to stabilize'
- when: result.changed and not checkmode
-- pause:
- seconds: 300
- when: result.changed and not checkmode
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml
index 3599da1b10..524a4a5df3 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml
@@ -5,9 +5,31 @@
system_image_file: "{{ si }}"
kickstart_image_file: "{{ ki }}"
issu: "{{ issu }}"
+ provider: "{{ connection }}"
register: result
+ when: not force
+
+- name: "Set OS image {{ si }} boot pointers"
+ nxos_config:
+ lines:
+ - no boot kickstart
+ - no boot system
+ - "boot kickstart bootflash:{{ ki }}"
+ - "boot system bootflash:{{ si }}"
+ - copy run start
+ match: line
+ provider: "{{ connection }}"
+ when: force
+
+- name: "Boot image {{ si }} using reload"
+ nxos_command:
+ commands: 'terminal dont-ask ; reload'
+ provider: "{{ connection }}"
+ ignore_errors: yes
+ when: force
- debug: msg=" {{ result['install_state'] }}"
+ when: not force
- name: Wait for device to come back up with new image
wait_for:
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick_provider.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick_provider.yaml
deleted file mode 100644
index 07aefbf077..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick_provider.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-- name: "Install OS image {{ si }} using provider"
- check_mode: "{{ checkmode }}"
- nxos_install_os:
- system_image_file: "{{ si }}"
- kickstart_image_file: "{{ ki }}"
- issu: "{{ issu }}"
- provider: "{{ connection }}"
- register: result
-
-- debug: msg=" {{ result['install_state'] }}"
-
-- name: Wait for device to come back up with new image
- wait_for:
- port: 22
- state: started
- timeout: 500
- delay: 60
- host: "{{ inventory_hostname }}"
- when: result.changed and not checkmode
-
-- debug: msg='Wait 5 mins to allow system to stabilize'
- when: result.changed and not checkmode
-- pause:
- seconds: 300
- when: result.changed and not checkmode
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
index cc4bd30ab0..5af834dc18 100644
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
+++ b/test/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
@@ -4,7 +4,3 @@
- meta: end_play
- include: targets/nxos_install_os/tasks/upgrade/install_os.yaml
- when: connection is not defined
-
-- include: targets/nxos_install_os/tasks/upgrade/install_os_provider.yaml
- when: connection is defined
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload.yaml
deleted file mode 100644
index b4422b140f..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-- name: "Reload to upgrade to OS image {{ si }}"
- nxos_config:
- lines:
- - terminal dont-ask
- - no boot nxos
- - "boot nxos bootflash:{{ si }}"
- - reload
- match: none
- ignore_errors: yes
-
-- name: Wait for device to come back up with new image
- wait_for:
- port: 22
- state: started
- timeout: 500
- delay: 60
- host: "{{ inventory_hostname }}"
-
-- debug: msg='Wait 5 mins to allow system to stabilize'
-- pause:
- seconds: 300
diff --git a/test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload_provider.yaml b/test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload_provider.yaml
deleted file mode 100644
index 24e45094f6..0000000000
--- a/test/integration/targets/nxos_install_os/tasks/upgrade/set_boot_pointer_and_reload_provider.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-- name: "Reload to upgrade to OS image {{ si }} using provider"
- nxos_config:
- lines:
- - terminal dont-ask
- - no boot nxos
- - "boot nxos bootflash:{{ si }}"
- - reload
- match: none
- provider: "{{ connection }}"
- ignore_errors: yes
-
-- name: Wait for device to come back up with new image
- wait_for:
- port: 22
- state: started
- timeout: 500
- delay: 60
- host: "{{ inventory_hostname }}"
-
-- debug: msg='Wait 5 mins to allow system to stabilize'
-- pause:
- seconds: 300
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade.yaml
index 8444cb6747..3c8c213408 100644
--- a/test/integration/targets/nxos_install_os/tests/common/upgrade.yaml
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade.yaml
@@ -3,12 +3,16 @@
- debug: msg="Using provider={{ connection.transport }}"
when: connection is defined
+- set_fact: image_dir='/Users/mwiebe/Projects/nxos_ansible/images/'
+
- set_fact: checkmode='no'
- set_fact: issu='desired'
-- set_fact: copy_images='yes'
+- set_fact: copy_images=True
-- set_fact: image_dir='/Users/mwiebe/Projects/nxos_ansible/images/'
+# Set boot pointers and reload
+- set_fact: force=False
+- set_fact: delete_files=True
- set_fact:
delete_image_list:
- nxos.7.0.3.I7.2.bin
@@ -38,18 +42,17 @@
# Upgrade to 6.0(2)U6(3a) #
#---------------------------------------------------------#
-- set_fact: si='n3000-uk9.6.0.2.U6.3a.bin'
-- set_fact: ki='n3000-uk9-kickstart.6.0.2.U6.3a.bin'
+- set_fact: si='n3000-s2-dk9.8.0.1.bin'
+- set_fact: ki='n3000-s2-kickstart.8.0.1.bin'
- name: Upgrade to U6.3a
include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
#---------------------------------------------------------#
-# Upgrade to 7.0(3)I7(3) #
+# Upgrade to 7.0(3)I7(2) #
#---------------------------------------------------------#
- set_fact: si='nxos.7.0.3.I7.2.bin'
-- set_fact: combined='true'
- name: Upgrade to 7.0.3.I7.2
include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_greensboro.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_greensboro.yaml
new file mode 100644
index 0000000000..e1d47bc531
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_greensboro.yaml
@@ -0,0 +1,28 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/greensboro/REL_7_0_3_I7_4/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='no'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - nxos*.bin
+ - n3000*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='nxos.7.0.3.I7.4.bin'
+
+- name: Upgrade N3172 Device to Greensboro Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u61a.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u61a.yaml
new file mode 100644
index 0000000000..7f5a7a9ea4
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u61a.yaml
@@ -0,0 +1,29 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/602U6_1/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='desired'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n3000*.bin
+ - nxos*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n3000-uk9.6.0.2.U6.1a.bin'
+- set_fact: ki='n3000-uk9-kickstart.6.0.2.U6.1a.bin'
+
+- name: Upgrade N3500 Device to U61a Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u62a.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u62a.yaml
new file mode 100644
index 0000000000..bf70c2a5c4
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u62a.yaml
@@ -0,0 +1,29 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/602U6_2/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='no'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n3000*.bin
+ - nxos*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n3000-uk9.6.0.2.U6.2a.bin'
+- set_fact: ki='n3000-uk9-kickstart.6.0.2.U6.2a.bin'
+
+- name: Upgrade N3500 Device to U62a Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u63a.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u63a.yaml
new file mode 100644
index 0000000000..6040c159a6
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u63a.yaml
@@ -0,0 +1,29 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/602U6_3/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='desired'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n3000*.bin
+ - nxos*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n3000-uk9.6.0.2.U6.3a.bin'
+- set_fact: ki='n3000-uk9-kickstart.6.0.2.U6.3a.bin'
+
+- name: Upgrade N3500 Device to U63a Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n35_62a88.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n35_62a88.yaml
new file mode 100644
index 0000000000..a55948ccbb
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n35_62a88.yaml
@@ -0,0 +1,29 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/602A8_8/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='desired'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n3000*.bin
+ - n3500*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n3500-uk9.6.0.2.A8.8.bin'
+- set_fact: ki='n3500-uk9-kickstart.6.0.2.A8.8.bin'
+
+- name: Upgrade N3500 Device to A8_8 Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n35_greensboro.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n35_greensboro.yaml
new file mode 100644
index 0000000000..a38e3c1504
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n35_greensboro.yaml
@@ -0,0 +1,28 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/greensboro/REL_7_0_3_I7_4/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='desired'
+- set_fact: copy_images=False
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=False
+- set_fact:
+ delete_image_list:
+ - nxos*.bin
+ - n3500*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='nxos.7.0.3.I7.4.bin'
+
+- name: Upgrade N3500 Device to Greensboro Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_730_N11.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_730_N11.yaml
new file mode 100644
index 0000000000..aafb125ede
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_730_N11.yaml
@@ -0,0 +1,28 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/730_N11/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='no'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n6000*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n6000-uk9.7.3.0.N1.1.bin'
+- set_fact: ki='n6000-uk9-kickstart.7.3.0.N1.1.bin'
+
+- name: Upgrade N5k Device to 7.3(0)N1(1) Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_733_N11.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_733_N11.yaml
new file mode 100644
index 0000000000..3ee83ebfef
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n5k_733_N11.yaml
@@ -0,0 +1,28 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/733_N11/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='no'
+- set_fact: copy_images=False
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=False
+- set_fact:
+ delete_image_list:
+ - n6000*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n6000-uk9.7.3.3.N1.1.bin'
+- set_fact: ki='n6000-uk9-kickstart.7.3.3.N1.1.bin'
+
+- name: Upgrade N5k Device to 7.3(3)N1(1) Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_atherton.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_atherton.yaml
new file mode 100644
index 0000000000..6ab9b3f607
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_atherton.yaml
@@ -0,0 +1,28 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/atherton/REL_8_0_1/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='no'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n7000*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n7000-s2-dk9.8.0.1.bin'
+- set_fact: ki='n7000-s2-kickstart.8.0.1.bin'
+
+- name: Upgrade N7k Device to Atherton Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_helsinki.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_helsinki.yaml
new file mode 100644
index 0000000000..d80a3b6365
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n7k_helsinki.yaml
@@ -0,0 +1,28 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/helsinki/REL_7_3_0_D1_1/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='no'
+- set_fact: copy_images=True
+
+# Set boot pointers and reload
+- set_fact: force=True
+
+- set_fact: delete_files=True
+- set_fact:
+ delete_image_list:
+ - n7000*.bin
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='n7000-s2-dk9.7.3.0.D1.1.bin'
+- set_fact: ki='n7000-s2-kickstart.7.3.0.D1.1.bin'
+
+- name: Upgrade N7k Device to Helsinki Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro.yaml
new file mode 100644
index 0000000000..6c4eab0471
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro.yaml
@@ -0,0 +1,41 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/greensboro/REL_7_0_3_I7_4/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='yes'
+- set_fact: copy_images=False
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=False
+- set_fact:
+ delete_image_list:
+ - nxos*.bin
+
+#---------------------------------------------------------#
+# Remove incompatible features #
+#---------------------------------------------------------#
+- name: Unconfigure features that will conflict with upgrade
+ nxos_config:
+ lines:
+ - terminal dont-ask
+ - no feature nv overlay
+ - no nxapi ssl protocols
+ - no nxapi ssl ciphers weak
+ match: none
+ provider: "{{ connection }}"
+ ignore_errors: yes
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='nxos.7.0.3.I7.4.bin'
+
+- name: Upgrade N9k Device to Greensboro Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml
diff --git a/test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_hamilton.yaml b/test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_hamilton.yaml
new file mode 100644
index 0000000000..1eda79c74a
--- /dev/null
+++ b/test/integration/targets/nxos_install_os/tests/common/upgrade_n9k_hamilton.yaml
@@ -0,0 +1,39 @@
+---
+- debug: msg="START connection={{ ansible_connection }} nxos_os_install upgrade"
+- debug: msg="Using provider={{ connection.transport }}"
+ when: connection is defined
+
+# Set directory pointer to software images
+- set_fact: image_dir='/auto/fe_ssr/agents-ci/agents_images/release_images/hamilton/REL_9_2_1/'
+
+- set_fact: checkmode='no'
+- set_fact: issu='desired'
+- set_fact: copy_images=False
+
+# Set boot pointers and reload
+- set_fact: force=False
+
+- set_fact: delete_files=False
+- set_fact:
+ delete_image_list:
+ - nxos*.bin
+
+#---------------------------------------------------------#
+# Remove incompatible features #
+#---------------------------------------------------------#
+- name: Unconfigure features that will conflict with upgrade
+ nxos_config:
+ lines:
+ - terminal dont-ask
+ - no feature ngmvpn
+ match: none
+ provider: "{{ connection }}"
+ ignore_errors: yes
+
+#---------------------------------------------------------#
+# Upgrade Device #
+#---------------------------------------------------------#
+- set_fact: si='nxos.9.2.1.bin'
+
+- name: Upgrade N9k Device to Hamilton Release Image
+ include: targets/nxos_install_os/tasks/upgrade/main_os_install.yaml