Sanjeev N created CLOUDSTACK-3558:
-------------------------------------

             Summary: [Object_Store_Refactor] Extract ISO is not honouring 
"extractable" field value
                 Key: CLOUDSTACK-3558
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3558
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
            Reporter: Sanjeev N


Extract ISO is not honouring "extractable" field value. Able to download ISO 
even the "Extractable" fied is set to No.

Steps to Reproduce:
================
1.Bring up CS in advanced zone with s3 as the secondary storage
2.Add kvm cluster with local storage as the primary storage
3.Register ISO and mark it is public,featured and extractable.
4.Update ISO permissions and set Extractable to No(Uncheck the Extractable 
field in UI)
5.Try to download the iso

Expected Result:
=============
Download ISO should fail since extractable filed is unset.

Actual Result:
============
Download was succeeded.

Observations:
==========
Here is the log snippet from management server log file:

2013-07-16 09:27:33,750 DEBUG [cloud.api.ApiServlet] (catalina-exec-9:null) 
===START===  10.146.0.20 -- GET  
command=updateIso&response=json&sessionkey=kt6%2B7hq85%2FU9HFfssTmfwxtFBfM%3D&id=21423ff5-7ffd-472f-b489-3f0ec5163343&name=Rhel6&displaytext=Rhel6&ostypeid=ba447368-edf8-11e2-9c55-06045a000066&_=1373981254079
2013-07-16 09:27:33,968 DEBUG [cloud.api.ApiServlet] (catalina-exec-9:null) 
===END===  10.146.0.20 -- GET  
command=updateIso&response=json&sessionkey=kt6%2B7hq85%2FU9HFfssTmfwxtFBfM%3D&id=21423ff5-7ffd-472f-b489-3f0ec5163343&name=Rhel6&displaytext=Rhel6&ostypeid=ba447368-edf8-11e2-9c55-06045a000066&_=1373981254079
2013-07-16 09:27:34,118 DEBUG [cloud.api.ApiServlet] (catalina-exec-24:null) 
===START===  10.146.0.20 -- GET  
command=updateIsoPermissions&response=json&sessionkey=kt6%2B7hq85%2FU9HFfssTmfwxtFBfM%3D&id=21423ff5-7ffd-472f-b489-3f0ec5163343&ispublic=true&isfeatured=false&isextractable=false&_=1373981254406
2013-07-16 09:27:34,157 DEBUG [cloud.api.ApiServlet] (catalina-exec-24:null) 
===END===  10.146.0.20 -- GET  
command=updateIsoPermissions&response=json&sessionkey=kt6%2B7hq85%2FU9HFfssTmfwxtFBfM%3D&id=21423ff5-7ffd-472f-b489-3f0ec5163343&ispublic=true&isfeatured=false&isextractable=false&_=1373981254406
 

2013-07-16 09:28:02,160 DEBUG [cloud.api.ApiServlet] (catalina-exec-10:null) 
===START===  10.146.0.20 -- GET  
command=extractIso&mode=HTTP_DOWNLOAD&id=21423ff5-7ffd-472f-b489-3f0ec5163343&response=json&sessionkey=kt6%2B7hq85%2FU9HFfssTmfwxtFBfM%3D&_=1373981282439
2013-07-16 09:28:02,324 DEBUG [cloud.async.AsyncJobManagerImpl] 
(catalina-exec-10:null) submit async job-30 = [ 
5745609f-6cad-4ade-bd07-6c07b2801b47 ], details: AsyncJobVO {id:30, userId: 2, 
accountId: 2, sessionKey: null, instanceType: Iso, instanceId: 202, cmd: 
org.apache.cloudstack.api.command.user.iso.ExtractIsoCmd, cmdOriginator: null, 
cmdInfo: 
{"response":"json","id":"21423ff5-7ffd-472f-b489-3f0ec5163343","sessionkey":"kt6+7hq85/U9HFfssTmfwxtFBfM\u003d","cmdEventType":"ISO.EXTRACT","ctxUserId":"2","httpmethod":"GET","_":"1373981282439","ctxAccountId":"2","ctxStartEventId":"106","mode":"HTTP_DOWNLOAD"},
 cmdVersion: 0, callbackType: 0, callbackAddress: null, status: 0, 
processStatus: 0, resultCode: 0, result: null, initMsid: 6615759585382, 
completeMsid: null, lastUpdated: null, lastPolled: null, created: null}
2013-07-16 09:28:02,327 DEBUG [cloud.api.ApiServlet] (catalina-exec-10:null) 
===END===  10.146.0.20 -- GET  
command=extractIso&mode=HTTP_DOWNLOAD&id=21423ff5-7ffd-472f-b489-3f0ec5163343&response=json&sessionkey=kt6%2B7hq85%2FU9HFfssTmfwxtFBfM%3D&_=1373981282439
2013-07-16 09:28:02,330 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-30:job-30 = [ 5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Executing 
org.apache.cloudstack.api.command.user.iso.ExtractIsoCmd for job-30 = [ 
5745609f-6cad-4ade-bd07-6c07b2801b47 ]
2013-07-16 09:28:02,358 INFO  [datastore.driver.S3ImageStoreDriverImpl] 
(Job-Executor-30:job-30 = [ 5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Generating 
pre-signed s3 entity extraction URL.
2013-07-16 09:28:02,359 DEBUG [cloud.utils.S3Utils] (Job-Executor-30:job-30 = [ 
5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Creating S3 client with configuration: 
[protocol: http, connectionTimeOut: 50000, maxErrorRetry: 3, socketTimeout: 
50000]
2013-07-16 09:28:02,378 DEBUG [cloud.utils.S3Utils] (Job-Executor-30:job-30 = [ 
5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Setting the end point for S3 client 
com.amazonaws.services.s3.AmazonS3Client@33d7fdca to 10.147.29.57:8080.

2013-07-16 09:28:02,479 INFO  [datastore.driver.S3ImageStoreDriverImpl] 
(Job-Executor-30:job-30 = [ 5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Pre-Signed 
URL = 
http://10.147.29.57:8080/imagestore/template%2Ftmpl%2F2%2F202%2F202-2-274e634b-d997-35fd-afef-4e303ba55587%2Frhel-6.0-install-CD.iso?Expires=1373984882&AWSAccessKeyId=9M7I6JPYZHDNLG43TWCD&Signature=nzHM6LDk8t7VMqfrAfjY8hk8STw%3D
2013-07-16 09:28:02,495 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-30:job-30 = [ 5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Complete 
async job-30 = [ 5745609f-6cad-4ade-bd07-6c07b2801b47 ], jobStatus: 1, 
resultCode: 0, result: 
org.apache.cloudstack.api.response.ExtractResponse@3d0d2adb
2013-07-16 09:28:02,524 DEBUG [cloud.async.AsyncJobManagerImpl] 
(Job-Executor-30:job-30 = [ 5745609f-6cad-4ade-bd07-6c07b2801b47 ]) Done 
executing org.apache.cloudstack.api.command.user.iso.ExtractIsoCmd for job-30 = 
[ 5745609f-6cad-4ade-bd07-6c07b2801b47 ]

Template details from vm_template table:

mysql> select * from vm_template where id=202\G;
*************************** 1. row ***************************
                  id: 202
         unique_name: 202-2-274e634b-d997-35fd-afef-4e303ba55587
                name: Rhel6
                uuid: 21423ff5-7ffd-472f-b489-3f0ec5163343
              public: 1
            featured: 0
                type: USER
                 hvm: 1
                bits: 64
                 url: http://10.147.28.7/ISO/RHEL/rhel-6.0-install-CD.iso
              format: ISO
             created: 2013-07-16 13:15:51
             removed: NULL
          account_id: 2
            checksum: NULL
        display_text: Rhel6
     enable_password: 0
       enable_sshkey: 0
         guest_os_id: 137
            bootable: 1
         prepopulate: 0
         cross_zones: 0
         extractable: 0
     hypervisor_type: None
  source_template_id: NULL
        template_tag: NULL
            sort_key: 0
                size: 1739505664
               state: NULL
        update_count: 0
             updated: NULL
dynamically_scalable: 0
1 row in set (0.00 sec)

ERROR:
No query specified


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to