Skip to content

Image installation during continuous warm reboot test#1977

Merged
vaibhavhd merged 3 commits intosonic-net:masterfrom
vaibhavhd:cont-wb-image-install
Jul 29, 2020
Merged

Image installation during continuous warm reboot test#1977
vaibhavhd merged 3 commits intosonic-net:masterfrom
vaibhavhd:cont-wb-image-install

Conversation

@vaibhavhd
Copy link
Contributor

Description of PR

Summary: Image installation during continuous warm reboot test. Additionally, reorganizing the test to work in a Class-based design.

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Approach

What is the motivation for this PR?

The continuous warm reboot test presently executes the reboot cycles on image that is pre-installed on the DUT.
Reboot on the current image is not very helpful as the installed version soon gets obsolete. It would be much useful if new images can be installed at runtime (when the test is still executing).

How did you do it?

Image installation is now integrated with cont_warm_reboot_test. Two new CLI arguments introduced - image_location and image_list.
The data is converted into JSON file which can be modified anytime when the test is still running.

How did you verify/test it?

Tested multiple 201811 image on T0 topology during single testcase execution. Started continuous warm reboot test with the current image. During the test, the JSON file was modified with new images to be installed. Test picked up new images and reboot cycles continued.


def runRebootTestcase(self, prebootList=None, inbootList=None, prebootFiles=None):
'''
This method validates and prepare test bed for rebot test case. It runs the reboot test case using provided
Copy link

@SavchukRomanLv SavchukRomanLv Jul 28, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix typo

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks.

action="store",
default="current",
help="Comma separated list of images to be installed during continuous reboot test",
) No newline at end of file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add newline

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks.


file_template = {
'install_list': self.image_list, # this list can be modified at runtime to enable testing different images
'location': 'http://100.127.20.23/installer/sonic/broadcom/internal-201811/',

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this is hardcoded?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not be hardcoded, the value of CLI argument --image_location is to be used here. Fixed now, thanks.

continuous_reboot = ContinuousReboot(request, duthost, ptfhost, localhost, conn_graph_facts, \
get_advanced_reboot)

continuous_reboot.start_cont_warm_reboot() No newline at end of file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, add newline

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks.

"--image_location",
action="store",
default=None,
help="Enable continuous IO",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

help phrase does not match option?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed now, thanks.

@@ -382,6 +381,17 @@ def runRebootTestcase(self, prebootList=None, inbootList=None, prebootFiles=None
# Handle mellanox platform
self.__handleMellanoxDut()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is the imageInstall a wrapper around __HandleMellanoxDut? is there a code missing here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nevermind, I saw it being used below.

@vaibhavhd vaibhavhd merged commit 3b95773 into sonic-net:master Jul 29, 2020
@vaibhavhd vaibhavhd deleted the cont-wb-image-install branch July 29, 2020 16:50
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
sonic-snmpagent
7e46eb1 [201911][RFC1213]: Initialize lag oid map in reinit_data (sonic-net#234)
aa98ded CPU Spike because of redundant and flooded keyspace notifis handled (sonic-net#230)

sonic-swss
bc4e334 [Mux orch] Handle setting unknown mux state (sonic-net#1984)
bd3630b [tunnel decap] Change tunnel orch order (sonic-net#1977)
87a673a Fix the option missing in kernel config issue (sonic-net#1973)
57967a1 [orchagent] Fix group name of port-buffer-drop in flexcounterorch.cpp (sonic-net#1967)

sonic-utilities
181e8b0 Fix the option missing in kernel config issue (sonic-net#1888)
21c0cc0 [watermarkstat] Fix for error in processing empty array from couters db (sonic-net#1810)
7f15755 [chassis][supervisor][show][interfaces]show interfaces command warning on Supervisor card (sonic-net#1771)
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
4236bc4 [config reload] Fixing config reload when timer based delayed services are disabled (sonic-net#1967)
d2514e4 [GCU] Different apply-patch runs should produce same sorted steps (sonic-net#1988)
2878adb [GCU] Using simulated config instead of target config when validating replace operation in NoDependencyMoveValidator (sonic-net#1987)
fb8ca98 [GCU] Loading yang-models only once (sonic-net#1981)
f88ee92 [GCU] Copying config_db before callding sonic_yang.loadData (sonic-net#1983)
9ed0e91 [GCU] Implementing DryRun by printing patch-sorter steps/imitating config_db (sonic-net#1973)
b36b5e3 [GCU] Moving PatchSorter unit-test to json file to make it easier to read/maintain (sonic-net#1977)
c0fa28b [generic-config-updater] Improving CreateOnly validator and marking /LOOPBACK_INTERFACE/LOOPBACK#/vrf_name as create-only (sonic-net#1969)
0559d04 [generic-config-updater] Adding non-strict mode (sonic-net#1929)
b07f477 [debug dump util] FDB debug dump util changes (sonic-net#1968)
6d8757a [warm/fast-reboot] Fix kexec portion to support platforms based on Device Tree (sonic-net#1966)
cc1409e [Auto Techsupport] Event driven Techsupport Bug Fixes (sonic-net#1986)
6c48bd5 Fix wrong help message for cable length setting (sonic-net#1978)
c0bbbe3 [breakout] Fix the check  when port is not present in BREAKOUT_CFG table (sonic-net#1765)
5bb8cad [doc][DPB] Update DPB related interface breakout command Info (sonic-net#1438)
e6fd990 [config] Fix 'config reload -l' command to get filename by default (sonic-net#1611)
bd8f7bb Update swss_ready check to check per namespace swss service (sonic-net#1974)
5439f94 [soft-reboot] Add support for platforms based on Device Tree (sonic-net#1963)
7c5810a [config] Add portchannel support  for static route  (sonic-net#1857)
7cb6a1b preserve old order for config reload (sonic-net#1964)
20bddbd [Auto-Techsupport] Issues related to Multiple Cores crashing handled (sonic-net#1948)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants