def resource_refresh( runner: CommandRunner, resource: Optional[str] = None, node: Optional[str] = None, strict: bool = False, force: bool = False, ): if not force and not node and not resource: summary = ClusterState(get_cluster_status_xml(runner)).summary operations = summary.nodes.attrs.count * summary.resources.attrs.count if operations > __RESOURCE_REFRESH_OPERATION_COUNT_THRESHOLD: raise LibraryError( reports.resource_refresh_too_time_consuming( __RESOURCE_REFRESH_OPERATION_COUNT_THRESHOLD)) cmd = [__exec("crm_resource"), "--refresh"] if resource: cmd.extend(["--resource", resource]) if node: cmd.extend(["--node", node]) if strict: cmd.extend(["--force"]) stdout, stderr, retval = runner.run(cmd) if retval != 0: raise LibraryError( reports.resource_refresh_error(join_multilines([stderr, stdout]), resource, node)) # usefull output (what has been done) goes to stderr return join_multilines([stdout, stderr])
def resource_refresh(runner, resource=None, node=None, full=False, force=None): if not force and not node and not resource: summary = ClusterState(get_cluster_status_xml(runner)).summary operations = summary.nodes.attrs.count * summary.resources.attrs.count if operations > __RESOURCE_REFRESH_OPERATION_COUNT_THRESHOLD: raise LibraryError( reports.resource_refresh_too_time_consuming( __RESOURCE_REFRESH_OPERATION_COUNT_THRESHOLD ) ) cmd = [__exec("crm_resource"), "--refresh"] if resource: cmd.extend(["--resource", resource]) if node: cmd.extend(["--node", node]) if full: cmd.extend(["--force"]) stdout, stderr, retval = runner.run(cmd) if retval != 0: raise LibraryError( reports.resource_refresh_error( join_multilines([stderr, stdout]), resource, node ) ) # usefull output (what has been done) goes to stderr return join_multilines([stdout, stderr])