fixes
diff --git a/wally/main.py b/wally/main.py
index 497bdac..36a2690 100644
--- a/wally/main.py
+++ b/wally/main.py
@@ -159,9 +159,9 @@
ipython_parser = subparsers.add_parser('ipython', help=ipython_help)
ipython_parser.add_argument("storage_dir", help="Storage path")
# ---------------------------------------------------------------------
- jupyter_help = 'run ipython in prepared environment'
- jupyter_parser = subparsers.add_parser('jupyter', help=jupyter_help)
- jupyter_parser.add_argument("storage_dir", help="Storage path")
+ # jupyter_help = 'run jupyter in prepared environment'
+ # jupyter_parser = subparsers.add_parser('jupyter', help=jupyter_help)
+ # jupyter_parser.add_argument("storage_dir", help="Storage path")
# ---------------------------------------------------------------------
test_parser = subparsers.add_parser('test', help='run tests')
diff --git a/wally/openstack.py b/wally/openstack.py
index 16b9db6..575edc7 100644
--- a/wally/openstack.py
+++ b/wally/openstack.py
@@ -49,22 +49,25 @@
if 'openstack' in cfg.clouds:
os_cfg = cfg.clouds['openstack']
if 'OPENRC' in os_cfg:
- logger.info("Using OS credentials from " + os_cfg['OPENRC'])
- creds_tuple = get_creds_openrc(os_cfg['OPENRC'])
- os_creds = OSCreds(*creds_tuple)
- elif 'ENV' in os_cfg:
- logger.info("Using OS credentials from shell environment")
- os_creds = get_openstack_credentials()
- elif 'OS_TENANT_NAME' in os_cfg:
- logger.info("Using predefined credentials")
- os_creds = OSCreds(os_cfg['OS_USERNAME'].strip(),
- os_cfg['OS_PASSWORD'].strip(),
- os_cfg['OS_TENANT_NAME'].strip(),
- os_cfg['OS_AUTH_URL'].strip(),
- os_cfg.get('OS_INSECURE', False))
+ sett = os_cfg['OPENRC']
+ if isinstance(sett, str):
+ if 'ENV' == sett:
+ logger.info("Using OS credentials from shell environment")
+ os_creds = get_openstack_credentials()
+ else:
+ logger.info("Using OS credentials from " + os_cfg['OPENRC'])
+ creds_tuple = get_creds_openrc(sett)
+ os_creds = OSCreds(*creds_tuple)
+ else:
+ logger.info("Using predefined credentials")
+ os_creds = OSCreds(sett['OS_USERNAME'].strip(),
+ sett['OS_PASSWORD'].strip(),
+ sett['OS_TENANT_NAME'].strip(),
+ sett['OS_AUTH_URL'].strip(),
+ sett.get('OS_INSECURE', False))
- elif 'OS_INSECURE' in os_cfg:
- force_insecure = os_cfg.get('OS_INSECURE', False)
+ if 'insecure' in os_cfg:
+ force_insecure = os_cfg.get('insecure', False)
if os_creds is None and 'fuel' in cfg.clouds and 'openstack_env' in cfg.clouds['fuel'] and \
ctx.fuel_openstack_creds is not None:
diff --git a/wally/plot.py b/wally/plot.py
index f809d19..b1ee60f 100644
--- a/wally/plot.py
+++ b/wally/plot.py
@@ -121,6 +121,7 @@
# limit and label x spine
pp.ax.set_xlim(extra_x_space, len(iosums) + extra_x_space)
+ pp.ax.set_ylim(bottom=0)
pp.ax.set_xticks(xpos)
pp.ax.set_xticklabels(["{0}*{1}={2}".format(iosum.qd, iosum.nodes_count, iosum.qd * iosum.nodes_count)
for iosum in iosums],
diff --git a/wally/report.py b/wally/report.py
index f42c7c9..46c5599 100644
--- a/wally/report.py
+++ b/wally/report.py
@@ -812,26 +812,6 @@
# IO time and QD
class QDIOTimeHeatmap(JobReporter):
def get_divs(self, suite: SuiteConfig, job: JobConfig) -> Iterator[Tuple[str, str, HTMLBlock]]:
-
- # journal_devs = None
- # storage_devs = None
- # test_nodes_devs = ['rbd0']
- #
- # for node in self.rstorage.load_nodes():
- # if node.roles.intersection(STORAGE_ROLES):
- # cjd = set(node.params['ceph_journal_devs'])
- # if journal_devs is None:
- # journal_devs = cjd
- # else:
- # assert journal_devs == cjd, "{!r} != {!r}".format(journal_devs, cjd)
- #
- # csd = set(node.params['ceph_storage_devs'])
- # if storage_devs is None:
- # storage_devs = csd
- # else:
- # assert storage_devs == csd, "{!r} != {!r}".format(storage_devs, csd)
- #
-
trange = (job.reliable_info_range[0] // 1000, job.reliable_info_range[1] // 1000)
test_nc = len(list(find_nodes_by_roles(self.rstorage.storage, ['testnode'])))
@@ -844,8 +824,6 @@
yield Menu1st.engineering_per_job, job.summary, HTMLBlock(html.H3(html.center(caption)))
# QD heatmap
- # nodes = find_nodes_by_roles(self.rstorage.storage, roles)
-
ioq2d = find_sensors_to_2d(self.rstorage, trange, dev_role=dev_role, sensor='block-io', metric='io_queue')
ds = DataSource(suite.storage_id, job.storage_id, AGG_TAG, 'block-io', dev_role,
@@ -1020,7 +998,9 @@
nodes = ctx.rstorage.load_nodes()
update_storage_selector(ctx.rstorage, ctx.devs_locator, nodes)
- job_reporters_cls = [StatInfo, LoadToolResults, Resources, ClusterLoad, CPULoadPlot, QDIOTimeHeatmap]
+ # role2ds = roles_for_sensors(ctx.rstorage)
+
+ job_reporters_cls = [StatInfo, LoadToolResults, Resources, ClusterLoad, CPULoadPlot] #, QDIOTimeHeatmap]
# job_reporters_cls = [QDIOTimeHeatmap]
job_reporters = [rcls(ctx.rstorage, DefStyleProfile, DefColorProfile)
for rcls in job_reporters_cls] # type: ignore
diff --git a/wally/resources.py b/wally/resources.py
index a08993d..4074efb 100644
--- a/wally/resources.py
+++ b/wally/resources.py
@@ -122,7 +122,7 @@
cores_per_node = {}
for node in rstorage.load_nodes():
- cores_per_node[node.node_id] = sum(cores for _, cores in node.hw_info.cpus)
+ cores_per_node[node.node_id] = 48 # sum(cores for _, cores in node.hw_info.cpus)
for name in cpu_metrics:
cpu_ts[name] = sum_sensors(rstorage, time_range, node_id=nodes, sensor='system-cpu', metric=name)
diff --git a/wally/suits/io/test.cfg b/wally/suits/io/test.cfg
index 2977d1a..0280fd4 100644
--- a/wally/suits/io/test.cfg
+++ b/wally/suits/io/test.cfg
@@ -1,5 +1,8 @@
[test1]
-ioengine=libaio
+#ioengine=libaio
+ioengine=rbd
+rbdname=foo
+pool=rbd
buffered=0
group_reporting=1
iodepth=16
@@ -9,11 +12,9 @@
time_based=1
wait_for_previous=1
randrepeat=0
-filename=/dev/rbd1
size=4G
-ramp_time=10
-runtime=300
-numjobs=16
+ramp_time=0
+runtime=10
direct=1
blocksize=60k
-rw=randwrite
+rw=randread