Synchronization¶
Sync a Repository¶
Syncs content into a repository from a feed source using the repository’s importer.
/pulp/api/v2/repositories/<repo_id>/actions/sync/
- override_config (object) - (optional) importer configuration values that override the importer’s default configuration for this sync
- 202 - if the sync is set to be executed
- 404 - if repo does not exist
Sample Request:
{
"override_config": {"verify_checksum": false,
"verify_size": false},
}
Tags:
The task created will have the following tags:
"pulp:action:sync", "pulp:repository:<repo_id>"
Download a Repository¶
Downloads content into a repository that was deferred at sync time. This is useful for
repositories with importers that are configured with download_policy=(background | on_demand)
.
Content that has already been downloaded will not be downloaded again.
Note
This API requires that the Alternate Download Policies features must be installed and configured to work. If it has not been configured, the task dispatched by this API does nothing.
/pulp/api/v2/repositories/<repo_id>/actions/download/
- verify_all_units (boolean) - (optional) check all units in the repository for corrupted or missing files and re-download files as necessary rather than just downloading files that are known to be missing (defaults to false)
- 202 - if the download is set to be executed
- 404 - if the repository does not exist
Sample Request:
{
"verify_all_units": false
}
Tags:
The task created will have the following tags:
"pulp:action:download_repo", "pulp:repository:<repo_id>"
Scheduling a Sync¶
A repository can be synced automatically using an iso8601 interval. To create a scheduled sync, the interval, sync override config, and other schedule options must be set on the repository’s importer.
/pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/
- schedule (string) - the schedule as an iso8601 interval
- override_config (object) - (optional) the overridden configuration for the importer to be used on the scheduled sync
- failure_threshold (number) - (optional) consecutive failures allowed before this scheduled sync is disabled
- enabled (boolean) - (optional) whether the scheduled sync is initially enabled (defaults to true)
- 201 - if the schedule was successfully created
- 400 - if one or more of the parameters are invalid
- 404 - if there is no repository or importer with the specified IDs
Sample Request:
{
"override_config": {},
"schedule": "00:00:00Z/P1DT",
"failure_threshold": 3,
}
Sample 201 Response Body:
{
"next_run": "2014-01-27T21:41:50Z",
"task": "pulp.server.tasks.repository.sync_with_auto_publish",
"last_updated": 1390858910.292712,
"first_run": "2014-01-27T21:41:50Z",
"schedule": "PT1H",
"args": [
"demo"
],
"enabled": true,
"last_run_at": null,
"_id": "52e6d29edd01fb70bd0d9c37",
"total_run_count": 0,
"failure_threshold": 3,
"kwargs": {
"overrides": {}
},
"resource": "pulp:importer:demo:puppet_importer",
"remaining_runs": null,
"consecutive_failures": 0,
"_href": "/pulp/api/v2/repositories/demo/importers/puppet_importer/schedules/sync/52e6d29edd01fb70bd0d9c37/"
}
Updating a Scheduled Sync¶
The same parameters used to create a scheduled sync may be updated at any point.
/pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/<schedule_id>/
- schedule (string) - (optional) new schedule as an iso8601 interval
- override_config (object) - (optional) new overridden configuration for the importer to be used on the scheduled sync
- failure_threshold (number) - (optional) new consecutive failures allowed before this scheduled sync is disabled
- enabled (boolean) - (optional) whether the scheduled sync is enabled
- 200 - if the schedule was successfully updated
- 400 - if one or more of the parameters are invalid
- 404 - if there is no repository, importer or schedule with the specified IDs
Deleting a Scheduled Sync¶
Delete a scheduled sync to remove it permanently from the importer.
/pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/<schedule_id>/
- 200 - if the schedule was deleted successfully
- 404 - if there is no repository, importer or schedule with the specified IDs
Listing All Scheduled Syncs¶
All of the scheduled syncs for a given importer may be listed.
/pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/
- 200 - if repo, importer exist
- 404 - if there is no repository or importer with the specified IDs
Sample 200 Response Body:
[
{
"_href": "/pulp/api/v2/repositories/test/importers/yum_importer/schedules/sync/54d8852245ef4876fade7cc2/",
"_id": "54d8852245ef4876fade7cc2",
"args": [
"test"
],
"consecutive_failures": 0,
"enabled": true,
"failure_threshold": null,
"first_run": "2015-02-09T10:00:02Z",
"kwargs": {
"overrides": {}
},
"last_run_at": "2015-02-09T10:00:23Z",
"last_updated": 1423476133.825821,
"next_run": "2015-02-10T10:00:02Z",
"remaining_runs": null,
"resource": "pulp:importer:test:yum_importer",
"schedule": "P1DT",
"task": "pulp.server.tasks.repository.sync_with_auto_publish",
"total_run_count": 1
}
]
Listing a Single Scheduled Sync¶
Each scheduled sync may be inspected.
/pulp/api/v2/repositories/<repo_id>/importers/<importer_id>/schedules/sync/<schedule_id>/
- 200 - if repo, importer, schedule exist
- 404 - if there is no repository, importer or schedule with the specified IDs
Sample 200 Response Body:
{
"_href": "/pulp/api/v2/repositories/test/importers/yum_importer/schedules/sync/54d8852245ef4876fade7cc2/",
"_id": "54d8852245ef4876fade7cc2",
"args": [
"test"
],
"consecutive_failures": 0,
"enabled": true,
"failure_threshold": null,
"first_run": "2015-02-09T10:00:02Z",
"kwargs": {
"overrides": {}
},
"last_run_at": "2015-02-09T10:00:23Z",
"last_updated": 1423476133.825821,
"next_run": "2015-02-10T10:00:02Z",
"remaining_runs": null,
"resource": "pulp:importer:test:yum_importer",
"schedule": "P1DT",
"task": "pulp.server.tasks.repository.sync_with_auto_publish",
"total_run_count": 1
}
Retrieving Sync History¶
Retrieve sync history for a repository. Each sync performed on a repository creates a history entry.
/pulp/api/v2/repositories/<repo_id>/history/sync/
- limit (integer) - (optional) the maximum number of history entries to return; if not specified, the entire history is returned
- sort (string) - (optional) options are ‘ascending’ and ‘descending’; the array is sorted by the sync timestamp
- start_date (iso8601 datetime) - (optional) any entries with a timestamp prior to the given date are not returned
- end_date (iso8601 datetime) - (optional) any entries with a timestamp after the given date are not returned
- 200 - if the history was successfully retrieved
- 404 - if the repository id given does not exist
Sample 200 Response Body:
[
{
"result": "success",
"importer_id": "my_demo_importer",
"exception": null,
"repo_id": "demo_repo",
"traceback": null,
"started": "1970:00:00T00:00:00Z",
"completed": "1970:00:00T00:00:01Z",
"importer_type_id": "demo_importer",
"error_message": null,
}
]