Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
Base Worker
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Workers
Base Worker
Commits
02322074
Commit
02322074
authored
2 years ago
by
Chaza Abdelwahab
Committed by
Yoann Schneider
2 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Resolve "Add a debug mode to base worker and allow upper workers to use it"
parent
038f464f
No related branches found
Branches containing commit
No related tags found
Tags containing commit
1 merge request
!174
Resolve "Add a debug mode to base worker and allow upper workers to use it"
Pipeline
#79273
passed
2 years ago
Stage: release
Stage: deploy
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
arkindex_worker/worker/base.py
+8
-2
8 additions, 2 deletions
arkindex_worker/worker/base.py
tests/test_base_worker.py
+46
-0
46 additions, 0 deletions
tests/test_base_worker.py
with
54 additions
and
2 deletions
arkindex_worker/worker/base.py
+
8
−
2
View file @
02322074
...
...
@@ -118,6 +118,7 @@ class BaseWorker(object):
self
.
parser
.
add_argument
(
"
-v
"
,
"
--verbose
"
,
"
--debug
"
,
help
=
"
Display more information on events and errors
"
,
action
=
"
store_true
"
,
default
=
False
,
...
...
@@ -138,8 +139,8 @@ class BaseWorker(object):
# CLI args are stored on the instance so that implementations can access them
self
.
args
=
self
.
parser
.
parse_args
()
# Setup logging level
if
self
.
args
.
verbose
:
# Setup logging level
if verbose or if ARKINDEX_DEBUG is set to true
if
self
.
args
.
verbose
or
os
.
environ
.
get
(
"
ARKINDEX_DEBUG
"
)
:
logger
.
setLevel
(
logging
.
DEBUG
)
logger
.
debug
(
"
Debug output enabled
"
)
...
...
@@ -210,6 +211,11 @@ class BaseWorker(object):
if
self
.
user_configuration
:
logger
.
info
(
"
Loaded user configuration from WorkerRun
"
)
# if debug mode is set to true activate debug mode in logger
if
self
.
user_configuration
and
self
.
user_configuration
.
get
(
"
debug
"
):
logger
.
setLevel
(
logging
.
DEBUG
)
logger
.
debug
(
"
Debug output enabled
"
)
task_id
=
os
.
environ
.
get
(
"
PONOS_TASK
"
)
paths
=
None
if
self
.
support_cache
and
self
.
args
.
database
is
not
None
:
...
...
This diff is collapsed.
Click to expand it.
tests/test_base_worker.py
+
46
−
0
View file @
02322074
...
...
@@ -119,6 +119,24 @@ def test_cli_arg_verbose_given(mocker, mock_config_api):
logger
.
setLevel
(
logging
.
NOTSET
)
def
test_cli_envvar_debug_given
(
mocker
,
monkeypatch
,
mock_config_api
):
worker
=
BaseWorker
()
assert
logger
.
level
==
logging
.
NOTSET
assert
not
hasattr
(
worker
,
"
api_client
"
)
mocker
.
patch
.
object
(
sys
,
"
argv
"
,
[
"
worker
"
])
monkeypatch
.
setenv
(
"
ARKINDEX_DEBUG
"
,
True
)
worker
.
configure
()
assert
logger
.
level
==
logging
.
DEBUG
assert
worker
.
api_client
assert
worker
.
worker_version_id
==
"
12341234-1234-1234-1234-123412341234
"
assert
worker
.
is_read_only
is
False
assert
worker
.
config
==
{
"
someKey
"
:
"
someValue
"
}
# from API
logger
.
setLevel
(
logging
.
NOTSET
)
def
test_configure_dev_mode
(
mocker
,
monkeypatch
,
mock_user_api
,
mock_worker_version_api
):
...
...
@@ -186,6 +204,34 @@ def test_configure_user_configuration_defaults(
}
@pytest.mark.parametrize
(
"
debug_dict
"
,
[{
"
debug
"
:
True
},
{
"
debug
"
:
False
}])
def
test_configure_user_config_debug
(
mocker
,
monkeypatch
,
responses
,
mock_config_api
,
debug_dict
):
worker
=
BaseWorker
()
mocker
.
patch
.
object
(
sys
,
"
argv
"
,
[
"
worker
"
])
run_id
=
"
aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
"
configuration_id
=
"
bbbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
"
monkeypatch
.
setenv
(
"
ARKINDEX_WORKER_RUN_ID
"
,
run_id
)
assert
logger
.
level
==
logging
.
NOTSET
responses
.
add
(
responses
.
GET
,
f
"
http://testserver/api/v1/imports/workers/
{
run_id
}
/
"
,
json
=
{
"
id
"
:
run_id
,
"
configuration_id
"
:
configuration_id
},
)
responses
.
add
(
responses
.
GET
,
f
"
http://testserver/api/v1/workers/configurations/
{
configuration_id
}
/
"
,
json
=
{
"
id
"
:
configuration_id
,
"
name
"
:
"
BBB
"
,
"
configuration
"
:
debug_dict
},
)
worker
.
configure
()
assert
worker
.
user_configuration
==
debug_dict
expected_log_level
=
logging
.
DEBUG
if
debug_dict
[
"
debug
"
]
else
logging
.
NOTSET
assert
logger
.
level
==
expected_log_level
logger
.
setLevel
(
logging
.
NOTSET
)
def
test_configure_worker_run_missing_conf
(
mocker
,
monkeypatch
,
responses
,
mock_config_api
):
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment