コード例 #1
0
ファイル: viewsets.py プロジェクト: awcrosby/pulp_ansible
    def sync(self, request, pk):
        """
        Dispatches a sync task.
        """
        repository = self.get_object()
        serializer = RepositorySyncURLSerializer(
            data=request.data, context={"request": request, "repository_pk": repository.pk}
        )
        serializer.is_valid(raise_exception=True)

        remote = serializer.validated_data.get("remote")
        remote.cast()

        if isinstance(remote, RoleRemote):
            sync_func = role_sync
        elif isinstance(remote, CollectionRemote):
            sync_func = collection_sync

        mirror = serializer.validated_data.get("mirror", False)
        result = enqueue_with_reservation(
            sync_func,
            [repository, remote],
            kwargs={"remote_pk": remote.pk, "repository_pk": repository.pk, "mirror": mirror},
        )
        return OperationPostponedResponse(result, request)
コード例 #2
0
    def sync(self, request, pk):
        """
        Synchronizes a repository.

        The ``repository`` field has to be provided.
        """
        serializer = RepositorySyncURLSerializer(data=request.data,
                                                 context={
                                                     "request": request,
                                                     "repository_pk": pk
                                                 })
        serializer.is_valid(raise_exception=True)

        repository = self.get_object()
        remote = serializer.validated_data.get("remote", repository.remote)

        mirror = serializer.validated_data.get("mirror", False)
        result = dispatch(
            tasks.synchronize,
            [repository, remote],
            kwargs={
                "remote_pk": str(remote.pk),
                "repository_pk": str(repository.pk),
                "mirror": mirror,
            },
        )
        return OperationPostponedResponse(result, request)
コード例 #3
0
    def sync(self, request, pk):
        """
        <!-- User-facing documentation, rendered as html-->
        Trigger an asynchronous task to sync python content. The sync task will retrieve Python
        content from the specified `Remote` and " update the specified `Respository`, creating a
        new  `RepositoryVersion`.
        """
        repository = self.get_object()
        serializer = RepositorySyncURLSerializer(
            data=request.data,
            context={'request': request}
        )
        serializer.is_valid(raise_exception=True)
        remote = serializer.validated_data.get('remote')
        mirror = serializer.validated_data.get('mirror')

        result = enqueue_with_reservation(
            tasks.sync,
            [repository, remote],
            kwargs={
                'remote_pk': remote.pk,
                'repository_pk': repository.pk,
                'mirror': mirror
            }
        )
        return core_viewsets.OperationPostponedResponse(result, request)
コード例 #4
0
ファイル: repository.py プロジェクト: ggainey/pulp_deb
    def sync(self, request, pk):
        """
        Dispatches a sync task.
        """
        repository = self.get_object()
        serializer = RepositorySyncURLSerializer(data=request.data,
                                                 context={
                                                     "request": request,
                                                     "repository_pk": pk
                                                 })

        # Validate synchronously to return 400 errors.
        serializer.is_valid(raise_exception=True)
        remote = serializer.validated_data.get("remote", repository.remote)
        mirror = serializer.validated_data.get("mirror", True)

        result = dispatch(
            func=tasks.synchronize,
            exclusive_resources=[repository],
            shared_resources=[remote],
            kwargs={
                "remote_pk": remote.pk,
                "repository_pk": repository.pk,
                "mirror": mirror,
            },
        )
        return OperationPostponedResponse(result, request)
コード例 #5
0
    def sync(self, request, pk):
        """
        Synchronizes a repository. The ``repository`` field has to be provided.
        """
        repository = self.get_object()
        serializer = RepositorySyncURLSerializer(
            data=request.data,
            context={'request': request}
        )

        # Validate synchronously to return 400 errors.
        serializer.is_valid(raise_exception=True)
        remote = serializer.validated_data.get('remote')
        mirror = serializer.validated_data.get('mirror')

        result = enqueue_with_reservation(
            tasks.synchronize,
            [repository, remote],
            kwargs={
                'remote_pk': remote.pk,
                'repository_pk': repository.pk,
                'mirror': mirror
            }
        )
        return OperationPostponedResponse(result, request)
コード例 #6
0
ファイル: viewsets.py プロジェクト: pulp/pulp_python
    def sync(self, request, pk):
        """
        <!-- User-facing documentation, rendered as html-->
        Trigger an asynchronous task to sync python content. The sync task will retrieve Python
        content from the specified `Remote` and " update the specified `Respository`, creating a
        new  `RepositoryVersion`.
        """
        remote = self.get_object()
        serializer = RepositorySyncURLSerializer(
            data=request.data,
            context={'request': request}
        )
        serializer.is_valid(raise_exception=True)
        repository = serializer.validated_data.get('repository')
        mirror = serializer.validated_data.get('mirror')

        result = enqueue_with_reservation(
            tasks.sync,
            [repository, remote],
            kwargs={
                'remote_pk': remote.pk,
                'repository_pk': repository.pk,
                'mirror': mirror
            }
        )
        return platform.OperationPostponedResponse(result, request)
コード例 #7
0
 def sync(self, request, pk):
     """
     Synchronizes a repository. The ``repository`` field has to be provided.
     """
     remote = self.get_object()
     serializer = RepositorySyncURLSerializer(data=request.data, context={"request": request})
     serializer.is_valid(raise_exception=True)
     repository = serializer.validated_data.get("repository")
     mirror = serializer.validated_data["mirror"]
     result = enqueue_with_reservation(
         tasks.synchronize,
         [repository, remote],
         kwargs={"remote_pk": remote.pk, "repository_pk": repository.pk, "mirror": mirror},
     )
     return OperationPostponedResponse(result, request)
コード例 #8
0
ファイル: viewsets.py プロジェクト: Ichimonji10/pulp_ansible
 def sync(self, request, pk):
     """
     Dispatches a sync task.
     """
     remote = self.get_object()
     serializer = RepositorySyncURLSerializer(data=request.data,
                                              context={'request': request})
     serializer.is_valid(raise_exception=True)
     repository = serializer.validated_data.get('repository')
     result = enqueue_with_reservation(tasks.synchronize,
                                       [repository, remote],
                                       kwargs={
                                           'remote_pk': remote.pk,
                                           'repository_pk': repository.pk
                                       })
     return OperationPostponedResponse(result, request)
コード例 #9
0
    def sync(self, request, pk):
        """
        Dispatches a sync task.
        """
        repository = self.get_object()
        serializer = RepositorySyncURLSerializer(data=request.data, context={"request": request})

        # Validate synchronously to return 400 errors.
        serializer.is_valid(raise_exception=True)
        remote = serializer.validated_data.get("remote")
        mirror = serializer.validated_data.get("mirror", True)

        result = enqueue_with_reservation(
            tasks.synchronize,
            [repository, remote],
            kwargs={"remote_pk": remote.pk, "repository_pk": repository.pk, "mirror": mirror},
        )
        return OperationPostponedResponse(result, request)
コード例 #10
0
ファイル: viewsets.py プロジェクト: mikedep333/pulp_ansible
    def sync(self, request, pk):
        """
        Dispatches a Collection sync task.
        """
        collection_remote = self.get_object()
        serializer = RepositorySyncURLSerializer(data=request.data, context={"request": request})
        serializer.is_valid(raise_exception=True)
        repository = serializer.validated_data.get("repository")
        mirror = serializer.validated_data.get("mirror", False)
        kwargs = {
            "remote_pk": collection_remote.pk,
            "repository_pk": repository.pk,
            "mirror": mirror,
        }

        result = enqueue_with_reservation(
            collection_sync, [repository, collection_remote], kwargs=kwargs
        )
        return OperationPostponedResponse(result, request)
コード例 #11
0
ファイル: viewsets.py プロジェクト: pulp/pulp_docker
    def sync(self, request, pk):
        """
        Synchronizes a repository. The ``repository`` field has to be provided.
        """
        remote = self.get_object()
        serializer = RepositorySyncURLSerializer(data=request.data, context={'request': request})

        # Validate synchronously to return 400 errors.
        serializer.is_valid(raise_exception=True)
        repository = serializer.validated_data.get('repository')
        result = enqueue_with_reservation(
            tasks.synchronize,
            [repository, remote],
            kwargs={
                'remote_pk': remote.pk,
                'repository_pk': repository.pk
            }
        )
        return OperationPostponedResponse(result, request)
コード例 #12
0
ファイル: viewsets.py プロジェクト: pulp/pulp_npm
    def sync(self, request, pk):
        """
        Dispatches a sync task.
        """
        repository = self.get_object()
        serializer = RepositorySyncURLSerializer(data=request.data,
                                                 context={"request": request})
        serializer.is_valid(raise_exception=True)
        remote = serializer.validated_data.get("remote")

        result = dispatch(
            tasks.synchronize,
            kwargs={
                "remote_pk": remote.pk,
                "repository_pk": repository.pk
            },
            exclusive_resources=[repository],
            shared_resources=[remote],
        )
        return core.OperationPostponedResponse(result, request)
コード例 #13
0
ファイル: viewsets.py プロジェクト: Ichimonji10/pulp_rpm
    def synchronize(self, request, pk):
        """
        Dispatches a sync task.
        """
        remote = self.get_object()
        serializer = RepositorySyncURLSerializer(
            data=request.data,
            context={'request': request}
        )
        serializer.is_valid(raise_exception=True)
        repository = serializer.validated_data.get('repository')

        result = enqueue_with_reservation(
            tasks.synchronize,
            [repository, remote],
            kwargs={
                'remote_pk': remote.pk,
                'repository_pk': repository.pk
            }
        )
        return OperationPostponedResponse(result, request)