Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

Chapter 2. Managing Organizations, Locations, and Repositories


You can use hammer to create, edit, and manage organizations, locations, and repositories. For web UI equivalents of the following procedures see Configuring Organizations, Locations and Life Cycle Environments in the Red Hat Satellite Server Administration Guide.

2.1. Organizations

Organization in Red Hat Satellite is an isolated collection of systems, content, and other functionality within a Satellite deployment. This section shows how to create and modify organizations using hammer.

2.1.1. Creating an Organization

Use the following command to create an organization:

$ hammer organization create \
--name "<org_name>" \
--label "<org_label>" \
--description "<org_description>"
Copy to Clipboard Toggle word wrap

Where:

  • <org_name> is the name of the organization. This parameter is required.
  • <org_label> is the organization label used in command-line applications such as subscription-manager. Labels cannot contain white space and you cannot change them later. If not specified, label is generated automatically from the organization name (white space is replaced with underscores).
  • <org_description> is a short description of the organization. This parameter is not required, but it can help you to manage a large number of organizations.

You can fully configure an organization while creating it (issue hammer organization create --help to see the options). Also, you can modify an existing organization using the hammer organization update command.

Example 2.1. Creating and Updating ACME Organization

The following example shows how to create an organization named ACME:

$ ORG="ACME"
$ hammer organization create \
--name $ORG \
--description "Example organization"
Copy to Clipboard Toggle word wrap

This command assigns a compute resource to the organization:

$ hammer organization update \
--name $ORG \
--compute-resource-ids 1
Copy to Clipboard Toggle word wrap
Note

Many tasks you can perform in the Satellite Server are specific to an organization. Hammer commands provide three ways to identify an organization: by using the organization, organization-label, or organization-id option. To find the organization ID, use the following command:

$ hammer organization list
Copy to Clipboard Toggle word wrap

If your organization name is long, consider storing it in a shell variable. You can use this variable in Hammer commands. For example:

$ ORG = "Red Hat Enterprise Linux Developer Team"
$ hammer product list --organization $ORG
Copy to Clipboard Toggle word wrap

This approach is used in examples in this guide.

If you mostly manage a single organization, store its ID as a default parameter, for example:

$ hammer defaults add --param-name organization_id --param-value 1
Copy to Clipboard Toggle word wrap

With the above setting, organization specific commands will assume --organization-id 1 is specified, so you no longer have to type it.

2.1.2. Uploading a Manifest

A Subscription Manifest transfers subscriptions from the Red Hat Customer Portal to Satellite Server. First, generate the manifest on the Red Hat Customer portal as described in the Red Hat Satellite Content Management Guide. Then upload the manifest to the organization as follows:

$ hammer subscription upload \
--organization-label <org_label> \
--file <path_to_manifest>
Copy to Clipboard Toggle word wrap

Example 2.2. Uploading a Manifest to ACME Organization

The following example shows how to upload a Subscription Manifest file to the ACME organization (assuming the organization name is stored in a shell variable):

$ hammer subscription upload --organization $ORG --file /tmp/manifest.zip
Copy to Clipboard Toggle word wrap

To view the subscriptions imported with the manifest, issue:

$ hammer subscription list --organization $ORG
Copy to Clipboard Toggle word wrap

2.2. Locations

Location in Red Hat Satellite is collection of default settings that represent a physical place. This section shows how to create locations using hammer.

2.2.1. Creating a Location

Use the following command to create a location:

$ hammer location create --name <location_name>
Copy to Clipboard Toggle word wrap

Example 2.3. Creating Multiple Locations Using a Script

The following Bash script creates three locations (london, munich, boston), and assigns them to the ACME organization.

ORG="ACME"
LOCATIONS="london munich boston"

for LOC in ${LOCATIONS}
do
  hammer location create --name "${LOC}"
  hammer location add-organization --name "${LOC}" --organization "${ORG}"
done
Copy to Clipboard Toggle word wrap

Run hammer location --help to view all possible location related operations.

2.3. Repositories

Repository provides storage for a collection of content. This section shows how to enable and synchronize repositories using hammer.

2.3.1. Enabling a Repository

Before enabling a Red Hat repository, you need to know its name, the name of the product it provides, the base architecture, and the release version. Use the following command to enable a repository:

$ hammer repository-set enable \
--organization-label <org_label> \
--product "<product_name>" \
--basearch "<base_architecture>" \
--releasever "<release_version>" \
--name "<repository_name>"
Copy to Clipboard Toggle word wrap

Example 2.4. Enabling a Red Hat Enterprise Linux Repository

The following command enables the Red Hat Enterprise Linux 7 Server repository for the organization:

$ hammer repository-set enable \
--organization $ORG \
--product "Red Hat Enterprise Linux Server" \
--basearch "x86_64" \
--releasever "7Server" \
--name "Red Hat Enterprise Linux 7 Server (RPMs)"
Copy to Clipboard Toggle word wrap

Run hammer repository-set --help to view all possible repository related operations. Also see hammer repository --help.

2.3.2. Synchronizing a Repository

By synchronizing a repository you pull its content from Red Hat Customer Portal to the Satellite Server. To synchronize a repository you need to specify its name and a product name:

$ hammer repository synchronize \
--product "<product_name>" \
--name "<repo_name>" \
--organization-label <org_label> \
--async
Copy to Clipboard Toggle word wrap

Note that if you have created Content Views, multiple repositories with the same name can exist within a single organization. In such a case, use the --id option to identify the repository you want to synchronize (issue hammer repository list to find repository IDs).

Example 2.5. Synchronizing a Red Hat Enterprise Linux Repository

The following command performs a single synchronization of the Red Hat Enterprise Linux 7 Server repository in the organization:

$ hammer repository synchronize \
--product "Red Hat Enterprise Linux Server" \
--name "Red Hat Enterprise Linux 7 Server (RPMs)" \
--organization $ORG \
--async
Copy to Clipboard Toggle word wrap

The task ID is displayed after executing the above command:

Repository is being synchronized in task 640bb71f-0ce5-40a3-a675-425a4acacceb
Copy to Clipboard Toggle word wrap

To view the progress of the task, issue:

$ hammer task progress --id 640bb71f-0ce5-40a3-a675-425a4acacceb
Copy to Clipboard Toggle word wrap

After finishing the first synchronization, the repository is added to the list of repositories mirrored on Satellite Server. Execute the following command to see the list:

$ hammer repository list --organization $ORG
Copy to Clipboard Toggle word wrap

You can also synchronize all repositories within a product as follows:

$ hammer product synchronize \
--organization-label <org_label> \
--name "<product_name>" \
--async
Copy to Clipboard Toggle word wrap

With the --async option, the repository synchronization runs in the background, which for example allows you to enable and synchronize several repositories in parallel.

Example 2.6. Synchronizing All Repositories in ACME Organization

The following Bash script synchronizes all repositories within the ACME organization.

ORG="ACME"

for i in $(hammer --csv repository list --organization $ORG | grep -vi '^ID' | awk -F, {'print $1'})
do
  hammer repository synchronize --id ${i} --organization $ORG --async
done
Copy to Clipboard Toggle word wrap

2.3.3. Creating a Synchronization Plan

Product in Red Hat Satellite is a collection of repositories that acts as the smallest unit of the synchronization process. You can create a synchronization plan to automatically update repositories of a selected product in a given time interval.

To define a synchronization plan, issue the following command:

$ hammer sync-plan create \
--name "<sync_plan_name>" \
--enabled=true \
--interval <repetition_interval> \
--organization-label <org_label> \
--sync-date "<initial_sync>"
Copy to Clipboard Toggle word wrap

Replace <repetition_interval> with hourly, daily, or weekly. Replace <initial_sync> with the date and time of the initial synchronization in the form of "YYYY-MM-DD HH:MM:SS".

Example 2.7. Creating a Synchronization Plan

The following command creates a daily synchronization schedule for the ACME organization, that runs at 3 a.m., starting from 15 January 2016:

$ hammer sync-plan create \
--name "daily sync at 3 a.m." \
--enabled=true \
--interval daily \
--organization $ORG \
--sync-date "2016-01-15 03:00:00"
Copy to Clipboard Toggle word wrap

To associate the synchronization plan with a product, issue the following command:

$ hammer product set-sync-plan \
--organization-label <org_label> \
--name "<product_name>" \
--sync-plan "<sync_plan_name>"
Copy to Clipboard Toggle word wrap

Example 2.8. Assigning a Synchronization Plan to Multiple Products

The following Bash script selects the products in the ACME organization that have been synchronized at least once and contain at least one repository and assigns them a synchronization plan named "daily sync at 3 a.m.".

ORG="ACME"
SYNC_PLAN="daily sync at 3 a.m."

for i in $(hammer --csv product list --organization $ORG --per-page 999 | grep -vi '^ID' | grep -vi not_synced | awk -F, {'{ if ($5!=0) print $1}'})
do
  hammer product set-sync-plan --sync-plan $SYNC_PLAN --organization $ORG --id $i
done
Copy to Clipboard Toggle word wrap

After executing the script, issue the following command to see which products have been assigned the synchronization plan:

$ hammer product list --organization $ORG --sync-plan "daily sync at 3 a.m."
Copy to Clipboard Toggle word wrap

To view synchronization plans available for a selected organization, issue the following command:

$ hammer sync-plan list --organization-label <org_label>
Copy to Clipboard Toggle word wrap

For more details on working with products and synchronization plans see the output of hammer sync-plan --help and hammer product --help.

2.3.4. Creating a Custom Repository

After enabling a Red Hat repository, the corresponding product is created automatically. To enable a repository with custom packages, you first need to manually create a product for this repository.

Use the following command to create a custom product:

$ hammer product create --name "<product_name>" --organization-label <org_label>
Copy to Clipboard Toggle word wrap

The following command creates a new repository under the custom product:

$ hammer repository create \
--name "<repo_name>" \
--organization-label <org_label> \
--product "<product_name>" \
--content-type <cont_type> --publish-via-http true \
--url "<repo_url>"
Copy to Clipboard Toggle word wrap

Replace the example values with your own details, in particular:

  • <cont_type> specifies the type of content in the repository, choose one of yum, puppet, or docker.
  • <repo_url> specifies the URL on which the repository will be available, valid only if ` --publish-via-http` is enabled.

To upload packages to a custom repository, issue the following command:

$ hammer repository upload-content \
--product "<product_name>" \
 --organization-label <org_label> \
 --id "<repo_id>" \
--path <path_to_dir>
Copy to Clipboard Toggle word wrap

Replace <path_to_dir> with the path to the directory with content (RPM packages, Puppet modules, or Docker images) to be added to the custom repository.

Nach oben
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2025 Red Hat