Appendix A. Initialization Script for Provisioning Examples

If you have not followed the examples in Managing Content, you can use the following initialization script to create an environment for provisioning examples.

Procedure

  1. Create a script file (content-init.sh) and include the following:

    #!/bin/bash
    
    MANIFEST=$1
    
    # Import the content from Red Hat CDN
    hammer organization create \
    --name "ACME" \
    --label "ACME" \
    --description "Our example organization for managing content."
    
    hammer subscription upload \
    --file ~/$MANIFEST \
    --organization "ACME"
    
    hammer repository-set enable \
    --name "Red Hat Enterprise Linux 7 Server (RPMs)" \
    --releasever "7Server" \
    --basearch "x86_64" \
    --product "Red Hat Enterprise Linux Server" \
    --organization "ACME"
    
    hammer repository-set enable \
    --name "Red Hat Enterprise Linux 7 Server (Kickstart)" \
    --releasever "7Server" \
    --basearch "x86_64" \
    --product "Red Hat Enterprise Linux Server" \
    --organization "ACME"
    
    hammer repository-set enable \
    --name "Red Hat Satellite Client 6 (for RHEL 7 Server) (RPMs)" \
    --basearch "x86_64" \
    --product "Red Hat Enterprise Linux Server" \
    --organization "ACME"
    
    hammer product synchronize --name "Red Hat Enterprise Linux Server" \
    --organization "ACME"
    
    # Create our application life cycle
    hammer lifecycle-environment create \
    --name "Development" \
    --description "Environment for ACME's Development Team" \
    --prior "Library" \
    --organization "ACME"
    
    hammer lifecycle-environment create \
    --name "Testing" \
    --description "Environment for ACME's Quality Engineering Team" \
    --prior "Development" \
    --organization "ACME"
    
    hammer lifecycle-environment create \
    --name "Production" \
    --description "Environment for ACME's Product Releases" \
    --prior "Testing" \
    --organization "ACME"
    
    # Create and publish our Content View
    hammer content-view create \
    --name "Base" \
    --description "Base operating system" \
    --repositories "Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server,Red Hat Satellite Client 6 for RHEL 7 Server RPMs x86_64" \
    --organization "ACME"
    
    hammer content-view publish \
    --name "Base" \
    --description "Initial Content View for our operating system" \
    --organization "ACME"
    
    hammer content-view version promote \
    --content-view "Base" \
    --version 1 \
    --to-lifecycle-environment "Development" \
    --organization "ACME"
    
    hammer content-view version promote \
    --content-view "Base" \
    --version 1 \
    --to-lifecycle-environment "Testing" \
    --organization "ACME"
    
    hammer content-view version promote \
    --content-view "Base" \
    --version 1 \
    --to-lifecycle-environment "Production" \
    --organization "ACME"
  2. Set executable permissions on the script:

    # chmod +x content-init.sh
  3. Download a copy of your Red Hat Subscription Manifest from the Red Hat Customer Portal and run the script on the manifest:

    # ./content-init.sh manifest_98f4290e-6c0b-4f37-ba79-3a3ec6e405ba.zip

    This imports the necessary Red Hat content for the provisioning examples in this guide.