Project

General

Profile

Actions

Bug #32223

closed

Unable to synchronize any repository

Added by Jorge Peinado about 3 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Fixed in Releases:
Found in Releases:

Description

Hello

I have the following persistent exception when trying to synchroinize any repository on my Foreman ( see below ).
I'm sorry if this is a duplcate one, I was unable to find any exact match on the issues database.
Please close it if it's a duplicate.

Thanks,
Jorge

Mar 29 17:12:36 satellite pulpcore-api1418: - - [29/Mar/2021:15:12:36 +0000] "GET /pulp/api/v3/status HTTP/1.1" 301 0 "-" "rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.5p157"
Mar 29 17:12:36 satellite pulpcore-api1418: - - [29/Mar/2021:15:12:36 +0000] "GET /pulp/api/v3/status/ HTTP/1.1" 200 1680 "-" "rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.5p157"
Mar 29 17:12:36 satellite pulpcore-worker-31411: pulp: rq.worker:INFO: Cleaning registries for queue:
Mar 29 17:12:36 satellite pulpcore-worker-41402: pulp: rq.worker:INFO: Cleaning registries for queue:
Mar 29 17:12:36 satellite pulpcore-worker-11413: pulp: rq.worker:INFO: Cleaning registries for queue:
Mar 29 17:12:36 satellite pulpcore-resource-manager1409: pulp: rq.worker:INFO: Cleaning registries for queue: resource-manager
Mar 29 17:12:37 satellite pulpcore-api1418: pulp: django.request:ERROR: Internal Server Error: /pulp/api/v3/repositories/rpm/rpm/d6fabe4d-5b53-46a3-8242-777507915d4a/sync/
Mar 29 17:12:37 satellite pulpcore-api1418: Traceback (most recent call last):
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self.cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: psycopg2.errors.UndefinedColumn: column rpm_rpmrepository.last_sync_repomd_checksum does not exist
Mar 29 17:12:37 satellite pulpcore-api1418: LINE 1: ...d", "rpm_rpmrepository"."last_sync_repo_version", "rpm_rpmre...
Mar 29 17:12:37 satellite pulpcore-api1418: ^
Mar 29 17:12:37 satellite pulpcore-api1418: The above exception was the direct cause of the following exception:
Mar 29 17:12:37 satellite pulpcore-api1418: Traceback (most recent call last):
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
Mar 29 17:12:37 satellite pulpcore-api1418: response = get_response(request)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
Mar 29 17:12:37 satellite pulpcore-api1418: response = self.process_exception_by_middleware(e, request)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
Mar 29 17:12:37 satellite pulpcore-api1418: response = wrapped_callback(request, callback_args, **callback_kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
Mar 29 17:12:37 satellite pulpcore-api1418: return view_func(*args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
Mar 29 17:12:37 satellite pulpcore-api1418: return self.dispatch(request, *args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch
Mar 29 17:12:37 satellite pulpcore-api1418: response = self.handle_exception(exc)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception
Mar 29 17:12:37 satellite pulpcore-api1418: self.raise_uncaught_exception(exc)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
Mar 29 17:12:37 satellite pulpcore-api1418: raise exc
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 502, in dispatch
Mar 29 17:12:37 satellite pulpcore-api1418: response = handler(request, *args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/pulp_rpm/app/viewsets.py", line 123, in sync
Mar 29 17:12:37 satellite pulpcore-api1418: repository = self.get_object()
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/generics.py", line 96, in get_object
Mar 29 17:12:37 satellite pulpcore-api1418: obj = get_object_or_404(queryset, **filter_kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/generics.py", line 19, in get_object_or_404
Mar 29 17:12:37 satellite pulpcore-api1418: return _get_object_or_404(queryset, *filter_args, **filter_kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/shortcuts.py", line 93, in get_object_or_404
Mar 29 17:12:37 satellite pulpcore-api1418: return queryset.get(*args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
Mar 29 17:12:37 satellite pulpcore-api1418: num = len(clone)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in len
Mar 29 17:12:37 satellite pulpcore-api1418: self._fetch_all()
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
Mar 29 17:12:37 satellite pulpcore-api1418: self._result_cache = list(self._iterable_class(self))
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in iter
Mar 29 17:12:37 satellite pulpcore-api1418: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
Mar 29 17:12:37 satellite pulpcore-api1418: cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
Mar 29 17:12:37 satellite pulpcore-api1418: return executor(sql, params, many, context)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self.cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in exit
Mar 29 17:12:37 satellite pulpcore-api1418: raise dj_exc_value.with_traceback(traceback) from exc_value
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self.cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: django.db.utils.ProgrammingError: column rpm_rpmrepository.last_sync_repomd_checksum does not exist
Mar 29 17:12:37 satellite pulpcore-api1418: LINE 1: ...d", "rpm_rpmrepository"."last_sync_repo_version", "rpm_rpmre...
Mar 29 17:12:37 satellite pulpcore-api1418: ^
Mar 29 17:12:37 satellite pulpcore-api1418: - - [29/Mar/2021:15:12:37 +0000] "POST /pulp/api/v3/repositories/rpm/rpm/d6fabe4d-5b53-46a3-8242-777507915d4a/sync/ HTTP/1.1" 500 27 "-" "OpenAPI-Generator/3.9.0/ruby"
Mar 29 17:12:37 satellite pulpcore-worker-21412: pulp: rq.worker:INFO: Cleaning registries for queue:
Mar 29 17:12:37 satellite pulpcore-api1418: pulp: django.request:ERROR: Internal Server Error: /pulp/api/v3/distributions/rpm/rpm/018d1002-b38c-4c06-af04-fc0b0b175c76/
Mar 29 17:12:37 satellite pulpcore-api1418: Traceback (most recent call last):
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 393, in get
Mar 29 17:12:37 satellite pulpcore-api1418: rel_obj = self.related.get_cached_value(instance)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/fields/mixins.py", line 13, in get_cached_value
Mar 29 17:12:37 satellite pulpcore-api1418: return instance._state.fields_cache[cache_name]
Mar 29 17:12:37 satellite pulpcore-api1418: KeyError: 'rpm_rpmpublication'
Mar 29 17:12:37 satellite pulpcore-api1418: During handling of the above exception, another exception occurred:
Mar 29 17:12:37 satellite pulpcore-api1418: Traceback (most recent call last):
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self.cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: psycopg2.errors.UndefinedColumn: column rpm_rpmpublication.gpgcheck does not exist
Mar 29 17:12:37 satellite pulpcore-api1418: LINE 1: ...e", "rpm_rpmpublication"."package_checksum_type", "rpm_rpmpu...
Mar 29 17:12:37 satellite pulpcore-api1418: ^
Mar 29 17:12:37 satellite pulpcore-api1418: The above exception was the direct cause of the following exception:
Mar 29 17:12:37 satellite pulpcore-api1418: Traceback (most recent call last):
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
Mar 29 17:12:37 satellite pulpcore-api1418: response = get_response(request)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
Mar 29 17:12:37 satellite pulpcore-api1418: response = self.process_exception_by_middleware(e, request)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
Mar 29 17:12:37 satellite pulpcore-api1418: response = wrapped_callback(request, *callback_args, **callback_kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
Mar 29 17:12:37 satellite pulpcore-api1418: return view_func(*args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
Mar 29 17:12:37 satellite pulpcore-api1418: return self.dispatch(request, *args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch
Mar 29 17:12:37 satellite pulpcore-api1418: response = self.handle_exception(exc)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception
Mar 29 17:12:37 satellite pulpcore-api1418: self.raise_uncaught_exception(exc)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
Mar 29 17:12:37 satellite pulpcore-api1418: raise exc
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 502, in dispatch
Mar 29 17:12:37 satellite pulpcore-api1418: response = handler(request, *args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/pulpcore/app/viewsets/base.py", line 467, in partial_update
Mar 29 17:12:37 satellite pulpcore-api1418: return self.update(request, *args, **kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/pulpcore/app/viewsets/base.py", line 451, in update
Mar 29 17:12:37 satellite pulpcore-api1418: serializer.is_valid(raise_exception=True)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 234, in is_valid
Mar 29 17:12:37 satellite pulpcore-api1418: self._validated_data = self.run_validation(self.initial_data)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 433, in run_validation
Mar 29 17:12:37 satellite pulpcore-api1418: value = self.to_internal_value(data)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 490, in to_internal_value
Mar 29 17:12:37 satellite pulpcore-api1418: validated_value = field.run_validation(primitive_value)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/relations.py", line 153, in run_validation
Mar 29 17:12:37 satellite pulpcore-api1418: return super().run_validation(data)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/fields.py", line 565, in run_validation
Mar 29 17:12:37 satellite pulpcore-api1418: value = self.to_internal_value(data)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/rest_framework/relations.py", line 365, in to_internal_value
Mar 29 17:12:37 satellite pulpcore-api1418: return self.get_object(match.view_name, match.args, match.kwargs)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/pulpcore/app/serializers/base.py", line 235, in get_object
Mar 29 17:12:37 satellite pulpcore-api1418: return super().get_object(*args, **kwargs).cast()
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/pulpcore/app/models/base.py", line 136, in cast
Mar 29 17:12:37 satellite pulpcore-api1418: return getattr(self, rel.name).cast()
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py", line 401, in get
Mar 29 17:12:37 satellite pulpcore-api1418: rel_obj = self.get_queryset(instance=instance).get(
*filter_args)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 402, in get
Mar 29 17:12:37 satellite pulpcore-api1418: num = len(clone)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 256, in len
Mar 29 17:12:37 satellite pulpcore-api1418: self._fetch_all()
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
Mar 29 17:12:37 satellite pulpcore-api1418: self._result_cache = list(self._iterable_class(self))
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 55, in iter
Mar 29 17:12:37 satellite pulpcore-api1418: results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1142, in execute_sql
Mar 29 17:12:37 satellite pulpcore-api1418: cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
Mar 29 17:12:37 satellite pulpcore-api1418: return executor(sql, params, many, context)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self.cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/utils.py", line 89, in exit
Mar 29 17:12:37 satellite pulpcore-api1418: raise dj_exc_value.with_traceback(traceback) from exc_value
Mar 29 17:12:37 satellite pulpcore-api1418: File "/usr/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
Mar 29 17:12:37 satellite pulpcore-api1418: return self.cursor.execute(sql, params)
Mar 29 17:12:37 satellite pulpcore-api1418: django.db.utils.ProgrammingError: column rpm_rpmpublication.gpgcheck does not exist
Mar 29 17:12:37 satellite pulpcore-api1418: LINE 1: ...e", "rpm_rpmpublication"."package_checksum_type", "rpm_rpmpu...
Mar 29 17:12:37 satellite pulpcore-api1418: ^
Mar 29 17:12:37 satellite pulpcore-api1418: - - [29/Mar/2021:15:12:37 +0000] "PATCH /pulp/api/v3/distributions/rpm/rpm/018d1002-b38c-4c06-af04-fc0b0b175c76/ HTTP/1.1" 500 27 "-" "OpenAPI-Generator/3.9.0/ruby"
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: E, [2021-03-29T17:12:37.958483 #1538] ERROR -- /parallel-executor-core: Skipping step in skipped is not supported (RuntimeError)
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/execution_plan/steps/run_step.rb:43:in `mark_to_skip'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:330:in `each'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:330:in `skip'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:217:in `block in prepare_for_rescue'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:217:in `each'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/execution_plan.rb:217:in `prepare_for_rescue'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/director.rb:251:in `rescue!'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/director.rb:221:in `try_to_rescue'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/director.rb:214:in `unless_done'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/director.rb:177:in `work_finished'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/executors/abstract/core.rb:45:in `work_finished'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/executors/sidekiq/core.rb:71:in `work_finished'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: [ concurrent-ruby ]
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/executors/abstract/core.rb:113:in `on_message'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: [ concurrent-ruby ]
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/executors/sidekiq/orchestrator_jobs.rb:19:in `perform'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: /opt/theforeman/tfm/root/usr/share/gems/gems/dynflow-1.4.7/lib/dynflow/executors/sidekiq/serialization.rb:27:in `perform'
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: [ sidekiq ]
Mar 29 17:12:37 satellite dynflow-sidekiq@orchestrator1538: [ concurrent-ruby ]

Actions #1

Updated by Jorge Peinado about 3 years ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF