Yum - Commands
Parsers for yum
commands.
This module contains the classes that parse the output of the commands yum -C --noplugins repolist.
YumRepoList - command yum -C --noplugins repolist
- class insights.parsers.yum.YumRepoList(context, extra_bad_lines=None)[source]
Bases:
CommandParser
Class for parsing the output of yum -C --noplugins repolist command.
Typical output of the command is:
repo id repo name status rhel-7-server-e4s-rpms/x86_64 Red Hat Enterprise Linux 7 Server - Update Services for SAP Solutions (RPMs) 12,250 !rhel-ha-for-rhel-7-server-e4s-rpms/x86_64 Red Hat Enterprise Linux High Availability (for RHEL 7 Server) Update Services for SAP Solutions (RPMs) 272 *rhel-sap-hana-for-rhel-7-server-e4s-rpms/x86_64 RHEL for SAP HANA (for RHEL 7 Server) Update Services for SAP Solutions (RPMs) 21 repolist: 12,768
Or sometimes it just outputs repo id and status:
repo id status LME_EPEL_6_x86_64 26123 LME_FSMLabs_Timekeeper_timekeeper 2 LME_HP_-_Software_Delivery_Repository_Firmware_Pack_for_ProLiant_-_6Server_-_Current 1163 LME_HP_-_Software_Delivery_Repository_Scripting_Took_Kit_-_6Server 17 LME_HP_-_Software_Delivery_Repository_Service_Pack_for_ProLiant_-_6Server_-_Current 1915 LME_HP_-_Software_Delivery_Repository_Smart_Update_Manager_-_6Server 30 LME_LME_Custom_Product_Mellanox_OFED 114 LME_LME_Custom_Product_OMD_RPMS 14 LME_LME_Custom_Product_RPMs 5 LME_LME_Custom_Product_SNOW_Repository 2 rhel-6-server-optional-rpms 10400+1 rhel-6-server-rpms 18256+12 rhel-6-server-satellite-tools-6.2-rpms 55 repolist: 58096
Examples
>>> len(repolist) 3 >>> 'rhel-7-server-e4s-rpms/x86_64' in repolist.repos True >>> 'rhel-7-server-e4s-rpms' in repolist.repos False >>> 'rhel-7-server-e4s-rpms' in repolist.rhel_repos True >>> repolist['rhel-7-server-e4s-rpms/x86_64']['name'] 'Red Hat Enterprise Linux 7 Server - Update Services for SAP Solutions (RPMs)' >>> repolist[0]['name'] 'Red Hat Enterprise Linux 7 Server - Update Services for SAP Solutions (RPMs)' >>> repolist['rhel-ha-for-rhel-7-server-e4s-rpms/x86_64']['id'] '!rhel-ha-for-rhel-7-server-e4s-rpms/x86_64' >>> len(repolist_no_reponame) 13 >>> len(repolist_no_reponame.rhel_repos) 3 >>> 'rhel-6-server-rpms' in repolist_no_reponame.repos True >>> 'rhel-6-server-optional-rpms' in repolist_no_reponame.rhel_repos True >>> repolist_no_reponame[0]['id'] 'LME_EPEL_6_x86_64' >>> repolist_no_reponame[0].get('name', '') ''
- data
list of repos wrapped in dictionaries
- Type:
list
- repos
dict of all listed repos where the key is the full repo-id without “!” or “*”. But you can get it from the value part if needed. For example:
self.repos = { 'rhel-7-server-e4s-rpms/x86_64': { 'id': 'rhel-7-server-e4s-rpms/x86_64', 'name': 'Red Hat Enterprise Linux 7 Server - Update Services for SAP Solutions (RPMs)', 'status': '12,250' }, 'rhel-ha-for-rhel-7-server-e4s-rpms/x86_64': { 'id': '!rhel-ha-for-rhel-7-server-e4s-rpms/x86_64', 'name': 'Red Hat Enterprise Linux High Availability (for RHEL 7 Server) Update Services for SAP Solutions (RPMs)', 'status': '272' }, 'rhel-sap-hana-for-rhel-7-server-e4s-rpms/x86_64': { 'id': '*rhel-sap-hana-for-rhel-7-server-e4s-rpms/x86_64', 'name': 'RHEL for SAP HANA (for RHEL 7 Server) Update Services for SAP Solutions (RPMs)', 'status': '21' } }
- Type:
dict
- property eus
list of the EUS part of each repo
- property rhel_repos
list of all the rhel repos and the item is just the repo id without server and arch info. For example:
self.rhel_repos = [ 'rhel-7-server-e4s-rpms', 'rhel-ha-for-rhel-7-server-e4s-rpms', 'rhel-sap-hana-for-rhel-7-server-e4s-rpms' ]
- Type:
list