Bug 695559

Summary: RHUI Manager Concepts
Product: Red Hat Update Infrastructure for Cloud Providers Reporter: Jay Dobies <jason.dobies>
Component: DocumentationAssignee: Lana Brindley <lbrindle>
Status: CLOSED CURRENTRELEASE QA Contact: wes hayutin <whayutin>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 2.0CC: mhideo, sghai, tsanders
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-07-29 04:41:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 689309    

Description Jay Dobies 2011-04-12 00:49:59 UTC
RHUI Manager is an interactive shell, meaning commands typed in are interpretted by the application instead of the command line directly. I'm hoping it's pretty intuitive, but it's definitely more complex than simply running a command at the command line. So I was thinking we might need a guide for general concepts and commands. Below are some things I think we'll want to include.

-----
Starting and Exiting

The RHUI Manager is started by running rhui-tools. After logging in (more on that in a separate bug), the user is displayed a prompt similar to the following:

rhui (home) => 

That prompt means RHUI Manager is ready to be interacted with by the user.

RHUI Manager is closed by typing at the prompt either 'q', 'quit', or 'exit'. Additionally, ctrl+c will exit.

-----
Screens

RHUI Manager uses the concepts of screens to differentiate functional sections. Each screen has its own menu of related commands. In some cases, a screen is scoped to a particular item being worked on. For instance, the "CDS Repository Managment Screen" only affects repositories for a single CDS at a time.

The following screens are available to the user:

Home - First screen the user sees when logging in. This is mainly a menu to access other screens.

Repo - Repository management: list all, detailed info on a single repo, add red hat repo, create custom repo, delete a repo, upload packages to a custom repo, and list packages in a repo

CDS - CDS management: list all, register (add) a new CDS, unregister (delete) a CDS, switch to repository management for a particular CDS

CDS Repo Management - Accessed from the CDS screen, the user is prompted to select one of the CDS instances. This screen then allows the user to list repos deployed to that CDS, and deploy/undeploy repositories to the chosen CDS.

Synchronization Status and Scheduling - display repo and CDS sync schedules and past runs, trigger semi-immediate* sync for repos and cds instances

Red Hat Entitlement Certificates - list entitled products in the current content certificate, list custom repository entitlements, upload a new content certificate.

User - lets the user change their password (basically needed on first run to reset the default password; more on this in the login bug).

* This "semi-immediate" concept is going to come up again. The idea is that repos will automatically sync every 6 hours. You can tell RHUI Manager to sync a repo "immediately", but it will only start once the RHUI has finished any tasks in the queue before it. So if another repo is currently synccing, the one you triggered won't happen immediately, but as soon as possible. I'll let you come up with a cleaner way of saying that, since I keep stumbling over it.

Looking back at the prompt:

rhui (home) => 

The text in the ( ) indicates which screen the user is on. In the above example, the user is on the home screen. The only time this isn't the case is the CDS Repo Management screen, which instead will show you the hostname of the CDS being edited:

rhui (cds1.example.com) =>

-----
Help

At the prompt, '?' or 'help' can be typed to show the menu for whatever screen the user is currently on. The menu is in two parts:
- Screen-specific Commands
- Shell-level Commands

The screen-specific commands differ by screen ("list repos", "list CDS instances", etc). The shell-level commands are consistent across the entire tool (navigation, help, exit, etc.)

-----
Navigation

On any screen, '<' can be used to move to the previous screen. For example, after switching from "home" to "repo", typing '<' will return the user to the home screen.

'^' or 'home' can be used from any screen to immediately return to the home screen.

'/' or 'clear' clears the screen. I know this isn't navigation, but it's the only thing left in the shell-level commands I haven't talked about yet.

-----
RHUA Server

When the menu is displayed, either through 'help' or by switching screens, the bottom right-hand side of the tool will show the server the tool is currently connected to. For example:

                   Connected: rhua.example.com
----------------------------------------------
rhui (home) =>

Comment 1 Lana Brindley 2011-04-13 00:32:33 UTC
We can put this at the beginning of Part II: Configuration.

LKB

Comment 2 Jay Dobies 2011-04-14 23:43:46 UTC
One thing that was just added is the "logout" command that's accessible at any time. Much like "quit", this exits RHUI Manager. This also removes any stored authentication credentials that were saved when first logging into the RHUI Manager. That means the next time RHUI Manager is run, the user will be prompted to log in again.

It appears when displaying the menu much like the rest of the navigation commands:

   logout
       removes stored authentication credentials and exits

   <   move to the previous screen
   ^, home
       move to the home screen
   /, clear
       clears the screen
   ?, help
       display help
   q, quit, exit
       exit

Comment 3 Lana Brindley 2011-05-02 21:56:53 UTC
Revision 1-2

LKB

Comment 4 Sachin Ghai 2011-05-24 11:19:24 UTC
Just a suggestion, if we can use the RHUI screen names based on some convention. I think we can define the RHUI screen names by three ways.

Presently in Install guide:
============================
Home
Repo
CDS
Synchronization Status and scheduling
Create Certificates and Configuration RPMs
Entitlements Manager
User

We should follow any of three ways. But not mix of all. Like:

First: This is based on the options on "Home" screen.
==========
Home
manage repositories
manage CDS
synchronization status and scheduling
create entitlement certificates and client configuration RPMs
manage Red Hat entitlement certificates
manage users


Second:
========
This is based on prompt appeared after selecting above options. Like in case of 
" r  manage repositories ", we have "rhui (repo) =>". So here we can consider repo as the screen name. 


------------------------------------------------------------------------------
rhui (repo) => 

This way we have screen names like:
====================================
Home
Repo
CDS
Sync
Client
Entitlements
Users


Third: 
==========

This is based on keyword mentioned on top of every screen like:
------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Repository Management =-

--------------------------------------------------------------------
Home
Repository Management
CDS Management
Synchronization status
Client Entitlement Management
Entitlements Manager
User Manager


To me looks like "third" one is the best way because this actually contains the screen names.

This is just a suggestion, otherwise we can ignore this.

Comment 5 Lana Brindley 2011-05-24 20:55:26 UTC
Updated to third suggestion. Thanks!

Revision 1-10

LKB

Comment 6 Sachin Ghai 2011-05-25 09:16:05 UTC
Verified in Install guide at:
http://documentation-stage.bne.redhat.com/docs/en-US/Red_Hat_Update_Infrastructure/2.0/pdf/Installation_Guide/Red_Hat_Update_Infrastructure-2.0-Installation_Guide-en-US.pdf

Screen name has been changed as per the third suggestion in comment 4.

Changes are reflected on page 19-20 ( Chapter 4 RHUI Manager )

Comment 7 Lana Brindley 2011-07-29 04:41:08 UTC
This book is now available at http://docs.redhat.com/docs/en-US/Red_Hat_Update_Infrastructure/2.0/html/Installation_Guide/index.html

Please raise a new bug for any further changes.

LKB