Red Hat Satellite 6.
Red Hat Satellite 6.
Legal Notice Co pyright © 20 14 Red Hat. This do cument is licensed by Red Hat under the Creative Co mmo ns Attributio n-ShareAlike 3.0 Unpo rted License. If yo u distribute this do cument, o r a mo dified versio n o f it, yo u must pro vide attributio n to Red Hat, Inc. and pro vide a link to the o riginal. If the do cument is mo dified, all Red Hat trademarks must be remo ved.
T able of Cont ent s T able of Contents .Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . 1. G etting Help and G iving Feed b ac k 3 1.1. Do Yo u Need Help ? 3 1.2. We Need Feed b ac k! 3 . .hapt C . . . .er . .1. .. Int . . .roduct . . . . . .ion . . .t.o. Red . . . . Hat . . . . Sat . . . ellit ...e . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Red Hat Sat ellit e 6 .0 T ransit ion G uide . .lossary G . . . . . . .of . . T. erms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ........... . . . . . . . . .Hist Revision . . . ory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ...........
Preface Preface 1. Get t ing Help and Giving Feedback 1.1. Do You Need Help? If you experience difficulty with a procedure described in this documentation, visit the Red Hat Customer Portal at http://access.redhat.com. Through the customer portal, you can: search or browse through a knowledgebase of technical support articles about Red Hat products. submit a support case to Red Hat Global Support Services (GSS). access other product documentation.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Chapter 1. Introduction to Red Hat Satellite This chapter aims to help Red Hat Satellite 5 administrators understand and draw parallels with Red Hat Satellite 6 concepts. It also provides a high level comparison of the key differences between these two products, and explains deeper concepts relating to system architecture, organizational structure, and the application life cycle. 1.1.
Chapt er 1 . Int roduct ion t o Red Hat Sat ellit e systems during the provisioning process, and a much more simplified approach to life cycle management. Satellite 6 also further evolves the inherent approach to certificate-based entitlements and integrated subscription management. Satellite 6 is based on years of customer feedback and is an evolution of previous versions.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Chapter 2. Comparing Satellite 5 and Satellite 6 This chapter explores the differences between Red Hat Satellite 5 and Red Hat Satellite 6, especially in the areas of system architecture, organizational structures, and the application life cycle. The following table outlines some initial concepts and their respective implementation in both Satellite 5 and Satellite 6. T ab le 2.1.
Chapt er 2 .
Red Hat Sat ellit e 6 .0 T ransit ion G uide The Web UI runs through an Apache web server and provides the main entry point for Satellite operations. F ro n t - en d API The Front-end API provides the ability to interact with Satellite 5 through an XML-RPC API. This allows system administrators to write scripts to perform repetitive tasks, or develop third-party applications around Satellite. The Front-end API exposes most of the Web UI functionality using XML-RPC.
Chapt er 2 . Comparing Sat ellit e 5 and Sat ellit e 6 F o reman Foreman is an open source application used for provisioning and life cycle management of physical and virtual systems. Foreman automatically configures these systems using various methods, including kickstart and Puppet modules. Foreman also provides historical data for reporting, auditing, and troubleshooting. K at ello Katello is a subscription and repository management application.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Satellite 6. Instead, Satellite 6 introduces the concept of Capsules, which provide much the same functionality. Report a bug 2.2.2. Sat ellit e 6 Capsules Satellite 6 deployments use Capsule servers to provide a similar level of functionality for Satellite 6 that Proxy servers provide for Satellite 5. The first release of Capsule servers, delivered with Satellite 6.0, can provide the following functionality: Mirror content (Pulp Node).
Chapt er 2 . Comparing Sat ellit e 5 and Sat ellit e 6 organizations. This is useful for companies with multiple divisions, such a Finance, Marketing, Sales, and so forth. Each organization acts as an individually managed Satellite, each with their own configuration and system profiles. However, Satellite can share content (software channels) among multiple organizations. Red Hat Satellite 5 also has the ability to synchronize content across multiple Satellite servers.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Fig u re 2.5. Examp le T o p o lo g y f o r R ed H at Sat ellit e 6 The main Satellite server retains the management function, while the content and configuration is synchronized between the main Satellite server and a Satellite Capsule assigned to certain locations. Report a bug 2.4 . Applicat ion Life Cycles The application life cycle in Red Hat Satellite 5 follows stages in a path.
Chapt er 2 . Comparing Sat ellit e 5 and Sat ellit e 6 Fig u re 2.6 . T h e Ap p licat io n Lif e C ycle o f R ed H at Sat ellit e 5 The Red Hat Satellite 6 application life cycle is broken up into two key components: Life Cycle Environments and Content Views. The application life cycle is divided into life cycle environments, which mimic each stage of the life cycle. These life cycle environments are linked in an environment path.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Fig u re 2.8. C reat in g N ew Versio n s o f a C o n t en t View Published content views are used with life cycle environments.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 Chapter 3. Transitioning from Satellite 5 to 6 This chapter describes the prerequisites for performing a successful transition from Red Hat Satellite 5 to Satellite 6, and the basic transition work flow. It also describes how to install and use the required transition tools, and covers the most common transition use cases.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Ensure you start with a fully-functional, up-to-date Satellite 5.6 server. Satellite 6 must be correctly installed and configured on a second machine. This installation must include a manifest that provides access to the same content as the Satellite 5.6 instance, and for the same number of clients. The Satellite 6 instance must be synchronized with the desired Red Hat content before you start the transition process.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 # hammer import organization --csv-file /tmp/exports/users.csv -upload-manifests-from /root/manifest-dir Perf o rmin g t h e T ran sit io n After you have completed the steps described in Preparing for Transition, the Satellite 6 instance is ready to accept transition data. This phase consists of the following steps: 1.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Upon the future release of Satellite 5.7, it too will be supported as a platform for moving from Satellite 5 to 6. Upon future releases of Satellite (6.1, 6.2, and so on), they too will be supported as platforms for moving from Satellite 5. Note If you plan a more passive transition process, the prior Satellite version does not matter.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 Note Not all of the concepts can be translated between Satellite 5 and 6. Some manual steps are required to fully populate the newly installed Satellite 6 server. Will t h e t ran sit io n t o o ls wo rk wit h a d isco n n ect ed server? Yes, the transition tools are designed such that a disconnected environment is assumed, and neither Satellite 5 nor 6 can directly communicate with each other or the Internet in general.
Red Hat Sat ellit e 6 .0 T ransit ion G uide C an I u se t h e exp o rt t o o ls o n my p ro d u ct io n Sat ellit e 5.6 syst em? Yes, assuming that you run the tools with sufficient disk space. D isk space will vary, from 20 MB to several Gigabytes, depending on the total amount of non-Red Hat content stored on the Satellite in /var/satel l i te/red hat/ and being selected for export by the export tool.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 activation-keys channels config-files-latest kickstart-scripts repositories system-profiles You can run the spacewal k-repo rt command to confirm the addition of these new reports. The spacewalk-utils package provides two additional command-line tools, which are used by the transition tools: /usr/bi n/spacewal k-expo rt and /usr/bi n/spacewal k-expo rt-channel s.
Red Hat Sat ellit e 6 .0 T ransit ion G uide The expected work flow on the Satellite 5.6 server is to use the spacewal k-expo rt command as a wrapper. This wrapper command calls the following commands to export Satellite 5.6 entities: s p acewalk- rep o rt ch an n els Export all custom and cloned channels and repositories for all organizations. s p acewalk- rep o rt act ivat io n - keys Export activation keys. s p acewalk- rep o rt kickst art - scrip t s Exports kickstart scripts for all organizations.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 INFO: INFO: INFO: INFO: system-groups config-files-latest repositories system-profiles : : : : System-groups for all organizations Latest revision of all configuration files Defined repositories System profiles for all organizations You can use the --enti ti es option to limit the export by entity.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Report a bug 3.6.2. T ransferring Export s t o Sat ellit e 6 After you have successfully exported all the required entities from your Satellite 5 server, transfer the /ro o t/spacewal k-expo rt-d i r/spacewal k_expo rt. tar. g z file to the Satellite 6 server. If the two servers are connected over the network, you can use scp or a similar tool to transfer the file. Alternatively, use removable media such as a USB device or D VD .
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 5. Import repositories. 6. Import custom channels and cloned channels as content views. 7. Import activation keys. 8. Import kickstart snippets as template snippets. 9. Import configuration files to puppet modules. 10. Import system profiles as content hosts. Important The order in which you import entities is important. Entities are owned by organizations in Satellite 5; consequently, you need to import organizations before users, for example.
Red Hat Sat ellit e 6 .0 T ransit ion G uide # hammer shell hammer> import organization --csv-file /tmp/exports/users.csv --uploadmanifests-from /root/manifests --verbose Importing from /tmp/exports/users.csv Creating new organization: RED HAT SATELLITE ENGINEERING Uploading manifest /root/manifests/RED_HAT_SATELLITE_ENGINEERING.zip to org-id 5 Waiting for the task [a231d19c-aee7-42b8-9566-07651ac029f4] ...... Organization [1->5] already imported. Organization [1->5] already imported.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 The hammer i mpo rt command logs all output to the ~ /i mpo rt. l o g file. You can use the -l o g fi l e option to any hammer i mpo rt subcommand to specify a different name and location for the log file. Report a bug 3.7 .1 .1 . Ge ne rat ing and Act ivat ing a Manife st You need to activate a manifest for the organizations for which you want to populate content and other data.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Creating new user: sat5_admin Creating new user: auser1 Creating new user: auser2 To show the users were created, log in to the WebUI and navigate to Ad min ist er → U sers. Alternatively, use the command line as shown below. # hammer user list ID | LOGIN | NAME | EMAIL 5 | auser1 | A User1 | auser1@ example.com 4 | auser2 | A User2 | auser2@ example.com 1 | admin | Admin User | root@ sat6.example.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 Deleting imported user [8->6]. Deleting imported user [9->7]. Report a bug 3.7.3. T ransit ioning Syst em Groups t o Host Collect ions Red Hat Satellite 5 uses system groups to maintain collections of multiple systems. Satellite 6 uses host collections to perform the same task. The Satellite transition tools provide options to transition your Satellite 5 system groups to Satellite 6 host collections.
Red Hat Sat ellit e 6 .0 T ransit ion G uide R eco mmen d ed Pract ices f o r Syn ch ro n iz in g C o n t en t The default behavior of the hammer i mpo rt repo si to ry command is to not automatically synchronize content. Many of the following import operations require that synchronization be complete before they can run successfully. Synchronization is a time-consuming task, because it involves retrieving content from external sources into your Satellite 6 server.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 # hammer import repository --synchronize --wait --no-async \ --csv-file /tmp/exports/repositories.csv Creating new product: PUPPETLABS.COM Creating new repository: puppet-rhel6-server-x86_64 Sync started! Creating new repository: puppet-deps-rhel6-server-x86_64 Sync started! Creating new repository: puppet-rhel5-server-x86_64 Sync started! Product [1PUPPETLABS.COM->116] already imported.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Report a bug 3.7 .4 .2 . Enabling Re d Hat Re po sit o rie s The Red Hat repositories are synchronized from the Red Hat Content D elivery Network (CD N). Because of these differences, it can be difficult to determine if you have imported all relevant Red Hat content into your Satellite 6 server. Red Hat recommends that you import into Satellite 6 all CD N content that equates to previously synchronized Satellite 5 channels.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 Report a bug 3.7.5. T ransit ioning Cust om and Cloned Channels t o Cont ent Views Red Hat Satellite 5 uses the concept of cloned channels to restrict the number of Red Hat-supplied channels and RPM files. Custom content is added to custom channels, which are typically children of cloned channels.
Red Hat Sat ellit e 6 .0 T ransit ion G uide Repository Local_repository_for_custom-clone-master-puppet-rhel6server-x86_64 is not (fully) synchronized. Retry once synchronization has completed. Product [1Local-repositories->118] already imported. Creating new local_repository: Local repository for epel-puppet-rhel6server-x86_64 Repository Local_repository_for_epel-puppet-rhel6-server-x86_64 is not (fully) synchronized. Retry once synchronization has completed. Examp le 3.9 .
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 Local_repository [1113->13] already imported. No such content_view: 102 Creating new content_view: Clone of Red Hat Enterprise Linux Server (v. 6 for 64-bit x86_64) Product [1Local-repositories->98] already imported. Local_repository [1115->14] already imported. No such content_view: 103 Creating new content_view: Clone of RHEL Server Optional (v. 6 64-bit x86_64) You can use the webUI to monitor the status of the import.
Red Hat Sat ellit e 6 .0 T ransit ion G uide You can use the hammer acti vati o n-key l i st --o rg ani zati o n-i d ORG-ID command to verify that the activation keys have been recreated. Ensure you use the correct organization ID . You can also log in to the WebUI as an administrator to verify that the activation keys were created. Ensure you are in the correct organization, and then navigate to C o n t en t → Act ivat io n K eys.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 Generate Puppet modules for each Satellite 5 configuration channel. Map any Satellite 5 macros in the configuration files to whatever Puppet facts are found. Build the modules. Create a Satellite 6 repository for each configuration channel, and a product to hold those repositories. Upload the built Puppet modules into Satellite 6. The following table describes the current mapping between Satellite 5 substitution macros and Puppet facts. T ab le 3.1.
Red Hat Sat ellit e 6 .0 T ransit ion G uide In Satellite 6, this information is stored in Content Hosts. Instead of " system" , Satellite 6 uses the term " host" to refer to any machine that is registered to it. Part of the transition process maps Satellite 5 System Profiles to Satellite 6 Content Hosts. A Satellite 6 host is created when an actual system reregisters to Satellite 6 with the consumer ID of the Content Host.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 An existing, up-to-date Red Hat Enterprise Linux client systems registered to SAT5.6. An existing, up-to-date Satellite 6 server. In this example, this system is called " SAT6" . Manifests created for each Organization on SAT5.6, downloaded to username@SAT6:/tmp/manifests, and renamed to ORG_NAME. zi p, to match the names of your organizations. Report a bug 3.7 .1 0 .2 .
Red Hat Sat ellit e 6 .0 T ransit ion G uide You have the necessary system transition packages installed on the Satellite 5 server. To ensure these packages are installed, run the following command: # yum install /tmp/system-profile-transition-*.rpm T ran sit io n in g Yo u r Sat ellit e 5 Syst ems t o Sat ellit e 6 This process assumes that your client is already subscribed to the appropriate RHN Tools channel. This channel provides access to the sat5to6 RPM file and its dependencies.
Chapt er 3. T ransit ioning from Sat ellit e 5 t o 6 8. Configure puppet with the host name of the Satellite or Satellite Capsule that will manage its configuration. In this example, $FQD N represents the fully qualified domain name of the Satellite or Satellite Capsule. # echo "server=$FQDN" >> /etc/puppet/puppet.conf 9. Restart the g o ferd and puppet services.
Red Hat Sat ellit e 6 .0 T ransit ion G uide To learn how to unregister from either service please consult this Knowledge Base Article: https://access.redhat.com/kb/docs/DOC-45563 The system has been registered with ID: ac063466-0abc-1bb3-abc033abf6c1dd3a Installed Product Current Status: Product Name: Red Hat Enterprise Linux Server Status: Subscribed System 'dhcp1234.example.com' successfully registered.
Chapt er 4 . Advanced T ransit ioning Chapter 4. Advanced Transitioning This chapter covers some of the more advanced transitioning scenarios that you might encounter as part of your deployment and transition from Satellite 5 to Satellite 6. Each customer is likely to have slightly different configurations; consequently, it is not possible to cover every scenario that might arise. Over time, and with customer feedback and more development, coverage of more transition scenarios may be possible. 4 .1.
Red Hat Sat ellit e 6 .0 T ransit ion G uide This section provides a total of five different ways to achieve the same result; two examples for Satellite 5 and three examples for Satellite 6. A Satellite 5 Python script A Satellite 6 Python script A Satellite 6 Ruby script A Satellite 5 spacecmd example A Satellite 6 hammer example Note The spacecmd command is not a supported feature in Satellite 5.6. It is planned for release and support with Satellite 5.7, and is shown here for the sake of completeness.
Chapt er 4 . Advanced T ransit ioning U sin g Pyt h o n t o List Availab le H o st s o n Sat ellit e 6 This example uses a Python script to connect to Satellite 6, authenticate, and retrieve a list of available hosts.
Red Hat Sat ellit e 6 .0 T ransit ion G uide :password => $password, :headers => { :accept => :json, :content_type => :json } ).execute results = JSON.parse(response.to_str) e nd h osts = get_json(url+"hosts/") # puts JSON.pretty_generate(hosts) p uts "Hosts within Satellite are:" h osts['results'].
Chapt er 4 . Advanced T ransit ioning The examples in this section describe different ways to locate, create, and delete users. U sin g Pyt h o n t o Man ag e U sers o n Sat ellit e 5 This example uses a Python script to connect to and authenticate against a Satellite 5 server. It then goes on to search for a specific user (exampl e), to delete that user if it exists, and then recreate it with Administrator privileges.
Red Hat Sat ellit e 6 .0 T ransit ion G uide i mport json i mport requests # Define Satellite location and login details AT_API = "https://localhost/api/v2/" S P OST_HEADERS = {'content-type': 'application/json'} U SERNAME = "admin" P ASSWORD = "changeme" S SL_VERIFY = False d ef get_json(location): """ Performs a GET using the passed URL location """ r = requests.get(location, auth=(USERNAME, PASSWORD), verify=SSL_VERIFY) return r.
Chapt er 4 . Advanced T ransit ioning id = str(id) delete = delete_json(SAT_API + "/users/" + id) #print json.dumps(delete, indent=4) print "User example deleted" # Create a user called example as admin role createuser = post_json(SAT_API + "/users/", json.dumps({ "mail": "root@ localhost", "firstname": "Example", "lastname": "User", "login": "example", "password": "redhat", "admin": 'true', "auth_source_id": 1 })) #print json.
Red Hat Sat ellit e 6 .0 T ransit ion G uide :method => :delete, :url => location, :user => $username, :password => $password, :headers => { :accept => :json, :content_type => :json } ).execute results = JSON.parse(response.to_str) e nd # List all users within the Satellite sers = get_json(url+"users/") u # puts JSON.pretty_generate(users) p uts "Users known are:" u sers['results'].
Chapt er 4 .
Red Hat Sat ellit e 6 .0 T ransit ion G uide U sin g t h e C o mman d Lin e t o Man ag e U sers o n Sat ellit e 6 This example uses the hammer command to perform the same task as the previous examples.
Chapt er 4 . Advanced T ransit ioning If you have already logged in to the Satellite 6 WebUI, you can see the default results of GET requests at /api/v2//. For example: https://satellite6.example.com/api/v2/users/ https://satellite6.example.com/api/v2/users/3 U sin g Sat ellit e 6 API R eq u est s o n t h e C o mman d Lin e You can use the curl command to interact with the Satellite 6 API. For example: Examp le 4 .1.
Red Hat Sat ellit e 6 .
G lossary of T erms Glossary of Terms The following terms are used throughout this document. Familiarize yourself with these terms to help your understanding of Red Hat Satellite 6. Act ivat io n K ey A registration token used in a Kickstart file to control actions at registration. These are similar to Activation Keys in Red Hat Satellite 5, but provide a subset of features because Puppet controls package and configuration management after registration.
Red Hat Sat ellit e 6 .0 T ransit ion G uide An External Node Classifier is a Puppet construct that provides additional data for a Puppet Master to use when configuring Hosts. Red Hat Satellite 6 acts as an External Node Classifier to Puppet Masters in a Satellite deployment. F act er Facter is a program that provides information (facts) about the system on which it is run; for example, Facter can report total memory, operating system version, architecture, and more.
G lossary of T erms O rg an iz at io n An Organization is an isolated collection of systems, content, and other functionality within a Satellite 6 deployment. P ermissio n The ability to perform an action. P ro d u ct A collection of content repositories. Products can be Red Hat products or newly-created products made up of software and configuration content.
Red Hat Sat ellit e 6 .0 T ransit ion G uide S t an d ard O p erat in g En viro n men t ( SO E) A Standard Operating Environment (SOE) is a controlled version of the operating system on which applications are deployed. S u b scrip t io n Subscriptions are the means by which you receive content and service from Red Hat. S yn ch ro n iz in g Synchronizing refers to mirroring content from external resources into the Red Hat Satellite 6 Library.
Revision Hist ory Revision History R evisio n 2- 02 Fri 21 N o v 2014 Publishing book for the November Async. At h en e C h an R evisio n 2- 01 Wed 12 N o v 2014 Updated sections on transitioning hosts. D avid O ' B rien R evisio n 1- 0 Wed 10 Sep 2014 Red Hat Satellite 6.0 GA Release D avid O ' B rien R evisio n 0- 07 T u e 9 Sep 2014 D avid O ' B rien Update section on synchronizing repositories to optimize transition process. BZ 1138755: Update transition requirements.