Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RSCT validity check in ServiceReport tool #11

Closed
wants to merge 3 commits into from
Closed

Add RSCT validity check in ServiceReport tool #11

wants to merge 3 commits into from

Conversation

seeteena
Copy link

Signed-off-by: Seeteena Thoufeek [email protected]

from servicereportpkg.utils import execute_command
from servicereportpkg.check import PackageCheck,ServiceCheck
from servicereportpkg.utils import is_package_installed
from servicereportpkg.logger import get_default_logger
Copy link
Contributor

Choose a reason for hiding this comment

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

No one using get_default_logger function anywhere in this file.
Do you really need this function?

Copy link
Author

Choose a reason for hiding this comment

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

not needed.

from servicereportpkg.check import Check, SysfsCheck
from servicereportpkg.validate.plugins import Plugin
from servicereportpkg.utils import execute_command
from servicereportpkg.check import PackageCheck,ServiceCheck
Copy link
Contributor

Choose a reason for hiding this comment

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

Format the import statement, need space between PackageCheck and ServiceCheck.

Copy link
Author

Choose a reason for hiding this comment

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

OK. Formatting will fix.

import os
import sys

from servicereportpkg.check import Check, SysfsCheck
Copy link
Contributor

Choose a reason for hiding this comment

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

I think you don't need to import Check and SysfsCheck.

Copy link
Contributor

Choose a reason for hiding this comment

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

pylint will help you to find such errors.

Copy link
Author

Choose a reason for hiding this comment

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

We need to import Check. but SysfsCheck not needed.

"""Checks the subsystem status by issuing the lssrc command"""

command = ["lssrc", "-s", subsystem]
(return_code,stdout,err) = execute_command(command)
Copy link
Contributor

Choose a reason for hiding this comment

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

Format issue. Please use pylint to find other similar issues.

Copy link
Author

Choose a reason for hiding this comment

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

ok. will fix it.

"devices.chrp.base.ServiceRM","DynamicRM"]
self.subsystems = ["ctrmc","IBM.DRM","IBM.HostRM","IBM.ServiceRM",
"IBM.MgmtDomainRM"]
self.subsystem_active = "active"
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we really need to keep a class-level variable here? Can't we use the "active" string directly in get_subsystem_status function?

Copy link
Author

Choose a reason for hiding this comment

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

ok. will do.

status = False

return PackageCheck(self.check_rsct_package.__doc__,
package, status)
Copy link
Contributor

Choose a reason for hiding this comment

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

Although you are checking all the packages defined in the self.packages list, but only the last package in the list is added to PackageCheck object.

Not sure whether this is by intention?

Copy link
Author

Choose a reason for hiding this comment

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

ha. The time when validate code is posted, I did not think we need all those values needs to populate in repair. Now I am returning packagelist along with their status.

status = False

return ServiceCheck(self.check_rsct_subsystem_check.__doc__,
subsystem, status)
Copy link
Contributor

Choose a reason for hiding this comment

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

As we discussed offline you might need to update this function to store all the subsystems along with their status?

Copy link
Author

Choose a reason for hiding this comment

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

Yes. rsct repair plugin needs these subsystems along with their status so will update the revised code.

Plugin.__init__(self)
self.name = RSCT.__name__
self.description = RSCT.__doc__
self.service_name = "ctrmc"
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we don't need this variable anymore, right?

Copy link
Author

Choose a reason for hiding this comment

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

Yes. not needed. will remove it.

command = ["lssrc", "-s", subsystem]
(return_code,stdout,err) = execute_command(command)

if return_code is None or self.subsystem_active not in str(stdout):
Copy link
Contributor

Choose a reason for hiding this comment

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

No issue in hardcoding "active" string instead of self.subsystem_active.

Copy link
Author

Choose a reason for hiding this comment

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

ok. will do

status = True
self.log.info("RSCT Package check")
for package in self.packages:
if not is_package_installed(package):
Copy link
Contributor

Choose a reason for hiding this comment

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

Please use four spaces to align you code. No tabs.

Copy link
Author

Choose a reason for hiding this comment

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

I am using python formater to align the space. Is that okay?

Copy link
Author

Choose a reason for hiding this comment

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

installed pylint and fixed the format error.

Seeteena Thoufeek added 2 commits August 3, 2020 19:56
Conflicts:
	servicereportpkg/validate/plugins/rsct.py
@sourabhjains
Copy link
Contributor

Hello @seeteena

We have updated pull request to add RSCT validate and repair plugin here: #15

I am closing this pull request.

Thanks,
Sourabh Jain

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants