Skip to content

Commit 9a4ffa9

Browse files
RSaboundsstevekeay
authored andcommitted
align to bmc class usage.
1 parent 23cde60 commit 9a4ffa9

1 file changed

Lines changed: 16 additions & 36 deletions

File tree

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
11
import argparse
22
import json
3-
import logging
43
import logging.config
4+
import logging
55
import os
66

77
import sushy
88

9-
from understack_workflows.bmc_password_standard import standard_password
10-
from understack_workflows.helpers import credential
9+
from understack_workflows.bmc import Bmc
10+
from understack_workflows.bmc import bmc_for_ip_address
1111
from understack_workflows.helpers import setup_logger
1212

1313
logger = setup_logger(__name__)
1414

1515
log_config = {
16-
"version": 1,
17-
"disable_existing_loggers": False,
18-
"loggers": {
19-
"__main__": {"level": "INFO"},
20-
"sushy.main": {"level": "INFO"},
21-
"sushy.resources.base": {"level": "INFO"},
22-
"sushy.connector": {"level": "INFO"},
23-
"urllib3.connectionpool": {"level": "INFO"},
24-
},
16+
'version': 1,
17+
'disable_existing_loggers': False,
18+
'loggers': {
19+
"__main__": {'level': 'INFO'},
20+
"sushy.main": {'level': 'INFO'},
21+
"sushy.resources.base": {'level': 'INFO'},
22+
"sushy.connector": {'level': 'INFO'},
23+
"urllib3.connectionpool": {'level': 'INFO'},
24+
}
2525
}
2626

2727
logging.config.dictConfig(log_config)
2828

29-
3029
def main():
3130
"""Export RAID details for a BMC using Sushy.
3231
@@ -41,9 +40,11 @@ def main():
4140
args = argument_parser().parse_args()
4241

4342
ip_address = args.ip_address
43+
password = args.password or None
4444
logger.debug("%s starting for ip_address=%s", __file__, ip_address)
4545

46-
client = client_for_ip_address(ip_address=ip_address)
46+
bmc = bmc_for_ip_address(ip_address=ip_address, password=password)
47+
client = bmc.sushy()
4748

4849
# argo workflows captures stdout as the results which we can use
4950
# to return the device UUID
@@ -56,7 +57,7 @@ def argument_parser():
5657
prog=os.path.basename(__file__), description="Gather RAID Device info."
5758
)
5859
parser.add_argument("--ip-address", type=str, required=True, help="BMC IP")
59-
parser.add_argument("--password", type=str, required=False, help="Custom Password")
60+
parser.add_argument("--password", type=str, required=False, help="Password", default=None)
6061
return parser
6162

6263

@@ -74,26 +75,5 @@ def parse_controller_details(client) -> dict:
7475
return result
7576

7677

77-
def client_for_ip_address(
78-
ip_address: str, username: str = "root", password: str | None = None
79-
) -> sushy.Sushy:
80-
"""Retreive a Sushy session for BMC return as client object.
81-
82-
If no password is supplied then we use a conventional BMC standard one
83-
which is derived from the IP address and the BMC_MASTER secret key.
84-
85-
If no username is supplied then the username "root" is used.
86-
"""
87-
if password is None:
88-
bmc_master = os.getenv("BMC_MASTER") or credential("bmc_master", "key")
89-
password = standard_password(ip_address, bmc_master)
90-
91-
base_url = "https://" + ip_address
92-
client = sushy.Sushy(
93-
base_url=base_url, username=username, password=password, verify=False
94-
)
95-
return client
96-
97-
9878
if __name__ == "__main__":
9979
main()

0 commit comments

Comments
 (0)