Re: [Spacewalk-devel] YUM RHN Lock Plugin

2012-06-14 Thread Miroslav Suchý

On 06/13/2012 10:45 PM, Musayev, Ilya wrote:

Am I correct in my assumptions and would the proposed changes be acceptable?


You are very correct and yes that would be acceptable.

--
Miroslav Suchy
Red Hat Satellite Engineering

___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel


Re: [Spacewalk-devel] YUM RHN Lock Plugin

2012-06-14 Thread Jan Hutař
On Wed, 13 Jun 2012 08:49:46 -0400 Musayev, Ilya
imusa...@webmd.net wrote:

 That is correct. You can also install via RPM. If I'm not
 mistaken, --noplugings will also cut off rhn-plugin and
 therefore there will be no rhn repos. 
 
 Ideally, it would be nice to integrate RHN LOCK with
 rhn-yum-plugin. That way if system locked - it is truly locked
 from both aspects (GUI and CLI) and you would not be able to
 disable lock independently. 

Hello,
of course, yum have --disableplugin=[plugin] as well. What I
wanted to say is: that plugin might be creating some false
feeling of something being disabled/secured. If it is meant more
do not incidentally install packages on locked system, then it
is OK.

Regards,
Jan



 On Jun 13, 2012, at 6:43 AM, Jan Hutař jhu...@redhat.com
 wrote:
 
  On Thu, 7 Jun 2012 18:32:06 -0400 Musayev, Ilya
  imusa...@webmd.net wrote:
  
  While RHN has a limitation on locking the host from the Web
  UI, user is still able to run yum operations from the host
  (granted user has proper access).
  
  I wrote a simple YUM plugin to check if the host is locked
  in RHN and if it is, prevent yum usage on the host.
  
  Needless to say, this is proof of concept and my python
  skills are lacking, nevertheless it works.
  
  TODO:
  * Move Authentication part into config - easy to do but not
  secure
  * Use alternative method of authentication used by
  rhnplugin - need to see how that can be done - if it all
  possible
  
  I need help with understanding how i can leverage rhnplugin
  type of auth with RHN Lock Yum Plugin.
  
  The proof of concept code is below - if you could make any
  suggestions and improvements - it would be appreciated.
  
  
  Thanks
  ilya
  
  
  
  --- /etc/yum/pluginconf.d/rhnlockplugin.conf
   [main]
  enabled=1
  
  
  
  -- /usr/share/yum-plugins/rhnlockplugin.py
  --
  
  from yum.plugins import PluginYumExit, TYPE_CORE,
  TYPE_INTERACTIVE from xml.dom import minidom
  import xmlrpclib
  
  requires_api_version = '2.3'
  plugin_type = (TYPE_CORE, TYPE_INTERACTIVE)
  
  def init_hook(conduit):
 conduit.info(2, 'Checking if system is locked in
  RHN/Spacewalk') SATELLITE_URL =
  http://spacewalk.hostname.com/rpc/api; SATELLITE_LOGIN =
  admin SATELLITE_PASSWORD = password
  
 client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
  
 key = client.auth.login(SATELLITE_LOGIN,
  SATELLITE_PASSWORD)
  
 #--
 def getSystemID(xml):
 
 Print out all names found in xml
 
 doc = minidom.parse(xml)
 node = doc.documentElement
 members = doc.getElementsByTagName(member)
  
 for member in members:
 name = member.getElementsByTagName(name)
  [0].firstChild.data if name == system_id:
 value = \
 member.getElementsByTagName(string)
  [0].firstChild.data return value.replace(ID-,)
  
 def getLockStatus(sysID):
 
 Function to check if the host is locked
 
 details = client.system.getDetails(key, int(sysID))
 if details['lock_status']:
 #print ERROR: Skipping RHN/Spacewalk locked
 #system %s % sysID
 raise PluginYumExit('ERROR: Skipping
  RHN/Spacewalk locked system: %s' % sysID) else:
 print NOTE: This host in not locked in
  RHN/Spacewalk
  
 systemIDfile = '/etc/sysconfig/rhn/systemid'
 mySystemID = getSystemID(systemIDfile)
 getLockStatus(getSystemID(systemIDfile))
  
 client.auth.logout(key)
  ---
  
  Hello,
  not sure what you want to achieve here, but note you can do
  `yum
  --noplugins ...` which would just disable the plugin and
  allow normal yum operation.
  
  Regards,
  Jan
  
  
  
  -- 
  Jan Hutar Systems Management QA
  jhu...@redhat.com Red Hat, Inc.


-- 
Jan Hutar Systems Management QA
jhu...@redhat.com Red Hat, Inc.


pgpth5xxzcMun.pgp
Description: PGP signature
___
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel