0% found this document useful (0 votes)
136 views14 pages

Redhat Hacker Summit 2013 Tot Rhns API

This document provides an overview of programming with the Red Hat Network API. It describes the uses of the RHN API for custom queries, reporting, automated administration and more. It outlines the supported programming languages of Perl and Python and discusses the typical structure of RHN API programs, including connecting to the server, authentication, performing operations, and logging out. It also lists and describes the various API methods for software/server administration, user/organization management, channel management, systems management and more. Sample Perl and Python scripts demonstrating basic RHN API usage are provided. The document concludes with instructions for an practice exercise using the RHN API.

Uploaded by

sagar.srivastava
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
136 views14 pages

Redhat Hacker Summit 2013 Tot Rhns API

This document provides an overview of programming with the Red Hat Network API. It describes the uses of the RHN API for custom queries, reporting, automated administration and more. It outlines the supported programming languages of Perl and Python and discusses the typical structure of RHN API programs, including connecting to the server, authentication, performing operations, and logging out. It also lists and describes the various API methods for software/server administration, user/organization management, channel management, systems management and more. Sample Perl and Python scripts demonstrating basic RHN API usage are provided. The document concludes with instructions for an practice exercise using the RHN API.

Uploaded by

sagar.srivastava
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Begin Programming Your Red

Hat Network Satellite Server


George Hacker
Curriculum Manager, Red Hat, Inc.
June 14, 2013

Session/Unit Goals

Upon completion of this unit, you should be able to:

Describe the practical uses for the Red Hat Network API

Give an overview of basic RHN API program structure

Modify and write simple programs using the RHN API

RHN Application Programming Interface

Application programming interface provided by RHN

Red Hat Network API uses:

Custom queries

Reporting

Automated RHN administration

Red Hat Network API functionality continues to expand

Every Satellite server has relevant API documentation

http://satellite.fqdn/rhn/apidoc/

Supported Programming Languages

Works with languages with XML-RPC client support

Most common languages used are Perl and Python

Perl

Requires perl-Frontier-RPC package

No additional requirements for Python

RHN API Program Structure

Programs which use the RHN API have a consistent


pattern
Connect to the Satellite server via XML-RPC library
In most cases, authenticate as a valid user
Normal Satellite server permissions/roles apply

Perform queries and operations of interest


Log out (only when authenticated)

API Methods RHN Software/Server Admin

api

preferences

Methods for locale and timezone configuration

proxy

Provides getVersion and systemVersion methods

Provides methods to manage RHN Proxies

satellite

Provides RHN Satellite management methods

API Methods User/Organization Management

auth

org

Provides login and logout methods


Provides methods for Organization management

user

Provides methods for RHN user administration

API Methods Channel Management

channel

configchannel

Provides methods for Configuration Channel management

errata

Provides methods for managing Software Channels

Provides methods to manage RHN errata

packages

Methods that search for and deletes packages within RHN

API Methods Systems Management

activationkey

kickstart

Methods to search and manage scheduled events

system

Provides methods to manage kickstart profiles

schedule

Provides methods for managing Activation Keys

Provides methods for queries and management of registered systems

systemgroup

Provides methods for System Group administration

Sample Perl Script


#!/usr/bin/perl
use Frontier::Client;
my $URL = 'https://satellite.example.com/rpc/api';
my $user = 'rhn-username';
my $pass = 'rhn-password';
my $client = new Frontier::Client(url => $URL);
my $session = $client->call('auth.login', $user, $pass);
my $systems = $client->call('system.listUserSystems', $session);
foreach my $system (@$systems) {
print $system->{'name'}."\n";
}
$client->call('auth.logout', $session);

Sample Python Script


#!/usr/bin/python
import xmlrpclib
URL = "https://satellite.example.com/rpc/api"
user = "rhn-username"
pswd = "rhn-password"
client = xmlrpclib.Server(URL, verbose=0)
session = client.auth.login(user, pswd)
list = client.user.list_assigned_system_groups(session, user)
for group in list:
print group.get('name')
client.auth.logout(session)

Practice Exercise RHN API Programming

Log into your workstation

Username: student

Password: student

RHN Satellite credentials

Username: summitXX

Password: redhat

Sample scripts available

http://satellite/pub/rhn-api

Follow handout
instructions

Work with your neighbors

If all else fails, ask!

Time: ~35 minutes

Thank You for Attending!

To learn more about Red Hat Network Satellite, Red


Hat Training offers the following 4-day course:

Red Hat Enterprise Deployment and Systems


Management (RH401)

Please complete your survey and log out of your


system before you leave
Additional question? Visit the Red Hat Training booth in
the Partner Pavilion and speak with a member of the
Red Hat Curriculum Team

You might also like