Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
b2c52fbb
Commit
b2c52fbb
authored
Jan 26, 2024
by
Alain Takoudjou
Browse files
Options
Browse Files
Download
Plain Diff
software/gitlab: allow to set parameter for unicorn worker amount
See merge request
nexedi/slapos!1524
parents
ae49c870
9154c141
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
29 deletions
+30
-29
software/gitlab/buildout.hash.cfg
software/gitlab/buildout.hash.cfg
+3
-3
software/gitlab/gitlab-parameters.cfg
software/gitlab/gitlab-parameters.cfg
+1
-1
software/gitlab/instance-gitlab.cfg.in
software/gitlab/instance-gitlab.cfg.in
+18
-2
software/gitlab/instance.cfg.in
software/gitlab/instance.cfg.in
+0
-15
software/theia/test/project_tests.py
software/theia/test/project_tests.py
+8
-8
No files found.
software/gitlab/buildout.hash.cfg
View file @
b2c52fbb
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
# not need these here).
# not need these here).
[instance.cfg]
[instance.cfg]
filename = instance.cfg.in
filename = instance.cfg.in
md5sum =
ebec7b64a89ef531e532a9d2b0583c0a
md5sum =
d1ca30a1b910b6b775f4f95bd91123a6
[watcher]
[watcher]
_update_hash_filename_ = watcher.in
_update_hash_filename_ = watcher.in
...
@@ -34,7 +34,7 @@ md5sum = eb1230fee50067924ba89f4dc6e82fa9
...
@@ -34,7 +34,7 @@ md5sum = eb1230fee50067924ba89f4dc6e82fa9
[gitlab-parameters.cfg]
[gitlab-parameters.cfg]
_update_hash_filename_ = gitlab-parameters.cfg
_update_hash_filename_ = gitlab-parameters.cfg
md5sum = c
2e23c0f7baa1633df0436ca4e728424
md5sum = c
fda6d959bb90bf0b9c947383f45ce0a
[gitlab-shell-config.yml.in]
[gitlab-shell-config.yml.in]
_update_hash_filename_ = template/gitlab-shell-config.yml.in
_update_hash_filename_ = template/gitlab-shell-config.yml.in
...
@@ -54,7 +54,7 @@ md5sum = 58e3d5bbda32583d00cd8f44ec0525b0
...
@@ -54,7 +54,7 @@ md5sum = 58e3d5bbda32583d00cd8f44ec0525b0
[instance-gitlab.cfg.in]
[instance-gitlab.cfg.in]
_update_hash_filename_ = instance-gitlab.cfg.in
_update_hash_filename_ = instance-gitlab.cfg.in
md5sum =
51e85c1e8e77bd7a872a9ddb3fabb89
3
md5sum =
9303fa3912e6eaea04add760b55521f
3
[instance-gitlab-export.cfg.in]
[instance-gitlab-export.cfg.in]
_update_hash_filename_ = instance-gitlab-export.cfg.in
_update_hash_filename_ = instance-gitlab-export.cfg.in
...
...
software/gitlab/gitlab-parameters.cfg
View file @
b2c52fbb
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
# (last updated for omnibus-gitlab 8.8.9+ce.0-g25376053)
# (last updated for omnibus-gitlab 8.8.9+ce.0-g25376053)
[gitlab-parameters]
[gitlab-parameters]
configuration.external_url = http://lab.example.com
configuration.external_url = http
s
://lab.example.com
# db advanced
# db advanced
configuration.db_pool = 10
configuration.db_pool = 10
...
...
software/gitlab/instance-gitlab.cfg.in
View file @
b2c52fbb
...
@@ -49,16 +49,32 @@ offline = true
...
@@ -49,16 +49,32 @@ offline = true
# GitLab instance parameters #
# GitLab instance parameters #
##################################
##################################
[worker-processes]
recipe = slapos.recipe.build
unicorn-worker-processes = {{ instance_parameter_dict['configuration.unicorn_worker_processes'] }}
init =
import multiprocessing
worker_count = int(options['unicorn-worker-processes'])
if worker_count == 0:
# automatically load all available CPUs
worker_count = multiprocessing.cpu_count() + 1
worker_count = 2 if worker_count < 2 else worker_count
options['unicorn-worker-processes'] = worker_count
options['nginx-worker-processes'] = worker_count -1
[instance-parameter]
[instance-parameter]
{#- There are dangerous keys like recipe, etc #}
{#- There are dangerous keys like recipe, etc #}
{#- XXX: Some other approach would be useful #}
{#- XXX: Some other approach would be useful #}
{%- set DROP_KEY_LIST = ['recipe', '__buildout_signature__', 'computer', 'partition', 'url', 'key', 'cert'] %}
{%- set DROP_KEY_LIST = ['recipe', '__buildout_signature__', 'computer', 'partition', 'url', 'key', 'cert',
'configuration.unicorn_worker_processes', 'configuration.nginx_worker_processes'] %}
{%- for key, value in instance_parameter_dict.items() -%}
{%- for key, value in instance_parameter_dict.items() -%}
{%- if key not in DROP_KEY_LIST %}
{%- if key not in DROP_KEY_LIST %}
{{ key }} = {{ value }}
{{ key }} = {{ value }}
{%- endif -%}
{%- endif -%}
{%- endfor %}
{%- endfor %}
# settings for worker processes:
configuration.unicorn_worker_processes = ${worker-processes:unicorn-worker-processes}
configuration.nginx_worker_processes = ${worker-processes:nginx-worker-processes}
# for convenience
# for convenience
...
...
software/gitlab/instance.cfg.in
View file @
b2c52fbb
...
@@ -19,16 +19,6 @@ RootSoftwareInstance = $${:gitlab}
...
@@ -19,16 +19,6 @@ RootSoftwareInstance = $${:gitlab}
# TODO -import, -pull-backup
# TODO -import, -pull-backup
[worker-processes]
recipe = slapos.recipe.build
init =
import multiprocessing
cpu_count = multiprocessing.cpu_count()
# automatically load all available CPUs
options['unicorn-worker-processes'] = cpu_count + 1
options['nginx-worker-processes'] = cpu_count
[slap-configuration]
[slap-configuration]
# std stuff to fetch slapos instance parameters
# std stuff to fetch slapos instance parameters
recipe = slapos.cookbook:slapconfiguration
recipe = slapos.cookbook:slapconfiguration
...
@@ -41,11 +31,6 @@ cert = $${slap-connection:cert-file}
...
@@ -41,11 +31,6 @@ cert = $${slap-connection:cert-file}
# autogenerated gitlab instance parameters
# autogenerated gitlab instance parameters
<= gitlab-parameters
<= gitlab-parameters
# adjust/override some default settings:
configuration.unicorn_worker_processes = $${worker-processes:unicorn-worker-processes}
configuration.nginx_worker_processes = $${worker-processes:nginx-worker-processes}
# gitlab non-native parameters
# gitlab non-native parameters
configuration.icp_license =
configuration.icp_license =
...
...
software/theia/test/project_tests.py
View file @
b2c52fbb
...
@@ -520,17 +520,17 @@ class TestTheiaResilienceGitlab(test_resiliency.TestTheiaResilience):
...
@@ -520,17 +520,17 @@ class TestTheiaResilienceGitlab(test_resiliency.TestTheiaResilience):
# The project name is sample-test, which we created above.
# The project name is sample-test, which we created above.
self
.
assertIn
(
"sample-test"
,
projects
[
0
][
'name_with_namespace'
])
self
.
assertIn
(
"sample-test"
,
projects
[
0
][
'name_with_namespace'
])
# Get repo url, default one is http://lab.example.com/root/sample-test.git
# Get repo url, default one is http
s
://lab.example.com/root/sample-test.git
# We need the path like http://[2001:67c:1254:e:c4::5041]:7777/root/sample-test
# We need the path like http
s
://[2001:67c:1254:e:c4::5041]:7777/root/sample-test
project_1
=
projects
[
0
]
project_1
=
projects
[
0
]
repo_url
=
backend_url
.
replace
(
"http://"
,
""
)
+
"/"
+
project_1
[
'path_with_namespace'
]
repo_url
=
backend_url
.
replace
(
"http
s
://"
,
""
)
+
"/"
+
project_1
[
'path_with_namespace'
]
# Clone the repo with token
# Clone the repo with token
clone_url
=
'http://oauth2:'
+
'SLurtnxPscPsU-SDm4oN@'
+
repo_url
clone_url
=
'http
s
://oauth2:'
+
'SLurtnxPscPsU-SDm4oN@'
+
repo_url
repo_path
=
os
.
path
.
join
(
os
.
getcwd
(),
project_1
[
'name'
])
repo_path
=
os
.
path
.
join
(
os
.
getcwd
(),
project_1
[
'name'
])
print
(
repo_path
)
print
(
repo_path
)
if
os
.
path
.
exists
(
repo_path
):
if
os
.
path
.
exists
(
repo_path
):
shutil
.
rmtree
(
repo_path
,
ignore_errors
=
True
)
shutil
.
rmtree
(
repo_path
,
ignore_errors
=
True
)
output
=
subprocess
.
check_output
((
'git'
,
'clone'
,
clone_url
),
universal_newlines
=
True
)
output
=
subprocess
.
check_output
((
'git'
,
'clone'
,
'-c'
,
'http.sslVerify=false'
,
clone_url
),
universal_newlines
=
True
)
# Create a new file and push the commit
# Create a new file and push the commit
f
=
open
(
os
.
path
.
join
(
repo_path
,
'file.txt'
),
'x'
)
f
=
open
(
os
.
path
.
join
(
repo_path
,
'file.txt'
),
'x'
)
...
@@ -566,7 +566,7 @@ class TestTheiaResilienceGitlab(test_resiliency.TestTheiaResilience):
...
@@ -566,7 +566,7 @@ class TestTheiaResilienceGitlab(test_resiliency.TestTheiaResilience):
print
(
repo_path
)
print
(
repo_path
)
if
os
.
path
.
exists
(
repo_path
):
if
os
.
path
.
exists
(
repo_path
):
shutil
.
rmtree
(
repo_path
,
ignore_errors
=
True
)
shutil
.
rmtree
(
repo_path
,
ignore_errors
=
True
)
output
=
subprocess
.
check_output
((
'git'
,
'clone'
,
clone_url
),
universal_newlines
=
True
)
output
=
subprocess
.
check_output
((
'git'
,
'clone'
,
'-c'
,
'http.sslVerify=false'
,
clone_url
),
universal_newlines
=
True
)
# Check the file we committed in exist and the content is matching.
# Check the file we committed in exist and the content is matching.
output
=
subprocess
.
check_output
((
'git'
,
'show'
,
'origin/master:file.txt'
),
cwd
=
repo_path
,
universal_newlines
=
True
)
output
=
subprocess
.
check_output
((
'git'
,
'show'
,
'origin/master:file.txt'
),
cwd
=
repo_path
,
universal_newlines
=
True
)
...
@@ -596,8 +596,8 @@ class TestTheiaResilienceGitlab(test_resiliency.TestTheiaResilience):
...
@@ -596,8 +596,8 @@ class TestTheiaResilienceGitlab(test_resiliency.TestTheiaResilience):
# The project name is sample-test, which we created above.
# The project name is sample-test, which we created above.
self
.
assertIn
(
"sample-test"
,
projects
[
0
][
'name_with_namespace'
])
self
.
assertIn
(
"sample-test"
,
projects
[
0
][
'name_with_namespace'
])
project_1
=
projects
[
0
]
project_1
=
projects
[
0
]
repo_url
=
backend_url
.
replace
(
"http://"
,
""
)
+
"/"
+
project_1
[
'path_with_namespace'
]
repo_url
=
backend_url
.
replace
(
"http
s
://"
,
""
)
+
"/"
+
project_1
[
'path_with_namespace'
]
clone_url
=
'http://oauth2:'
+
'SLurtnxPscPsU-SDm4oN@'
+
repo_url
clone_url
=
'http
s
://oauth2:'
+
'SLurtnxPscPsU-SDm4oN@'
+
repo_url
repo_path
=
os
.
path
.
join
(
os
.
getcwd
(),
project_1
[
'name'
])
repo_path
=
os
.
path
.
join
(
os
.
getcwd
(),
project_1
[
'name'
])
# Check the file we committed in the original theia is exist and the content is matching.
# Check the file we committed in the original theia is exist and the content is matching.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment