Chapter 11. Managing OSTree Content
OSTree is a tool to manage bootable, immutable, versioned file system trees. You can use any build system you like to place content into it on a build server then export an OSTree repository to a static HTTP. Red Hat Enterprise Linux Atomic Server uses OSTree content composed from RPM files as a method to keep the operating system up to date.
The Red Hat Satellite 6 offers tools to synchronize and manage OSTree branches from an OSTree repository.
11.1. Configuring OSTree Management on Satellite Server
In Satellite Server 6.3, OSTree management tools are enabled by default. If required, to ensure that they are enabled, enter the following command:
# satellite-installer --katello-enable-ostree=true
11.2. Selecting Red Hat OSTree Content to Synchronize
Red Hat’s CDN provides OSTree Content for you to select and synchronize.
For Web UI Users
Navigate to Content > Red Hat Repositories. This displays a set of tabs for different content types. Select the OSTree tab. Locate the OSTree set you aim to use. For our example, we import the Red Hat Enterprise Linux Atomic Host Trees set from the Red Hat Enterprise Linux Atomic Host product group. Ensure you have a repository enabled.
Navigate to Content > Products and click on the Red Hat Enterprise Linux Atomic Host. This product now includes a repository for our Red Hat Enterprise Linux Atomic Host Trees branch set. Select this repository and click Sync Now.
You can also view the progress of the synchronization in the Web UI. Navigate to Content > Sync Status and expanding the Product/Repository tree (or click Expand All).
After a few minutes, Satellite Server completes the import of all images relating to the rhel7
repository.
For CLI Users
Search the Red Hat Enterprise Linux Server product for ostree
repositories:
# hammer repository-set list \ --product "Red Hat Enterprise Linux Atomic Host" \ --organization "ACME" | grep "ostree"
Enable the ostree
repository for Red Hat Enterprise Linux Atomic Host. In our example, the ID for this repository is 3822:
# hammer repository-set enable \ --product "Red Hat Enterprise Linux Atomic Host" \ --name "Red Hat Enterprise Linux Atomic Host (Trees)" \ --organization "ACME"
Find and synchronize the repository in our product. In our example, the ID for our version of the repository is 5:
# hammer repository list \ --product "Red Hat Enterprise Linux Atomic Host" \ --organization "ACME" # hammer repository synchronize \ --name "Red Hat Enterprise Linux Atomic Host Trees" \ --product "Red Hat Enterprise Linux Atomic Host" \ --organization "ACME"
11.3. Importing Custom OSTree Content
In addition to importing OSTree content from Red Hat’s CDN, Red Hat Satellite 6 also imports content from other sources. This requires a published HTTP location for the OSTree to import.
For Web UI Users
Navigate to Content > Products and click New Product. A form for a new Product appears. Enter the following details:
-
Name - The plain text name for the product. Enter
OSTree Content
. - Label - An internal ID for the product. Red Hat Satellite 6 automatically completes this field based on what you have entered for Name.
- GPG Key - The GPG Key for the entire product. Leave this blank.
-
Sync Plan - A synchronization plan for the product. We can attach this to our
Example Plan
. -
Description - A plain text description of the product. Enter
OSTree Content
.
Click Save.
After creating the custom product for Fedora, the product’s repositories screen appears. Click Create Repository, which displays a form for a new repository. Enter the following details:
-
Name - A plain text name for the repository. Enter
Custom OSTree
. - Label - An internal ID for the repository. Red Hat Satellite 6 automatically completes this field based on what you have entered for Name.
-
Type - The type of repository. Select
ostree
. A new field appears for the URL. -
URL - The URL of the registry to use as a source. For example
http://www.example.com/rpm-ostree/
.
Click Save. We return to the product’s repository screen with our new repository listed. Select it and click Sync Now to start the synchronization process. After the a few minutes, Satellite Server completes the synchronization.
You can also view the progress of the synchronization in the Web UI. Navigate to Content > Sync Status and expanding the Product/Repository tree (or click Expand All).
For CLI Users
Create the custom OSTree Content
product:
# hammer product create \ --name "OSTree Content" \ --sync-plan "Example Plan" \ --description "OSTree Content" \ --organization "ACME"
Create the repository for the OSTree:
# hammer repository create \ --name "Custom OSTree" \ --content-type "ostree" \ --url "http://www.example.com/rpm-ostree/" \ --product "OSTree Content" \ --organization "ACME"
Then synchronize the repository:
# hammer repository synchronize \ --name "Custom OStree" \ --product "OSTree Content" \ --organization "ACME"
Now we have a synchronized set of OSTree branches.
11.4. Managing OSTree Content with Content Views
Use Content Views to manage OSTree branches across the application life cycle. This process uses the same publication and promotion method that RPMs and Puppet modules use.
For Web UI Users
Navigate to Content > Content Views and click Create New View. This displays a form for View Details. Enter the following information:
-
Name - The plain text name for the view. Enter
OSTree
. - Label - An internal ID for the view. Red Hat Satellite 6 automatically completes this field based on what you have entered for Name.
-
Description - A plain text description of the view. Enter
OSTree branches for Red Hat Enterprise Atomic Host
. - Composite View? - Defines whether to use a Composite Content View. Leave this check box clear.
Click Save to complete.
This creates a new Content View entry. Navigate to the OSTree Content subtab, then click Add. Select the OSTree repository for our Red Hat Enterprise Linux Atomic Host Trees. Click Add Repository. This adds the OSTree content from this repository to the Content View.
Our Content View is ready to publish. Navigate to Versions and click Publish New Version. Satellite Server provides some details about the new version (Version 1) and allows you to enter a Description for the version, which is useful to logging changes for new content versions. Enter Initial content view for our OSTree
and click Save.
Satellite Server creates the new version of the view and publishes it to the Library environment.
You can also click Promote to promote this Content View across environments in the application life cycle.
For CLI Users
Obtain a list of repository IDs:
# hammer repository list --organization "ACME"
For our example, the OSTree repository uses 5 for its IDs. Create the Content View and add the repository:
# hammer content-view create \ --name "OSTree" \ --description "OSTree for Red Hat Enterprise Linux Atomic Host" \ --repository-ids 5 \ --organization "ACME"
Now publish the view:
# hammer content-view publish \ --name "OSTree" \ --description "Initial content view for our OSTree" \ --organization "ACME"
Satellite Server creates the new version of the view and publishes it to the Library environment.
11.5. Chapter Summary
This chapter provided a basic overview of managing OSTree content in Red Hat Satellite 6, including how to import and synchronize your OSTree content from Red Hat and custom sources. This chapter also showed how to manage this content across the application life cycle.
The next chapter examines how to manage ISO files.