Compare commits
No commits in common. "c8" and "c10s-private-than" have entirely different histories.
c8
...
c10s-priva
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
19
.gitignore
vendored
19
.gitignore
vendored
@ -1 +1,18 @@
|
|||||||
SOURCES/ppc64-diag-2.7.9.tar.gz
|
/ppc64-diag-2.4.2.tar.gz
|
||||||
|
/ppc64-diag-2.4.3.tar.gz
|
||||||
|
/ppc64-diag-2.6.1.tar.gz
|
||||||
|
/ppc64-diag-2.6.2.tar.gz
|
||||||
|
/ppc64-diag-2.6.3.tar.gz
|
||||||
|
/ppc64-diag-2.6.4.tar.gz
|
||||||
|
/ppc64-diag-2.6.5.tar.gz
|
||||||
|
/ppc64-diag-2.6.6.tar.gz
|
||||||
|
/ppc64-diag-2.6.7.tar.gz
|
||||||
|
/ppc64-diag-2.6.10.tar.gz
|
||||||
|
/ppc64-diag-2.7.0.tar.gz
|
||||||
|
/ppc64-diag-2.7.1.tar.gz
|
||||||
|
/ppc64-diag-2.7.4.tar.gz
|
||||||
|
/ppc64-diag-2.7.5.tar.gz
|
||||||
|
/ppc64-diag-2.7.6.tar.gz
|
||||||
|
/ppc64-diag-2.7.8.tar.gz
|
||||||
|
/ppc64-diag-2.7.9.tar.gz
|
||||||
|
/ppc64-diag-2.7.10.tar.gz
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
commit db0c6d7974d7f8909878384d77ec02457759d6df
|
|
||||||
Author: Nilay Shroff <nilay@linux.ibm.com>
|
|
||||||
Date: Tue Jan 16 13:55:03 2024 +0530
|
|
||||||
|
|
||||||
diags/diag_nvme: call_home command fails on nvmf drive
|
|
||||||
|
|
||||||
The diag_nvme command needs to retrieve the VPD log page from NVMe for
|
|
||||||
filling in the product data while generating the call-home event.
|
|
||||||
However, call-home feature is supported for directly attached NVMe
|
|
||||||
module. In the current diag_nvme implementation, if user doesn't
|
|
||||||
provide NVMe device name for diagnostics then it(diag_nvme) loops
|
|
||||||
through each NVMe moudle (directly connected to the system/LPAR as
|
|
||||||
well as discovered over fabrics) and attempt retrieving the SMART log
|
|
||||||
page as well as VPD page. Unfortunately, diag_nvme fails to retrieve
|
|
||||||
the VPD page for NVMe connected over fabrics and that causes the
|
|
||||||
diag_nvme to print "not-so-nice" failure messages on console.
|
|
||||||
|
|
||||||
Henec fixed the diag_nvme code so that for call-home event reporting,
|
|
||||||
it skips the NVMe which is connected over fabrics and prints a
|
|
||||||
"nice-message" informing the user that it's skipping diagnosting for
|
|
||||||
NVMe module connected over fabrics. In a nutshell, with this fix now
|
|
||||||
diag_nvme would only diagnose the NVMe module which is directtly
|
|
||||||
attached (over PCIe) to the system.
|
|
||||||
|
|
||||||
Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
|
|
||||||
|
|
||||||
diff --git a/diags/diag_nvme.c b/diags/diag_nvme.c
|
|
||||||
index c1c0a20..e86786c 100644
|
|
||||||
--- a/diags/diag_nvme.c
|
|
||||||
+++ b/diags/diag_nvme.c
|
|
||||||
@@ -375,9 +375,40 @@ static int diagnose_nvme(char *device_name, struct notify *notify, char *file_pa
|
|
||||||
char endurance_s[sizeof(vpd.endurance) + 1], capacity_s[sizeof(vpd.capacity)+1];
|
|
||||||
uint64_t event_id;
|
|
||||||
uint8_t severity;
|
|
||||||
+ FILE *fp;
|
|
||||||
+ char tr_file_path[PATH_MAX];
|
|
||||||
uint32_t raw_data_len = 0;
|
|
||||||
unsigned char *raw_data = NULL;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Skip diag test if NVMe is connected over fabric
|
|
||||||
+ */
|
|
||||||
+ snprintf(tr_file_path, sizeof(tr_file_path),
|
|
||||||
+ NVME_SYS_PATH"/%s/%s", device_name, "transport");
|
|
||||||
+ fp = fopen(tr_file_path, "r");
|
|
||||||
+ if (fp) {
|
|
||||||
+ char buf[12];
|
|
||||||
+ int n = fread(buf, 1, sizeof(buf), fp);
|
|
||||||
+
|
|
||||||
+ if (n) {
|
|
||||||
+ /*
|
|
||||||
+ * If NVMe transport is anything but pcie then skip the diag test
|
|
||||||
+ */
|
|
||||||
+ if (strncmp(buf, "pcie", 4) != 0) {
|
|
||||||
+ fprintf(stdout, "Skipping diagnostics for nvmf : %s\n",
|
|
||||||
+ device_name);
|
|
||||||
+ fclose(fp);
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ fclose(fp);
|
|
||||||
+ } else {
|
|
||||||
+ fprintf(stderr, "Skipping diagnostics for %s:\n"
|
|
||||||
+ "Unable to find the nvme transport type\n",
|
|
||||||
+ device_name);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
tmp_rc = regex_controller(controller_name, device_name);
|
|
||||||
if (tmp_rc != 0)
|
|
||||||
return -1;
|
|
@ -1,63 +0,0 @@
|
|||||||
commit 0fa486dbe800bea05c81fc33eee197873573fefb
|
|
||||||
Author: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Date: Fri Sep 8 12:35:14 2023 +0530
|
|
||||||
|
|
||||||
ppc64-diag/lp_diag: Enable light path diagnostics for RTAS events
|
|
||||||
|
|
||||||
Currently, Light Path Diagnostics support is enabled only for OS and
|
|
||||||
Enclosure type events. Enable light path diagnostics support for RTAS
|
|
||||||
type events by turning on only the high priority FRU callouts.
|
|
||||||
|
|
||||||
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.ibm.com>
|
|
||||||
|
|
||||||
diff --git a/lpd/lp_diag.c b/lpd/lp_diag.c
|
|
||||||
index e6f5d3c..e67db02 100644
|
|
||||||
--- a/lpd/lp_diag.c
|
|
||||||
+++ b/lpd/lp_diag.c
|
|
||||||
@@ -37,6 +37,8 @@
|
|
||||||
#include "lp_util.h"
|
|
||||||
#include "utils.h"
|
|
||||||
|
|
||||||
+static int rtas_event;
|
|
||||||
+
|
|
||||||
/* FRU callout priority as defined in PAPR+
|
|
||||||
*
|
|
||||||
* Note: Order of the priority is important!
|
|
||||||
@@ -173,8 +175,10 @@ service_event_supported(struct sl_event *event)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
- case SL_TYPE_BMC:
|
|
||||||
case SL_TYPE_RTAS:
|
|
||||||
+ rtas_event = 1;
|
|
||||||
+ break;
|
|
||||||
+ case SL_TYPE_BMC:
|
|
||||||
case SL_TYPE_BASIC:
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
@@ -446,14 +450,20 @@ parse_service_event(int event_id)
|
|
||||||
attn_loc = &list[0];
|
|
||||||
|
|
||||||
if (operating_mode == LED_MODE_LIGHT_PATH) {
|
|
||||||
- if (event->callouts)
|
|
||||||
+ if (event->callouts) {
|
|
||||||
/* Run over FRU callout priority in order and
|
|
||||||
* enable fault indicator
|
|
||||||
*/
|
|
||||||
- for (i = 0; FRU_CALLOUT_PRIORITY[i]; i++)
|
|
||||||
+ if (!rtas_event) {
|
|
||||||
+ for (i = 0; FRU_CALLOUT_PRIORITY[i]; i++)
|
|
||||||
+ rc = event_fru_callout(event->callouts, list,
|
|
||||||
+ FRU_CALLOUT_PRIORITY[i],
|
|
||||||
+ &attn_on);
|
|
||||||
+ } else {
|
|
||||||
rc = event_fru_callout(event->callouts, list,
|
|
||||||
- FRU_CALLOUT_PRIORITY[i],
|
|
||||||
- &attn_on);
|
|
||||||
+ 'H', &attn_on);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
else {
|
|
||||||
/* No callout list, enable check log indicator */
|
|
||||||
indicator_log_write("Empty callout list");
|
|
@ -1,100 +0,0 @@
|
|||||||
commit d05654e5ec6f37cf6caa491fc7d95b336f9603e2
|
|
||||||
Author: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Date: Mon Jul 10 13:43:21 2023 +0530
|
|
||||||
|
|
||||||
rtas_errd: Handle multiple platform dumps
|
|
||||||
|
|
||||||
Currently, whenever a new dump arrives, old dump file of that specific dump
|
|
||||||
type is removed before writing the new dump out. Any dump file with the
|
|
||||||
same prefix (dump type) gets deleted. This means only one set of dump files
|
|
||||||
is saved, since only one dump file per dump type is saved.
|
|
||||||
|
|
||||||
Handle multiple dumps on Linux by allowing as many dumps to be offloaded
|
|
||||||
until disk space is available. To do this, remove the function that checks
|
|
||||||
for prefix size and removes old dump files. In the event of not enough
|
|
||||||
disk space available, log an error to the user along with the dump tag.
|
|
||||||
User will free up space and run extract_platdump tool using the dump tag
|
|
||||||
provided in the error message to offload the dump. Error log can be viewed
|
|
||||||
by the user by issuing 'journalctl -p err -t rtas_errd' command.
|
|
||||||
|
|
||||||
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.ibm.com>
|
|
||||||
|
|
||||||
diff --git a/rtas_errd/dump.c b/rtas_errd/dump.c
|
|
||||||
index cc50d91..494c322 100644
|
|
||||||
--- a/rtas_errd/dump.c
|
|
||||||
+++ b/rtas_errd/dump.c
|
|
||||||
@@ -30,8 +30,10 @@
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <librtas.h>
|
|
||||||
#include <librtasevent.h>
|
|
||||||
+#include <syslog.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
+#include <sys/statvfs.h>
|
|
||||||
#include "utils.h"
|
|
||||||
#include "rtas_errd.h"
|
|
||||||
|
|
||||||
@@ -284,7 +286,9 @@ void
|
|
||||||
check_platform_dump(struct event *event)
|
|
||||||
{
|
|
||||||
struct rtas_dump_scn *dump_scn;
|
|
||||||
+ struct statvfs vfs;
|
|
||||||
uint64_t dump_tag;
|
|
||||||
+ uint64_t dump_size;
|
|
||||||
char filename[DUMP_MAX_FNAME_LEN + 20], *pos;
|
|
||||||
char *pathname = NULL;
|
|
||||||
FILE *f;
|
|
||||||
@@ -306,11 +310,34 @@ check_platform_dump(struct event *event)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* Retrieve the dump */
|
|
||||||
+ /* Retrieve the dump tag */
|
|
||||||
dump_tag = dump_scn->id;
|
|
||||||
dump_tag |= ((uint64_t)dump_scn->v6hdr.subtype << 32);
|
|
||||||
dbg("Dump ID: 0x%016LX", dump_tag);
|
|
||||||
|
|
||||||
+ if (statvfs(d_cfg.platform_dump_path, &vfs) == -1) {
|
|
||||||
+ log_msg(event, "statvfs() failed on %s: %s",
|
|
||||||
+ d_cfg.platform_dump_path, strerror(errno));
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Retrieve the size of the platform dump */
|
|
||||||
+ dump_size = dump_scn->size_hi;
|
|
||||||
+ dump_size <<= 32;
|
|
||||||
+ dump_size |= dump_scn->size_lo;
|
|
||||||
+
|
|
||||||
+ /* Check if there is sufficient space in the file system to store the dump */
|
|
||||||
+ if (vfs.f_bavail * vfs.f_frsize < dump_size) {
|
|
||||||
+ syslog(LOG_ERR, "Insufficient space in %s to store platform dump for dump ID: "
|
|
||||||
+ "0x%016lX (required: %lu bytes, available: %lu bytes)",
|
|
||||||
+ d_cfg.platform_dump_path, dump_tag, dump_size,
|
|
||||||
+ (vfs.f_bavail * vfs.f_frsize));
|
|
||||||
+ syslog(LOG_ERR, "After clearing space, run 'extract_platdump "
|
|
||||||
+ "0x%016lX'.\n", dump_tag);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Retrieve the dump */
|
|
||||||
snprintf(tmp_sys_arg, 60, "0x%016LX", (long long unsigned int)dump_tag);
|
|
||||||
system_args[0] = EXTRACT_PLATDUMP_CMD;
|
|
||||||
system_args[1] = tmp_sys_arg;
|
|
||||||
diff --git a/rtas_errd/extract_platdump.c b/rtas_errd/extract_platdump.c
|
|
||||||
index fbe65b2..831e57e 100644
|
|
||||||
--- a/rtas_errd/extract_platdump.c
|
|
||||||
+++ b/rtas_errd/extract_platdump.c
|
|
||||||
@@ -290,12 +290,6 @@ extract_platform_dump(uint64_t dump_tag)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- /*
|
|
||||||
- * Before writing the new dump out, we need to see if any older
|
|
||||||
- * dumps need to be removed first
|
|
||||||
- */
|
|
||||||
- remove_old_dumpfiles(filename, prefix_size);
|
|
||||||
-
|
|
||||||
/* Copy the dump off to the filesystem */
|
|
||||||
pathname[0] = '\0';
|
|
||||||
strcpy(pathname, d_cfg.platform_dump_path);
|
|
@ -1,136 +0,0 @@
|
|||||||
commit c507319d1b5f0286d67e08a3598949ca4144f475
|
|
||||||
Author: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Date: Fri Sep 8 12:35:12 2023 +0530
|
|
||||||
|
|
||||||
ppc64-diag: Move trim_trail_space() function to common/utils.c
|
|
||||||
|
|
||||||
Currently, trim_trail_space() function is used in diags/diag_nvme.c file
|
|
||||||
to be able to trim trailing white spaces from a given location code. Allow
|
|
||||||
code reusability by moving the trim_trail_space() function from
|
|
||||||
diags/diag_nvme.c to common/utils.c.
|
|
||||||
|
|
||||||
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.ibm.com>
|
|
||||||
|
|
||||||
diff --git a/common/utils.c b/common/utils.c
|
|
||||||
index 0312943..2349878 100644
|
|
||||||
--- a/common/utils.c
|
|
||||||
+++ b/common/utils.c
|
|
||||||
@@ -24,9 +24,34 @@
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <assert.h>
|
|
||||||
+#include <ctype.h>
|
|
||||||
|
|
||||||
#include "utils.h"
|
|
||||||
|
|
||||||
+/* trim_trail_space - Trim trailing white spaces from string
|
|
||||||
+ * @string - Null terminated string to remove white spaces from
|
|
||||||
+ *
|
|
||||||
+ * This function will alter the passed string by removing any trailing white spaces and null
|
|
||||||
+ * terminating it at that point.
|
|
||||||
+ */
|
|
||||||
+void trim_trail_space(char *string)
|
|
||||||
+{
|
|
||||||
+ char *end;
|
|
||||||
+ size_t length;
|
|
||||||
+
|
|
||||||
+ if (string == NULL)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ length = strlen(string);
|
|
||||||
+ if (length == 0)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ end = string + length - 1;
|
|
||||||
+ while (end >= string && isspace(*end))
|
|
||||||
+ end--;
|
|
||||||
+ *(end + 1) = '\0';
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int process_child(char *argv[], int pipefd[])
|
|
||||||
{
|
|
||||||
int nullfd;
|
|
||||||
diff --git a/common/utils.h b/common/utils.h
|
|
||||||
index ec2072d..2459b5b 100644
|
|
||||||
--- a/common/utils.h
|
|
||||||
+++ b/common/utils.h
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
#ifndef UTILS_H
|
|
||||||
#define UTILS_H
|
|
||||||
|
|
||||||
+void trim_trail_space(char *string);
|
|
||||||
FILE *spopen(char **, pid_t *);
|
|
||||||
int spclose(FILE *, pid_t);
|
|
||||||
|
|
||||||
diff --git a/diags/Makefile.am b/diags/Makefile.am
|
|
||||||
index 4ac81b8..dea0a79 100644
|
|
||||||
--- a/diags/Makefile.am
|
|
||||||
+++ b/diags/Makefile.am
|
|
||||||
@@ -13,7 +13,8 @@ encl_led_h_files = diags/encl_led.h \
|
|
||||||
$(diag_common_h_files)
|
|
||||||
|
|
||||||
diag_nvme_h_files = diags/diag_nvme.h \
|
|
||||||
- common/platform.h
|
|
||||||
+ common/platform.h \
|
|
||||||
+ common/utils.h
|
|
||||||
|
|
||||||
sbin_PROGRAMS += diags/diag_encl diags/encl_led diags/diag_nvme
|
|
||||||
|
|
||||||
@@ -41,6 +42,7 @@ diags_encl_led_SOURCES = diags/encl_led.c \
|
|
||||||
|
|
||||||
diags_diag_nvme_SOURCES = diags/diag_nvme.c \
|
|
||||||
common/platform.c \
|
|
||||||
+ common/utils.c \
|
|
||||||
$(diag_nvme_h_files)
|
|
||||||
diags_diag_nvme_LDADD = -lservicelog -lm
|
|
||||||
diags_diag_nvme_CFLAGS = $(AM_CFLAGS) -Wno-stringop-truncation
|
|
||||||
diff --git a/diags/diag_nvme.c b/diags/diag_nvme.c
|
|
||||||
index 2a78034..2606f2c 100644
|
|
||||||
--- a/diags/diag_nvme.c
|
|
||||||
+++ b/diags/diag_nvme.c
|
|
||||||
@@ -27,6 +27,7 @@
|
|
||||||
#include <sys/utsname.h>
|
|
||||||
#include "diag_nvme.h"
|
|
||||||
#include "platform.h"
|
|
||||||
+#include "utils.h"
|
|
||||||
|
|
||||||
#define ITEM_DATA_LENGTH 255
|
|
||||||
#define MIN_HOURS_ON 720
|
|
||||||
@@ -71,7 +72,6 @@ static int raw_data_smart(unsigned char **raw_data, uint32_t *raw_data_len, stru
|
|
||||||
static int raw_data_vpd(unsigned char **raw_data, uint32_t *raw_data_len, struct nvme_ibm_vpd *vpd);
|
|
||||||
static int regex_controller(char *controller_name, char *device_name);
|
|
||||||
static void set_notify(struct notify *notify, struct dictionary *dict, int num_elements);
|
|
||||||
-static void trim_trail_space(char *string);
|
|
||||||
static long double uint128_to_long_double(uint8_t *data);
|
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
|
||||||
@@ -1426,28 +1426,6 @@ extern void set_vpd_pcie_field(const char *keyword, const char *vpd_data, struct
|
|
||||||
strncpy(vpd->firmware_level, vpd_data, sizeof(vpd->firmware_level));
|
|
||||||
}
|
|
||||||
|
|
||||||
-/* trim_trail_space - Trim trailing white spaces from string
|
|
||||||
- * @string - Null terminated string to remove white spaces from
|
|
||||||
- *
|
|
||||||
- * This function will alter the passed string by removing any trailing white spaces and null
|
|
||||||
- * terminating it at that point.
|
|
||||||
- */
|
|
||||||
-static void trim_trail_space(char *string) {
|
|
||||||
- char *end;
|
|
||||||
- size_t length;
|
|
||||||
-
|
|
||||||
- if (string == NULL)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- if ((length = strlen(string)) == 0)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- end = string + length - 1;
|
|
||||||
- while (end >= string && isspace(*end))
|
|
||||||
- end--;
|
|
||||||
- *(end + 1) = '\0';
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
static long double uint128_to_long_double(uint8_t *data) {
|
|
||||||
int i;
|
|
||||||
long double value = 0;
|
|
@ -1,37 +0,0 @@
|
|||||||
commit 476b0af7516b86c4d98cfa229fb0c6b856eea31d
|
|
||||||
Author: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Date: Fri Sep 8 12:35:13 2023 +0530
|
|
||||||
|
|
||||||
ppc64-diag/lp_diag: Utilize trim_trail_space() function in event_fru_callout()
|
|
||||||
|
|
||||||
Update the event_fru_callout() function to use the trim_trail_space()
|
|
||||||
function to be able to remove any trailing spaces from the location code.
|
|
||||||
This change aims to address an issue where the presence of trailing spaces
|
|
||||||
in the location code results in failure to find an indicator for the given
|
|
||||||
location code. Use trim_trail_space() on the location to ensure that the
|
|
||||||
device location code is properly compared with the indicator list.
|
|
||||||
|
|
||||||
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
|
|
||||||
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.ibm.com>
|
|
||||||
|
|
||||||
diff --git a/lpd/lp_diag.c b/lpd/lp_diag.c
|
|
||||||
index 988a021..e6f5d3c 100644
|
|
||||||
--- a/lpd/lp_diag.c
|
|
||||||
+++ b/lpd/lp_diag.c
|
|
||||||
@@ -35,6 +35,7 @@
|
|
||||||
#include "servicelog.h"
|
|
||||||
#include "indicator.h"
|
|
||||||
#include "lp_util.h"
|
|
||||||
+#include "utils.h"
|
|
||||||
|
|
||||||
/* FRU callout priority as defined in PAPR+
|
|
||||||
*
|
|
||||||
@@ -344,6 +345,8 @@ event_fru_callout(struct sl_callout *callouts, struct loc_code *list,
|
|
||||||
/* get FRUs nearest fault indicator */
|
|
||||||
strncpy(location, callout->location, LOCATION_LENGTH);
|
|
||||||
location[LOCATION_LENGTH - 1] = '\0';
|
|
||||||
+ trim_trail_space(location);
|
|
||||||
+
|
|
||||||
loc_led = get_fru_indicator(list, location, &truncated);
|
|
||||||
if (!loc_led) { /* No indicator found for the given loc code */
|
|
||||||
*attn_on = 1;
|
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
@ -1,15 +1,10 @@
|
|||||||
# BZ#860040:
|
|
||||||
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}\/usr\/libexec\/ppc64-diag\/servevent_parse.pl
|
|
||||||
|
|
||||||
Name: ppc64-diag
|
Name: ppc64-diag
|
||||||
Version: 2.7.9
|
Version: 2.7.10
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: PowerLinux Platform Diagnostics
|
Summary: PowerLinux Platform Diagnostics
|
||||||
URL: https://github.com/power-ras/ppc64-diag
|
URL: https://github.com/power-ras/%{name}
|
||||||
Group: System Environment/Base
|
License: GPL-2.0-only
|
||||||
License: GPLv2
|
|
||||||
ExclusiveArch: ppc %{power64}
|
ExclusiveArch: ppc %{power64}
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: libservicelog-devel
|
BuildRequires: libservicelog-devel
|
||||||
@ -39,16 +34,6 @@ Source5: rtas_errd.8
|
|||||||
# fix paths and permissions
|
# fix paths and permissions
|
||||||
Patch0: ppc64-diag-2.7.9-fedora.patch
|
Patch0: ppc64-diag-2.7.9-fedora.patch
|
||||||
|
|
||||||
# upstream fixes
|
|
||||||
# rtas_errd: Handle multiple platform dumps
|
|
||||||
Patch10: ppc64-diag-2.7.9-handle_multiple_platform_dumps.patch
|
|
||||||
# ppc64-diag/lp_diag: Enable light path diagnostics for RTAS events
|
|
||||||
Patch11: ppc64-diag-2.7.9-moving-trim_trail_space-function.patch
|
|
||||||
Patch12: ppc64-diag-2.7.9-utilize-trim_trail_space-in-event_fru_callout.patch
|
|
||||||
Patch13: ppc64-diag-2.7.9-enable-light-path-diagnostics-for-RTAS-events.patch
|
|
||||||
# call_home command "diag_nvme" fails on nvmf drive(nvmf/lpfc/Power10)
|
|
||||||
Patch14: ppc64-diag-2.7.9-call_home-fail-on-nvmf-device
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains various diagnostic tools for PowerLinux.
|
This package contains various diagnostic tools for PowerLinux.
|
||||||
These tools captures the diagnostic events from Power Systems
|
These tools captures the diagnostic events from Power Systems
|
||||||
@ -59,9 +44,10 @@ predictive failures, if appropriate modifies the FRUs fault
|
|||||||
indicator(s) and provides event notification to system
|
indicator(s) and provides event notification to system
|
||||||
administrators or connected service frameworks.
|
administrators or connected service frameworks.
|
||||||
|
|
||||||
%package rtas
|
%package rtas
|
||||||
Summary: rtas_errd daemon
|
Summary: rtas_errd daemon
|
||||||
Requires: powerpc-utils-core >= 1.3.6-6
|
# PCI hotplug support on PowerKVM guest depends on below powerpc-utils version.
|
||||||
|
Requires: powerpc-utils-core >= 1.3.7-5
|
||||||
|
|
||||||
%description rtas
|
%description rtas
|
||||||
This package contains only rtas_errd daemon.
|
This package contains only rtas_errd daemon.
|
||||||
@ -71,8 +57,8 @@ This package contains only rtas_errd daemon.
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
%configure
|
CXXFLAGS="-std=gnu++14 %{build_cflags}" %configure
|
||||||
LDFLAGS="%{build_ldflags}" CFLAGS="%{build_cflags}" CXXFLAGS="%{build_cflags}" make %{?_smp_mflags} V=1
|
LDFLAGS="%{build_ldflags}" CFLAGS="%{build_cflags}" CXXFLAGS="-std=gnu++14 %{build_cflags}" make %{?_smp_mflags} V=1
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
@ -83,7 +69,6 @@ mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
|
|||||||
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/ses_pages
|
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/ses_pages
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/dump
|
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/dump
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/opal-elog
|
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/opal-elog
|
||||||
|
|
||||||
ln -sfv %{_sbindir}/usysattn $RPM_BUILD_ROOT/%{_sbindir}/usysfault
|
ln -sfv %{_sbindir}/usysattn $RPM_BUILD_ROOT/%{_sbindir}/usysfault
|
||||||
install -m 644 %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} $RPM_BUILD_ROOT/%{_mandir}/man8/
|
install -m 644 %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} $RPM_BUILD_ROOT/%{_mandir}/man8/
|
||||||
|
|
||||||
@ -142,18 +127,18 @@ install -m 644 %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} $RPM_BUILD
|
|||||||
%{_libexecdir}/%{name}/lp_diag_setup --register >/dev/null 2>&1
|
%{_libexecdir}/%{name}/lp_diag_setup --register >/dev/null 2>&1
|
||||||
%{_libexecdir}/%{name}/ppc64_diag_setup --register >/dev/null 2>&1
|
%{_libexecdir}/%{name}/ppc64_diag_setup --register >/dev/null 2>&1
|
||||||
if [ "$1" = "1" ]; then # first install
|
if [ "$1" = "1" ]; then # first install
|
||||||
systemctl -q enable opal_errd.service >/dev/null 2>&1
|
systemctl -q enable opal_errd.service >/dev/null
|
||||||
systemctl start opal_errd.service >/dev/null 2>&1
|
systemctl start opal_errd.service >/dev/null
|
||||||
elif [ "$1" = "2" ]; then # upgrade
|
elif [ "$1" = "2" ]; then # upgrade
|
||||||
systemctl restart opal_errd.service >/dev/null 2>&1
|
systemctl restart opal_errd.service >/dev/null
|
||||||
systemctl daemon-reload > /dev/null 2>&1
|
systemctl daemon-reload > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
# Pre-uninstall script -------------------------------------------------
|
# Pre-uninstall script -------------------------------------------------
|
||||||
if [ "$1" = "0" ]; then # last uninstall
|
if [ "$1" = "0" ]; then # last uninstall
|
||||||
systemctl stop opal_errd.service >/dev/null 2>&1
|
systemctl stop opal_errd.service >/dev/null
|
||||||
systemctl -q disable opal_errd.service >/dev/null 2>&1
|
systemctl -q disable opal_errd.service
|
||||||
%{_libexecdir}/%{name}/ppc64_diag_setup --unregister >/dev/null
|
%{_libexecdir}/%{name}/ppc64_diag_setup --unregister >/dev/null
|
||||||
%{_libexecdir}/%{name}/lp_diag_setup --unregister >/dev/null
|
%{_libexecdir}/%{name}/lp_diag_setup --unregister >/dev/null
|
||||||
systemctl daemon-reload > /dev/null 2>&1
|
systemctl daemon-reload > /dev/null 2>&1
|
||||||
@ -162,10 +147,11 @@ fi
|
|||||||
%triggerin -- librtas
|
%triggerin -- librtas
|
||||||
# trigger on librtas upgrades ------------------------------------------
|
# trigger on librtas upgrades ------------------------------------------
|
||||||
if [ "$2" = "2" ]; then
|
if [ "$2" = "2" ]; then
|
||||||
systemctl restart opal_errd.service >/dev/null 2>&1
|
systemctl restart opal_errd.service >/dev/null
|
||||||
systemctl restart rtas_errd.service >/dev/null 2>&1
|
systemctl restart rtas_errd.service >/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
%post rtas
|
%post rtas
|
||||||
if [ "$1" = "1" ]; then # first install
|
if [ "$1" = "1" ]; then # first install
|
||||||
systemctl -q enable rtas_errd.service >/dev/null
|
systemctl -q enable rtas_errd.service >/dev/null
|
||||||
@ -183,48 +169,105 @@ if [ "$1" = "0" ]; then # last uninstall
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Jan 31 2024 Than Ngo <than@redhat.com> - 2.7.9-3
|
* Tue Nov 19 2024 Than Ngo <than@redhat.com> - 2.7.10-1
|
||||||
- call_home command "diag_nvme" fails on nvmf drive
|
- Update to 2.7.10
|
||||||
Resolves: RHEL-23437
|
* Aadd support for multiple platform dumps
|
||||||
|
* Add support for light path diagnostics for rtas events
|
||||||
|
* Enable correct display of model and system-id for IPS Power systems
|
||||||
|
* Fix call home feature for nvmf devices
|
||||||
|
* Fix crash in rtas_errd due to invalid -f option values
|
||||||
|
* Fix build warnings with GCC-15
|
||||||
|
Resolves: RHEL-65188
|
||||||
|
|
||||||
* Sun Dec 10 2023 Than Ngo <than@redhat.com> - 2.7.9-2
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.7.9-8
|
||||||
- Enable light path diagnostics for RTAS events
|
- Bump release for October 2024 mass rebuild:
|
||||||
- Handle multiple platform dumps
|
Resolves: RHEL-64018
|
||||||
Resolves: RHEL-11454
|
|
||||||
|
|
||||||
* Wed Oct 19 2022 Than Ngo <than@redhat.com> - 2.7.9-1
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.7.9-7
|
||||||
- Resolves: #2114591, rebase to 2.7.9
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
* Fri May 13 2022 Than Ngo <than@redhat.com> - 2.7.8-1
|
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.9-6
|
||||||
- Resolves: #2051313, rebase to 2.7.8
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
* Mon May 17 2021 Than Ngo <than@redhat.com> - 2.7.7-1
|
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.9-5
|
||||||
- Resolves: #1779206, rebase to 2.7.7
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
* Thu Mar 26 2020 Than Ngo <than@redhat.com> - 2.7.6-2
|
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.9-4
|
||||||
- Resolves: #1814335, create rtas subpackage to avoid the perl dependency
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
* Thu Nov 07 2019 Than Ngo <than@redhat.com> - 2.7.6-1
|
* Thu Feb 16 2023 Than Ngo <than@redhat.com> - 2.7.9-3
|
||||||
- Resolves: #1725200, rebase to 2.7.6
|
- migrated to SPDX license
|
||||||
|
|
||||||
* Wed Jun 19 2019 Than Ngo <than@redhat.com> - 2.7.5-2
|
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.9-2
|
||||||
- Resolves: #1721497, added /var/log/ppc64-diag and systemctl daemon-reload
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
* Tue Apr 30 2019 Than Ngo <than@redhat.com> - 2.7.5-1
|
* Tue Oct 18 2022 Than Ngo <than@redhat.com> - 2.7.9-1
|
||||||
- Resolves: #1664093, update to latest upstream 2.7.5
|
- update to 2.7.9
|
||||||
|
- added BR on libvpd >= 2.2.9
|
||||||
|
|
||||||
* Mon Dec 10 2018 Than Ngo <than@redhat.com> - 2.7.4-4
|
* Thu Jul 28 2022 Than Ngo <than@redhat.com> - 2.7.8-4
|
||||||
- install missing man pages
|
- Fixed FTBFS, error: format not a string literal
|
||||||
|
|
||||||
* Mon Dec 10 2018 Than Ngo <than@redhat.com> - 2.7.4-3
|
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.8-3
|
||||||
- create diag_disk path part of installation
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
- diags: Increase buffer length size to read complete system vpd information
|
|
||||||
- diags: Remove timestamp from disk health log file
|
* Sat May 14 2022 Than Ngo <than@redhat.com> - 2.7.8-2
|
||||||
- diags: Create diag_disk log directory manually if not present
|
- opal-dump-parse -h should return 0
|
||||||
Resolves: #1657757
|
|
||||||
|
* Thu Apr 07 2022 Dan Horák <dan[at]danny.cz> - 2.7.8-1
|
||||||
|
- rebase to 2.7.8
|
||||||
|
|
||||||
|
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed May 26 2021 Than Ngo <than@redhat.com> - 2.7.6-10
|
||||||
|
- Standard output type syslog is obsolete
|
||||||
|
|
||||||
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Oct 27 2020 Jeff Law <law@redhat.com> - 2.7.6-8
|
||||||
|
- Force C++14 for configure step too
|
||||||
|
|
||||||
|
* Tue Oct 27 2020 Jeff Law <law@redhat.com> - 2.7.6-7
|
||||||
|
- Force C++14 mode as this code is not C++17 ready
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Mar 30 2020 Than Ngo <than@redhat.com> - 2.7.6-5
|
||||||
|
- add requirement on powerpc-utils in main package
|
||||||
|
|
||||||
|
* Sat Mar 28 2020 Than Ngo <than@redhat.com> - 2.7.6-4
|
||||||
|
- create rtas subpackage to avoid the perl dependency
|
||||||
|
|
||||||
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Dec 02 2019 Than Ngo <than@redhat.com> - 2.7.6-2
|
||||||
|
- Update Url and Source
|
||||||
|
|
||||||
|
* Wed Nov 27 2019 Than Ngo <than@redhat.com> - 2.7.6-1
|
||||||
|
- rebase to 2.7.6
|
||||||
|
- update Url
|
||||||
|
|
||||||
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Apr 25 2019 Vasant Hegde <hegdevasant@linux.vnet.ibm.com> - 2.7.5-1
|
||||||
|
- Update to latest upstream 2.7.5
|
||||||
|
|
||||||
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.4-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
* Thu May 10 2018 Dan Horák <dan[at]danny.cz> - 2.7.4-2
|
* Thu May 10 2018 Dan Horák <dan[at]danny.cz> - 2.7.4-2
|
||||||
- fix conditition for rtas_errd service (#1575638)
|
- fix condition for rtas_errd service (#1575638)
|
||||||
|
|
||||||
* Fri Mar 09 2018 Than Ngo <than@redhat.com> - 2.7.4-1
|
* Fri Mar 09 2018 Than Ngo <than@redhat.com> - 2.7.4-1
|
||||||
- update to latest upstream 2.7.4
|
- update to latest upstream 2.7.4
|
Loading…
Reference in New Issue
Block a user