From c4660299a0a092941cffb599bb37a9e5a08d3529 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Sun, 20 Jun 2021 20:40:35 -0400 Subject: [PATCH 01/23] add env: path_suffix: for rsync and rsyncd targets --- src/plotman/resources/target_definitions.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/plotman/resources/target_definitions.yaml b/src/plotman/resources/target_definitions.yaml index 56c0951f..6ef6e001 100644 --- a/src/plotman/resources/target_definitions.yaml +++ b/src/plotman/resources/target_definitions.yaml @@ -4,6 +4,7 @@ target_definitions: command: rsync options: --preallocate --remove-source-files --skip-compress plot --whole-file site_root: null + path_suffix: "" # The disk space script must return a line for each directory # to consider archiving to with the following form. @@ -24,7 +25,8 @@ target_definitions: transfer_script: | #!/bin/bash set -evx - "${command}" ${options} "${source}" "${destination}" + full_destination=$(realpath --canonicalize-missing "${destination}/${path_suffix}") + "${command}" ${options} "${source}" "${full_destination}/" transfer_process_name: "{command}" transfer_process_argument_prefix: "{site_root}" rsyncd: @@ -38,6 +40,7 @@ target_definitions: host: null site_root: null site: null + path_suffix: "" disk_space_script: | #!/bin/bash set -evx @@ -49,9 +52,10 @@ target_definitions: #!/bin/bash set -evx echo Launching transfer activity - relative_path=$(realpath --canonicalize-missing --relative-to="${site_root}" "${destination}") + full_destination=$(realpath --canonicalize-missing "${destination}/${path_suffix}") + relative_path=$(realpath --canonicalize-missing --relative-to="${site_root}" "${full_destination}") url_root="rsync://${user}@${host}:${rsync_port}/${site}" - "${command}" ${options} "${source}" "${url_root}/${relative_path}" + "${command}" ${options} "${source}" "${url_root}/${relative_path}/" transfer_process_name: "{command}" transfer_process_argument_prefix: "rsync://{user}@{host}:{rsync_port}/{site}" # external_script: From 18e12429079ef1dd3e2f740e0427884a51fe0870 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Sun, 20 Jun 2021 20:48:35 -0400 Subject: [PATCH 02/23] add changelog entry for #800 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b03cf8ad..b0f98e24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ([#643](https://github.com/ericaltendorf/plotman/pull/643)) - `plotman prometheus` command to output status for consumption by [Prometheus](https://prometheus.io/). ([#430](https://github.com/ericaltendorf/plotman/pull/430)) +- `path_suffix` option for rsync and rsyncd archive targets. + Allows adding suffixes to the destination path such as to separate original vs. pool plots. + ([#800](https://github.com/ericaltendorf/plotman/pull/800)) ## [0.4.1] - 2021-06-11 ### Fixed From 9dda4feb20beb36b4573307a2865c49e5ba205bb Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 30 Jun 2021 09:37:12 -0400 Subject: [PATCH 03/23] try again --- src/plotman/reporting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plotman/reporting.py b/src/plotman/reporting.py index 75ad5a8c..2eccb9ee 100644 --- a/src/plotman/reporting.py +++ b/src/plotman/reporting.py @@ -113,7 +113,7 @@ def status_report(jobs: typing.List[job.Job], width: int, height: typing.Optiona ] except (psutil.NoSuchProcess, psutil.AccessDenied): # In case the job has disappeared - row = [j.plot_id[:8]] + (['--'] * 12) + row = [j.plot_id[:8]] + (['--'] * (len(headings) - 1)) if height: row.insert(0, '%3d' % i) From 0c10795aeb9f4955eb71a290e4bb694cbdd8d512 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Fri, 2 Jul 2021 21:25:25 -0400 Subject: [PATCH 04/23] add executable configuration for plotters --- src/plotman/configuration.py | 18 ++++++++++++++++-- src/plotman/job.py | 5 +++++ src/plotman/manager.py | 5 +++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/plotman/configuration.py b/src/plotman/configuration.py index d1fbb1c5..30d29480 100644 --- a/src/plotman/configuration.py +++ b/src/plotman/configuration.py @@ -81,6 +81,12 @@ def get_validated_configs(config_text: str, config_path: str, preset_target_defi raise ConfigurationException( "Chia Network plotter accepts up to one of plotting: pool_pk: and pool_contract_address: but both are specified", ) + + executable_name = os.path.basename(loaded.plotting.chia.executable) + if executable_name != "chia": + raise ConfigurationException( + "plotting: chia: executable: must refer to an executable named chia" + ) elif loaded.plotting.type == "madmax": if loaded.plotting.madmax is None: raise ConfigurationException( @@ -101,6 +107,12 @@ def get_validated_configs(config_text: str, config_path: str, preset_target_defi "madMAx plotter accepts only one of plotting: pool_pk: and pool_contract_address: but both are specified", ) + executable_name = os.path.basename(loaded.plotting.madmax.executable) + if executable_name != "chia": + raise ConfigurationException( + "plotting: madmax: executable: must refer to an executable named chia_plot" + ) + if loaded.archiving is not None: preset_target_objects = yaml.safe_load(preset_target_definitions_text) preset_target_schema = desert.schema(PresetTargetDefinitions) @@ -312,6 +324,7 @@ class Scheduling: @attr.frozen class ChiaPlotterOptions: + executable: str = "chia" n_threads: int = 2 n_buckets: int = 128 k: Optional[int] = 32 @@ -321,6 +334,7 @@ class ChiaPlotterOptions: @attr.frozen class MadmaxPlotterOptions: + executable: str = "chia_plot" n_threads: int = 4 n_buckets: int = 256 @@ -371,7 +385,7 @@ def setup(self) -> Generator[None, None, None]: if self.plotting.type == 'chia': if self.plotting.pool_contract_address is not None: completed_process = subprocess.run( - args=['chia', 'version'], + args=[self.plotting.chia.executable, 'version'], capture_output=True, check=True, encoding='utf-8', @@ -386,7 +400,7 @@ def setup(self) -> Generator[None, None, None]: elif self.plotting.type == 'madmax': if self.plotting.pool_contract_address is not None: completed_process = subprocess.run( - args=['chia_plot', '--help'], + args=[self.plotting.madmax.executable, '--help'], capture_output=True, check=True, encoding='utf-8', diff --git a/src/plotman/job.py b/src/plotman/job.py index e9d147e3..6509ff4e 100644 --- a/src/plotman/job.py +++ b/src/plotman/job.py @@ -35,11 +35,13 @@ def is_plotting_cmdline(cmdline: typing.List[str]) -> bool: cmdline = cmdline[1:] return ( len(cmdline) >= 3 + # TODO: use the configured executable and 'chia' in cmdline[0] and 'plots' == cmdline[1] and 'create' == cmdline[2] ) elif cmdline and 'chia_plot' == cmdline[0].lower(): # Madmax plotter + # TODO: use the configured executable return True return False @@ -57,6 +59,7 @@ def parse_chia_plots_create_command_line( if 'python' in command_line[0].lower(): # Stock Chia plotter command_line = command_line[1:] assert len(command_line) >= 3 + # TODO: use the configured executable assert 'chia' in command_line[0] assert 'plots' == command_line[1] assert 'create' == command_line[2] @@ -66,6 +69,7 @@ def parse_chia_plots_create_command_line( # copied. command = chia.commands.latest_command() elif 'chia_plot' in command_line[0].lower(): # Madmax plotter + # TODO: use the configured executable command_line = command_line[1:] all_command_arguments = command_line[2:] command = madmax._cli_c8121b9 @@ -268,6 +272,7 @@ def __init__( # 'nobitfield': False, # 'exclude_final_dir': False, # } + # TODO: use the configured executable if proc.name().startswith("chia_plot"): # MADMAX self.k = 32 self.r = self.args['threads'] # type: ignore[assignment] diff --git a/src/plotman/manager.py b/src/plotman/manager.py index efe6a2c5..a199dacf 100644 --- a/src/plotman/manager.py +++ b/src/plotman/manager.py @@ -144,7 +144,8 @@ def key(key: str) -> job.Phase: raise Exception( "madmax plotter selected but not configured, report this as a plotman bug", ) - plot_args = ['chia_plot', + plot_args = [ + plotting_cfg.madmax.executable, '-n', str(1), '-r', str(plotting_cfg.madmax.n_threads), '-u', str(plotting_cfg.madmax.n_buckets), @@ -158,7 +159,7 @@ def key(key: str) -> job.Phase: raise Exception( "chia plotter selected but not configured, report this as a plotman bug", ) - plot_args = ['chia', 'plots', 'create', + plot_args = [plotting_cfg.chia.executable, 'plots', 'create', '-k', str(plotting_cfg.chia.k), '-r', str(plotting_cfg.chia.n_threads), '-u', str(plotting_cfg.chia.n_buckets), From e78d8d49e12c443f5d7e2888013b9b8226ce6dc2 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 7 Jul 2021 18:25:06 -0400 Subject: [PATCH 05/23] +dev --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2eb3c4fe..ffc9cfa9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.5 +0.5+dev From 352c434f2b58ce196e08fe7fa103984ccd54611c Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 7 Jul 2021 18:25:58 -0400 Subject: [PATCH 06/23] add new changelog sections --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a4d7eba..3ac767ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [unreleased] +### Fixed +### Added + ## [0.5] - 2021-07-07 ### Fixed - `plotman kill` doesn't leave any temporary files behind anymore. From 91d762354757a3adfe81e755f2cdda31a74d690c Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 7 Jul 2021 18:41:00 -0400 Subject: [PATCH 07/23] Update CHANGELOG.md --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 252e58f0..3276fdcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] ### Fixed ### Added +- `path_suffix` option for rsync and rsyncd archive targets. + Allows adding suffixes to the destination path such as to separate original vs. pool plots. + ([#800](https://github.com/ericaltendorf/plotman/pull/800)) ## [0.5] - 2021-07-07 ### Fixed @@ -38,9 +41,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ([#783](https://github.com/ericaltendorf/plotman/pull/783)) - Plot sizes other than k32 are handled. ([#803](https://github.com/ericaltendorf/plotman/pull/803)) -- `path_suffix` option for rsync and rsyncd archive targets. - Allows adding suffixes to the destination path such as to separate original vs. pool plots. - ([#800](https://github.com/ericaltendorf/plotman/pull/800)) ## [0.4.1] - 2021-06-11 ### Fixed From 3e6e43fa82c5932a1e2702d0954dd94f62d0590b Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Thu, 8 Jul 2021 12:46:07 +0000 Subject: [PATCH 08/23] fix executable name check for madmax --- src/plotman/configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plotman/configuration.py b/src/plotman/configuration.py index 30d29480..ac8becaf 100644 --- a/src/plotman/configuration.py +++ b/src/plotman/configuration.py @@ -108,7 +108,7 @@ def get_validated_configs(config_text: str, config_path: str, preset_target_defi ) executable_name = os.path.basename(loaded.plotting.madmax.executable) - if executable_name != "chia": + if executable_name != "chia_plot": raise ConfigurationException( "plotting: madmax: executable: must refer to an executable named chia_plot" ) From 74474c0b78a00b56b7f260144be5e4f73833ab86 Mon Sep 17 00:00:00 2001 From: fihzy Date: Thu, 8 Jul 2021 14:14:52 -0500 Subject: [PATCH 09/23] Update plotman.yaml Add in the pool_contract_address: example configuration. --- src/plotman/resources/plotman.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plotman/resources/plotman.yaml b/src/plotman/resources/plotman.yaml index 20195abd..05884596 100644 --- a/src/plotman/resources/plotman.yaml +++ b/src/plotman/resources/plotman.yaml @@ -153,7 +153,8 @@ plotting: # Your public keys: farmer and pool - Required for madMAx, optional for chia with mnemonic.txt # farmer_pk: ... # pool_pk: ... - + # pool_contract_address: ... + # If you enable Chia, plot in *parallel* with higher tmpdir_max_jobs and global_max_jobs type: chia chia: From 805e9594208e1e4a7afd650f54176091bbdad029 Mon Sep 17 00:00:00 2001 From: fihzy Date: Thu, 8 Jul 2021 23:07:13 -0500 Subject: [PATCH 10/23] Update src/plotman/resources/plotman.yaml Co-authored-by: Kyle Altendorf --- src/plotman/resources/plotman.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plotman/resources/plotman.yaml b/src/plotman/resources/plotman.yaml index 05884596..bd31bd4b 100644 --- a/src/plotman/resources/plotman.yaml +++ b/src/plotman/resources/plotman.yaml @@ -150,7 +150,10 @@ scheduling: # See documentation at # https://github.com/Chia-Network/chia-blockchain/wiki/CLI-Commands-Reference#create plotting: - # Your public keys: farmer and pool - Required for madMAx, optional for chia with mnemonic.txt + # Your public keys. Be sure to use the pool contract address for + # portable pool plots. The pool public key is only for original + # non-portable plots that can not be used with the official pooling + # protocol. # farmer_pk: ... # pool_pk: ... # pool_contract_address: ... From 5a2e4ee4b20a48042e2b48e9a5291d4b7e27f2b8 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Sun, 11 Jul 2021 11:19:18 -0400 Subject: [PATCH 11/23] cover the shouldn't happen case --- src/plotman/configuration.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/plotman/configuration.py b/src/plotman/configuration.py index ac8becaf..9d550cb3 100644 --- a/src/plotman/configuration.py +++ b/src/plotman/configuration.py @@ -383,6 +383,12 @@ class PlotmanConfig: @contextlib.contextmanager def setup(self) -> Generator[None, None, None]: if self.plotting.type == 'chia': + if self.plotting.chia is None: + message = ( + "internal plotman error, please report the full traceback and your" + + " full configuration file" + ) + raise Exception(message) if self.plotting.pool_contract_address is not None: completed_process = subprocess.run( args=[self.plotting.chia.executable, 'version'], @@ -398,6 +404,13 @@ def setup(self) -> Generator[None, None, None]: f' plots but found: {version}' ) elif self.plotting.type == 'madmax': + if self.plotting.madmax is None: + message = ( + "internal plotman error, please report the full traceback and your" + + " full configuration file" + ) + raise Exception(message) + if self.plotting.pool_contract_address is not None: completed_process = subprocess.run( args=[self.plotting.madmax.executable, '--help'], From 8fc8ce81872f17de30cffc9d44b4b90e078f9b8a Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Sun, 11 Jul 2021 11:24:51 -0400 Subject: [PATCH 12/23] cross referencing todos --- src/plotman/configuration.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plotman/configuration.py b/src/plotman/configuration.py index 9d550cb3..df03e143 100644 --- a/src/plotman/configuration.py +++ b/src/plotman/configuration.py @@ -73,6 +73,8 @@ def get_validated_configs(config_text: str, config_path: str, preset_target_defi if loaded.plotting.type == "chia": if loaded.plotting.chia is None: + # TODO: fix all the `TODO: use the configured executable` so this is not + # needed. raise ConfigurationException( "chia selected as plotter but plotting: chia: was not specified in the config", ) @@ -109,6 +111,8 @@ def get_validated_configs(config_text: str, config_path: str, preset_target_defi executable_name = os.path.basename(loaded.plotting.madmax.executable) if executable_name != "chia_plot": + # TODO: fix all the `TODO: use the configured executable` so this is not + # needed. raise ConfigurationException( "plotting: madmax: executable: must refer to an executable named chia_plot" ) From d08c51ded0d4850e63e5c685764129550d4bd609 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Sun, 11 Jul 2021 23:05:04 -0400 Subject: [PATCH 13/23] add changelog entry for #823 https://github.com/ericaltendorf/plotman/pull/823 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3276fdcf..f0b07ab7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `path_suffix` option for rsync and rsyncd archive targets. Allows adding suffixes to the destination path such as to separate original vs. pool plots. ([#800](https://github.com/ericaltendorf/plotman/pull/800)) +- `executable` option for each configurable plotter. + Allows explicit specification of the plotter executable path if this is preferred over setting the `PATH` environment variable to find the program. + Presently does not support executables other than the expected names (`chia`, and `chia_plot`). + ([#823](https://github.com/ericaltendorf/plotman/pull/823)) ## [0.5] - 2021-07-07 ### Fixed From 69ab26f1db92240d9f22f4048100838ac417e432 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 12 Jul 2021 08:37:27 -0400 Subject: [PATCH 14/23] Use modulus to better distribute use of archive disks vs. index https://github.com/ericaltendorf/plotman/issues/847 --- src/plotman/archive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plotman/archive.py b/src/plotman/archive.py index 59a9a9e6..2d542e60 100644 --- a/src/plotman/archive.py +++ b/src/plotman/archive.py @@ -240,7 +240,7 @@ def archive(dir_cfg: configuration.Directories, arch_cfg: configuration.Archivin available = [(d, space) for (d, space) in archdir_freebytes.items() if space > (chosen_plot_size + free_space_margin)] if len(available) > 0: - index = min(arch_cfg.index, len(available) - 1) + index = arch_cfg.index % (len(available) - 1) (archdir, freespace) = sorted(available)[index] if not archdir: From e89bdfde3d16c458a711f0ae7263ba0be3e04491 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Tue, 13 Jul 2021 18:42:14 -0400 Subject: [PATCH 15/23] fix regression for binary-installed chia process detection --- src/plotman/job.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/plotman/job.py b/src/plotman/job.py index d54ed1d4..f1b2ede4 100644 --- a/src/plotman/job.py +++ b/src/plotman/job.py @@ -31,8 +31,15 @@ def job_phases_for_dstdir(d: str, all_jobs: typing.List["Job"]) -> typing.List[" return sorted([j.progress() for j in all_jobs if os.path.normpath(j.dstdir) == os.path.normpath(d)]) def is_plotting_cmdline(cmdline: typing.List[str]) -> bool: - if cmdline and 'python' in cmdline[0].lower(): # Stock Chia plotter - cmdline = cmdline[1:] + if len(cmdline) == 0: + return False + + if 'chia_plot' == os.path.basename(cmdline[0].lower()): # Madmax plotter + # TODO: use the configured executable + return True + else: + if 'python' in cmdline[0].lower(): # Stock Chia plotter + cmdline = cmdline[1:] return ( len(cmdline) >= 3 # TODO: use the configured executable @@ -40,10 +47,6 @@ def is_plotting_cmdline(cmdline: typing.List[str]) -> bool: and 'plots' == cmdline[1] and 'create' == cmdline[2] ) - elif cmdline and 'chia_plot' == os.path.basename(cmdline[0].lower()): # Madmax plotter - # TODO: use the configured executable - return True - return False def parse_chia_plot_time(s: str) -> pendulum.DateTime: # This will grow to try ISO8601 as well for when Chia logs that way From 27529facc96857678af1171faab04172b74447f7 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Tue, 13 Jul 2021 18:47:54 -0400 Subject: [PATCH 16/23] add changelog entry for #865 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0b07ab7..33c605db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] ### Fixed +- Detects binary-installed Chia plotting processes again after being broken in v0.5. + ([#865](https://github.com/ericaltendorf/plotman/pull/865)) ### Added - `path_suffix` option for rsync and rsyncd archive targets. Allows adding suffixes to the destination path such as to separate original vs. pool plots. From 13b6d94a4c8151fb463179cc619e0dc8d2cbc2ec Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 14 Jul 2021 10:21:04 -0400 Subject: [PATCH 17/23] more fixup --- src/plotman/job.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/plotman/job.py b/src/plotman/job.py index f1b2ede4..78e7be44 100644 --- a/src/plotman/job.py +++ b/src/plotman/job.py @@ -59,8 +59,14 @@ def parse_chia_plots_create_command_line( ) -> "ParsedChiaPlotsCreateCommand": command_line = list(command_line) # Parse command line args - if 'python' in command_line[0].lower(): # Stock Chia plotter - command_line = command_line[1:] + + if 'chia_plot' == os.path.basename(command_line[0].lower()): # Madmax plotter + # TODO: use the configured executable + all_command_arguments = command_line[1:] + command = madmax._cli_c8121b9 + else: + if 'python' in command_line[0].lower(): # Stock Chia plotter + command_line = command_line[1:] assert len(command_line) >= 3 # TODO: use the configured executable assert 'chia' in command_line[0] @@ -71,11 +77,6 @@ def parse_chia_plots_create_command_line( # associated command. For now we'll just use the latest one we have # copied. command = chia.commands.latest_command() - elif 'chia_plot' in command_line[0].lower(): # Madmax plotter - # TODO: use the configured executable - command_line = command_line[1:] - all_command_arguments = command_line[2:] - command = madmax._cli_c8121b9 # nice idea, but this doesn't include -h # help_option_names = command.get_help_option_names(ctx=context) From 89ff6e786312473ad86046246653eda461d7a4cf Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 14 Jul 2021 19:30:07 -0400 Subject: [PATCH 18/23] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33c605db..4a6a575d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Detects binary-installed Chia plotting processes again after being broken in v0.5. ([#865](https://github.com/ericaltendorf/plotman/pull/865)) +- Wrap archival indexes around when there are fewer disks, rather than just pointing all the "extra" indexes at the last disk. + This will distribute the plot transfers better when you have fewer disks than plotters. + ([#855](https://github.com/ericaltendorf/plotman/pull/855)) ### Added - `path_suffix` option for rsync and rsyncd archive targets. Allows adding suffixes to the destination path such as to separate original vs. pool plots. From 99c82e1be97e5afc700633a383f0e1f3edb0c9b6 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 14 Jul 2021 19:31:36 -0400 Subject: [PATCH 19/23] oops with % --- src/plotman/archive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plotman/archive.py b/src/plotman/archive.py index 2d542e60..136f2bab 100644 --- a/src/plotman/archive.py +++ b/src/plotman/archive.py @@ -240,7 +240,7 @@ def archive(dir_cfg: configuration.Directories, arch_cfg: configuration.Archivin available = [(d, space) for (d, space) in archdir_freebytes.items() if space > (chosen_plot_size + free_space_margin)] if len(available) > 0: - index = arch_cfg.index % (len(available) - 1) + index = arch_cfg.index % len(available) (archdir, freespace) = sorted(available)[index] if not archdir: From ae9b1b4c5dd9d20a06be4c177e79c8725c66ba86 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 14 Jul 2021 20:31:14 -0400 Subject: [PATCH 20/23] set v0.5.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2eb3c4fe..4b9fcbec 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.5 +0.5.1 From 78934294236b46853c391f8ea84ea66b53558614 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 14 Jul 2021 20:33:13 -0400 Subject: [PATCH 21/23] set version in changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a6a575d..e9cb4cbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [unreleased] +## [0.5.1] - 2021-07-14 ### Fixed - Detects binary-installed Chia plotting processes again after being broken in v0.5. ([#865](https://github.com/ericaltendorf/plotman/pull/865)) From 09c06c3a44178c3ec7bacb6d974300919b80e9bc Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 14 Jul 2021 20:35:44 -0400 Subject: [PATCH 22/23] add executable: settings to example yaml --- src/plotman/resources/plotman.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plotman/resources/plotman.yaml b/src/plotman/resources/plotman.yaml index bd31bd4b..d203b7d3 100644 --- a/src/plotman/resources/plotman.yaml +++ b/src/plotman/resources/plotman.yaml @@ -162,6 +162,7 @@ plotting: type: chia chia: # The stock plotter: https://github.com/Chia-Network/chia-blockchain + # executable: /path/to/chia k: 32 # k-size of plot, leave at 32 most of the time e: False # Use -e plotting option n_threads: 2 # Threads per job @@ -171,5 +172,6 @@ plotting: # If you enable madMAx, plot in *sequence* with very low tmpdir_max_jobs and global_max_jobs madmax: # madMAx plotter: https://github.com/madMAx43v3r/chia-plotter + # executable: /path/to/chia_plot n_threads: 4 # Default is 4, crank up if you have many cores n_buckets: 256 # Default is 256 From c7fc8416690616c422ee4a4c7f90fe15b0e9d6b3 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Thu, 15 Jul 2021 09:37:56 -0400 Subject: [PATCH 23/23] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9cb4cbb..752b1dd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.5.1] - 2021-07-14 +## [0.5.1] - 2021-07-15 ### Fixed - Detects binary-installed Chia plotting processes again after being broken in v0.5. ([#865](https://github.com/ericaltendorf/plotman/pull/865))