Resolve: Dynamic disk configuration is not correctly provisioned#4
Resolve: Dynamic disk configuration is not correctly provisioned#4vponomarev wants to merge 2 commits intoseaweedfs:mainfrom
Conversation
1. Non root user with passwordless sudo didn't handled correctly 2. Minor issue in systemd service fixed 3. Added option `--dynamicFile <name_of_dynamic_config_file.yml>` for dynamic disk provisioning 4. Fixed automatic disk mount feature - disks are provisioned, info is saved in dynamic config. Redeploy will not lose disk information.
| } | ||
| var fileName string | ||
| cmd.Flags().StringVarP(&fileName, "file", "f", "", "configuration file") | ||
| cmd.Flags().StringVarP(&m.DynamicConfigFile, "dynamicFile", "d", "", "dynamic configuration file") |
There was a problem hiding this comment.
what is a dynamic configuration file?
|
Thanks for the PR! Please split into separate ones for easier review. |
|
Hello. I planned to divide this PR into separate parts, but didn't find a way to make separate and well specified parts. Issues #1, #2 are really minor i can make them separate, but there're only 2-3 lines changes for that. All other changes are connected to dynamic configuration idea.
So, |
|
@chrislusf Could you please review my comment? |
|
How about adding an optional step before deploying anything, to generate a disk layout yaml file? |
|
And maybe even merge the proposed disk layout info into the original cluster yaml file. |
Fixed several issues in single commit.
All changes were tested on Ubuntu 20.04 LTS in 5-nodes cluster, each with 5 /dev/sdX spare disks for dynamic provisioning.
Right now i disabled parallel volume server deployment, but it can be returned back if it's really needed.
List of issues:
--dynamicFile <name_of_dynamic_config_file.yml>for dynamic disk provisioningTo use dynamic provisioning now user need to specify file with/for dynamically provisioned data
-f filename, for example, cluster can be provisioned by this command:./seaweed-up deploy --version 3.43 --envoyVersion 1.25.3 -u ubuntu -f examples/cluster2.yml -d examples/cluster2-dynamic.yml -x http://proxy.local:8080/Now it's possible to run deploy several times, all disk info will be provisioned correctly (at least, it's provisioned correctly in my test lab).