You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Chamila De Alwis <ch...@wso2.com> on 2015/01/19 14:01:05 UTC

Permission Denied while cloning

Hi,

I'm getting the following error in the agent log when creating a tomcat
cartridge based on the single-cartridge sample. It looks like the folder to
clone the artifacts is not being created. I'm looking in to this now.

2015-01-19 18:13:01,919:DEBUG:Executing handler for event
'ArtifactUpdatedEvent'
2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
2015-01-19 18:13:01,919:INFO:Executing git checkout
2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
[repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
2015-01-19 18:13:01,937:ERROR:Permission denied for repository path for
tenant u'-1234'
Traceback (most recent call last):
  File
"/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
line 230, in clone
    repo = Repo.clone_from(repo_context.repo_url,
repo_context.local_repo_path)
  File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line 727,
in clone_from
    return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line 682,
in _clone
    git.clone(url, path, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219, in
<lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430, in
_call_process
    return self.execute(call, **_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309, in
execute
    **subprocess_kwargs
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com

Re: Permission Denied while cloning

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi Imesh,

On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Therefore we need to add application path to cluster (basic) payload.

In that case do we need to define the application path in a cartridge
definition to be passed to the basic payload data?



Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com

Re: Permission Denied while cloning

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi Imesh,

It seems the last commit (d2e4e8e6fb362becdb38bbe6d04c84353cc43361) was not
merged.


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Fri, Jan 23, 2015 at 9:06 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Thanks Chamila, this is now merged.
> On Jan 21, 2015 8:17 AM, "Chamila De Alwis" <ch...@wso2.com> wrote:
>
>> Hi Imesh,
>>
>> Please merge the fixed PR #181. The application path is added to the
>> basic payload only if it has a non null value.
>>
>> https://github.com/apache/stratos/pull/181
>>
>>
>> Regards,
>> Chamila de Alwis
>> Software Engineer | WSO2 | +94772207163
>> Blog: code.chamiladealwis.com
>>
>>
>>
>> On Tue, Jan 20, 2015 at 7:15 PM, Chamila De Alwis <ch...@wso2.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I removed the APPLICATION_PATH from the basic payload data. This is now
>>> set via Puppet in the VM scenario and in the Docker scenario it has to be
>>> set in the cartridge definition, which will make it available as an
>>> environment variable. Please merge the PR[1].
>>>
>>> [1] - https://github.com/apache/stratos/pull/180
>>>
>>>
>>> Regards,
>>> Chamila de Alwis
>>> Software Engineer | WSO2 | +94772207163
>>> Blog: code.chamiladealwis.com
>>>
>>>
>>>
>>> On Tue, Jan 20, 2015 at 4:39 PM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> May be we could support both ways of sending application path, might
>>>> need to see how agent and accommodate it.
>>>>
>>>> Thanks
>>>>
>>>> On Tue, Jan 20, 2015 at 12:22 PM, Lakmal Warusawithana <lakmal@wso2.com
>>>> > wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> The reason for this is that, in Kuberntes we still do not use an
>>>>>> orchestration layer such as Puppet. As a result it is not possible to
>>>>>> define this in Puppet master. Therefore we need to add application path to
>>>>>> cluster (basic) payload.
>>>>>>
>>>>>> IMO it would be better to stick to this standard for all scenarios.
>>>>>> WDYT?
>>>>>>
>>>>>
>>>>> I'm not sure we should push these standard, because it depends on the
>>>>> technologies and scenarios. Yes, for kubernetes, we should specify this in
>>>>> cartridge definition, but VM scenario, its depends on what orchestration
>>>>> methods, pattens are used.
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> This seems to be the result of APPLICATION_PATH in the payload
>>>>>>> having a null value. Following is the launch parameters file which contains
>>>>>>> the payload data.
>>>>>>>
>>>>>>>
>>>>>>> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
>>>>>>> mytomcat.isuruh.lk
>>>>>>> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
>>>>>>> *APPLICATION_PATH=null*,REPO_URL=
>>>>>>> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>>>>>>>
>>>>>>>
>>>>>>> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet
>>>>>>> module using the docroot variable set at the node definition for each
>>>>>>> cartridge type[1]. However as of
>>>>>>> revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b [2], the APPLICATION_PATH
>>>>>>> is added to the basic payload data.
>>>>>>>
>>>>>>> Is there a particular reason for this? If so, why does it set a null
>>>>>>> value to the APPLICATION_PATH?
>>>>>>>
>>>>>>> IMO, since this is a configuration detail, this should be handled by
>>>>>>> the configuration layer, i.e. either Puppet or the variables in the
>>>>>>> Dockerfile.
>>>>>>>
>>>>>>>
>>>>>>> [1] -
>>>>>>> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
>>>>>>> [2] -
>>>>>>> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>> Chamila de Alwis
>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <chamilad@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm getting the following error in the agent log when creating a
>>>>>>>> tomcat cartridge based on the single-cartridge sample. It looks like the
>>>>>>>> folder to clone the artifacts is not being created. I'm looking in to this
>>>>>>>> now.
>>>>>>>>
>>>>>>>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>>>>>>>> 'ArtifactUpdatedEvent'
>>>>>>>> 2015-01-19 18:13:01,919:INFO:Artifact update event received:
>>>>>>>> [tenant] u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>>>>>>>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>>>>>>>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id]
>>>>>>>> -1234 [repo-url]
>>>>>>>> https://github.com/chamilad/tc-hw-artifact-repo.git
>>>>>>>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>>>>>>>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path
>>>>>>>> for tenant u'-1234'
>>>>>>>> Traceback (most recent call last):
>>>>>>>>   File
>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>>>>>>>> line 230, in clone
>>>>>>>>     repo = Repo.clone_from(repo_context.repo_url,
>>>>>>>> repo_context.local_repo_path)
>>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py",
>>>>>>>> line 727, in clone_from
>>>>>>>>     return cls._clone(Git(os.getcwd()), url, to_path,
>>>>>>>> GitCmdObjectDB, **kwargs)
>>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py",
>>>>>>>> line 682, in _clone
>>>>>>>>     git.clone(url, path, **kwargs)
>>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line
>>>>>>>> 219, in <lambda>
>>>>>>>>     return lambda *args, **kwargs: self._call_process(name, *args,
>>>>>>>> **kwargs)
>>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line
>>>>>>>> 430, in _call_process
>>>>>>>>     return self.execute(call, **_kwargs)
>>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line
>>>>>>>> 309, in execute
>>>>>>>>     **subprocess_kwargs
>>>>>>>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>>>>>>>     errread, errwrite)
>>>>>>>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in
>>>>>>>> _execute_child
>>>>>>>>     raise child_exception
>>>>>>>> OSError: [Errno 2] No such file or directory
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Chamila de Alwis
>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Lakmal Warusawithana
>>>>> Vice President, Apache Stratos
>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>> Mobile : +94714289692
>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>

Re: Permission Denied while cloning

Posted by Imesh Gunaratne <im...@apache.org>.
Thanks Chamila, this is now merged.
On Jan 21, 2015 8:17 AM, "Chamila De Alwis" <ch...@wso2.com> wrote:

> Hi Imesh,
>
> Please merge the fixed PR #181. The application path is added to the basic
> payload only if it has a non null value.
>
> https://github.com/apache/stratos/pull/181
>
>
> Regards,
> Chamila de Alwis
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>
> On Tue, Jan 20, 2015 at 7:15 PM, Chamila De Alwis <ch...@wso2.com>
> wrote:
>
>> Hi,
>>
>> I removed the APPLICATION_PATH from the basic payload data. This is now
>> set via Puppet in the VM scenario and in the Docker scenario it has to be
>> set in the cartridge definition, which will make it available as an
>> environment variable. Please merge the PR[1].
>>
>> [1] - https://github.com/apache/stratos/pull/180
>>
>>
>> Regards,
>> Chamila de Alwis
>> Software Engineer | WSO2 | +94772207163
>> Blog: code.chamiladealwis.com
>>
>>
>>
>> On Tue, Jan 20, 2015 at 4:39 PM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> May be we could support both ways of sending application path, might
>>> need to see how agent and accommodate it.
>>>
>>> Thanks
>>>
>>> On Tue, Jan 20, 2015 at 12:22 PM, Lakmal Warusawithana <la...@wso2.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> The reason for this is that, in Kuberntes we still do not use an
>>>>> orchestration layer such as Puppet. As a result it is not possible to
>>>>> define this in Puppet master. Therefore we need to add application path to
>>>>> cluster (basic) payload.
>>>>>
>>>>> IMO it would be better to stick to this standard for all scenarios.
>>>>> WDYT?
>>>>>
>>>>
>>>> I'm not sure we should push these standard, because it depends on the
>>>> technologies and scenarios. Yes, for kubernetes, we should specify this in
>>>> cartridge definition, but VM scenario, its depends on what orchestration
>>>> methods, pattens are used.
>>>>
>>>>
>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> This seems to be the result of APPLICATION_PATH in the payload having
>>>>>> a null value. Following is the launch parameters file which contains the
>>>>>> payload data.
>>>>>>
>>>>>>
>>>>>> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
>>>>>> mytomcat.isuruh.lk
>>>>>> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
>>>>>> *APPLICATION_PATH=null*,REPO_URL=
>>>>>> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>>>>>>
>>>>>>
>>>>>> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet
>>>>>> module using the docroot variable set at the node definition for each
>>>>>> cartridge type[1]. However as of
>>>>>> revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b [2], the APPLICATION_PATH
>>>>>> is added to the basic payload data.
>>>>>>
>>>>>> Is there a particular reason for this? If so, why does it set a null
>>>>>> value to the APPLICATION_PATH?
>>>>>>
>>>>>> IMO, since this is a configuration detail, this should be handled by
>>>>>> the configuration layer, i.e. either Puppet or the variables in the
>>>>>> Dockerfile.
>>>>>>
>>>>>>
>>>>>> [1] -
>>>>>> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
>>>>>> [2] -
>>>>>> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Chamila de Alwis
>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>> Blog: code.chamiladealwis.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm getting the following error in the agent log when creating a
>>>>>>> tomcat cartridge based on the single-cartridge sample. It looks like the
>>>>>>> folder to clone the artifacts is not being created. I'm looking in to this
>>>>>>> now.
>>>>>>>
>>>>>>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>>>>>>> 'ArtifactUpdatedEvent'
>>>>>>> 2015-01-19 18:13:01,919:INFO:Artifact update event received:
>>>>>>> [tenant] u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>>>>>>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>>>>>>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
>>>>>>> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
>>>>>>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>>>>>>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path
>>>>>>> for tenant u'-1234'
>>>>>>> Traceback (most recent call last):
>>>>>>>   File
>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>>>>>>> line 230, in clone
>>>>>>>     repo = Repo.clone_from(repo_context.repo_url,
>>>>>>> repo_context.local_repo_path)
>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py",
>>>>>>> line 727, in clone_from
>>>>>>>     return cls._clone(Git(os.getcwd()), url, to_path,
>>>>>>> GitCmdObjectDB, **kwargs)
>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py",
>>>>>>> line 682, in _clone
>>>>>>>     git.clone(url, path, **kwargs)
>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line
>>>>>>> 219, in <lambda>
>>>>>>>     return lambda *args, **kwargs: self._call_process(name, *args,
>>>>>>> **kwargs)
>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line
>>>>>>> 430, in _call_process
>>>>>>>     return self.execute(call, **_kwargs)
>>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line
>>>>>>> 309, in execute
>>>>>>>     **subprocess_kwargs
>>>>>>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>>>>>>     errread, errwrite)
>>>>>>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in
>>>>>>> _execute_child
>>>>>>>     raise child_exception
>>>>>>> OSError: [Errno 2] No such file or directory
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>> Chamila de Alwis
>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lakmal Warusawithana
>>>> Vice President, Apache Stratos
>>>> Director - Cloud Architecture; WSO2 Inc.
>>>> Mobile : +94714289692
>>>> Blog : http://lakmalsview.blogspot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>

Re: Permission Denied while cloning

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi Imesh,

Please merge the fixed PR #181. The application path is added to the basic
payload only if it has a non null value.

https://github.com/apache/stratos/pull/181


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Tue, Jan 20, 2015 at 7:15 PM, Chamila De Alwis <ch...@wso2.com> wrote:

> Hi,
>
> I removed the APPLICATION_PATH from the basic payload data. This is now
> set via Puppet in the VM scenario and in the Docker scenario it has to be
> set in the cartridge definition, which will make it available as an
> environment variable. Please merge the PR[1].
>
> [1] - https://github.com/apache/stratos/pull/180
>
>
> Regards,
> Chamila de Alwis
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>
> On Tue, Jan 20, 2015 at 4:39 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> May be we could support both ways of sending application path, might need
>> to see how agent and accommodate it.
>>
>> Thanks
>>
>> On Tue, Jan 20, 2015 at 12:22 PM, Lakmal Warusawithana <la...@wso2.com>
>> wrote:
>>
>>>
>>>
>>> On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> The reason for this is that, in Kuberntes we still do not use an
>>>> orchestration layer such as Puppet. As a result it is not possible to
>>>> define this in Puppet master. Therefore we need to add application path to
>>>> cluster (basic) payload.
>>>>
>>>> IMO it would be better to stick to this standard for all scenarios.
>>>> WDYT?
>>>>
>>>
>>> I'm not sure we should push these standard, because it depends on the
>>> technologies and scenarios. Yes, for kubernetes, we should specify this in
>>> cartridge definition, but VM scenario, its depends on what orchestration
>>> methods, pattens are used.
>>>
>>>
>>>
>>>>
>>>> Thanks
>>>>
>>>> On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com>
>>>> wrote:
>>>>
>>>>> This seems to be the result of APPLICATION_PATH in the payload having
>>>>> a null value. Following is the launch parameters file which contains the
>>>>> payload data.
>>>>>
>>>>>
>>>>> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
>>>>> mytomcat.isuruh.lk
>>>>> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
>>>>> *APPLICATION_PATH=null*,REPO_URL=
>>>>> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>>>>>
>>>>>
>>>>> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet
>>>>> module using the docroot variable set at the node definition for each
>>>>> cartridge type[1]. However as of
>>>>> revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b [2], the APPLICATION_PATH
>>>>> is added to the basic payload data.
>>>>>
>>>>> Is there a particular reason for this? If so, why does it set a null
>>>>> value to the APPLICATION_PATH?
>>>>>
>>>>> IMO, since this is a configuration detail, this should be handled by
>>>>> the configuration layer, i.e. either Puppet or the variables in the
>>>>> Dockerfile.
>>>>>
>>>>>
>>>>> [1] -
>>>>> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
>>>>> [2] -
>>>>> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards,
>>>>> Chamila de Alwis
>>>>> Software Engineer | WSO2 | +94772207163
>>>>> Blog: code.chamiladealwis.com
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I'm getting the following error in the agent log when creating a
>>>>>> tomcat cartridge based on the single-cartridge sample. It looks like the
>>>>>> folder to clone the artifacts is not being created. I'm looking in to this
>>>>>> now.
>>>>>>
>>>>>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>>>>>> 'ArtifactUpdatedEvent'
>>>>>> 2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
>>>>>> u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>>>>>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>>>>>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
>>>>>> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
>>>>>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>>>>>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path
>>>>>> for tenant u'-1234'
>>>>>> Traceback (most recent call last):
>>>>>>   File
>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>>>>>> line 230, in clone
>>>>>>     repo = Repo.clone_from(repo_context.repo_url,
>>>>>> repo_context.local_repo_path)
>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py",
>>>>>> line 727, in clone_from
>>>>>>     return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
>>>>>> **kwargs)
>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py",
>>>>>> line 682, in _clone
>>>>>>     git.clone(url, path, **kwargs)
>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219,
>>>>>> in <lambda>
>>>>>>     return lambda *args, **kwargs: self._call_process(name, *args,
>>>>>> **kwargs)
>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430,
>>>>>> in _call_process
>>>>>>     return self.execute(call, **_kwargs)
>>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309,
>>>>>> in execute
>>>>>>     **subprocess_kwargs
>>>>>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>>>>>     errread, errwrite)
>>>>>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in
>>>>>> _execute_child
>>>>>>     raise child_exception
>>>>>> OSError: [Errno 2] No such file or directory
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Chamila de Alwis
>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>> Blog: code.chamiladealwis.com
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Lakmal Warusawithana
>>> Vice President, Apache Stratos
>>> Director - Cloud Architecture; WSO2 Inc.
>>> Mobile : +94714289692
>>> Blog : http://lakmalsview.blogspot.com/
>>>
>>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>

Re: Permission Denied while cloning

Posted by Chamila De Alwis <ch...@wso2.com>.
Hi,

I removed the APPLICATION_PATH from the basic payload data. This is now set
via Puppet in the VM scenario and in the Docker scenario it has to be set
in the cartridge definition, which will make it available as an environment
variable. Please merge the PR[1].

[1] - https://github.com/apache/stratos/pull/180


Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Tue, Jan 20, 2015 at 4:39 PM, Imesh Gunaratne <im...@apache.org> wrote:

> May be we could support both ways of sending application path, might need
> to see how agent and accommodate it.
>
> Thanks
>
> On Tue, Jan 20, 2015 at 12:22 PM, Lakmal Warusawithana <la...@wso2.com>
> wrote:
>
>>
>>
>> On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> The reason for this is that, in Kuberntes we still do not use an
>>> orchestration layer such as Puppet. As a result it is not possible to
>>> define this in Puppet master. Therefore we need to add application path to
>>> cluster (basic) payload.
>>>
>>> IMO it would be better to stick to this standard for all scenarios. WDYT?
>>>
>>
>> I'm not sure we should push these standard, because it depends on the
>> technologies and scenarios. Yes, for kubernetes, we should specify this in
>> cartridge definition, but VM scenario, its depends on what orchestration
>> methods, pattens are used.
>>
>>
>>
>>>
>>> Thanks
>>>
>>> On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com>
>>> wrote:
>>>
>>>> This seems to be the result of APPLICATION_PATH in the payload having a
>>>> null value. Following is the launch parameters file which contains the
>>>> payload data.
>>>>
>>>>
>>>> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
>>>> mytomcat.isuruh.lk
>>>> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
>>>> *APPLICATION_PATH=null*,REPO_URL=
>>>> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>>>>
>>>>
>>>> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet module
>>>> using the docroot variable set at the node definition for each cartridge
>>>> type[1]. However as of revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>>> [2], the APPLICATION_PATH is added to the basic payload data.
>>>>
>>>> Is there a particular reason for this? If so, why does it set a null
>>>> value to the APPLICATION_PATH?
>>>>
>>>> IMO, since this is a configuration detail, this should be handled by
>>>> the configuration layer, i.e. either Puppet or the variables in the
>>>> Dockerfile.
>>>>
>>>>
>>>> [1] -
>>>> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
>>>> [2] -
>>>> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>>>
>>>>
>>>>
>>>>
>>>> Regards,
>>>> Chamila de Alwis
>>>> Software Engineer | WSO2 | +94772207163
>>>> Blog: code.chamiladealwis.com
>>>>
>>>>
>>>>
>>>> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm getting the following error in the agent log when creating a
>>>>> tomcat cartridge based on the single-cartridge sample. It looks like the
>>>>> folder to clone the artifacts is not being created. I'm looking in to this
>>>>> now.
>>>>>
>>>>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>>>>> 'ArtifactUpdatedEvent'
>>>>> 2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
>>>>> u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>>>>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>>>>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
>>>>> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
>>>>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>>>>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path
>>>>> for tenant u'-1234'
>>>>> Traceback (most recent call last):
>>>>>   File
>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>>>>> line 230, in clone
>>>>>     repo = Repo.clone_from(repo_context.repo_url,
>>>>> repo_context.local_repo_path)
>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>>>>> 727, in clone_from
>>>>>     return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
>>>>> **kwargs)
>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>>>>> 682, in _clone
>>>>>     git.clone(url, path, **kwargs)
>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219,
>>>>> in <lambda>
>>>>>     return lambda *args, **kwargs: self._call_process(name, *args,
>>>>> **kwargs)
>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430,
>>>>> in _call_process
>>>>>     return self.execute(call, **_kwargs)
>>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309,
>>>>> in execute
>>>>>     **subprocess_kwargs
>>>>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>>>>     errread, errwrite)
>>>>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>>>>>     raise child_exception
>>>>> OSError: [Errno 2] No such file or directory
>>>>>
>>>>>
>>>>> Regards,
>>>>> Chamila de Alwis
>>>>> Software Engineer | WSO2 | +94772207163
>>>>> Blog: code.chamiladealwis.com
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Lakmal Warusawithana
>> Vice President, Apache Stratos
>> Director - Cloud Architecture; WSO2 Inc.
>> Mobile : +94714289692
>> Blog : http://lakmalsview.blogspot.com/
>>
>>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>

Re: Permission Denied while cloning

Posted by Imesh Gunaratne <im...@apache.org>.
May be we could support both ways of sending application path, might need
to see how agent and accommodate it.

Thanks

On Tue, Jan 20, 2015 at 12:22 PM, Lakmal Warusawithana <la...@wso2.com>
wrote:

>
>
> On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org>
> wrote:
>
>> The reason for this is that, in Kuberntes we still do not use an
>> orchestration layer such as Puppet. As a result it is not possible to
>> define this in Puppet master. Therefore we need to add application path to
>> cluster (basic) payload.
>>
>> IMO it would be better to stick to this standard for all scenarios. WDYT?
>>
>
> I'm not sure we should push these standard, because it depends on the
> technologies and scenarios. Yes, for kubernetes, we should specify this in
> cartridge definition, but VM scenario, its depends on what orchestration
> methods, pattens are used.
>
>
>
>>
>> Thanks
>>
>> On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com>
>> wrote:
>>
>>> This seems to be the result of APPLICATION_PATH in the payload having a
>>> null value. Following is the launch parameters file which contains the
>>> payload data.
>>>
>>>
>>> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
>>> mytomcat.isuruh.lk
>>> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
>>> *APPLICATION_PATH=null*,REPO_URL=
>>> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>>>
>>>
>>> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet module
>>> using the docroot variable set at the node definition for each cartridge
>>> type[1]. However as of revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>> [2], the APPLICATION_PATH is added to the basic payload data.
>>>
>>> Is there a particular reason for this? If so, why does it set a null
>>> value to the APPLICATION_PATH?
>>>
>>> IMO, since this is a configuration detail, this should be handled by the
>>> configuration layer, i.e. either Puppet or the variables in the Dockerfile.
>>>
>>>
>>> [1] -
>>> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
>>> [2] -
>>> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>>
>>>
>>>
>>>
>>> Regards,
>>> Chamila de Alwis
>>> Software Engineer | WSO2 | +94772207163
>>> Blog: code.chamiladealwis.com
>>>
>>>
>>>
>>> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm getting the following error in the agent log when creating a tomcat
>>>> cartridge based on the single-cartridge sample. It looks like the folder to
>>>> clone the artifacts is not being created. I'm looking in to this now.
>>>>
>>>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>>>> 'ArtifactUpdatedEvent'
>>>> 2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
>>>> u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>>>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>>>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
>>>> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
>>>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>>>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path for
>>>> tenant u'-1234'
>>>> Traceback (most recent call last):
>>>>   File
>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>>>> line 230, in clone
>>>>     repo = Repo.clone_from(repo_context.repo_url,
>>>> repo_context.local_repo_path)
>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>>>> 727, in clone_from
>>>>     return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
>>>> **kwargs)
>>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>>>> 682, in _clone
>>>>     git.clone(url, path, **kwargs)
>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219,
>>>> in <lambda>
>>>>     return lambda *args, **kwargs: self._call_process(name, *args,
>>>> **kwargs)
>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430,
>>>> in _call_process
>>>>     return self.execute(call, **_kwargs)
>>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309,
>>>> in execute
>>>>     **subprocess_kwargs
>>>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>>>     errread, errwrite)
>>>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>>>>     raise child_exception
>>>> OSError: [Errno 2] No such file or directory
>>>>
>>>>
>>>> Regards,
>>>> Chamila de Alwis
>>>> Software Engineer | WSO2 | +94772207163
>>>> Blog: code.chamiladealwis.com
>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Lakmal Warusawithana
> Vice President, Apache Stratos
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: Permission Denied while cloning

Posted by Lakmal Warusawithana <la...@wso2.com>.
On Tue, Jan 20, 2015 at 12:00 PM, Imesh Gunaratne <im...@apache.org> wrote:

> The reason for this is that, in Kuberntes we still do not use an
> orchestration layer such as Puppet. As a result it is not possible to
> define this in Puppet master. Therefore we need to add application path to
> cluster (basic) payload.
>
> IMO it would be better to stick to this standard for all scenarios. WDYT?
>

I'm not sure we should push these standard, because it depends on the
technologies and scenarios. Yes, for kubernetes, we should specify this in
cartridge definition, but VM scenario, its depends on what orchestration
methods, pattens are used.



>
> Thanks
>
> On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com>
> wrote:
>
>> This seems to be the result of APPLICATION_PATH in the payload having a
>> null value. Following is the launch parameters file which contains the
>> payload data.
>>
>>
>> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
>> mytomcat.isuruh.lk
>> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
>> *APPLICATION_PATH=null*,REPO_URL=
>> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>>
>>
>> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet module
>> using the docroot variable set at the node definition for each cartridge
>> type[1]. However as of revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>> [2], the APPLICATION_PATH is added to the basic payload data.
>>
>> Is there a particular reason for this? If so, why does it set a null
>> value to the APPLICATION_PATH?
>>
>> IMO, since this is a configuration detail, this should be handled by the
>> configuration layer, i.e. either Puppet or the variables in the Dockerfile.
>>
>>
>> [1] -
>> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
>> [2] -
>> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>>
>>
>>
>>
>> Regards,
>> Chamila de Alwis
>> Software Engineer | WSO2 | +94772207163
>> Blog: code.chamiladealwis.com
>>
>>
>>
>> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I'm getting the following error in the agent log when creating a tomcat
>>> cartridge based on the single-cartridge sample. It looks like the folder to
>>> clone the artifacts is not being created. I'm looking in to this now.
>>>
>>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>>> 'ArtifactUpdatedEvent'
>>> 2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
>>> u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
>>> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
>>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path for
>>> tenant u'-1234'
>>> Traceback (most recent call last):
>>>   File
>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>>> line 230, in clone
>>>     repo = Repo.clone_from(repo_context.repo_url,
>>> repo_context.local_repo_path)
>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>>> 727, in clone_from
>>>     return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
>>> **kwargs)
>>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>>> 682, in _clone
>>>     git.clone(url, path, **kwargs)
>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219, in
>>> <lambda>
>>>     return lambda *args, **kwargs: self._call_process(name, *args,
>>> **kwargs)
>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430, in
>>> _call_process
>>>     return self.execute(call, **_kwargs)
>>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309, in
>>> execute
>>>     **subprocess_kwargs
>>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>>     errread, errwrite)
>>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>>>     raise child_exception
>>> OSError: [Errno 2] No such file or directory
>>>
>>>
>>> Regards,
>>> Chamila de Alwis
>>> Software Engineer | WSO2 | +94772207163
>>> Blog: code.chamiladealwis.com
>>>
>>>
>>>
>>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Lakmal Warusawithana
Vice President, Apache Stratos
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/

Re: Permission Denied while cloning

Posted by Imesh Gunaratne <im...@apache.org>.
The reason for this is that, in Kuberntes we still do not use an
orchestration layer such as Puppet. As a result it is not possible to
define this in Puppet master. Therefore we need to add application path to
cluster (basic) payload.

IMO it would be better to stick to this standard for all scenarios. WDYT?

Thanks

On Tue, Jan 20, 2015 at 1:36 AM, Chamila De Alwis <ch...@wso2.com> wrote:

> This seems to be the result of APPLICATION_PATH in the payload having a
> null value. Following is the launch parameters file which contains the
> payload data.
>
>
> APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
> mytomcat.isuruh.lk
> ,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
> *APPLICATION_PATH=null*,REPO_URL=
> https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2
>
>
> The APPLICATION_PATH (previously APP_PATH) was set by the Puppet module
> using the docroot variable set at the node definition for each cartridge
> type[1]. However as of revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b
> [2], the APPLICATION_PATH is added to the basic payload data.
>
> Is there a particular reason for this? If so, why does it set a null value
> to the APPLICATION_PATH?
>
> IMO, since this is a configuration detail, this should be handled by the
> configuration layer, i.e. either Puppet or the variables in the Dockerfile.
>
>
> [1] -
> https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
> [2] -
> https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b
>
>
>
>
> Regards,
> Chamila de Alwis
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>
> On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com>
> wrote:
>
>> Hi,
>>
>> I'm getting the following error in the agent log when creating a tomcat
>> cartridge based on the single-cartridge sample. It looks like the folder to
>> clone the artifacts is not being created. I'm looking in to this now.
>>
>> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
>> 'ArtifactUpdatedEvent'
>> 2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
>> u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
>> 2015-01-19 18:13:01,919:INFO:Executing git checkout
>> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
>> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
>> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
>> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path for
>> tenant u'-1234'
>> Traceback (most recent call last):
>>   File
>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
>> line 230, in clone
>>     repo = Repo.clone_from(repo_context.repo_url,
>> repo_context.local_repo_path)
>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>> 727, in clone_from
>>     return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
>> **kwargs)
>>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
>> 682, in _clone
>>     git.clone(url, path, **kwargs)
>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219, in
>> <lambda>
>>     return lambda *args, **kwargs: self._call_process(name, *args,
>> **kwargs)
>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430, in
>> _call_process
>>     return self.execute(call, **_kwargs)
>>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309, in
>> execute
>>     **subprocess_kwargs
>>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>>     errread, errwrite)
>>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>>     raise child_exception
>> OSError: [Errno 2] No such file or directory
>>
>>
>> Regards,
>> Chamila de Alwis
>> Software Engineer | WSO2 | +94772207163
>> Blog: code.chamiladealwis.com
>>
>>
>>
>


-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: Permission Denied while cloning

Posted by Chamila De Alwis <ch...@wso2.com>.
This seems to be the result of APPLICATION_PATH in the payload having a
null value. Following is the launch parameters file which contains the
payload data.

APPLICATION_ID=app_cartridge_v1,GROUP_NAME=null,SERVICE_NAME=tomcat,HOST_NAME=
mytomcat.isuruh.lk
,MULTITENANT=false,TENANT_ID=-1234,TENANT_RANGE=*,CARTRIDGE_ALIAS=mytomcat,CLUSTER_ID=mytomcat.tomcat.domain,CARTRIDGE_KEY=dyP8jPcoLSoCv5B7,DEPLOYMENT=default,
*APPLICATION_PATH=null*,REPO_URL=
https://github.com/chamilad/tc-hw-artifact-repo.git,PORTS=22,PROVIDER=apache,PUPPET_IP=192.168.30.96,PUPPET_HOSTNAME=puppet.chamilad.org,PUPPET_DNS_AVAILABLE=null,PUPPET_ENV=null,,,DEPENDENCY_CLUSTER_IDS=,TOKEN=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjQwNTU0MzY1LCJzdWIiOiJhZG1pbiIsImF6cCI6IjFfVEREOWZVTXpVRHFBUEdGZ3haa21ZcGVjMGEiLCJhcHBJZCI6ImFwcF9jYXJ0cmlkZ2VfdjEiLCJhdWQiOlsiMV9UREQ5ZlVNelVEcUFQR0ZneFprbVlwZWMwYSJdLCJpc3MiOiJodHRwczpcL1wvbG9jYWxob3N0Ojk0NDNcL29hdXRoMmVuZHBvaW50c1wvdG9rZW4iLCJpYXQiOjM2OTU0MzY1fQ.ANgYt0H5AiTi9JRJi2N3-QxyUhS-3UOx1_kDaLdkv7k9LGkaWYJ1apceDn8Z0ZdSO0u7aPji2bRbg7FOaHGNVy9167gR5wmj503nmr5cXX0IdPSGX-ahwtf_dI9maIxkDbOjbU3s922bN60zdTdkb1n5kKoT_MgllcpO0iaTCJo,MEMBER_ID=mytomcat.tomcat.domain4dcf223c-63f9-4f9c-b69c-45a3355a0659,INSTANCE_ID=null,CLUSTER_INSTANCE_ID=app_cartridge_v1-1,LB_CLUSTER_ID=null,NETWORK_PARTITION_ID=openstack_R1,PARTITION_ID=P1,INTERNAL=false,PRIMARY=false,MIN_COUNT=2


The APPLICATION_PATH (previously APP_PATH) was set by the Puppet module
using the docroot variable set at the node definition for each cartridge
type[1]. However as of revision 0fdef65eac1ae8bdacae9cd69a2916db90f6950b
[2], the APPLICATION_PATH is added to the basic payload data.

Is there a particular reason for this? If so, why does it set a null value
to the APPLICATION_PATH?

IMO, since this is a configuration detail, this should be handled by the
configuration layer, i.e. either Puppet or the variables in the Dockerfile.


[1] -
https://github.com/apache/stratos/blob/master/tools/puppet3/manifests/nodes/tomcat.pp
[2] -
https://github.com/apache/stratos/commit/0fdef65eac1ae8bdacae9cd69a2916db90f6950b




Regards,
Chamila de Alwis
Software Engineer | WSO2 | +94772207163
Blog: code.chamiladealwis.com



On Mon, Jan 19, 2015 at 6:31 PM, Chamila De Alwis <ch...@wso2.com> wrote:

> Hi,
>
> I'm getting the following error in the agent log when creating a tomcat
> cartridge based on the single-cartridge sample. It looks like the folder to
> clone the artifacts is not being created. I'm looking in to this now.
>
> 2015-01-19 18:13:01,919:DEBUG:Executing handler for event
> 'ArtifactUpdatedEvent'
> 2015-01-19 18:13:01,919:INFO:Artifact update event received: [tenant]
> u'-1234' [cluster] u'mytomcat.tomcat.domain' [status] None
> 2015-01-19 18:13:01,919:INFO:Executing git checkout
> 2015-01-19 18:13:01,920:DEBUG:Executing git clone: [tenant-id] -1234
> [repo-url] https://github.com/chamilad/tc-hw-artifact-repo.git
> 2015-01-19 18:13:01,920:DEBUG:Repo path returned : ''
> 2015-01-19 18:13:01,937:ERROR:Permission denied for repository path for
> tenant u'-1234'
> Traceback (most recent call last):
>   File
> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/artifactmgt/git/agentgithandler.py",
> line 230, in clone
>     repo = Repo.clone_from(repo_context.repo_url,
> repo_context.local_repo_path)
>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
> 727, in clone_from
>     return cls._clone(Git(os.getcwd()), url, to_path, GitCmdObjectDB,
> **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/git/repo/base.py", line
> 682, in _clone
>     git.clone(url, path, **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 219, in
> <lambda>
>     return lambda *args, **kwargs: self._call_process(name, *args,
> **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 430, in
> _call_process
>     return self.execute(call, **_kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 309, in
> execute
>     **subprocess_kwargs
>   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
>     errread, errwrite)
>   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
>     raise child_exception
> OSError: [Errno 2] No such file or directory
>
>
> Regards,
> Chamila de Alwis
> Software Engineer | WSO2 | +94772207163
> Blog: code.chamiladealwis.com
>
>
>