b1a64eb3 | 04-Oct-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
New run_robot_pgm_jenk to run robot program from Jenkins.
Change-Id: Ic03c9858c3c14cb9c543d6355c78fa952f72096d Signed-off-by: Michael Walsh <micwalsh@us.ibm.com> |
665afe70 | 04-Oct-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
New jenk_funcs.sh file.
Includes these functions for use by Jenkins jobs:
process_git process_docker run_docker_robot
Change-Id: I88d1796b413205ab5c3aca5c1b46eab48d3ece24 Signed-off-by: Michael Wa
New jenk_funcs.sh file.
Includes these functions for use by Jenkins jobs:
process_git process_docker run_docker_robot
Change-Id: I88d1796b413205ab5c3aca5c1b46eab48d3ece24 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
aecfce00 | 10-Oct-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
Enhanced ssh_pw to work when given an ssh command string.
Prior to this fix, ssh_pw would fail when given an ssh command string.
Change-Id: I4fd614f13e7567c24699adb2f73cceed64bb7da3 Signed-off-by:
Enhanced ssh_pw to work when given an ssh command string.
Prior to this fix, ssh_pw would fail when given an ssh command string.
Change-Id: I4fd614f13e7567c24699adb2f73cceed64bb7da3 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
90ac4e54 | 04-Oct-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
Turned on executable bits for obmc_ser_num.
Change-Id: Ic7c556cef39068ea16300d3dcaecebcc0a06700a Signed-off-by: Michael Walsh <micwalsh@us.ibm.com> |
34162378 | 18-Sep-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
Improved error output of obmc_ser_num.
Change-Id: Ic456688f74184a6af92af073f08cbb9b7eea4672 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com> |
47f2e4c8 | 12-Sep-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
New program to get obmc serial number and print it.
Change-Id: I268e05eca7beed06847f2c6943eb550ab1a9be18 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com> |
ed18ec7a | 27-Jun-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
Fixed shell_rc debug mode bug in plug-in processing.
shell_rc was both a parm to process_plug_in_packages.py and architected output from process_plug_in_packages.py which caused the calling program
Fixed shell_rc debug mode bug in plug-in processing.
shell_rc was both a parm to process_plug_in_packages.py and architected output from process_plug_in_packages.py which caused the calling program to get confused.
In one particular case, function rprocess_plug_in_packages from gen_robot_plug_in.py makes the following call...
process_plug_in_packages.py ... --shell_rc=0x00000200 ...
This means that a return code of 0x00000200 is allowed and will not be considered an error. In debug mode, process_plug_in_packages.py prints all of its parms which includes this output:
shell_rc: 0x00000200
And later prints the final value of shell_rc:
shell_rc: 0x00000000
rprocess_plug_in_packages processes the output to obtain the final value of shell_rc but instead gets the first value which is shell_rc.
To resolve this problem, the process_plug_in_packages.py parm name was changed to allow_shell_rc.
Change-Id: I75145bce7a3d8a25adb101ee06136bfc32293935 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
dc68eff6 | 12-Jun-2017 |
George Keishing <gkeishin@in.ibm.com> |
Update inventory data
Resolves openbmc/openbmc-test-automation#698
Change-Id: I3df048f7ef501a3db5ad161e2524dcccbcde6fff Signed-off-by: George Keishing <gkeishin@in.ibm.com> |
97d5b363 | 30-May-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
Provided autoscript functionality.
For environments that have the autoscript tool (e.g. DVT environment), route all plug-in output to independent status files. This allows plug-ins to run in quiet=
Provided autoscript functionality.
For environments that have the autoscript tool (e.g. DVT environment), route all plug-in output to independent status files. This allows plug-ins to run in quiet=n mode without cluttering up the main status file. This gives plug-in developers improved ability to debug.
Change-Id: Iad124ab028912fb089131d9e6acd8aeba87adad3 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
7d68d00b | 05-May-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
bash_simple_template as model for bash programs.
Also, moved python_pgm_templates to new templates subdir.
Note: It should be the very rare case when we choose to code in bash.
Change-Id: I81813b8
bash_simple_template as model for bash programs.
Also, moved python_pgm_templates to new templates subdir.
Note: It should be the very rare case when we choose to code in bash.
Change-Id: I81813b8b3ecdd86a54bf8525fa8d4adb34a51bff Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
36fedf23 | 21-Mar-2017 |
George Keishing <gkeishin@in.ibm.com> |
Inventory "core" entry and "functional" state
Added: - "core" inventory item - "fru" and "core" function state property
Resolves openbmc/openbmc-test-automation#430
Change-Id: Idf630e283a632
Inventory "core" entry and "functional" state
Added: - "core" inventory item - "fru" and "core" function state property
Resolves openbmc/openbmc-test-automation#430
Change-Id: Idf630e283a6326cb17aaabe815c125c0fc2dc48b Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
9ef1fd47 | 10-Mar-2017 |
George Keishing <gkeishin@in.ibm.com> |
Inventory YAML script changes
Fixes: - Add new FRU field "Cached" from Cacheable.interface.yaml - Fix generated inventory.py file ending space
Resolves openbmc/openbmc-test-automation#415
Ch
Inventory YAML script changes
Fixes: - Add new FRU field "Cached" from Cacheable.interface.yaml - Fix generated inventory.py file ending space
Resolves openbmc/openbmc-test-automation#415
Change-Id: Ic9d38b3b2854e0ea0a43703f791665881f5c8e01 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
05b36ecc | 06-Mar-2017 |
George Keishing <gkeishin@in.ibm.com> |
Update FRU field "FieldReplaceable"
A new entry has been updated to inventory to identify a property using "FieldReplaceable" field. This is updated in inventory via a new YAML file Decorator/Replac
Update FRU field "FieldReplaceable"
A new entry has been updated to inventory to identify a property using "FieldReplaceable" field. This is updated in inventory via a new YAML file Decorator/Replaceable.interface.yaml and the corresponding logic needs to be updated in test YAML FRU generator.
Resolves openbmc/openbmc-test-automation#395
Change-Id: I974516757adb6d9d28ef4bdd58cf4906e408a9e7 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
ae7c820f | 09-Feb-2017 |
George Keishing <gkeishin@in.ibm.com> |
YAML parser to generate inventory data
This implementation is designed to address multiple inventory data properties for FRU's and others. For now, FRU YAML is available for consumption under phosph
YAML parser to generate inventory data
This implementation is designed to address multiple inventory data properties for FRU's and others. For now, FRU YAML is available for consumption under phosphor-dbus-interfaces repository.
As the BMC, PROC's and other MISC YAML's are added by development, we would include them in this file which would generate a single inventory.py file ready to use by robot test and others.
Resolves openbmc/openbmc-test-automation#330
Change-Id: If5f96c8c3701ad6d14f7cb9418c10277e885f267 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
ba2d2c2d | 23-Jan-2017 |
David Shaw <dlshaw@us.ibm.com> |
Changed to using ssh to log os console.
- Created ssh_pw program. - Modified "Stop OS Console Logging" and "Start OS Console Logging" to work with new ssh_pw program. - Created 2 supporting keywor
Changed to using ssh to log os console.
- Created ssh_pw program. - Modified "Stop OS Console Logging" and "Start OS Console Logging" to work with new ssh_pw program. - Created 2 supporting keywords: - "Create OS Console File Path" - "Create OS Console Command String" - Removed "Stop OBMC Console Client" keyword which is no longer needed. - Modified tox.ini to be able to find ssh_pw.
Change-Id: Ifd8fc95db16fcbcbbe0a36d7e4d09383e2d1e161 Signed-off-by: David Shaw <dlshaw@us.ibm.com>
show more ...
|
4cae87da | 12-Jan-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
New python_pgm_template program.
This template can be used as a source to create new stand-alone python programs.
Change-Id: I86a1fb75387f4141d0522e556f20a233785a6c0f Signed-off-by: Michael Walsh <
New python_pgm_template program.
This template can be used as a source to create new stand-alone python programs.
Change-Id: I86a1fb75387f4141d0522e556f20a233785a6c0f Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
c33ef37a | 10-Jan-2017 |
Michael Walsh <micwalsh@us.ibm.com> |
Changes to process_plug_in_packages.py.
- Made some pep8 corrections to parser.add_arguement(). - Added valid_integer(shell_rc) check. - Added shell_rc shift left (which was specified in help
Changes to process_plug_in_packages.py.
- Made some pep8 corrections to parser.add_arguement(). - Added valid_integer(shell_rc) check. - Added shell_rc shift left (which was specified in help text but not implemented). - Change to convert shell_rc to int for consistent processing.
lib/gen_arg.py - Made some pep8 corrections to parser.add_arguement(). - set_pgm_arg: New function.
Change-Id: I7726c80bb3312a96ee5dc670b50e47e4d3c7aaa3 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
be6153b8 | 09-Dec-2016 |
Michael Walsh <micwalsh@us.ibm.com> |
Make call point output go directly to stdout/stderr.
bin/process_plug_in_packages.py: - run_pgm: On the subprocess call to run the call point program, I made changes so that the output from t
Make call point output go directly to stdout/stderr.
bin/process_plug_in_packages.py: - run_pgm: On the subprocess call to run the call point program, I made changes so that the output from the call point program goes directly to stdout/stderr.
Change-Id: I279e37abe76a9ff12b88a76c9410a7093a00ed8d Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
a6723f27 | 22-Nov-2016 |
Michael Walsh <micwalsh@us.ibm.com> |
Multiple changes to support functions.
lib/dvt/obmc_call_points.robot - Deleting this file. I don't really see a need for it.
lib/gen_print.py - I added code to convert local copy of GEN_PRINT
Multiple changes to support functions.
lib/dvt/obmc_call_points.robot - Deleting this file. I don't really see a need for it.
lib/gen_print.py - I added code to convert local copy of GEN_PRINT_DEBUG to int.
lib/gen_robot_print.py - I added code to convert local copy of GEN_ROBOT_PRINT_DEBUG to int. - I added import of DotDict and collections. I added code to define shortcuts for debug and quiet versions (e.g. rdpvars, rqpvars).
bin/process_plug_in_packages.py - Change from using dissuing to dpissuing to coincide with changes in gen_robot_print.py - Shift 'Starting plug-in' output 1 char to the right to align better with time stamp output.
lib/rest_client.robot - I added support for a quiet parm to the following keywords: - OpenBMC Get Request - OpenBMC Post Request - Read Attribute - Call Method - I cleaned up excessive spaces (e.g. 4 where 2 will do). - I changed " =" to "=" for consistency (e.g. "${data} =" to "${data}=").
lib/utils.robot - I cleaned up some lines exceeding 79 chars. - I cleaned up excessive spaces (e.g. 4 where 2 will do). - I changed " =" to "=" for consistency (e.g. "${data} =" to "${data}="). - I added support for a quiet parm to the following keywords: - Get Boot Progress - Check OS - Wait for OS - Get BMC State - Get Power State - This quiet parm may contribute to resolving the following issue: https://github.com/openbmc/openbmc-test-automation/issues/162
- I added support for a wait parm to "Initiate Power On". It defaults to ${1} to preserve traditional behavior. I have calls to this keyword that only want it to "Initiate Power On" and that's it. No waiting for anything. - I added support for print_string parm to Check OS. - I improved the error output for "Check OS". - I improved the output for "Wait for OS"
lib/dvt/obmc_driver_vars.txt - Changed all "IPL" to "BOOT". "IPL" is an IBM term. This file only used by obmc_boot_test.robot so change is safe.
Change-Id: I9a410b17b5ec4ffb0c8998cb6b8763c41cfd2655 Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|
7423c01a | 04-Oct-2016 |
Michael Walsh <micwalsh@us.ibm.com> |
Providing plug-in support:
Typically, a test program is written to perform certain basic tests on a test machine. For example, one might write an "obmc_boot" program that performs various boot test
Providing plug-in support:
Typically, a test program is written to perform certain basic tests on a test machine. For example, one might write an "obmc_boot" program that performs various boot tests on the Open BMC machine.
Experience has shown that over time, additional testing needs often arise. Examples of such additional testing needs might include:
- Data base logging of results - Performance measurements - Memory leak analysis - Hardware verification - Error log (sels) analysis - SOL_console
The developer could add additional parms to obmc_boot and likewise add supporting code in obmc_boot each time a need arises. Users would employ these new functions as follows:
obmc_boot --perf=1 --mem_leak=1 --db_logging=1 --db_userid=xxxx
However, another option would be to add general-purpose plug-in support to obmc_boot. This would allow the user to indicate to obmc_boot which plug-in packages it ought to run. Such plug-in packages could be written in any langauge whatsoever: Robot, python, bash, perl, C++.
An example call to obmc_boot would then look something like this:
obmc_boot --plug_in_dir_paths="Perf:Mem_leak:DB_logging"
Now all the obmc_boot developer needs to do is call the plug-in processing module (process_plug_in_packages.py) at various call points which are agreed upon by the obmc_boot developer and the plug-in developers. Example call points which can be implemented are:
setup - Called at the start of obmc_boot pre_boot - Called before each boot test initiated by obmc_boot post_boot - Called after each boot test initiated by obmc_boot cleanup - Called at the end of obmc_boot
This allows the choice of options to be passed as data to obmc_boot. The advantages of this approach are: - Much less maintenance of the original test program (obmc_boot). - Since plug-ins are separate from the main test program, users are free to have plug-ins that suit their environments. One user may wish to log results to a database that is of no interest to the rest of the world. Such a plug-in can be written and need never be pushed to gerrit/github. - One can even write temporary plug-ins designed just to collect data or stop when a particular defect occurs.
In our current environment, the concept has proven exceedingly useful. We have over 40 permanent plug-ins and in our temp plug-in directory, we still have over 80 plug-ins.
Change-Id: Iee0ea950cffaef202d56da4dae7c044b6366a59c Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
show more ...
|