default_config = [ 'onelab' ]
 
-    default_steps = ['uninstall','install','install_rpm',
+    default_steps = ['uninstall','install','cache_rpm','install_rpm',
                      'configure', 'start', 
                      'clear_ssh_config','store_keys', 'initscripts', 
                      'sites', 'nodes', 'slices', 
 
             return self.install_vserver(options)
         else:
             return self.install_chroot(options)
-
+    
     ### install_rpm
+    def cache_rpm(self,options):
+        self.run_in_host('rm -rf *.rpm')
+        utils.header('Curling rpm from %s'%options.myplc_url)
+       url=options.myplc_url
+       id= self.run_in_host('curl -O '+url)
+       if (id != 0):
+               raise Exception,"Could not get rpm from  %s"%options.myplc_url
+               return False
+       return True
+
     def install_rpm_chroot(self,options):
-        utils.header('Installing from %s'%options.myplc_url)
-        url=options.myplc_url
-        self.run_in_host('rpm -Uvh '+url)
+        rpm = os.path.basename(options.myplc_url)
+        utils.header('Installing the :  %s'%rpm)
+        self.run_in_host('rpm -Uvh '+rpm)
         self.run_in_host('service plc mount')
         return True