You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by David Hbase <da...@gmail.com> on 2016/02/02 08:01:33 UTC

Re: Re. multi-tenancy capability

Hi, Imesh

Thanks for your reply. I follow the doc to setup the Stratos-Kubernetes
cluster, but can not have the topology activated.

The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64

Stratos version: is 4.1.5

Do we have to upgrade kubernetes to 1.1 or later version?

Is there any suggestion?

Thanks
-D

{org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas} -
Could not start container: [application] single-cartridge-app [cartridge]
php [member]
single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
java.lang.RuntimeException: Pod status did not change to running within 60
sec: [application] single-cartridge-app [cartridge] php [member]
single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
[pod] pod-1
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
    at
org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
    at
org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
{org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
Could not start instance: [cartridge-type] php [cluster-id]
single-cartridge-app.my-php.php.domain
java.lang.RuntimeException: Could not start container: [application]
single-cartridge-app [cartridge] php [member]
single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
    at
org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
    at
org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Pod status did not change to running
within 60 sec: [application] single-cartridge-app [cartridge] php [member]
single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
[pod] pod-1
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
    at
org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
    ... 6 more


On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi David,
>
> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Imesh
>>
>> I have realized the tenancy routing service, but still issues with
>> Kubernetes. Would like to know if there any updated kubernetes document?
>> etc:
>>
>
> AFAIK the documentation is updated, what were the issues you got?
>
>>
>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>> interrupt the curretn running services ?)
>>
>
> Kubernetes (K8S) nodes can be autoscaled by creating a separate composite
> application for K8S. Then another application can be created for the
> required product to be run on the above K8S cluster. However dynamic load
> balancing would be a problem for the pods that run on K8S because Stratos
> topology does not get updated with Node IPs when K8S nodes are autoscaled.
>
>
>> 2. Application Topology can display the service and pods in the
>> Kubernetes cluster?
>>
>
> No, currently the topology view in the Stratos UI does not show services
> or pords. However Kubernetes Cockpit UI can be used for this.
>
> Thanks
>
> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com> wrote:
>
>> Thanks Chamila,
>>
>> Got great answers with the Kubernetes auto scaling (via node v 1.1 and or
>> node). But would like to know what's the Stratos auto scaling functions
>> with Kubernetes?
>>
>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>> cluster, when and how can this auto scaling policy work? ( will scaling the
>> new pod or node ? )
>>
>> Thanks
>> -D
>>
>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <ch...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>>
>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>> interrupt the curretn running services ?)
>>>>
>>> In Kubernetes, the Node Controller is the component in charge of
>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>> new node, simply performing the registry task for the list of nodes.
>>>
>>> Therefore, any autoscaling of Nodes would have to be done at a different
>>> layer, based on metrics like CPU usage. CloudWatch for EC2 or Heat for
>>> OpenStack are few examples of achieving this. Nodes will have to be
>>> configured to auto register with the proxy.
>>>
>>> If you're looking for Pod autoscaling, this is already implemented in
>>> Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>
>>> 2. Application Topology can display the service and pods in the
>>>> Kubernetes cluster?
>>>
>>> In Stratos, the Application Topology is the view of the Composite
>>> Application deployment. It doesn't show the IaaS specific details such as
>>> Services and Pods. These details will have to be retrieved from the
>>> Kube-UI.
>>>
>>> [1] - http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>> [2] -
>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>
>>>
>>> Regards,
>>> Chamila de Alwis
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer | WSO2 | +94772207163
>>> Blog: code.chamiladealwis.com
>>>
>>>
>>>
>>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>

Re: Re. multi-tenancy capability

Posted by Imesh Gunaratne <im...@apache.org>.
On Tue, Mar 1, 2016 at 8:55 PM, David Hbase <da...@gmail.com> wrote:

> Need to confirm which Kubernetes version is supported by Straots 4.1.5?
>
> V1.03 or V1.1+ ?
>
> It's 1.0.6, with [1] it will support 1.1.4


> Looks like the  kubernetes-api-2.2.16.jar time frame is for V1.03
>

This would not affect Stratos unless there are changes related to pod and
services API methods.

[1]
https://github.com/apache/stratos/commit/75ee9598fbd520a1eda697c3f6e51966e2f404a9

Thanks

>
> Thanks
> -D
>
> On Mon, Feb 15, 2016 at 6:32 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu:
>>
>> Could help with the JIRA DEV-205? Need your help for the CentOS (6 and 7)
>> container Python Agent.
>>
>> Thanks
>> -D
>>
>>
>> On Tue, Feb 2, 2016 at 8:48 AM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> I will try to create the docker image for php and push the image to the
>>> docker hub. I will update the thread with the progress.
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Pubudu
>>>>
>>>> Thanks for your update, I am trying the work around now.
>>>>
>>>> Since we a re moving to production approach now, would you able to have
>>>> the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>>
>>>> Thanks again!
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> It looks like there is a minor issue. I think you are using Stratos
>>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>>
>>>>> For the moment you can try following.
>>>>>
>>>>> 1. Make sure you have the following structure in [1].
>>>>>
>>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>>>> MB_PASSWORD as well.
>>>>>
>>>>> Due to the payload values mismatch, python agent has not started. That
>>>>> is why you cannot see the agent log in the tmp directory except init.log.
>>>>>
>>>>> [1] -
>>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>>
>>>>> Thank you!
>>>>>
>>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Pubudu
>>>>>>
>>>>>> Looks like the payload is not working. Is there any introduction for
>>>>>> the kubernetes cartridge setup?
>>>>>>
>>>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Pubudu
>>>>>>>
>>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>>> container.
>>>>>>>
>>>>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins}
>>>>>>> - __init__.py is not a valid plugin for strategy info_ext
>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>>>> Found extension executor [ExtensionExecutor] at
>>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>>>> Activated extension executor [ExtensionExecutor]
>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>>>> property: mb.ip =
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>> line 329, in <module>
>>>>>>>     main()
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>> line 317, in main
>>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>> line 44, in __init__
>>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>>>>> line 258, in read_property
>>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>>> required parameter: %r" % property_key)
>>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>>> required parameter: 'mb.ip'
>>>>>>> ^C
>>>>>>> [1]+  Exit 1
>>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Great! Checking now. will update soon.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <
>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>>
>>>>>>>>> 1. Find the ip address of the container (or pod). It will be shown
>>>>>>>>> in the application. If you hover the mouse on top of the application node
>>>>>>>>> you can see the ip address of the pod.
>>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>>>> commands.
>>>>>>>>>
>>>>>>>>> ssh core@<master_ip>
>>>>>>>>> ssh root@<container_ip>
>>>>>>>>>
>>>>>>>>> Use the password as stratos when logging.
>>>>>>>>>
>>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>>>> agent-screen.log.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thank you!
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi, Pubudu
>>>>>>>>>>
>>>>>>>>>> Thanks for your quick response,
>>>>>>>>>>
>>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>>>
>>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>>
>>>>>>>>>> Want to know if Stratos Topology monitor the service/pod status
>>>>>>>>>> or not?  If not, how can be activated?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi David,
>>>>>>>>>>>
>>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>>
>>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>>
>>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>>
>>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>>> container.
>>>>>>>>>>>
>>>>>>>>>>> Thank you!
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>>
>>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>>
>>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>>
>>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>>
>>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> -D
>>>>>>>>>>>>
>>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to
>>>>>>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>>>>>>> [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not
>>>>>>>>>>>> change to running within 60 sec: [application] single-cartridge-app
>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you
>>>>>>>>>>>>> got?
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a
>>>>>>>>>>>>> separate composite application for K8S. Then another application can be
>>>>>>>>>>>>> created for the required product to be run on the above K8S cluster.
>>>>>>>>>>>>> However dynamic load balancing would be a problem for the pods that run on
>>>>>>>>>>>>> K8S because Stratos topology does not get updated with Node IPs when K8S
>>>>>>>>>>>>> nodes are autoscaled.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not
>>>>>>>>>>>>> show services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node
>>>>>>>>>>>>>> v 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in
>>>>>>>>>>>>>>> charge of registration and revocation of Nodes (minions) in a cluster.
>>>>>>>>>>>>>>> However as the Kubernetes documentation states [1], it doesn't
>>>>>>>>>>>>>>> automatically provision a new node, simply performing the registry task for
>>>>>>>>>>>>>>> the list of nodes.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at
>>>>>>>>>>>>>>> a different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>
>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>> Software Engineer
>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pubudu Gunatilaka*
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>


-- 
Imesh Gunaratne

Senior Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Need to confirm which Kubernetes version is supported by Straots 4.1.5?

V1.03 or V1.1+ ?

Looks like the  kubernetes-api-2.2.16.jar time frame is for V1.03

Thanks
-D

On Mon, Feb 15, 2016 at 6:32 PM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu:
>
> Could help with the JIRA DEV-205? Need your help for the CentOS (6 and 7)
> container Python Agent.
>
> Thanks
> -D
>
>
> On Tue, Feb 2, 2016 at 8:48 AM, Pubudu Gunatilaka <pu...@wso2.com>
> wrote:
>
>> Hi David,
>>
>> I will try to create the docker image for php and push the image to the
>> docker hub. I will update the thread with the progress.
>>
>> Thank you!
>>
>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com> wrote:
>>
>>> Hi, Pubudu
>>>
>>> Thanks for your update, I am trying the work around now.
>>>
>>> Since we a re moving to production approach now, would you able to have
>>> the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>
>>> Thanks again!
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> It looks like there is a minor issue. I think you are using Stratos
>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>
>>>> For the moment you can try following.
>>>>
>>>> 1. Make sure you have the following structure in [1].
>>>>
>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>>> MB_PASSWORD as well.
>>>>
>>>> Due to the payload values mismatch, python agent has not started. That
>>>> is why you cannot see the agent log in the tmp directory except init.log.
>>>>
>>>> [1] -
>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> Looks like the payload is not working. Is there any introduction for
>>>>> the kubernetes cartridge setup?
>>>>>
>>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Pubudu
>>>>>>
>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>> container.
>>>>>>
>>>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins}
>>>>>> - __init__.py is not a valid plugin for strategy info_ext
>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>>> Found extension executor [ExtensionExecutor] at
>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>>> Activated extension executor [ExtensionExecutor]
>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>>> property: mb.ip =
>>>>>> Traceback (most recent call last):
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>> line 329, in <module>
>>>>>>     main()
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>> line 317, in main
>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>> line 44, in __init__
>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>>>> line 258, in read_property
>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>> required parameter: %r" % property_key)
>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>> required parameter: 'mb.ip'
>>>>>> ^C
>>>>>> [1]+  Exit 1
>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Great! Checking now. will update soon.
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pubudug@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>
>>>>>>>> 1. Find the ip address of the container (or pod). It will be shown
>>>>>>>> in the application. If you hover the mouse on top of the application node
>>>>>>>> you can see the ip address of the pod.
>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>>> commands.
>>>>>>>>
>>>>>>>> ssh core@<master_ip>
>>>>>>>> ssh root@<container_ip>
>>>>>>>>
>>>>>>>> Use the password as stratos when logging.
>>>>>>>>
>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>>> agent-screen.log.
>>>>>>>>
>>>>>>>>
>>>>>>>> Thank you!
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi, Pubudu
>>>>>>>>>
>>>>>>>>> Thanks for your quick response,
>>>>>>>>>
>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>>
>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>
>>>>>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>>>>>> not?  If not, how can be activated?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi David,
>>>>>>>>>>
>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>
>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>
>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>
>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>> container.
>>>>>>>>>>
>>>>>>>>>> Thank you!
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>
>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>
>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>
>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>
>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>
>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -D
>>>>>>>>>>>
>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change
>>>>>>>>>>> to running within 60 sec: [application] single-cartridge-app [cartridge]
>>>>>>>>>>> php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you
>>>>>>>>>>>> got?
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>>>>>> autoscaled.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v
>>>>>>>>>>>>> 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>>
>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> -D
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge
>>>>>>>>>>>>>> of registration and revocation of Nodes (minions) in a cluster. However as
>>>>>>>>>>>>>> the Kubernetes documentation states [1], it doesn't automatically provision
>>>>>>>>>>>>>> a new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at
>>>>>>>>>>>>>> a different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>
>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>> Software Engineer
>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>> Software Engineer
>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>
>>
>> --
>> *Pubudu Gunatilaka*
>> Committer and PMC Member - Apache Stratos
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> mobile : +94774079049 <%2B94772207163>
>>
>>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Pubudu:

Could help with the JIRA DEV-205? Need your help for the CentOS (6 and 7)
container Python Agent.

Thanks
-D


On Tue, Feb 2, 2016 at 8:48 AM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi David,
>
> I will try to create the docker image for php and push the image to the
> docker hub. I will update the thread with the progress.
>
> Thank you!
>
> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> Thanks for your update, I am trying the work around now.
>>
>> Since we a re moving to production approach now, would you able to have
>> the 4.1.5 container image ready as soon as possible for 4.1.5?
>>
>> Thanks again!
>> -D
>>
>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> It looks like there is a minor issue. I think you are using Stratos
>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>
>>> For the moment you can try following.
>>>
>>> 1. Make sure you have the following structure in [1].
>>>
>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>> MB_PASSWORD as well.
>>>
>>> Due to the payload values mismatch, python agent has not started. That
>>> is why you cannot see the agent log in the tmp directory except init.log.
>>>
>>> [1] -
>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Pubudu
>>>>
>>>> Looks like the payload is not working. Is there any introduction for
>>>> the kubernetes cartridge setup?
>>>>
>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> There is no python agent running and /tmp folder is empty in the
>>>>> container.
>>>>>
>>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
>>>>> __init__.py is not a valid plugin for strategy info_ext
>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>> Found extension executor [ExtensionExecutor] at
>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>> Activated extension executor [ExtensionExecutor]
>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>> property: mb.ip =
>>>>> Traceback (most recent call last):
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>> line 329, in <module>
>>>>>     main()
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>> line 317, in main
>>>>>     cartridge_agent = CartridgeAgent()
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>> line 44, in __init__
>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>>> line 258, in read_property
>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>> required parameter: %r" % property_key)
>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>> required parameter: 'mb.ip'
>>>>> ^C
>>>>> [1]+  Exit 1
>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Great! Checking now. will update soon.
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>
>>>>>>> 1. Find the ip address of the container (or pod). It will be shown
>>>>>>> in the application. If you hover the mouse on top of the application node
>>>>>>> you can see the ip address of the pod.
>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>> commands.
>>>>>>>
>>>>>>> ssh core@<master_ip>
>>>>>>> ssh root@<container_ip>
>>>>>>>
>>>>>>> Use the password as stratos when logging.
>>>>>>>
>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>> agent-screen.log.
>>>>>>>
>>>>>>>
>>>>>>> Thank you!
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi, Pubudu
>>>>>>>>
>>>>>>>> Thanks for your quick response,
>>>>>>>>
>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>
>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>
>>>>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>>>>> not?  If not, how can be activated?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi David,
>>>>>>>>>
>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>
>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>
>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>
>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>> container.
>>>>>>>>>
>>>>>>>>> Thank you!
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi, Imesh
>>>>>>>>>>
>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>
>>>>>>>>>> The kubernetes version is:
>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>
>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>
>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>
>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>> [pod] pod-1
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change
>>>>>>>>>> to running within 60 sec: [application] single-cartridge-app [cartridge]
>>>>>>>>>> php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>> [pod] pod-1
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>     ... 6 more
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi David,
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>
>>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>>>>> autoscaled.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>
>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v
>>>>>>>>>>>> 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>
>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> -D
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>
>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge
>>>>>>>>>>>>> of registration and revocation of Nodes (minions) in a cluster. However as
>>>>>>>>>>>>> the Kubernetes documentation states [1], it doesn't automatically provision
>>>>>>>>>>>>> a new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>
>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>
>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Pubudu Gunatilaka*
>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Due to service discovery is a key point for automation. Priors we have
HAproxy-lb-extension to handling the LB/Proxy services are working well
without K8s.

With K8S, need your help to find out a work arround solution.

Thanks
-D


On Fri, Feb 5, 2016 at 12:34 AM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi David,
>
> No I did not test. AFAIK we haven't tested HA proxy lb extension with k8.
> You can find the docs related to lb extension in [1].
>
> [1] -
> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Configuring+HAProxy+Load+Balancer
>
> Thank you!
>
> On Fri, Feb 5, 2016 at 3:43 AM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> Did you test the haproxy-lb-extension with k8s? I not sure how the lb
>> working with k8s, is there any doc for lb-extension with k8s?
>>
>> Thanks
>> -D
>>
>> On Tue, Feb 2, 2016 at 12:02 PM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> So nice, working now! Thanks
>>>
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 11:31 AM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Thanks for quick help. I am testing now, will update soon
>>>>
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 11:06 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> I have pushed the php docker image to the docker hub [1]. You can pull
>>>>> the docker image by using 'docker pull stratos/php:4.1.5'.
>>>>>
>>>>> Please use the 4.1.5 samples with this docker image.
>>>>>
>>>>> [1] - https://hub.docker.com/r/stratos/php/tags/
>>>>>
>>>>> Thank you!
>>>>>
>>>>> On Tue, Feb 2, 2016 at 10:18 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> I will try to create the docker image for php and push the image to
>>>>>> the docker hub. I will update the thread with the progress.
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Pubudu
>>>>>>>
>>>>>>> Thanks for your update, I am trying the work around now.
>>>>>>>
>>>>>>> Since we a re moving to production approach now, would you able to
>>>>>>> have the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>>>>>
>>>>>>> Thanks again!
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi David,
>>>>>>>>
>>>>>>>> It looks like there is a minor issue. I think you are using Stratos
>>>>>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>>>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>>>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>>>>>
>>>>>>>> For the moment you can try following.
>>>>>>>>
>>>>>>>> 1. Make sure you have the following structure in [1].
>>>>>>>>
>>>>>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In
>>>>>>>> Stratos 4.1.4 we don't support mb credentials. So you can remove
>>>>>>>> MB_USERNAME and MB_PASSWORD as well.
>>>>>>>>
>>>>>>>> Due to the payload values mismatch, python agent has not started.
>>>>>>>> That is why you cannot see the agent log in the tmp directory except
>>>>>>>> init.log.
>>>>>>>>
>>>>>>>> [1] -
>>>>>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>>>>>
>>>>>>>> Thank you!
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi, Pubudu
>>>>>>>>>
>>>>>>>>> Looks like the payload is not working. Is there any introduction
>>>>>>>>> for the kubernetes cartridge setup?
>>>>>>>>>
>>>>>>>>> etc: python agent and initial scripts for the kubernetes
>>>>>>>>> containers?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi, Pubudu
>>>>>>>>>>
>>>>>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>>>>>> container.
>>>>>>>>>>
>>>>>>>>>> [2016-02-02 08:24:07,821] DEBUG
>>>>>>>>>> {PluginFileLocator.py:locatePlugins} - __init__.py is not a valid plugin
>>>>>>>>>> for strategy info_ext
>>>>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions}
>>>>>>>>>> - Found extension executor [ExtensionExecutor] at
>>>>>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions}
>>>>>>>>>> - Activated extension executor [ExtensionExecutor]
>>>>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} -
>>>>>>>>>> Reading property: mb.ip =
>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>   File
>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line 329, in
>>>>>>>>>> <module>
>>>>>>>>>>     main()
>>>>>>>>>>   File
>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line 317, in
>>>>>>>>>> main
>>>>>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>>>>>   File
>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line 44, in
>>>>>>>>>> __init__
>>>>>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>>>>>   File
>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line 258, in
>>>>>>>>>> read_property
>>>>>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>>>>>> required parameter: %r" % property_key)
>>>>>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>>>>>> required parameter: 'mb.ip'
>>>>>>>>>> ^C
>>>>>>>>>> [1]+  Exit 1
>>>>>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Great! Checking now. will update soon.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -D
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <
>>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Find the ip address of the container (or pod). It will be
>>>>>>>>>>>> shown in the application. If you hover the mouse on top of the application
>>>>>>>>>>>> node you can see the ip address of the pod.
>>>>>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using
>>>>>>>>>>>> following commands.
>>>>>>>>>>>>
>>>>>>>>>>>> ssh core@<master_ip>
>>>>>>>>>>>> ssh root@<container_ip>
>>>>>>>>>>>>
>>>>>>>>>>>> Use the password as stratos when logging.
>>>>>>>>>>>>
>>>>>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log
>>>>>>>>>>>> is agent-screen.log.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you!
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, Pubudu
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks for your quick response,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker
>>>>>>>>>>>>> hub, after changed to "imageId": "stratos/php:4.1.4", the php container can
>>>>>>>>>>>>> be initialized, but can not be activated in Stratos Topology
>>>>>>>>>>>>>
>>>>>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Want to know if Stratos Topology monitor the service/pod
>>>>>>>>>>>>> status or not?  If not, how can be activated?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> -D
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in
>>>>>>>>>>>>>> k8 nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>>>>>> container.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to
>>>>>>>>>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>>>>>>>>>> [member]
>>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not
>>>>>>>>>>>>>>> change to running within 60 sec: [application] single-cartridge-app
>>>>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have realized the tenancy routing service, but still
>>>>>>>>>>>>>>>>> issues with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues
>>>>>>>>>>>>>>>> you got?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a
>>>>>>>>>>>>>>>> separate composite application for K8S. Then another application can be
>>>>>>>>>>>>>>>> created for the required product to be run on the above K8S cluster.
>>>>>>>>>>>>>>>> However dynamic load balancing would be a problem for the pods that run on
>>>>>>>>>>>>>>>> K8S because Stratos topology does not get updated with Node IPs when K8S
>>>>>>>>>>>>>>>> nodes are autoscaled.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods
>>>>>>>>>>>>>>>>> in the Kubernetes cluster?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not
>>>>>>>>>>>>>>>> show services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via
>>>>>>>>>>>>>>>>> node v 1.1 and or node). But would like to know what's the Stratos auto
>>>>>>>>>>>>>>>>> scaling functions with Kubernetes?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the
>>>>>>>>>>>>>>>>>>> minions without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in
>>>>>>>>>>>>>>>>>> charge of registration and revocation of Nodes (minions) in a cluster.
>>>>>>>>>>>>>>>>>> However as the Kubernetes documentation states [1], it doesn't
>>>>>>>>>>>>>>>>>> automatically provision a new node, simply performing the registry task for
>>>>>>>>>>>>>>>>>> the list of nodes.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done
>>>>>>>>>>>>>>>>>> at a different layer, based on metrics like CPU usage. CloudWatch for EC2
>>>>>>>>>>>>>>>>>> or Heat for OpenStack are few examples of achieving this. Nodes will have
>>>>>>>>>>>>>>>>>> to be configured to auto register with the proxy.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods
>>>>>>>>>>>>>>>>>>> in the Kubernetes cluster?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>> Software Engineer
>>>>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>> Software Engineer
>>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>> Software Engineer
>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Pubudu Gunatilaka*
>>>>>> Committer and PMC Member - Apache Stratos
>>>>>> Software Engineer
>>>>>> WSO2, Inc.: http://wso2.com
>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pubudu Gunatilaka*
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>

Re: Re. multi-tenancy capability

Posted by Pubudu Gunatilaka <pu...@wso2.com>.
Hi David,

No I did not test. AFAIK we haven't tested HA proxy lb extension with k8.
You can find the docs related to lb extension in [1].

[1] -
https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Configuring+HAProxy+Load+Balancer

Thank you!

On Fri, Feb 5, 2016 at 3:43 AM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu
>
> Did you test the haproxy-lb-extension with k8s? I not sure how the lb
> working with k8s, is there any doc for lb-extension with k8s?
>
> Thanks
> -D
>
> On Tue, Feb 2, 2016 at 12:02 PM, David Hbase <da...@gmail.com> wrote:
>
>> So nice, working now! Thanks
>>
>> -D
>>
>> On Tue, Feb 2, 2016 at 11:31 AM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> Thanks for quick help. I am testing now, will update soon
>>>
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 11:06 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> I have pushed the php docker image to the docker hub [1]. You can pull
>>>> the docker image by using 'docker pull stratos/php:4.1.5'.
>>>>
>>>> Please use the 4.1.5 samples with this docker image.
>>>>
>>>> [1] - https://hub.docker.com/r/stratos/php/tags/
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 10:18 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> I will try to create the docker image for php and push the image to
>>>>> the docker hub. I will update the thread with the progress.
>>>>>
>>>>> Thank you!
>>>>>
>>>>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Pubudu
>>>>>>
>>>>>> Thanks for your update, I am trying the work around now.
>>>>>>
>>>>>> Since we a re moving to production approach now, would you able to
>>>>>> have the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>>>>
>>>>>> Thanks again!
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi David,
>>>>>>>
>>>>>>> It looks like there is a minor issue. I think you are using Stratos
>>>>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>>>>
>>>>>>> For the moment you can try following.
>>>>>>>
>>>>>>> 1. Make sure you have the following structure in [1].
>>>>>>>
>>>>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>>>>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>>>>>> MB_PASSWORD as well.
>>>>>>>
>>>>>>> Due to the payload values mismatch, python agent has not started.
>>>>>>> That is why you cannot see the agent log in the tmp directory except
>>>>>>> init.log.
>>>>>>>
>>>>>>> [1] -
>>>>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>>>>
>>>>>>> Thank you!
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi, Pubudu
>>>>>>>>
>>>>>>>> Looks like the payload is not working. Is there any introduction
>>>>>>>> for the kubernetes cartridge setup?
>>>>>>>>
>>>>>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi, Pubudu
>>>>>>>>>
>>>>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>>>>> container.
>>>>>>>>>
>>>>>>>>> [2016-02-02 08:24:07,821] DEBUG
>>>>>>>>> {PluginFileLocator.py:locatePlugins} - __init__.py is not a valid plugin
>>>>>>>>> for strategy info_ext
>>>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions}
>>>>>>>>> - Found extension executor [ExtensionExecutor] at
>>>>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>>>>>> Activated extension executor [ExtensionExecutor]
>>>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} -
>>>>>>>>> Reading property: mb.ip =
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>   File
>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line 329, in
>>>>>>>>> <module>
>>>>>>>>>     main()
>>>>>>>>>   File
>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line 317, in
>>>>>>>>> main
>>>>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>>>>   File
>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line 44, in
>>>>>>>>> __init__
>>>>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>>>>   File
>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line 258, in
>>>>>>>>> read_property
>>>>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>>>>> required parameter: %r" % property_key)
>>>>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>>>>> required parameter: 'mb.ip'
>>>>>>>>> ^C
>>>>>>>>> [1]+  Exit 1
>>>>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Great! Checking now. will update soon.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <
>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>>>>
>>>>>>>>>>> 1. Find the ip address of the container (or pod). It will be
>>>>>>>>>>> shown in the application. If you hover the mouse on top of the application
>>>>>>>>>>> node you can see the ip address of the pod.
>>>>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using
>>>>>>>>>>> following commands.
>>>>>>>>>>>
>>>>>>>>>>> ssh core@<master_ip>
>>>>>>>>>>> ssh root@<container_ip>
>>>>>>>>>>>
>>>>>>>>>>> Use the password as stratos when logging.
>>>>>>>>>>>
>>>>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>>>>>> agent-screen.log.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thank you!
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi, Pubudu
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for your quick response,
>>>>>>>>>>>>
>>>>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>>>>>
>>>>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>>>>
>>>>>>>>>>>> Want to know if Stratos Topology monitor the service/pod status
>>>>>>>>>>>> or not?  If not, how can be activated?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> -D
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>>>>
>>>>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in
>>>>>>>>>>>>> k8 nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>>>>> container.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you!
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to
>>>>>>>>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>>>>>>>>> [member]
>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not
>>>>>>>>>>>>>> change to running within 60 sec: [application] single-cartridge-app
>>>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>>>     at
>>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have realized the tenancy routing service, but still
>>>>>>>>>>>>>>>> issues with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you
>>>>>>>>>>>>>>> got?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a
>>>>>>>>>>>>>>> separate composite application for K8S. Then another application can be
>>>>>>>>>>>>>>> created for the required product to be run on the above K8S cluster.
>>>>>>>>>>>>>>> However dynamic load balancing would be a problem for the pods that run on
>>>>>>>>>>>>>>> K8S because Stratos topology does not get updated with Node IPs when K8S
>>>>>>>>>>>>>>> nodes are autoscaled.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not
>>>>>>>>>>>>>>> show services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via
>>>>>>>>>>>>>>>> node v 1.1 and or node). But would like to know what's the Stratos auto
>>>>>>>>>>>>>>>> scaling functions with Kubernetes?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the
>>>>>>>>>>>>>>>>>> minions without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in
>>>>>>>>>>>>>>>>> charge of registration and revocation of Nodes (minions) in a cluster.
>>>>>>>>>>>>>>>>> However as the Kubernetes documentation states [1], it doesn't
>>>>>>>>>>>>>>>>> automatically provision a new node, simply performing the registry task for
>>>>>>>>>>>>>>>>> the list of nodes.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done
>>>>>>>>>>>>>>>>> at a different layer, based on metrics like CPU usage. CloudWatch for EC2
>>>>>>>>>>>>>>>>> or Heat for OpenStack are few examples of achieving this. Nodes will have
>>>>>>>>>>>>>>>>> to be configured to auto register with the proxy.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods
>>>>>>>>>>>>>>>>>> in the Kubernetes cluster?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>> Software Engineer
>>>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>> Software Engineer
>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Pubudu Gunatilaka*
>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pubudu Gunatilaka*
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774079049 <%2B94772207163>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Pubudu

Did you test the haproxy-lb-extension with k8s? I not sure how the lb
working with k8s, is there any doc for lb-extension with k8s?

Thanks
-D

On Tue, Feb 2, 2016 at 12:02 PM, David Hbase <da...@gmail.com> wrote:

> So nice, working now! Thanks
>
> -D
>
> On Tue, Feb 2, 2016 at 11:31 AM, David Hbase <da...@gmail.com> wrote:
>
>> Thanks for quick help. I am testing now, will update soon
>>
>> -D
>>
>> On Tue, Feb 2, 2016 at 11:06 AM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> I have pushed the php docker image to the docker hub [1]. You can pull
>>> the docker image by using 'docker pull stratos/php:4.1.5'.
>>>
>>> Please use the 4.1.5 samples with this docker image.
>>>
>>> [1] - https://hub.docker.com/r/stratos/php/tags/
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 10:18 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> I will try to create the docker image for php and push the image to the
>>>> docker hub. I will update the thread with the progress.
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> Thanks for your update, I am trying the work around now.
>>>>>
>>>>> Since we a re moving to production approach now, would you able to
>>>>> have the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>>>
>>>>> Thanks again!
>>>>> -D
>>>>>
>>>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> It looks like there is a minor issue. I think you are using Stratos
>>>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>>>
>>>>>> For the moment you can try following.
>>>>>>
>>>>>> 1. Make sure you have the following structure in [1].
>>>>>>
>>>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>>>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>>>>> MB_PASSWORD as well.
>>>>>>
>>>>>> Due to the payload values mismatch, python agent has not started.
>>>>>> That is why you cannot see the agent log in the tmp directory except
>>>>>> init.log.
>>>>>>
>>>>>> [1] -
>>>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Pubudu
>>>>>>>
>>>>>>> Looks like the payload is not working. Is there any introduction for
>>>>>>> the kubernetes cartridge setup?
>>>>>>>
>>>>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi, Pubudu
>>>>>>>>
>>>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>>>> container.
>>>>>>>>
>>>>>>>> [2016-02-02 08:24:07,821] DEBUG
>>>>>>>> {PluginFileLocator.py:locatePlugins} - __init__.py is not a valid plugin
>>>>>>>> for strategy info_ext
>>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>>>>> Found extension executor [ExtensionExecutor] at
>>>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>>>>> Activated extension executor [ExtensionExecutor]
>>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>>>>> property: mb.ip =
>>>>>>>> Traceback (most recent call last):
>>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>>> line 329, in <module>
>>>>>>>>     main()
>>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>>> line 317, in main
>>>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>>> line 44, in __init__
>>>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>>>   File
>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line 258, in
>>>>>>>> read_property
>>>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>>>> required parameter: %r" % property_key)
>>>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>>>> required parameter: 'mb.ip'
>>>>>>>> ^C
>>>>>>>> [1]+  Exit 1
>>>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Great! Checking now. will update soon.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <
>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>>>
>>>>>>>>>> 1. Find the ip address of the container (or pod). It will be
>>>>>>>>>> shown in the application. If you hover the mouse on top of the application
>>>>>>>>>> node you can see the ip address of the pod.
>>>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>>>>> commands.
>>>>>>>>>>
>>>>>>>>>> ssh core@<master_ip>
>>>>>>>>>> ssh root@<container_ip>
>>>>>>>>>>
>>>>>>>>>> Use the password as stratos when logging.
>>>>>>>>>>
>>>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>>>>> agent-screen.log.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thank you!
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <davidhbase@gmail.com
>>>>>>>>>> > wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi, Pubudu
>>>>>>>>>>>
>>>>>>>>>>> Thanks for your quick response,
>>>>>>>>>>>
>>>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>>>>
>>>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>>>
>>>>>>>>>>> Want to know if Stratos Topology monitor the service/pod status
>>>>>>>>>>> or not?  If not, how can be activated?
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -D
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>
>>>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>>>
>>>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>>>
>>>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in
>>>>>>>>>>>> k8 nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>>>> container.
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you!
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>>>
>>>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>>>
>>>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> -D
>>>>>>>>>>>>>
>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to
>>>>>>>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>>>>>>>> [member]
>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not
>>>>>>>>>>>>> change to running within 60 sec: [application] single-cartridge-app
>>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>>     at
>>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have realized the tenancy routing service, but still
>>>>>>>>>>>>>>> issues with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you
>>>>>>>>>>>>>> got?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a
>>>>>>>>>>>>>> separate composite application for K8S. Then another application can be
>>>>>>>>>>>>>> created for the required product to be run on the above K8S cluster.
>>>>>>>>>>>>>> However dynamic load balancing would be a problem for the pods that run on
>>>>>>>>>>>>>> K8S because Stratos topology does not get updated with Node IPs when K8S
>>>>>>>>>>>>>> nodes are autoscaled.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not
>>>>>>>>>>>>>> show services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node
>>>>>>>>>>>>>>> v 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in
>>>>>>>>>>>>>>>> charge of registration and revocation of Nodes (minions) in a cluster.
>>>>>>>>>>>>>>>> However as the Kubernetes documentation states [1], it doesn't
>>>>>>>>>>>>>>>> automatically provision a new node, simply performing the registry task for
>>>>>>>>>>>>>>>> the list of nodes.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done
>>>>>>>>>>>>>>>> at a different layer, based on metrics like CPU usage. CloudWatch for EC2
>>>>>>>>>>>>>>>> or Heat for OpenStack are few examples of achieving this. Nodes will have
>>>>>>>>>>>>>>>> to be configured to auto register with the proxy.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>> Software Engineer
>>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>> Software Engineer
>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Pubudu Gunatilaka*
>>>>>> Committer and PMC Member - Apache Stratos
>>>>>> Software Engineer
>>>>>> WSO2, Inc.: http://wso2.com
>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
So nice, working now! Thanks

-D

On Tue, Feb 2, 2016 at 11:31 AM, David Hbase <da...@gmail.com> wrote:

> Thanks for quick help. I am testing now, will update soon
>
> -D
>
> On Tue, Feb 2, 2016 at 11:06 AM, Pubudu Gunatilaka <pu...@wso2.com>
> wrote:
>
>> Hi David,
>>
>> I have pushed the php docker image to the docker hub [1]. You can pull
>> the docker image by using 'docker pull stratos/php:4.1.5'.
>>
>> Please use the 4.1.5 samples with this docker image.
>>
>> [1] - https://hub.docker.com/r/stratos/php/tags/
>>
>> Thank you!
>>
>> On Tue, Feb 2, 2016 at 10:18 PM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> I will try to create the docker image for php and push the image to the
>>> docker hub. I will update the thread with the progress.
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Pubudu
>>>>
>>>> Thanks for your update, I am trying the work around now.
>>>>
>>>> Since we a re moving to production approach now, would you able to have
>>>> the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>>
>>>> Thanks again!
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> It looks like there is a minor issue. I think you are using Stratos
>>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>>
>>>>> For the moment you can try following.
>>>>>
>>>>> 1. Make sure you have the following structure in [1].
>>>>>
>>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>>>> MB_PASSWORD as well.
>>>>>
>>>>> Due to the payload values mismatch, python agent has not started. That
>>>>> is why you cannot see the agent log in the tmp directory except init.log.
>>>>>
>>>>> [1] -
>>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>>
>>>>> Thank you!
>>>>>
>>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Pubudu
>>>>>>
>>>>>> Looks like the payload is not working. Is there any introduction for
>>>>>> the kubernetes cartridge setup?
>>>>>>
>>>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Pubudu
>>>>>>>
>>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>>> container.
>>>>>>>
>>>>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins}
>>>>>>> - __init__.py is not a valid plugin for strategy info_ext
>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>>>> Found extension executor [ExtensionExecutor] at
>>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>>>> Activated extension executor [ExtensionExecutor]
>>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>>>> property: mb.ip =
>>>>>>> Traceback (most recent call last):
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>> line 329, in <module>
>>>>>>>     main()
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>> line 317, in main
>>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>>> line 44, in __init__
>>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>>>>> line 258, in read_property
>>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>>> required parameter: %r" % property_key)
>>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>>> required parameter: 'mb.ip'
>>>>>>> ^C
>>>>>>> [1]+  Exit 1
>>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Great! Checking now. will update soon.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <
>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>>
>>>>>>>>> 1. Find the ip address of the container (or pod). It will be shown
>>>>>>>>> in the application. If you hover the mouse on top of the application node
>>>>>>>>> you can see the ip address of the pod.
>>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>>>> commands.
>>>>>>>>>
>>>>>>>>> ssh core@<master_ip>
>>>>>>>>> ssh root@<container_ip>
>>>>>>>>>
>>>>>>>>> Use the password as stratos when logging.
>>>>>>>>>
>>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>>>> agent-screen.log.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thank you!
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi, Pubudu
>>>>>>>>>>
>>>>>>>>>> Thanks for your quick response,
>>>>>>>>>>
>>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>>>
>>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>>
>>>>>>>>>> Want to know if Stratos Topology monitor the service/pod status
>>>>>>>>>> or not?  If not, how can be activated?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi David,
>>>>>>>>>>>
>>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>>
>>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>>
>>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>>
>>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>>> container.
>>>>>>>>>>>
>>>>>>>>>>> Thank you!
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>>
>>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>>
>>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>>
>>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>>
>>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> -D
>>>>>>>>>>>>
>>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to
>>>>>>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>>>>>>> [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>>     at
>>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not
>>>>>>>>>>>> change to running within 60 sec: [application] single-cartridge-app
>>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>>     at
>>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you
>>>>>>>>>>>>> got?
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a
>>>>>>>>>>>>> separate composite application for K8S. Then another application can be
>>>>>>>>>>>>> created for the required product to be run on the above K8S cluster.
>>>>>>>>>>>>> However dynamic load balancing would be a problem for the pods that run on
>>>>>>>>>>>>> K8S because Stratos topology does not get updated with Node IPs when K8S
>>>>>>>>>>>>> nodes are autoscaled.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not
>>>>>>>>>>>>> show services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node
>>>>>>>>>>>>>> v 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>> -D
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in
>>>>>>>>>>>>>>> charge of registration and revocation of Nodes (minions) in a cluster.
>>>>>>>>>>>>>>> However as the Kubernetes documentation states [1], it doesn't
>>>>>>>>>>>>>>> automatically provision a new node, simply performing the registry task for
>>>>>>>>>>>>>>> the list of nodes.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at
>>>>>>>>>>>>>>> a different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>
>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>> Software Engineer
>>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pubudu Gunatilaka*
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>>
>> --
>> *Pubudu Gunatilaka*
>> Committer and PMC Member - Apache Stratos
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> mobile : +94774079049 <%2B94772207163>
>>
>>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Thanks for quick help. I am testing now, will update soon

-D

On Tue, Feb 2, 2016 at 11:06 AM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi David,
>
> I have pushed the php docker image to the docker hub [1]. You can pull the
> docker image by using 'docker pull stratos/php:4.1.5'.
>
> Please use the 4.1.5 samples with this docker image.
>
> [1] - https://hub.docker.com/r/stratos/php/tags/
>
> Thank you!
>
> On Tue, Feb 2, 2016 at 10:18 PM, Pubudu Gunatilaka <pu...@wso2.com>
> wrote:
>
>> Hi David,
>>
>> I will try to create the docker image for php and push the image to the
>> docker hub. I will update the thread with the progress.
>>
>> Thank you!
>>
>> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com> wrote:
>>
>>> Hi, Pubudu
>>>
>>> Thanks for your update, I am trying the work around now.
>>>
>>> Since we a re moving to production approach now, would you able to have
>>> the 4.1.5 container image ready as soon as possible for 4.1.5?
>>>
>>> Thanks again!
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> It looks like there is a minor issue. I think you are using Stratos
>>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>>
>>>> For the moment you can try following.
>>>>
>>>> 1. Make sure you have the following structure in [1].
>>>>
>>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>>> MB_PASSWORD as well.
>>>>
>>>> Due to the payload values mismatch, python agent has not started. That
>>>> is why you cannot see the agent log in the tmp directory except init.log.
>>>>
>>>> [1] -
>>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> Looks like the payload is not working. Is there any introduction for
>>>>> the kubernetes cartridge setup?
>>>>>
>>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Pubudu
>>>>>>
>>>>>> There is no python agent running and /tmp folder is empty in the
>>>>>> container.
>>>>>>
>>>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins}
>>>>>> - __init__.py is not a valid plugin for strategy info_ext
>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>>> Found extension executor [ExtensionExecutor] at
>>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>>> Activated extension executor [ExtensionExecutor]
>>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>>> property: mb.ip =
>>>>>> Traceback (most recent call last):
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>> line 329, in <module>
>>>>>>     main()
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>> line 317, in main
>>>>>>     cartridge_agent = CartridgeAgent()
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>>> line 44, in __init__
>>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>>>> line 258, in read_property
>>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>>> required parameter: %r" % property_key)
>>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>>> required parameter: 'mb.ip'
>>>>>> ^C
>>>>>> [1]+  Exit 1
>>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Great! Checking now. will update soon.
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pubudug@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>>
>>>>>>>> 1. Find the ip address of the container (or pod). It will be shown
>>>>>>>> in the application. If you hover the mouse on top of the application node
>>>>>>>> you can see the ip address of the pod.
>>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>>> commands.
>>>>>>>>
>>>>>>>> ssh core@<master_ip>
>>>>>>>> ssh root@<container_ip>
>>>>>>>>
>>>>>>>> Use the password as stratos when logging.
>>>>>>>>
>>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>>> agent-screen.log.
>>>>>>>>
>>>>>>>>
>>>>>>>> Thank you!
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi, Pubudu
>>>>>>>>>
>>>>>>>>> Thanks for your quick response,
>>>>>>>>>
>>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>>
>>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>>
>>>>>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>>>>>> not?  If not, how can be activated?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi David,
>>>>>>>>>>
>>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>>
>>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>>
>>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>>
>>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>>> container.
>>>>>>>>>>
>>>>>>>>>> Thank you!
>>>>>>>>>>
>>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>
>>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>>
>>>>>>>>>>> The kubernetes version is:
>>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>>
>>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>>
>>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>>
>>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -D
>>>>>>>>>>>
>>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change
>>>>>>>>>>> to running within 60 sec: [application] single-cartridge-app [cartridge]
>>>>>>>>>>> php [member]
>>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>> [pod] pod-1
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>>     ... 6 more
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you
>>>>>>>>>>>> got?
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>>>>>> autoscaled.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v
>>>>>>>>>>>>> 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>>
>>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>> -D
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge
>>>>>>>>>>>>>> of registration and revocation of Nodes (minions) in a cluster. However as
>>>>>>>>>>>>>> the Kubernetes documentation states [1], it doesn't automatically provision
>>>>>>>>>>>>>> a new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at
>>>>>>>>>>>>>> a different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>
>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>> Software Engineer
>>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>> Software Engineer
>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>
>>
>> --
>> *Pubudu Gunatilaka*
>> Committer and PMC Member - Apache Stratos
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> mobile : +94774079049 <%2B94772207163>
>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>

Re: Re. multi-tenancy capability

Posted by Pubudu Gunatilaka <pu...@wso2.com>.
Hi David,

I have pushed the php docker image to the docker hub [1]. You can pull the
docker image by using 'docker pull stratos/php:4.1.5'.

Please use the 4.1.5 samples with this docker image.

[1] - https://hub.docker.com/r/stratos/php/tags/

Thank you!

On Tue, Feb 2, 2016 at 10:18 PM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi David,
>
> I will try to create the docker image for php and push the image to the
> docker hub. I will update the thread with the progress.
>
> Thank you!
>
> On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> Thanks for your update, I am trying the work around now.
>>
>> Since we a re moving to production approach now, would you able to have
>> the 4.1.5 container image ready as soon as possible for 4.1.5?
>>
>> Thanks again!
>> -D
>>
>> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> It looks like there is a minor issue. I think you are using Stratos
>>> 4.1.5 samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>>
>>> For the moment you can try following.
>>>
>>> 1. Make sure you have the following structure in [1].
>>>
>>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>>> MB_PASSWORD as well.
>>>
>>> Due to the payload values mismatch, python agent has not started. That
>>> is why you cannot see the agent log in the tmp directory except init.log.
>>>
>>> [1] -
>>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Pubudu
>>>>
>>>> Looks like the payload is not working. Is there any introduction for
>>>> the kubernetes cartridge setup?
>>>>
>>>> etc: python agent and initial scripts for the kubernetes containers?
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> There is no python agent running and /tmp folder is empty in the
>>>>> container.
>>>>>
>>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
>>>>> __init__.py is not a valid plugin for strategy info_ext
>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>>> Found extension executor [ExtensionExecutor] at
>>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>>> Activated extension executor [ExtensionExecutor]
>>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>>> property: mb.ip =
>>>>> Traceback (most recent call last):
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>> line 329, in <module>
>>>>>     main()
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>> line 317, in main
>>>>>     cartridge_agent = CartridgeAgent()
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>>> line 44, in __init__
>>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>>> line 258, in read_property
>>>>>     raise ParameterNotFoundException("Cannot find the value of
>>>>> required parameter: %r" % property_key)
>>>>> exception.ParameterNotFoundException: Cannot find the value of
>>>>> required parameter: 'mb.ip'
>>>>> ^C
>>>>> [1]+  Exit 1
>>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Great! Checking now. will update soon.
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>>
>>>>>>> 1. Find the ip address of the container (or pod). It will be shown
>>>>>>> in the application. If you hover the mouse on top of the application node
>>>>>>> you can see the ip address of the pod.
>>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>>> commands.
>>>>>>>
>>>>>>> ssh core@<master_ip>
>>>>>>> ssh root@<container_ip>
>>>>>>>
>>>>>>> Use the password as stratos when logging.
>>>>>>>
>>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>>> agent-screen.log.
>>>>>>>
>>>>>>>
>>>>>>> Thank you!
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi, Pubudu
>>>>>>>>
>>>>>>>> Thanks for your quick response,
>>>>>>>>
>>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our
>>>>>>>> 4.1.5 kubernetes sample code ):
>>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>>
>>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>>
>>>>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>>>>> not?  If not, how can be activated?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <
>>>>>>>> pubudug@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi David,
>>>>>>>>>
>>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>>
>>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>>
>>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>>
>>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>>> container.
>>>>>>>>>
>>>>>>>>> Thank you!
>>>>>>>>>
>>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi, Imesh
>>>>>>>>>>
>>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>>
>>>>>>>>>> The kubernetes version is:
>>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>>
>>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>>
>>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>>
>>>>>>>>>> Is there any suggestion?
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>>> [cartridge] php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>> [pod] pod-1
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>>     at
>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change
>>>>>>>>>> to running within 60 sec: [application] single-cartridge-app [cartridge]
>>>>>>>>>> php [member]
>>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>> [pod] pod-1
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>>     at
>>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>>     ... 6 more
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <
>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi David,
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>>
>>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>>> document? etc:
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>>>>> autoscaled.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>>
>>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v
>>>>>>>>>>>> 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>>
>>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks
>>>>>>>>>>>> -D
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>>
>>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge
>>>>>>>>>>>>> of registration and revocation of Nodes (minions) in a cluster. However as
>>>>>>>>>>>>> the Kubernetes documentation states [1], it doesn't automatically provision
>>>>>>>>>>>>> a new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2. Application Topology can display the service and pods in
>>>>>>>>>>>>>> the Kubernetes cluster?
>>>>>>>>>>>>>
>>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>>
>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>>> [2] -
>>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>
>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>> Software Engineer
>>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Pubudu Gunatilaka*
>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774079049 <%2B94772207163>

Re: Re. multi-tenancy capability

Posted by Pubudu Gunatilaka <pu...@wso2.com>.
Hi David,

I will try to create the docker image for php and push the image to the
docker hub. I will update the thread with the progress.

Thank you!

On Tue, Feb 2, 2016 at 8:33 PM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu
>
> Thanks for your update, I am trying the work around now.
>
> Since we a re moving to production approach now, would you able to have
> the 4.1.5 container image ready as soon as possible for 4.1.5?
>
> Thanks again!
> -D
>
> On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com>
> wrote:
>
>> Hi David,
>>
>> It looks like there is a minor issue. I think you are using Stratos 4.1.5
>> samples and the docker image is 4.1.4. We haven't published 4.1.5 php
>> docker image and php 4.1.4 docker image is not compatible with the Stratos
>> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>>
>> For the moment you can try following.
>>
>> 1. Make sure you have the following structure in [1].
>>
>> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos
>> 4.1.4 we don't support mb credentials. So you can remove MB_USERNAME and
>> MB_PASSWORD as well.
>>
>> Due to the payload values mismatch, python agent has not started. That is
>> why you cannot see the agent log in the tmp directory except init.log.
>>
>> [1] -
>> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>>
>> Thank you!
>>
>> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com> wrote:
>>
>>> Hi, Pubudu
>>>
>>> Looks like the payload is not working. Is there any introduction for the
>>> kubernetes cartridge setup?
>>>
>>> etc: python agent and initial scripts for the kubernetes containers?
>>>
>>> Thanks
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Pubudu
>>>>
>>>> There is no python agent running and /tmp folder is empty in the
>>>> container.
>>>>
>>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
>>>> __init__.py is not a valid plugin for strategy info_ext
>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>>> Found extension executor [ExtensionExecutor] at
>>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>>> Activated extension executor [ExtensionExecutor]
>>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>>> property: mb.ip =
>>>> Traceback (most recent call last):
>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>> line 329, in <module>
>>>>     main()
>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>> line 317, in main
>>>>     cartridge_agent = CartridgeAgent()
>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py",
>>>> line 44, in __init__
>>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>>> line 258, in read_property
>>>>     raise ParameterNotFoundException("Cannot find the value of required
>>>> parameter: %r" % property_key)
>>>> exception.ParameterNotFoundException: Cannot find the value of required
>>>> parameter: 'mb.ip'
>>>> ^C
>>>> [1]+  Exit 1
>>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Great! Checking now. will update soon.
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> In Stratos we do have a python cartridge agent which publishers
>>>>>> health stats to Stratos manager and handles life cycle in the application
>>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>>
>>>>>> 1. Find the ip address of the container (or pod). It will be shown in
>>>>>> the application. If you hover the mouse on top of the application node you
>>>>>> can see the ip address of the pod.
>>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>>> commands.
>>>>>>
>>>>>> ssh core@<master_ip>
>>>>>> ssh root@<container_ip>
>>>>>>
>>>>>> Use the password as stratos when logging.
>>>>>>
>>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>>> agent-screen.log.
>>>>>>
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Pubudu
>>>>>>>
>>>>>>> Thanks for your quick response,
>>>>>>>
>>>>>>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>>>>>>> kubernetes sample code ):
>>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub,
>>>>>>> after changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>>
>>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>>
>>>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>>>> not?  If not, how can be activated?
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pubudug@wso2.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>> Hi David,
>>>>>>>>
>>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>>
>>>>>>>> This error log could encounter due to following reasons.
>>>>>>>>
>>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>>
>>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>>> container.
>>>>>>>>
>>>>>>>> Thank you!
>>>>>>>>
>>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi, Imesh
>>>>>>>>>
>>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>>
>>>>>>>>> The kubernetes version is:
>>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>>
>>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>>
>>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>>
>>>>>>>>> Is there any suggestion?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>>> [cartridge] php [member]
>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>> [pod] pod-1
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>>     at
>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change
>>>>>>>>> to running within 60 sec: [application] single-cartridge-app [cartridge]
>>>>>>>>> php [member]
>>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>> [pod] pod-1
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>>     at
>>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>>     ... 6 more
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <imesh@apache.org
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi David,
>>>>>>>>>>
>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi, Imesh
>>>>>>>>>>>
>>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>>> document? etc:
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>>>> autoscaled.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>>
>>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v
>>>>>>>>>>> 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>>
>>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>> -D
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi David,
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>>
>>>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge
>>>>>>>>>>>> of registration and revocation of Nodes (minions) in a cluster. However as
>>>>>>>>>>>> the Kubernetes documentation states [1], it doesn't automatically provision
>>>>>>>>>>>> a new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>>>
>>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>>
>>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>>
>>>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>>>
>>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>>
>>>>>>>>>>>> [1] -
>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>>> [2] -
>>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>
>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Pubudu Gunatilaka*
>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>> Software Engineer
>>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Pubudu Gunatilaka*
>>>>>> Committer and PMC Member - Apache Stratos
>>>>>> Software Engineer
>>>>>> WSO2, Inc.: http://wso2.com
>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> *Pubudu Gunatilaka*
>> Committer and PMC Member - Apache Stratos
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> mobile : +94774079049 <%2B94772207163>
>>
>>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774079049 <%2B94772207163>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Pubudu

Thanks for your update, I am trying the work around now.

Since we a re moving to production approach now, would you able to have the
4.1.5 container image ready as soon as possible for 4.1.5?

Thanks again!
-D

On Tue, Feb 2, 2016 at 1:31 AM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi David,
>
> It looks like there is a minor issue. I think you are using Stratos 4.1.5
> samples and the docker image is 4.1.4. We haven't published 4.1.5 php
> docker image and php 4.1.4 docker image is not compatible with the Stratos
> 4.1.5 samples. We will publish 4.1.5 php docker image soon.
>
> For the moment you can try following.
>
> 1. Make sure you have the following structure in [1].
>
> If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos 4.1.4
> we don't support mb credentials. So you can remove MB_USERNAME and
> MB_PASSWORD as well.
>
> Due to the payload values mismatch, python agent has not started. That is
> why you cannot see the agent log in the tmp directory except init.log.
>
> [1] -
> https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json
>
> Thank you!
>
> On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> Looks like the payload is not working. Is there any introduction for the
>> kubernetes cartridge setup?
>>
>> etc: python agent and initial scripts for the kubernetes containers?
>>
>> Thanks
>> -D
>>
>> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> Hi, Pubudu
>>>
>>> There is no python agent running and /tmp folder is empty in the
>>> container.
>>>
>>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
>>> __init__.py is not a valid plugin for strategy info_ext
>>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} -
>>> Found extension executor [ExtensionExecutor] at
>>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>>> Activated extension executor [ExtensionExecutor]
>>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>>> property: mb.ip =
>>> Traceback (most recent call last):
>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>>> 329, in <module>
>>>     main()
>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>>> 317, in main
>>>     cartridge_agent = CartridgeAgent()
>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>>> 44, in __init__
>>>     mb_ip = Config.read_property(constants.MB_IP)
>>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py",
>>> line 258, in read_property
>>>     raise ParameterNotFoundException("Cannot find the value of required
>>> parameter: %r" % property_key)
>>> exception.ParameterNotFoundException: Cannot find the value of required
>>> parameter: 'mb.ip'
>>> ^C
>>> [1]+  Exit 1
>>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>>
>>> Thanks
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Great! Checking now. will update soon.
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> In Stratos we do have a python cartridge agent which publishers health
>>>>> stats to Stratos manager and handles life cycle in the application
>>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>>
>>>>> 1. Find the ip address of the container (or pod). It will be shown in
>>>>> the application. If you hover the mouse on top of the application node you
>>>>> can see the ip address of the pod.
>>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>>> commands.
>>>>>
>>>>> ssh core@<master_ip>
>>>>> ssh root@<container_ip>
>>>>>
>>>>> Use the password as stratos when logging.
>>>>>
>>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>>> agent-screen.log.
>>>>>
>>>>>
>>>>> Thank you!
>>>>>
>>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Pubudu
>>>>>>
>>>>>> Thanks for your quick response,
>>>>>>
>>>>>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>>>>>> kubernetes sample code ):
>>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
>>>>>> changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>>> initialized, but can not be activated in Stratos Topology
>>>>>>
>>>>>> Checked with kubectl get pod, it's already activated.
>>>>>>
>>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>>> not?  If not, how can be activated?
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi David,
>>>>>>>
>>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>>
>>>>>>> This error log could encounter due to following reasons.
>>>>>>>
>>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>>> kubernetes nodes. (except k8 master node)
>>>>>>> Docker image version is specified in the php cartridge.
>>>>>>>
>>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>>> container.
>>>>>>>
>>>>>>> Thank you!
>>>>>>>
>>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi, Imesh
>>>>>>>>
>>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>>
>>>>>>>> The kubernetes version is:
>>>>>>>> kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>>
>>>>>>>> Stratos version: is 4.1.5
>>>>>>>>
>>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>>
>>>>>>>> Is there any suggestion?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>>> [cartridge] php [member]
>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>> [pod] pod-1
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>>> java.lang.RuntimeException: Could not start container:
>>>>>>>> [application] single-cartridge-app [cartridge] php [member]
>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>>     at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>>> [member]
>>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>> [pod] pod-1
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>>     at
>>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>>     ... 6 more
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi David,
>>>>>>>>>
>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi, Imesh
>>>>>>>>>>
>>>>>>>>>> I have realized the tenancy routing service, but still issues
>>>>>>>>>> with Kubernetes. Would like to know if there any updated kubernetes
>>>>>>>>>> document? etc:
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>>> autoscaled.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Thanks Chamila,
>>>>>>>>>>
>>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v
>>>>>>>>>> 1.1 and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>>> functions with Kubernetes?
>>>>>>>>>>
>>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> -D
>>>>>>>>>>
>>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi David,
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>>
>>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>>
>>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>>
>>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>>
>>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>>
>>>>>>>>>>> In Stratos, the Application Topology is the view of the
>>>>>>>>>>> Composite Application deployment. It doesn't show the IaaS specific details
>>>>>>>>>>> such as Services and Pods. These details will have to be retrieved from the
>>>>>>>>>>> Kube-UI.
>>>>>>>>>>>
>>>>>>>>>>> [1] -
>>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>>> [2] -
>>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Chamila de Alwis
>>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Imesh Gunaratne
>>>>>>>>>
>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Pubudu Gunatilaka*
>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.: http://wso2.com
>>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pubudu Gunatilaka*
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>

Re: Re. multi-tenancy capability

Posted by Pubudu Gunatilaka <pu...@wso2.com>.
Hi David,

It looks like there is a minor issue. I think you are using Stratos 4.1.5
samples and the docker image is 4.1.4. We haven't published 4.1.5 php
docker image and php 4.1.4 docker image is not compatible with the Stratos
4.1.5 samples. We will publish 4.1.5 php docker image soon.

For the moment you can try following.

1. Make sure you have the following structure in [1].

If you have MB_URLS in the sample, use MB_IP and MB_PORT. In Stratos 4.1.4
we don't support mb credentials. So you can remove MB_USERNAME and
MB_PASSWORD as well.

Due to the payload values mismatch, python agent has not started. That is
why you cannot see the agent log in the tmp directory except init.log.

[1] -
https://github.com/apache/stratos/blob/4.1.4/samples/kubernetes-clusters/kubernetes-cluster-2.json

Thank you!

On Tue, Feb 2, 2016 at 1:59 PM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu
>
> Looks like the payload is not working. Is there any introduction for the
> kubernetes cartridge setup?
>
> etc: python agent and initial scripts for the kubernetes containers?
>
> Thanks
> -D
>
> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> There is no python agent running and /tmp folder is empty in the
>> container.
>>
>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
>> __init__.py is not a valid plugin for strategy info_ext
>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} - Found
>> extension executor [ExtensionExecutor] at
>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>> Activated extension executor [ExtensionExecutor]
>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>> property: mb.ip =
>> Traceback (most recent call last):
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>> 329, in <module>
>>     main()
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>> 317, in main
>>     cartridge_agent = CartridgeAgent()
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>> 44, in __init__
>>     mb_ip = Config.read_property(constants.MB_IP)
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line
>> 258, in read_property
>>     raise ParameterNotFoundException("Cannot find the value of required
>> parameter: %r" % property_key)
>> exception.ParameterNotFoundException: Cannot find the value of required
>> parameter: 'mb.ip'
>> ^C
>> [1]+  Exit 1
>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>
>> Thanks
>> -D
>>
>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> Great! Checking now. will update soon.
>>>
>>> Thanks
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> In Stratos we do have a python cartridge agent which publishers health
>>>> stats to Stratos manager and handles life cycle in the application
>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>
>>>> 1. Find the ip address of the container (or pod). It will be shown in
>>>> the application. If you hover the mouse on top of the application node you
>>>> can see the ip address of the pod.
>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>> commands.
>>>>
>>>> ssh core@<master_ip>
>>>> ssh root@<container_ip>
>>>>
>>>> Use the password as stratos when logging.
>>>>
>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>> agent-screen.log.
>>>>
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> Thanks for your quick response,
>>>>>
>>>>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>>>>> kubernetes sample code ):
>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
>>>>> changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>> initialized, but can not be activated in Stratos Topology
>>>>>
>>>>> Checked with kubectl get pod, it's already activated.
>>>>>
>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>> not?  If not, how can be activated?
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>
>>>>>> This error log could encounter due to following reasons.
>>>>>>
>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>> kubernetes nodes. (except k8 master node)
>>>>>> Docker image version is specified in the php cartridge.
>>>>>>
>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>> container.
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Imesh
>>>>>>>
>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>
>>>>>>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>
>>>>>>> Stratos version: is 4.1.5
>>>>>>>
>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>
>>>>>>> Is there any suggestion?
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>> [cartridge] php [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>> [pod] pod-1
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>> java.lang.RuntimeException: Could not start container: [application]
>>>>>>> single-cartridge-app [cartridge] php [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>> [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>> [pod] pod-1
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>     ... 6 more
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi David,
>>>>>>>>
>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>>>>  wrote:
>>>>>>>>
>>>>>>>>> Hi, Imesh
>>>>>>>>>
>>>>>>>>> I have realized the tenancy routing service, but still issues with
>>>>>>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>>>>>>> etc:
>>>>>>>>>
>>>>>>>>
>>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>>
>>>>>>>>>
>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>>>> interrupt the curretn running services ?)
>>>>>>>>>
>>>>>>>>
>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>> autoscaled.
>>>>>>>>
>>>>>>>>
>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>> Kubernetes cluster?
>>>>>>>>>
>>>>>>>>
>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thanks Chamila,
>>>>>>>>>
>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1
>>>>>>>>> and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>> functions with Kubernetes?
>>>>>>>>>
>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi David,
>>>>>>>>>>
>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>
>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>
>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>
>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>
>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>
>>>>>>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>>>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>>>>>>> Services and Pods. These details will have to be retrieved from the
>>>>>>>>>> Kube-UI.
>>>>>>>>>>
>>>>>>>>>> [1] -
>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>> [2] -
>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Chamila de Alwis
>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Imesh Gunaratne
>>>>>>>>
>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Pubudu Gunatilaka*
>>>>>> Committer and PMC Member - Apache Stratos
>>>>>> Software Engineer
>>>>>> WSO2, Inc.: http://wso2.com
>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774079049 <%2B94772207163>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Team:

Would you able to commit/push a new docker image as Stratos/php:4.1.5 which
will include the initial payload script and the docker file for it?

Thanks
-D

On Tue, Feb 2, 2016 at 12:29 AM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu
>
> Looks like the payload is not working. Is there any introduction for the
> kubernetes cartridge setup?
>
> etc: python agent and initial scripts for the kubernetes containers?
>
> Thanks
> -D
>
> On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> There is no python agent running and /tmp folder is empty in the
>> container.
>>
>> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
>> __init__.py is not a valid plugin for strategy info_ext
>> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} - Found
>> extension executor [ExtensionExecutor] at
>> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
>> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
>> Activated extension executor [ExtensionExecutor]
>> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
>> property: mb.ip =
>> Traceback (most recent call last):
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>> 329, in <module>
>>     main()
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>> 317, in main
>>     cartridge_agent = CartridgeAgent()
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
>> 44, in __init__
>>     mb_ip = Config.read_property(constants.MB_IP)
>>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line
>> 258, in read_property
>>     raise ParameterNotFoundException("Cannot find the value of required
>> parameter: %r" % property_key)
>> exception.ParameterNotFoundException: Cannot find the value of required
>> parameter: 'mb.ip'
>> ^C
>> [1]+  Exit 1
>> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>>
>> Thanks
>> -D
>>
>> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> Great! Checking now. will update soon.
>>>
>>> Thanks
>>> -D
>>>
>>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> In Stratos we do have a python cartridge agent which publishers health
>>>> stats to Stratos manager and handles life cycle in the application
>>>> deployment. To narrow down the issue, please follow the steps below.
>>>>
>>>> 1. Find the ip address of the container (or pod). It will be shown in
>>>> the application. If you hover the mouse on top of the application node you
>>>> can see the ip address of the pod.
>>>> 2. SSH to K8 master node and again ssh to the pod using following
>>>> commands.
>>>>
>>>> ssh core@<master_ip>
>>>> ssh root@<container_ip>
>>>>
>>>> Use the password as stratos when logging.
>>>>
>>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>>> agent-screen.log.
>>>>
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Pubudu
>>>>>
>>>>> Thanks for your quick response,
>>>>>
>>>>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>>>>> kubernetes sample code ):
>>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
>>>>> changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>>> initialized, but can not be activated in Stratos Topology
>>>>>
>>>>> Checked with kubectl get pod, it's already activated.
>>>>>
>>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>>> not?  If not, how can be activated?
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>>
>>>>>> This error log could encounter due to following reasons.
>>>>>>
>>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>>> kubernetes nodes. (except k8 master node)
>>>>>> Docker image version is specified in the php cartridge.
>>>>>>
>>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>>> container.
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi, Imesh
>>>>>>>
>>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>>
>>>>>>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>>
>>>>>>> Stratos version: is 4.1.5
>>>>>>>
>>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>>
>>>>>>> Is there any suggestion?
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>>> [cartridge] php [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>> [pod] pod-1
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>>> single-cartridge-app.my-php.php.domain
>>>>>>> java.lang.RuntimeException: Could not start container: [application]
>>>>>>> single-cartridge-app [cartridge] php [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>>     at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>>> [member]
>>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>> [pod] pod-1
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>>     at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>>     ... 6 more
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi David,
>>>>>>>>
>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>>>>  wrote:
>>>>>>>>
>>>>>>>>> Hi, Imesh
>>>>>>>>>
>>>>>>>>> I have realized the tenancy routing service, but still issues with
>>>>>>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>>>>>>> etc:
>>>>>>>>>
>>>>>>>>
>>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>>
>>>>>>>>>
>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>>>> interrupt the curretn running services ?)
>>>>>>>>>
>>>>>>>>
>>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>>> autoscaled.
>>>>>>>>
>>>>>>>>
>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>> Kubernetes cluster?
>>>>>>>>>
>>>>>>>>
>>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thanks Chamila,
>>>>>>>>>
>>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1
>>>>>>>>> and or node). But would like to know what's the Stratos auto scaling
>>>>>>>>> functions with Kubernetes?
>>>>>>>>>
>>>>>>>>> etc: in Stratos we setup the auto scaling policy for the
>>>>>>>>> kubernetes cluster, when and how can this auto scaling policy work? ( will
>>>>>>>>> scaling the new pod or node ? )
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> -D
>>>>>>>>>
>>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi David,
>>>>>>>>>>
>>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <
>>>>>>>>>> davidhbase@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>>
>>>>>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>>>>>
>>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>>
>>>>>>>>>> If you're looking for Pod autoscaling, this is already
>>>>>>>>>> implemented in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>>
>>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>>
>>>>>>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>>>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>>>>>>> Services and Pods. These details will have to be retrieved from the
>>>>>>>>>> Kube-UI.
>>>>>>>>>>
>>>>>>>>>> [1] -
>>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>>> [2] -
>>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Chamila de Alwis
>>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Imesh Gunaratne
>>>>>>>>
>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Pubudu Gunatilaka*
>>>>>> Committer and PMC Member - Apache Stratos
>>>>>> Software Engineer
>>>>>> WSO2, Inc.: http://wso2.com
>>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Pubudu

Looks like the payload is not working. Is there any introduction for the
kubernetes cartridge setup?

etc: python agent and initial scripts for the kubernetes containers?

Thanks
-D

On Tue, Feb 2, 2016 at 12:27 AM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu
>
> There is no python agent running and /tmp folder is empty in the container.
>
> [2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
> __init__.py is not a valid plugin for strategy info_ext
> [2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} - Found
> extension executor [ExtensionExecutor] at
> [/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
> [2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
> Activated extension executor [ExtensionExecutor]
> [2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
> property: mb.ip =
> Traceback (most recent call last):
>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
> 329, in <module>
>     main()
>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
> 317, in main
>     cartridge_agent = CartridgeAgent()
>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
> 44, in __init__
>     mb_ip = Config.read_property(constants.MB_IP)
>   File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line
> 258, in read_property
>     raise ParameterNotFoundException("Cannot find the value of required
> parameter: %r" % property_key)
> exception.ParameterNotFoundException: Cannot find the value of required
> parameter: 'mb.ip'
> ^C
> [1]+  Exit 1
> /mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py
>
> Thanks
> -D
>
> On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com> wrote:
>
>> Great! Checking now. will update soon.
>>
>> Thanks
>> -D
>>
>> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi,
>>>
>>> In Stratos we do have a python cartridge agent which publishers health
>>> stats to Stratos manager and handles life cycle in the application
>>> deployment. To narrow down the issue, please follow the steps below.
>>>
>>> 1. Find the ip address of the container (or pod). It will be shown in
>>> the application. If you hover the mouse on top of the application node you
>>> can see the ip address of the pod.
>>> 2. SSH to K8 master node and again ssh to the pod using following
>>> commands.
>>>
>>> ssh core@<master_ip>
>>> ssh root@<container_ip>
>>>
>>> Use the password as stratos when logging.
>>>
>>> 3. Now you can check the agent log in the /tmp directory. Log is
>>> agent-screen.log.
>>>
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Pubudu
>>>>
>>>> Thanks for your quick response,
>>>>
>>>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>>>> kubernetes sample code ):
>>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
>>>> changed to "imageId": "stratos/php:4.1.4", the php container can be
>>>> initialized, but can not be activated in Stratos Topology
>>>>
>>>> Checked with kubectl get pod, it's already activated.
>>>>
>>>> Want to know if Stratos Topology monitor the service/pod status or
>>>> not?  If not, how can be activated?
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>>
>>>>> This error log could encounter due to following reasons.
>>>>>
>>>>> 1. Make sure you have pulled the correct php docker image in
>>>>> kubernetes nodes. (except k8 master node)
>>>>> Docker image version is specified in the php cartridge.
>>>>>
>>>>> 2. If the docker image is there, try executing 'docker ps' in k8
>>>>> nodes. Basically you will have to find correct k8 host node for the
>>>>> particular pod. 'docker ps' will show the reason for not starting the
>>>>> container.
>>>>>
>>>>> Thank you!
>>>>>
>>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi, Imesh
>>>>>>
>>>>>> Thanks for your reply. I follow the doc to setup the
>>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>>
>>>>>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>>
>>>>>> Stratos version: is 4.1.5
>>>>>>
>>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>>
>>>>>> Is there any suggestion?
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>>> -  Could not start container: [application] single-cartridge-app
>>>>>> [cartridge] php [member]
>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>> [pod] pod-1
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>     at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>     at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>>> single-cartridge-app.my-php.php.domain
>>>>>> java.lang.RuntimeException: Could not start container: [application]
>>>>>> single-cartridge-app [cartridge] php [member]
>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>>     at
>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>>     at
>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>>> [member]
>>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>> [pod] pod-1
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>>     at
>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>>     ... 6 more
>>>>>>
>>>>>>
>>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi David,
>>>>>>>
>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>>>  wrote:
>>>>>>>
>>>>>>>> Hi, Imesh
>>>>>>>>
>>>>>>>> I have realized the tenancy routing service, but still issues with
>>>>>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>>>>>> etc:
>>>>>>>>
>>>>>>>
>>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>>
>>>>>>>>
>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>>> interrupt the curretn running services ?)
>>>>>>>>
>>>>>>>
>>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>>> composite application for K8S. Then another application can be created for
>>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>>> autoscaled.
>>>>>>>
>>>>>>>
>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>> Kubernetes cluster?
>>>>>>>>
>>>>>>>
>>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Thanks Chamila,
>>>>>>>>
>>>>>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1
>>>>>>>> and or node). But would like to know what's the Stratos auto scaling
>>>>>>>> functions with Kubernetes?
>>>>>>>>
>>>>>>>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>>>>>>>> cluster, when and how can this auto scaling policy work? ( will scaling the
>>>>>>>> new pod or node ? )
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> -D
>>>>>>>>
>>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>>
>>>>>>>>> Hi David,
>>>>>>>>>
>>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <davidhbase@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions
>>>>>>>>>> without interrupt the curretn running services ?)
>>>>>>>>>>
>>>>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>>>>
>>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>>
>>>>>>>>> If you're looking for Pod autoscaling, this is already implemented
>>>>>>>>> in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>>
>>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>>> Kubernetes cluster?
>>>>>>>>>
>>>>>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>>>>>> Services and Pods. These details will have to be retrieved from the
>>>>>>>>> Kube-UI.
>>>>>>>>>
>>>>>>>>> [1] -
>>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>>> [2] -
>>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Chamila de Alwis
>>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Imesh Gunaratne
>>>>>>>
>>>>>>> Senior Technical Lead, WSO2
>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Pubudu Gunatilaka*
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer
>>>>> WSO2, Inc.: http://wso2.com
>>>>> mobile : +94774079049 <%2B94772207163>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Pubudu

There is no python agent running and /tmp folder is empty in the container.

[2016-02-02 08:24:07,821] DEBUG {PluginFileLocator.py:locatePlugins} -
__init__.py is not a valid plugin for strategy info_ext
[2016-02-02 08:24:07,821] DEBUG {config.py:initialize_extensions} - Found
extension executor [ExtensionExecutor] at
[/mnt/apache-stratos-python-cartridge-agent-4.1.4/extensions/py/ExtensionExecutor]
[2016-02-02 08:24:07,821] INFO {config.py:initialize_extensions} -
Activated extension executor [ExtensionExecutor]
[2016-02-02 08:24:07,821] DEBUG {config.py:read_property} - Reading
property: mb.ip =
Traceback (most recent call last):
  File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
329, in <module>
    main()
  File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
317, in main
    cartridge_agent = CartridgeAgent()
  File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py", line
44, in __init__
    mb_ip = Config.read_property(constants.MB_IP)
  File "/mnt/apache-stratos-python-cartridge-agent-4.1.4/config.py", line
258, in read_property
    raise ParameterNotFoundException("Cannot find the value of required
parameter: %r" % property_key)
exception.ParameterNotFoundException: Cannot find the value of required
parameter: 'mb.ip'
^C
[1]+  Exit 1
/mnt/apache-stratos-python-cartridge-agent-4.1.4/agent.py

Thanks
-D

On Tue, Feb 2, 2016 at 12:06 AM, David Hbase <da...@gmail.com> wrote:

> Great! Checking now. will update soon.
>
> Thanks
> -D
>
> On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com>
> wrote:
>
>> Hi,
>>
>> In Stratos we do have a python cartridge agent which publishers health
>> stats to Stratos manager and handles life cycle in the application
>> deployment. To narrow down the issue, please follow the steps below.
>>
>> 1. Find the ip address of the container (or pod). It will be shown in the
>> application. If you hover the mouse on top of the application node you can
>> see the ip address of the pod.
>> 2. SSH to K8 master node and again ssh to the pod using following
>> commands.
>>
>> ssh core@<master_ip>
>> ssh root@<container_ip>
>>
>> Use the password as stratos when logging.
>>
>> 3. Now you can check the agent log in the /tmp directory. Log is
>> agent-screen.log.
>>
>>
>> Thank you!
>>
>> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com> wrote:
>>
>>> Hi, Pubudu
>>>
>>> Thanks for your quick response,
>>>
>>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>>> kubernetes sample code ):
>>> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
>>> changed to "imageId": "stratos/php:4.1.4", the php container can be
>>> initialized, but can not be activated in Stratos Topology
>>>
>>> Checked with kubectl get pod, it's already activated.
>>>
>>> Want to know if Stratos Topology monitor the service/pod status or not?
>>> If not, how can be activated?
>>>
>>> Thanks
>>> -D
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>>
>>>> This error log could encounter due to following reasons.
>>>>
>>>> 1. Make sure you have pulled the correct php docker image in kubernetes
>>>> nodes. (except k8 master node)
>>>> Docker image version is specified in the php cartridge.
>>>>
>>>> 2. If the docker image is there, try executing 'docker ps' in k8 nodes.
>>>> Basically you will have to find correct k8 host node for the particular
>>>> pod. 'docker ps' will show the reason for not starting the container.
>>>>
>>>> Thank you!
>>>>
>>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi, Imesh
>>>>>
>>>>> Thanks for your reply. I follow the doc to setup the
>>>>> Stratos-Kubernetes cluster, but can not have the topology activated.
>>>>>
>>>>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>>
>>>>> Stratos version: is 4.1.5
>>>>>
>>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>>
>>>>> Is there any suggestion?
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>>> -  Could not start container: [application] single-cartridge-app
>>>>> [cartridge] php [member]
>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>> java.lang.RuntimeException: Pod status did not change to running
>>>>> within 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>> [pod] pod-1
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>>> single-cartridge-app.my-php.php.domain
>>>>> java.lang.RuntimeException: Could not start container: [application]
>>>>> single-cartridge-app [cartridge] php [member]
>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>>> [member]
>>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>> [pod] pod-1
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>>     at
>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>>     ... 6 more
>>>>>
>>>>>
>>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>>  wrote:
>>>>>>
>>>>>>> Hi, Imesh
>>>>>>>
>>>>>>> I have realized the tenancy routing service, but still issues with
>>>>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>>>>> etc:
>>>>>>>
>>>>>>
>>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>>
>>>>>>>
>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>> interrupt the curretn running services ?)
>>>>>>>
>>>>>>
>>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>>> composite application for K8S. Then another application can be created for
>>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>>> autoscaled.
>>>>>>
>>>>>>
>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>> Kubernetes cluster?
>>>>>>>
>>>>>>
>>>>>> No, currently the topology view in the Stratos UI does not show
>>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Thanks Chamila,
>>>>>>>
>>>>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1
>>>>>>> and or node). But would like to know what's the Stratos auto scaling
>>>>>>> functions with Kubernetes?
>>>>>>>
>>>>>>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>>>>>>> cluster, when and how can this auto scaling policy work? ( will scaling the
>>>>>>> new pod or node ? )
>>>>>>>
>>>>>>> Thanks
>>>>>>> -D
>>>>>>>
>>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <
>>>>>>> chamilad@wso2.com> wrote:
>>>>>>>
>>>>>>>> Hi David,
>>>>>>>>
>>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>>>> interrupt the curretn running services ?)
>>>>>>>>>
>>>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>>>
>>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>>> be configured to auto register with the proxy.
>>>>>>>>
>>>>>>>> If you're looking for Pod autoscaling, this is already implemented
>>>>>>>> in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>>
>>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>>> Kubernetes cluster?
>>>>>>>>
>>>>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>>>>> Services and Pods. These details will have to be retrieved from the
>>>>>>>> Kube-UI.
>>>>>>>>
>>>>>>>> [1] -
>>>>>>>> http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>>> [2] -
>>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Chamila de Alwis
>>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Senior Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Gunatilaka*
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> mobile : +94774079049 <%2B94772207163>
>>>>
>>>>
>>>
>>
>>
>> --
>> *Pubudu Gunatilaka*
>> Committer and PMC Member - Apache Stratos
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> mobile : +94774079049 <%2B94772207163>
>>
>>
>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Great! Checking now. will update soon.

Thanks
-D

On Tue, Feb 2, 2016 at 12:05 AM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi,
>
> In Stratos we do have a python cartridge agent which publishers health
> stats to Stratos manager and handles life cycle in the application
> deployment. To narrow down the issue, please follow the steps below.
>
> 1. Find the ip address of the container (or pod). It will be shown in the
> application. If you hover the mouse on top of the application node you can
> see the ip address of the pod.
> 2. SSH to K8 master node and again ssh to the pod using following commands.
>
> ssh core@<master_ip>
> ssh root@<container_ip>
>
> Use the password as stratos when logging.
>
> 3. Now you can check the agent log in the /tmp directory. Log is
> agent-screen.log.
>
>
> Thank you!
>
> On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Pubudu
>>
>> Thanks for your quick response,
>>
>> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
>> kubernetes sample code ):
>> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
>> changed to "imageId": "stratos/php:4.1.4", the php container can be
>> initialized, but can not be activated in Stratos Topology
>>
>> Checked with kubectl get pod, it's already activated.
>>
>> Want to know if Stratos Topology monitor the service/pod status or not?
>> If not, how can be activated?
>>
>> Thanks
>> -D
>>
>>
>>
>>
>>
>>
>> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>>
>>> This error log could encounter due to following reasons.
>>>
>>> 1. Make sure you have pulled the correct php docker image in kubernetes
>>> nodes. (except k8 master node)
>>> Docker image version is specified in the php cartridge.
>>>
>>> 2. If the docker image is there, try executing 'docker ps' in k8 nodes.
>>> Basically you will have to find correct k8 host node for the particular
>>> pod. 'docker ps' will show the reason for not starting the container.
>>>
>>> Thank you!
>>>
>>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Hi, Imesh
>>>>
>>>> Thanks for your reply. I follow the doc to setup the Stratos-Kubernetes
>>>> cluster, but can not have the topology activated.
>>>>
>>>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>>
>>>> Stratos version: is 4.1.5
>>>>
>>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>>
>>>> Is there any suggestion?
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>>> -  Could not start container: [application] single-cartridge-app
>>>> [cartridge] php [member]
>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>> java.lang.RuntimeException: Pod status did not change to running within
>>>> 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>> [pod] pod-1
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>     at
>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>     at
>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>     at java.lang.Thread.run(Thread.java:745)
>>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>>> Could not start instance: [cartridge-type] php [cluster-id]
>>>> single-cartridge-app.my-php.php.domain
>>>> java.lang.RuntimeException: Could not start container: [application]
>>>> single-cartridge-app [cartridge] php [member]
>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>>     at
>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>>     at
>>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>     at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>>> [member]
>>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>> [pod] pod-1
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>>     at
>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>>     ... 6 more
>>>>
>>>>
>>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>  wrote:
>>>>>
>>>>>> Hi, Imesh
>>>>>>
>>>>>> I have realized the tenancy routing service, but still issues with
>>>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>>>> etc:
>>>>>>
>>>>>
>>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>>
>>>>>>
>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>> interrupt the curretn running services ?)
>>>>>>
>>>>>
>>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>>> composite application for K8S. Then another application can be created for
>>>>> the required product to be run on the above K8S cluster. However dynamic
>>>>> load balancing would be a problem for the pods that run on K8S because
>>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>>> autoscaled.
>>>>>
>>>>>
>>>>>> 2. Application Topology can display the service and pods in the
>>>>>> Kubernetes cluster?
>>>>>>
>>>>>
>>>>> No, currently the topology view in the Stratos UI does not show
>>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Thanks Chamila,
>>>>>>
>>>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1
>>>>>> and or node). But would like to know what's the Stratos auto scaling
>>>>>> functions with Kubernetes?
>>>>>>
>>>>>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>>>>>> cluster, when and how can this auto scaling policy work? ( will scaling the
>>>>>> new pod or node ? )
>>>>>>
>>>>>> Thanks
>>>>>> -D
>>>>>>
>>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <chamilad@wso2.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi David,
>>>>>>>
>>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>>> interrupt the curretn running services ?)
>>>>>>>>
>>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>>
>>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>>> be configured to auto register with the proxy.
>>>>>>>
>>>>>>> If you're looking for Pod autoscaling, this is already implemented
>>>>>>> in Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>>
>>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>>> Kubernetes cluster?
>>>>>>>
>>>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>>>> Services and Pods. These details will have to be retrieved from the
>>>>>>> Kube-UI.
>>>>>>>
>>>>>>> [1] - http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>>> [2] -
>>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>> Chamila de Alwis
>>>>>>> Committer and PMC Member - Apache Stratos
>>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>>> Blog: code.chamiladealwis.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Senior Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> *Pubudu Gunatilaka*
>>> Committer and PMC Member - Apache Stratos
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> mobile : +94774079049 <%2B94772207163>
>>>
>>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>

Re: Re. multi-tenancy capability

Posted by Pubudu Gunatilaka <pu...@wso2.com>.
Hi,

In Stratos we do have a python cartridge agent which publishers health
stats to Stratos manager and handles life cycle in the application
deployment. To narrow down the issue, please follow the steps below.

1. Find the ip address of the container (or pod). It will be shown in the
application. If you hover the mouse on top of the application node you can
see the ip address of the pod.
2. SSH to K8 master node and again ssh to the pod using following commands.

ssh core@<master_ip>
ssh root@<container_ip>

Use the password as stratos when logging.

3. Now you can check the agent log in the /tmp directory. Log is
agent-screen.log.


Thank you!

On Tue, Feb 2, 2016 at 1:20 PM, David Hbase <da...@gmail.com> wrote:

> Hi, Pubudu
>
> Thanks for your quick response,
>
> I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
> kubernetes sample code ):
> "imageId": "stratos/php:4.1.5", can not be found in docker hub, after
> changed to "imageId": "stratos/php:4.1.4", the php container can be
> initialized, but can not be activated in Stratos Topology
>
> Checked with kubectl get pod, it's already activated.
>
> Want to know if Stratos Topology monitor the service/pod status or not?
> If not, how can be activated?
>
> Thanks
> -D
>
>
>
>
>
>
> On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com>
> wrote:
>
>> Hi David,
>>
>> Stratos 4.1.5 supports Kubernetes 1.0.3.
>>
>> This error log could encounter due to following reasons.
>>
>> 1. Make sure you have pulled the correct php docker image in kubernetes
>> nodes. (except k8 master node)
>> Docker image version is specified in the php cartridge.
>>
>> 2. If the docker image is there, try executing 'docker ps' in k8 nodes.
>> Basically you will have to find correct k8 host node for the particular
>> pod. 'docker ps' will show the reason for not starting the container.
>>
>> Thank you!
>>
>> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> Hi, Imesh
>>>
>>> Thanks for your reply. I follow the doc to setup the Stratos-Kubernetes
>>> cluster, but can not have the topology activated.
>>>
>>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>>
>>> Stratos version: is 4.1.5
>>>
>>> Do we have to upgrade kubernetes to 1.1 or later version?
>>>
>>> Is there any suggestion?
>>>
>>> Thanks
>>> -D
>>>
>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas}
>>> -  Could not start container: [application] single-cartridge-app
>>> [cartridge] php [member]
>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>> java.lang.RuntimeException: Pod status did not change to running within
>>> 60 sec: [application] single-cartridge-app [cartridge] php [member]
>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>> [pod] pod-1
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>     at
>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>     at
>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>     at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>     at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>     at java.lang.Thread.run(Thread.java:745)
>>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>>> Could not start instance: [cartridge-type] php [cluster-id]
>>> single-cartridge-app.my-php.php.domain
>>> java.lang.RuntimeException: Could not start container: [application]
>>> single-cartridge-app [cartridge] php [member]
>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>>     at
>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>>     at
>>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>>     at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>     at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>     at java.lang.Thread.run(Thread.java:745)
>>> Caused by: java.lang.RuntimeException: Pod status did not change to
>>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>>> [member]
>>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>> [pod] pod-1
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>>     at
>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>>     ... 6 more
>>>
>>>
>>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>  wrote:
>>>>
>>>>> Hi, Imesh
>>>>>
>>>>> I have realized the tenancy routing service, but still issues with
>>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>>> etc:
>>>>>
>>>>
>>>> AFAIK the documentation is updated, what were the issues you got?
>>>>
>>>>>
>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>> interrupt the curretn running services ?)
>>>>>
>>>>
>>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>>> composite application for K8S. Then another application can be created for
>>>> the required product to be run on the above K8S cluster. However dynamic
>>>> load balancing would be a problem for the pods that run on K8S because
>>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>>> autoscaled.
>>>>
>>>>
>>>>> 2. Application Topology can display the service and pods in the
>>>>> Kubernetes cluster?
>>>>>
>>>>
>>>> No, currently the topology view in the Stratos UI does not show
>>>> services or pords. However Kubernetes Cockpit UI can be used for this.
>>>>
>>>> Thanks
>>>>
>>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>> Thanks Chamila,
>>>>>
>>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1 and
>>>>> or node). But would like to know what's the Stratos auto scaling functions
>>>>> with Kubernetes?
>>>>>
>>>>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>>>>> cluster, when and how can this auto scaling policy work? ( will scaling the
>>>>> new pod or node ? )
>>>>>
>>>>> Thanks
>>>>> -D
>>>>>
>>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <ch...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>>> interrupt the curretn running services ?)
>>>>>>>
>>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>>
>>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>>> be configured to auto register with the proxy.
>>>>>>
>>>>>> If you're looking for Pod autoscaling, this is already implemented in
>>>>>> Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>>
>>>>>> 2. Application Topology can display the service and pods in the
>>>>>>> Kubernetes cluster?
>>>>>>
>>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>>> Services and Pods. These details will have to be retrieved from the
>>>>>> Kube-UI.
>>>>>>
>>>>>> [1] - http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>>> [2] -
>>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Chamila de Alwis
>>>>>> Committer and PMC Member - Apache Stratos
>>>>>> Software Engineer | WSO2 | +94772207163
>>>>>> Blog: code.chamiladealwis.com
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>
>>
>> --
>> *Pubudu Gunatilaka*
>> Committer and PMC Member - Apache Stratos
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> mobile : +94774079049 <%2B94772207163>
>>
>>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774079049 <%2B94772207163>

Re: Re. multi-tenancy capability

Posted by David Hbase <da...@gmail.com>.
Hi, Pubudu

Thanks for your quick response,

I found an issue: the docker image tag is a wrong tag ( in our 4.1.5
kubernetes sample code ):
"imageId": "stratos/php:4.1.5", can not be found in docker hub, after
changed to "imageId": "stratos/php:4.1.4", the php container can be
initialized, but can not be activated in Stratos Topology

Checked with kubectl get pod, it's already activated.

Want to know if Stratos Topology monitor the service/pod status or not?  If
not, how can be activated?

Thanks
-D





On Mon, Feb 1, 2016 at 11:25 PM, Pubudu Gunatilaka <pu...@wso2.com> wrote:

> Hi David,
>
> Stratos 4.1.5 supports Kubernetes 1.0.3.
>
> This error log could encounter due to following reasons.
>
> 1. Make sure you have pulled the correct php docker image in kubernetes
> nodes. (except k8 master node)
> Docker image version is specified in the php cartridge.
>
> 2. If the docker image is there, try executing 'docker ps' in k8 nodes.
> Basically you will have to find correct k8 host node for the particular
> pod. 'docker ps' will show the reason for not starting the container.
>
> Thank you!
>
> On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com> wrote:
>
>> Hi, Imesh
>>
>> Thanks for your reply. I follow the doc to setup the Stratos-Kubernetes
>> cluster, but can not have the topology activated.
>>
>> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>>
>> Stratos version: is 4.1.5
>>
>> Do we have to upgrade kubernetes to 1.1 or later version?
>>
>> Is there any suggestion?
>>
>> Thanks
>> -D
>>
>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas} -
>> Could not start container: [application] single-cartridge-app [cartridge]
>> php [member]
>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>> java.lang.RuntimeException: Pod status did not change to running within
>> 60 sec: [application] single-cartridge-app [cartridge] php [member]
>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>> [pod] pod-1
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>     at
>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>     at
>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>     at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>     at java.lang.Thread.run(Thread.java:745)
>> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
>> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
>> Could not start instance: [cartridge-type] php [cluster-id]
>> single-cartridge-app.my-php.php.domain
>> java.lang.RuntimeException: Could not start container: [application]
>> single-cartridge-app [cartridge] php [member]
>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>>     at
>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>>     at
>> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>>     at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>     at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.RuntimeException: Pod status did not change to
>> running within 60 sec: [application] single-cartridge-app [cartridge] php
>> [member]
>> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>> [pod] pod-1
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>>     at
>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>>     ... 6 more
>>
>>
>> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> Hi David,
>>>
>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>  wrote:
>>>
>>>> Hi, Imesh
>>>>
>>>> I have realized the tenancy routing service, but still issues with
>>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>>> etc:
>>>>
>>>
>>> AFAIK the documentation is updated, what were the issues you got?
>>>
>>>>
>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>> interrupt the curretn running services ?)
>>>>
>>>
>>> Kubernetes (K8S) nodes can be autoscaled by creating a separate
>>> composite application for K8S. Then another application can be created for
>>> the required product to be run on the above K8S cluster. However dynamic
>>> load balancing would be a problem for the pods that run on K8S because
>>> Stratos topology does not get updated with Node IPs when K8S nodes are
>>> autoscaled.
>>>
>>>
>>>> 2. Application Topology can display the service and pods in the
>>>> Kubernetes cluster?
>>>>
>>>
>>> No, currently the topology view in the Stratos UI does not show services
>>> or pords. However Kubernetes Cockpit UI can be used for this.
>>>
>>> Thanks
>>>
>>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>>> wrote:
>>>
>>>> Thanks Chamila,
>>>>
>>>> Got great answers with the Kubernetes auto scaling (via node v 1.1 and
>>>> or node). But would like to know what's the Stratos auto scaling functions
>>>> with Kubernetes?
>>>>
>>>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>>>> cluster, when and how can this auto scaling policy work? ( will scaling the
>>>> new pod or node ? )
>>>>
>>>> Thanks
>>>> -D
>>>>
>>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <ch...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>>> interrupt the curretn running services ?)
>>>>>>
>>>>> In Kubernetes, the Node Controller is the component in charge of
>>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>>> new node, simply performing the registry task for the list of nodes.
>>>>>
>>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>>> be configured to auto register with the proxy.
>>>>>
>>>>> If you're looking for Pod autoscaling, this is already implemented in
>>>>> Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>>
>>>>> 2. Application Topology can display the service and pods in the
>>>>>> Kubernetes cluster?
>>>>>
>>>>> In Stratos, the Application Topology is the view of the Composite
>>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>>> Services and Pods. These details will have to be retrieved from the
>>>>> Kube-UI.
>>>>>
>>>>> [1] - http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>>> [2] -
>>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>>
>>>>>
>>>>> Regards,
>>>>> Chamila de Alwis
>>>>> Committer and PMC Member - Apache Stratos
>>>>> Software Engineer | WSO2 | +94772207163
>>>>> Blog: code.chamiladealwis.com
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>
>
> --
> *Pubudu Gunatilaka*
> Committer and PMC Member - Apache Stratos
> Software Engineer
> WSO2, Inc.: http://wso2.com
> mobile : +94774079049 <%2B94772207163>
>
>

Re: Re. multi-tenancy capability

Posted by Pubudu Gunatilaka <pu...@wso2.com>.
Hi David,

Stratos 4.1.5 supports Kubernetes 1.0.3.

This error log could encounter due to following reasons.

1. Make sure you have pulled the correct php docker image in kubernetes
nodes. (except k8 master node)
Docker image version is specified in the php cartridge.

2. If the docker image is there, try executing 'docker ps' in k8 nodes.
Basically you will have to find correct k8 host node for the particular
pod. 'docker ps' will show the reason for not starting the container.

Thank you!

On Tue, Feb 2, 2016 at 12:31 PM, David Hbase <da...@gmail.com> wrote:

> Hi, Imesh
>
> Thanks for your reply. I follow the doc to setup the Stratos-Kubernetes
> cluster, but can not have the topology activated.
>
> The kubernetes version is: kubernetes-1.0.3-0.2.gitb9a88a7.el7.x86_64
>
> Stratos version: is 4.1.5
>
> Do we have to upgrade kubernetes to 1.1 or later version?
>
> Is there any suggestion?
>
> Thanks
> -D
>
> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas} -
> Could not start container: [application] single-cartridge-app [cartridge]
> php [member]
> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
> java.lang.RuntimeException: Pod status did not change to running within 60
> sec: [application] single-cartridge-app [cartridge] php [member]
> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
> [pod] pod-1
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>     at
> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>     at
> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
> TID: [0] [STRATOS] [2016-01-28 01:14:47,976] ERROR
> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} -
> Could not start instance: [cartridge-type] php [cluster-id]
> single-cartridge-app.my-php.php.domain
> java.lang.RuntimeException: Could not start container: [application]
> single-cartridge-app [cartridge] php [member]
> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:248)
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startInstance(KubernetesIaas.java:127)
>     at
> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.startInstance(InstanceCreator.java:99)
>     at
> org.apache.stratos.cloud.controller.services.impl.InstanceCreator.run(InstanceCreator.java:67)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.RuntimeException: Pod status did not change to
> running within 60 sec: [application] single-cartridge-app [cartridge] php
> [member]
> single-cartridge-app.my-php.php.domain2393142c-70e0-4c51-8ff0-bcbdd234c1fc
> [pod] pod-1
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.waitForPodToBeActivated(KubernetesIaas.java:347)
>     at
> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.startContainer(KubernetesIaas.java:234)
>     ... 6 more
>
>
> On Wed, Jan 27, 2016 at 1:44 AM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Hi David,
>>
>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>  wrote:
>>
>>> Hi, Imesh
>>>
>>> I have realized the tenancy routing service, but still issues with
>>> Kubernetes. Would like to know if there any updated kubernetes document?
>>> etc:
>>>
>>
>> AFAIK the documentation is updated, what were the issues you got?
>>
>>>
>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>> interrupt the curretn running services ?)
>>>
>>
>> Kubernetes (K8S) nodes can be autoscaled by creating a separate composite
>> application for K8S. Then another application can be created for the
>> required product to be run on the above K8S cluster. However dynamic load
>> balancing would be a problem for the pods that run on K8S because Stratos
>> topology does not get updated with Node IPs when K8S nodes are autoscaled.
>>
>>
>>> 2. Application Topology can display the service and pods in the
>>> Kubernetes cluster?
>>>
>>
>> No, currently the topology view in the Stratos UI does not show services
>> or pords. However Kubernetes Cockpit UI can be used for this.
>>
>> Thanks
>>
>> On Wed, Jan 27, 2016 at 2:40 PM, David Hbase <da...@gmail.com>
>> wrote:
>>
>>> Thanks Chamila,
>>>
>>> Got great answers with the Kubernetes auto scaling (via node v 1.1 and
>>> or node). But would like to know what's the Stratos auto scaling functions
>>> with Kubernetes?
>>>
>>> etc: in Stratos we setup the auto scaling policy for the kubernetes
>>> cluster, when and how can this auto scaling policy work? ( will scaling the
>>> new pod or node ? )
>>>
>>> Thanks
>>> -D
>>>
>>> On Tue, Jan 26, 2016 at 11:16 AM, Chamila De Alwis <ch...@wso2.com>
>>> wrote:
>>>
>>>> Hi David,
>>>>
>>>> On Tue, Jan 26, 2016 at 8:28 PM, David Hbase <da...@gmail.com>
>>>> wrote:
>>>>
>>>>>
>>>>> 1. Auto scaling with Kubernetes? ( Dynamic add the minions without
>>>>> interrupt the curretn running services ?)
>>>>>
>>>> In Kubernetes, the Node Controller is the component in charge of
>>>> registration and revocation of Nodes (minions) in a cluster. However as the
>>>> Kubernetes documentation states [1], it doesn't automatically provision a
>>>> new node, simply performing the registry task for the list of nodes.
>>>>
>>>> Therefore, any autoscaling of Nodes would have to be done at a
>>>> different layer, based on metrics like CPU usage. CloudWatch for EC2 or
>>>> Heat for OpenStack are few examples of achieving this. Nodes will have to
>>>> be configured to auto register with the proxy.
>>>>
>>>> If you're looking for Pod autoscaling, this is already implemented in
>>>> Kubernetes 1.1 [2]. Autoscaling is based on CPU usage.
>>>>
>>>> 2. Application Topology can display the service and pods in the
>>>>> Kubernetes cluster?
>>>>
>>>> In Stratos, the Application Topology is the view of the Composite
>>>> Application deployment. It doesn't show the IaaS specific details such as
>>>> Services and Pods. These details will have to be retrieved from the
>>>> Kube-UI.
>>>>
>>>> [1] - http://kubernetes.io/v1.1/docs/admin/node.html#node-controller
>>>> [2] -
>>>> http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html
>>>>
>>>>
>>>> Regards,
>>>> Chamila de Alwis
>>>> Committer and PMC Member - Apache Stratos
>>>> Software Engineer | WSO2 | +94772207163
>>>> Blog: code.chamiladealwis.com
>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>


-- 
*Pubudu Gunatilaka*
Committer and PMC Member - Apache Stratos
Software Engineer
WSO2, Inc.: http://wso2.com
mobile : +94774079049 <%2B94772207163>