delete

Remove specific content from one or more Pulp repository

usage: pubtools-pulp-delete [-h] [--debug] [--udcache-url UDCACHE_URL]
                            [--udcache-user UDCACHE_USER]
                            [--udcache-password UDCACHE_PASSWORD]
                            [--cdn-url CDN_URL] [--cdn-cert CDN_CERT]
                            [--cdn-key CDN_KEY] [--cdn-ca-cert CDN_CA_CERT]
                            [--cdn-arl-template [CDN_ARL_TEMPLATE [CDN_ARL_TEMPLATE ...]]]
                            [--fastpurge-host FASTPURGE_HOST]
                            [--fastpurge-client-token FASTPURGE_CLIENT_TOKEN]
                            [--fastpurge-client-secret FASTPURGE_CLIENT_SECRET]
                            [--fastpurge-access-token FASTPURGE_ACCESS_TOKEN]
                            [--fastpurge-root-url FASTPURGE_ROOT_URL]
                            [--pulp-url PULP_URL] [--pulp-user PULP_USER]
                            [--pulp-password PULP_PASSWORD]
                            [--pulp-certificate PULP_CERTIFICATE]
                            [--pulp-certificate-key PULP_CERTIFICATE_KEY]
                            [--pulp-insecure] [--pulp-throttle PULP_THROTTLE]
                            [--pulp-fake] [--clean] [--force] [--repo REPO]
                            [--advisory ADVISORY] [--file FILE]
                            [--signing-key SIGNING_KEY] [--allow-unsigned]
                            [--skip SKIP]

Named Arguments

--debug, -d

Show debug logs; can be provided up to three times to enable more logs

Default: 0

--repo

remove content from these comma-seperated repositories

--advisory

remove packages and modules in these comma-separated advisories

--file

remove these comma-separated rpm, srpm, modulemd or iso file(s)

--signing-key

remove the content with these signing-keys(s)

--allow-unsigned

remove unsigned content

Default: False

--skip

skip given comma-separated sub-steps

Unified Downloads Cache environment

--udcache-url

Base URL of UD cache flush API; if omitted, UD cache flush features are disabled.

--udcache-user

Username for UD cache flush

--udcache-password

Password for UD cache flush (or set UDCACHE_PASSWORD)

Default: “”

CDN Client environment

--cdn-url

Base URL of CDN, if omitted, CDN won’t be requested for special data (e.g. headers for ARLs)

--cdn-cert

Client certificate for CDN client

--cdn-key

Client key for CDN client

--cdn-ca-cert

CA certificate for CDN

--cdn-arl-template

ARL template used for flushing cache by ARL

Default: []

Akamai FastPurge environment

--fastpurge-host

FastPurge hostname (xxx.purge.akamaiapis.net)

--fastpurge-client-token

Fast Purge client token

--fastpurge-client-secret

FastPurge client secret (or set FASTPURGE_SECRET environment variable)

Default: “”

--fastpurge-access-token

FastPurge access token

--fastpurge-root-url

Root URL of CDN for all cache purges (or set FASTPURGE_ROOT_URL environment variable). If omitted, FastPurge features are disabled.

Default: “”

Pulp environment

--pulp-url

Pulp server URL

--pulp-user

Pulp username

--pulp-password

Pulp password (or set PULP_PASSWORD environment variable)

--pulp-certificate

Pulp certificate. Can also be a single file (.pem)

--pulp-certificate-key

Pulp certificate key

--pulp-insecure

Allow unverified HTTPS connection to Pulp

Default: False

--pulp-throttle

Allows to enqueue or run only specified number of Pulp tasks at one moment (or set PULP_THROTTLE environment variable)

--pulp-fake

Use a fake in-memory Pulp client rather than interacting with a real server. For development/testing only, may have limited functionality.

Default: False

Publish options

Options affecting the behavior of Pulp repo publishes.

--clean

attempt to delete remote content not in the repo

Default: False

--force

force publish of repos even if Pulp thinks nothing has changed

Default: False

Example: File

A typical invocation of delete file would look like this:

pubtools-pulp-delete \
  --pulp-url https://pulp.example.com/ \
  --pulp-user admin \
  --pulp-password XXXXX \
  --file some-pkg-1.3-1.el8_x86_64.rpm \
  --signing-key aabbcc \
  --repo some-yumrepo

Mentioned file with the signing key will be removed from the repo. If there are multiple files and repos, each file will be removed from the repos they belong to. All those repos will then be published.

Example: Mix file types

File provided in `--file` could either be a RPM(rpm name), ISO(filename) or ModuleMD(N:S:V:C:A) file. Different file types could be included in the same command.

pubtools-pulp-delete \
  --pulp-url https://pulp.example.com/ \
  --pulp-user admin \
  --pulp-password XXXXX \
  --file some-pkg-1.3-1.el8_x86_64.rpm \
  --file some-file.iso,some-modmd:s1:123:a1c2:s390x \
  --signing-key aabbcc \
  --repo some-yumrepo \
  --repo some-filerepo

Signing key will be used wherever applicable.

Example: Advisory

Packages from an advisory could be removed by providing the advisory ID and the repos to be removed from. All the packages and the modules that were pushed to the provided repos as part of the advisory will be removed.

pubtools-pulp-delete \
  --pulp-url https://pulp.example.com/ \
  --pulp-user admin \
  --pulp-password XXXXX \
  --advisory RHBA-2020:1234 \
  --repo some-yumrepo \
  --repo some-filerepo

Example: Mix files and advisory

Removing files and packages from the advisory could be requested in the same request. They will be removed from the provided applicable repos.

pubtools-pulp-delete \
  --pulp-url https://pulp.example.com/ \
  --pulp-user admin \
  --pulp-password XXXXX \
  --advisory RHBA-2020:1234 \
  --file some-pkg-1.3-1.el8_x86_64.rpm \
  --file some-file.iso,some-modmd:s1:123:a1c2:s390x \
  --signing-key aabbcc \
  --repo some-yumrepo
  --repo some-filerepo

Example: With cache flush

If the Pulp server is configured to publish to an Akamai CDN, usage of the Akamai FastPurge API for cache flushing may be enabled to flush cache after publishing repositories.

This is enabled by providing a value for --fastpurge-root-url. FastPurge credentials may also be provided; if omitted, the command will attempt to use a local edgerc file for authentication.

pubtools-pulp-delete \
  --pulp-url https://pulp.example.com/ \
  --pulp-user admin \
  --pulp-password XXXXX \
  --fastpurge-root-url https://cdn.example.com/ \
  --file some-pkg-1.3-1.el8_x86_64.rpm \
  --signing-key aabbcc \
  --repo some-yumrepo

Example: Skip publish

The repos are published and the caches are cleaned(provided required arguments) by default. This can skipped by providing `--skip` option with the publish step name i.e. `--skip publish`

pubtools-pulp-delete \
  --pulp-url https://pulp.example.com/ \
  --pulp-user admin \
  --pulp-password XXXXX \
  --file some-pkg-1.3-1.el8_x86_64.rpm \
  --signing-key aabbcc \
  --repo some-yumrepo \
  --skip publish