From 2561e3e8d5c3e8ab2439581a9f7a7e1329be5c3d Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Sun, 29 Mar 2020 14:41:55 -0400 Subject: [PATCH 1/4] Add CPU Thread assignments Added CPU Thread assignments for each server --- app/Http/Controllers/Admin/ServersController.php | 2 +- .../Api/Application/Servers/StoreServerRequest.php | 2 ++ .../Servers/UpdateServerBuildConfigurationRequest.php | 2 ++ app/Services/Servers/BuildModificationService.php | 1 + .../Servers/ServerConfigurationStructureService.php | 2 ++ app/Services/Servers/ServerCreationService.php | 1 + resources/views/admin/servers/new.blade.php | 7 +++++++ resources/views/admin/servers/view/build.blade.php | 9 ++++++++- resources/views/admin/servers/view/index.blade.php | 4 ++++ 9 files changed, 28 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/ServersController.php b/app/Http/Controllers/Admin/ServersController.php index 8bcb1039..6f8e106e 100644 --- a/app/Http/Controllers/Admin/ServersController.php +++ b/app/Http/Controllers/Admin/ServersController.php @@ -262,7 +262,7 @@ class ServersController extends Controller { $this->buildModificationService->handle($server, $request->only([ 'allocation_id', 'add_allocations', 'remove_allocations', - 'memory', 'swap', 'io', 'cpu', 'disk', + 'memory', 'swap', 'io', 'cpu', 'threads', 'disk', 'database_limit', 'allocation_limit', 'oom_disabled', ])); $this->alert->success(trans('admin/server.alerts.build_updated'))->flash(); diff --git a/app/Http/Requests/Api/Application/Servers/StoreServerRequest.php b/app/Http/Requests/Api/Application/Servers/StoreServerRequest.php index d386f585..32f68bd2 100644 --- a/app/Http/Requests/Api/Application/Servers/StoreServerRequest.php +++ b/app/Http/Requests/Api/Application/Servers/StoreServerRequest.php @@ -49,6 +49,7 @@ class StoreServerRequest extends ApplicationApiRequest 'limits.swap' => $rules['swap'], 'limits.disk' => $rules['disk'], 'limits.io' => $rules['io'], + 'limits.threads' => $rules['threads'], 'limits.cpu' => $rules['cpu'], // Application Resource Limits @@ -96,6 +97,7 @@ class StoreServerRequest extends ApplicationApiRequest 'disk' => array_get($data, 'limits.disk'), 'io' => array_get($data, 'limits.io'), 'cpu' => array_get($data, 'limits.cpu'), + 'threads' => array_get($data, 'limits.threads'), 'skip_scripts' => array_get($data, 'skip_scripts', false), 'allocation_id' => array_get($data, 'allocation.default'), 'allocation_additional' => array_get($data, 'allocation.additional'), diff --git a/app/Http/Requests/Api/Application/Servers/UpdateServerBuildConfigurationRequest.php b/app/Http/Requests/Api/Application/Servers/UpdateServerBuildConfigurationRequest.php index 9d5a3bb0..3f0e1c8c 100644 --- a/app/Http/Requests/Api/Application/Servers/UpdateServerBuildConfigurationRequest.php +++ b/app/Http/Requests/Api/Application/Servers/UpdateServerBuildConfigurationRequest.php @@ -25,6 +25,7 @@ class UpdateServerBuildConfigurationRequest extends ServerWriteRequest 'limits.swap' => $this->requiredToOptional('swap', $rules['swap'], true), 'limits.io' => $this->requiredToOptional('io', $rules['io'], true), 'limits.cpu' => $this->requiredToOptional('cpu', $rules['cpu'], true), + 'limits.threads' => $this->requiredToOptional('threads', $rules['threads'], true), 'limits.disk' => $this->requiredToOptional('disk', $rules['disk'], true), // Legacy rules to maintain backwards compatable API support without requiring @@ -35,6 +36,7 @@ class UpdateServerBuildConfigurationRequest extends ServerWriteRequest 'swap' => $this->requiredToOptional('swap', $rules['swap']), 'io' => $this->requiredToOptional('io', $rules['io']), 'cpu' => $this->requiredToOptional('cpu', $rules['cpu']), + 'threads' => $this->requiredToOptional('threads', $rules['threads']), 'disk' => $this->requiredToOptional('disk', $rules['disk']), 'add_allocations' => 'bail|array', diff --git a/app/Services/Servers/BuildModificationService.php b/app/Services/Servers/BuildModificationService.php index 0e3085dc..0a010b54 100644 --- a/app/Services/Servers/BuildModificationService.php +++ b/app/Services/Servers/BuildModificationService.php @@ -98,6 +98,7 @@ class BuildModificationService 'swap' => array_get($data, 'swap'), 'io' => array_get($data, 'io'), 'cpu' => array_get($data, 'cpu'), + 'threads' => array_get($data, 'threads'), 'disk' => array_get($data, 'disk'), 'allocation_id' => array_get($data, 'allocation_id'), 'database_limit' => array_get($data, 'database_limit'), diff --git a/app/Services/Servers/ServerConfigurationStructureService.php b/app/Services/Servers/ServerConfigurationStructureService.php index 9984e3a9..91955892 100644 --- a/app/Services/Servers/ServerConfigurationStructureService.php +++ b/app/Services/Servers/ServerConfigurationStructureService.php @@ -81,6 +81,7 @@ class ServerConfigurationStructureService 'swap' => $server->swap, 'io_weight' => $server->io, 'cpu_limit' => $server->cpu, + 'cpu_threads' => $server->threads, 'disk_space' => $server->disk, ], 'service' => [ @@ -130,6 +131,7 @@ class ServerConfigurationStructureService 'swap' => (int) $server->swap, 'io' => (int) $server->io, 'cpu' => (int) $server->cpu, + 'threads' => $server->threads, 'disk' => (int) $server->disk, 'image' => $server->image, ], diff --git a/app/Services/Servers/ServerCreationService.php b/app/Services/Servers/ServerCreationService.php index 9cc1535a..b7b6fdb2 100644 --- a/app/Services/Servers/ServerCreationService.php +++ b/app/Services/Servers/ServerCreationService.php @@ -242,6 +242,7 @@ class ServerCreationService 'disk' => Arr::get($data, 'disk'), 'io' => Arr::get($data, 'io'), 'cpu' => Arr::get($data, 'cpu'), + 'threads' => Arr::get($data, 'threads'), 'oom_disabled' => Arr::get($data, 'oom_disabled', true), 'allocation_id' => Arr::get($data, 'allocation_id'), 'nest_id' => Arr::get($data, 'nest_id'), diff --git a/resources/views/admin/servers/new.blade.php b/resources/views/admin/servers/new.blade.php index f2efc2ce..6edf9f72 100644 --- a/resources/views/admin/servers/new.blade.php +++ b/resources/views/admin/servers/new.blade.php @@ -160,6 +160,13 @@ % +
+ +
+ + +
+
diff --git a/resources/views/admin/servers/view/build.blade.php b/resources/views/admin/servers/view/build.blade.php index b28f324b..14c605ae 100644 --- a/resources/views/admin/servers/view/build.blade.php +++ b/resources/views/admin/servers/view/build.blade.php @@ -26,7 +26,7 @@
-

System Resources

+

Resource Management

@@ -53,6 +53,13 @@

Each physical core on the system is considered to be 100%. Setting this value to 0 will allow a server to use CPU time without restrictions.

+
+ +
+ + +
+
diff --git a/resources/views/admin/servers/view/index.blade.php b/resources/views/admin/servers/view/index.blade.php index 3d75d4f4..c80d90cf 100644 --- a/resources/views/admin/servers/view/index.blade.php +++ b/resources/views/admin/servers/view/index.blade.php @@ -73,6 +73,10 @@ CPU Limit {{ $server->cpu }}% + + CPU Threads + {{ $server->threads }} + Default Connection {{ $server->allocation->ip }}:{{ $server->allocation->port }} From b351c07d34896f56795d1969f1819eee30c313f2 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Sun, 29 Mar 2020 16:55:06 -0400 Subject: [PATCH 2/4] Fix server transformer Properly pass the value to wings --- app/Models/Server.php | 2 ++ app/Services/Servers/ServerConfigurationStructureService.php | 2 +- app/Transformers/Api/Application/ServerTransformer.php | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Models/Server.php b/app/Models/Server.php index 9bdb19ff..0ccd0080 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -105,6 +105,7 @@ class Server extends Validable 'swap' => 'required|numeric|min:-1', 'io' => 'required|numeric|between:10,1000', 'cpu' => 'required|numeric|min:0', + 'threads' => 'present|nullable|regex:/^([\d-,]+)$/', 'oom_disabled' => 'sometimes|boolean', 'disk' => 'required|numeric|min:0', 'allocation_id' => 'required|bail|unique:servers|exists:allocations,id', @@ -134,6 +135,7 @@ class Server extends Validable 'disk' => 'integer', 'io' => 'integer', 'cpu' => 'integer', + 'threads' => 'string', 'oom_disabled' => 'boolean', 'allocation_id' => 'integer', 'nest_id' => 'integer', diff --git a/app/Services/Servers/ServerConfigurationStructureService.php b/app/Services/Servers/ServerConfigurationStructureService.php index 91955892..69950b23 100644 --- a/app/Services/Servers/ServerConfigurationStructureService.php +++ b/app/Services/Servers/ServerConfigurationStructureService.php @@ -81,7 +81,7 @@ class ServerConfigurationStructureService 'swap' => $server->swap, 'io_weight' => $server->io, 'cpu_limit' => $server->cpu, - 'cpu_threads' => $server->threads, + 'threads' => $server->threads, 'disk_space' => $server->disk, ], 'service' => [ diff --git a/app/Transformers/Api/Application/ServerTransformer.php b/app/Transformers/Api/Application/ServerTransformer.php index 70dc185d..4fb31212 100644 --- a/app/Transformers/Api/Application/ServerTransformer.php +++ b/app/Transformers/Api/Application/ServerTransformer.php @@ -75,6 +75,7 @@ class ServerTransformer extends BaseTransformer 'disk' => $server->disk, 'io' => $server->io, 'cpu' => $server->cpu, + 'threads' => $server->threads, ], 'feature_limits' => [ 'databases' => $server->database_limit, From 5f90e5f1048ab20a2d2b24c54649eda48f4857a6 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Sun, 29 Mar 2020 17:00:50 -0400 Subject: [PATCH 3/4] Update Server.php Fails rules, will look at later in time. --- app/Models/Server.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/Models/Server.php b/app/Models/Server.php index 0ccd0080..9bdb19ff 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -105,7 +105,6 @@ class Server extends Validable 'swap' => 'required|numeric|min:-1', 'io' => 'required|numeric|between:10,1000', 'cpu' => 'required|numeric|min:0', - 'threads' => 'present|nullable|regex:/^([\d-,]+)$/', 'oom_disabled' => 'sometimes|boolean', 'disk' => 'required|numeric|min:0', 'allocation_id' => 'required|bail|unique:servers|exists:allocations,id', @@ -135,7 +134,6 @@ class Server extends Validable 'disk' => 'integer', 'io' => 'integer', 'cpu' => 'integer', - 'threads' => 'string', 'oom_disabled' => 'boolean', 'allocation_id' => 'integer', 'nest_id' => 'integer', From 71292a764269e15ef1f40778f4f63a1656304326 Mon Sep 17 00:00:00 2001 From: AreYouScared Date: Sun, 29 Mar 2020 17:12:35 -0400 Subject: [PATCH 4/4] Respond with thread limit Retrun the cpu threads in the api resposne --- resources/scripts/api/server/getServer.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/scripts/api/server/getServer.ts b/resources/scripts/api/server/getServer.ts index d3c81cef..31e70fcc 100644 --- a/resources/scripts/api/server/getServer.ts +++ b/resources/scripts/api/server/getServer.ts @@ -24,6 +24,7 @@ export interface Server { disk: number; io: number; cpu: number; + threads: string; }; featureLimits: { databases: number;