stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Akila Ravihansa Perera <raviha...@wso2.com>
Subject Re: Releasing Stratos 4.1.3
Date Tue, 22 Sep 2015 07:55:04 GMT
Hi,

Kuberntes access URL fix was not working as expected and it had to be
reverted. I've done another release build and pushed release artifacts to
staging repo at [1].

Please take few mins to verify the release.

[1] https://repository.apache.org/content/repositories/orgapachestratos-1059

Thanks.

On Mon, Sep 21, 2015 at 11:54 PM, Akila Ravihansa Perera <ravihansa@wso2.com
> wrote:

> Hi,
>
> I've pushed artifacts to staging repo at [1] with latest fixes. Please
> take few mins to verify the release.
>
> [1]
> https://repository.apache.org/content/repositories/orgapachestratos-1058
>
> Thanks.
>
> On Mon, Sep 21, 2015 at 11:36 AM, Gayan Gunarathne <gayang@wso2.com>
> wrote:
>
>> Based on the offline chat with Imesh,Akila, Reka , we decided to maintain
>> the  map of KubernetesService in a ClusterContext against the cluster
>> instance id.
>>
>> Then we can pick the Kubernetes services based on the cluster instance id.
>>
>> Thanks,
>> Gayan
>>
>> On Mon, Sep 21, 2015 at 10:42 AM, Gayan Gunarathne <gayang@wso2.com>
>> wrote:
>>
>>> We are maintaining the accessURL in the cluster. In the multi-region
>>> deployment it is same cluster.IMO we need to maintain the accessURL in
>>> Kubernetes Service.
>>>
>>> Thanks,
>>> Gayan
>>>
>>> On Mon, Sep 21, 2015 at 1:07 AM, Imesh Gunaratne <imesh@apache.org>
>>> wrote:
>>>
>>>> I found another problem when running on multiple network partitions;
>>>> access URLs shown in the topology view are the same for both application
>>>> instances:
>>>>
>>>>
>>>>
>>>> ​
>>>> ​
>>>>
>>>>
>>>>
>>>> On Mon, Sep 21, 2015 at 1:04 AM, Imesh Gunaratne <imesh@apache.org>
>>>> wrote:
>>>>
>>>>> Labels are now shown as below:
>>>>>
>>>>>
>>>>> ​
>>>>>
>>>>> ​
>>>>>
>>>>> On Mon, Sep 21, 2015 at 12:57 AM, Gayan Gunarathne <gayang@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Seems there is a  commit missing when merging the changes.
>>>>>>
>>>>>> Setting the setKubernetesClusterId when creating the Kubenetes service
>>>>>>
>>>>>> Now I will add that commit.
>>>>>>
>>>>>> Thanks,
>>>>>> Gayan
>>>>>>
>>>>>> On Mon, Sep 21, 2015 at 12:35 AM, Akila Ravihansa Perera <
>>>>>> ravihansa@wso2.com> wrote:
>>>>>>
>>>>>>> Great!
>>>>>>>
>>>>>>> I think I found the problem with K8s services not getting cleaned
>>>>>>> up. I see a NPE at removeKubernetesServices(KubernetesIaas.java:1025)
when
>>>>>>> undeploying an application.
>>>>>>>
>>>>>>> [2015-09-21 00:31:16,750] ERROR
>>>>>>> {org.apache.stratos.messaging.message.receiver.cluster.status.ClusterStatusEventMessageDelegator}
>>>>>>> -  Failed to retrieve cluster status event message
>>>>>>> java.lang.NullPointerException
>>>>>>> at
>>>>>>> org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.removeKubernetesServices(KubernetesIaas.java:1025)
>>>>>>> at
>>>>>>> org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder.handleClusterTerminatingEvent(TopologyBuilder.java:1068)
>>>>>>> at
>>>>>>> org.apache.stratos.cloud.controller.messaging.receiver.cluster.status.ClusterStatusTopicReceiver$5.onEvent(ClusterStatusTopicReceiver.java:86)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>>>>>>> at java.util.Observable.notifyObservers(Observable.java:159)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.processor.cluster.status.ClusterStatusClusterTerminatingMessageProcessor.process(ClusterStatusClusterTerminatingMessageProcessor.java:48)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.processor.cluster.status.ClusterStatusClusterTerminatedMessageProcessor.process(ClusterStatusClusterTerminatedMessageProcessor.java:55)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.processor.cluster.status.ClusterStatusClusterInactivateMessageProcessor.process(ClusterStatusClusterInactivateMessageProcessor.java:52)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.processor.cluster.status.ClusterStatusClusterActivatedMessageProcessor.process(ClusterStatusClusterActivatedMessageProcessor.java:52)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.processor.cluster.status.ClusterStatusClusterResetMessageProcessor.process(ClusterStatusClusterResetMessageProcessor.java:52)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.processor.MessageProcessorChain.process(MessageProcessorChain.java:61)
>>>>>>> at
>>>>>>> org.apache.stratos.messaging.message.receiver.cluster.status.ClusterStatusEventMessageDelegator.run(ClusterStatusEventMessageDelegator.java:71)
>>>>>>> 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)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Sep 21, 2015 at 12:30 AM, Imesh Gunaratne <imesh@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I have now refined this logic to trim all labels to 62 characters
>>>>>>>> and added following as labels:
>>>>>>>>
>>>>>>>> Pod: Application-ID, Cluster-Instance-ID, Member-ID
>>>>>>>> Service: Application-ID, Cluster-ID, Port-Name
>>>>>>>>
>>>>>>>> Now I'm seeing a different problem. When an application is
>>>>>>>> un-deployed, services do not get deleted. We need to fix
this.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> On Mon, Sep 21, 2015 at 12:12 AM, Gayan Gunarathne <gayang@wso2.com
>>>>>>>> > wrote:
>>>>>>>>
>>>>>>>>> Hi Akila,
>>>>>>>>>
>>>>>>>>> On Sun, Sep 20, 2015 at 11:30 PM, Akila Ravihansa Perera
<
>>>>>>>>> ravihansa@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Gayan,
>>>>>>>>>>
>>>>>>>>>> +1 for properly identifying attributes to be used
for labels and
>>>>>>>>>> annotations. As I mentioned earlier I tried to use
them as labels but ran
>>>>>>>>>> into length limitation issues.
>>>>>>>>>>
>>>>>>>>>> memberId and clusterId cannot be used directly since
they are
>>>>>>>>>> generated as follows;
>>>>>>>>>>
>>>>>>>>>> memberId = clusterId + UUID
>>>>>>>>>> clusterId = applicationId + "." + alias + "." + cartridgeType
+
>>>>>>>>>> ".domain"
>>>>>>>>>>
>>>>>>>>>> As you can see those can go be beyond 63 characters
since we
>>>>>>>>>> don't have a limitation for applicationId length.
I'm -1 on imposing a
>>>>>>>>>> character limitation to applicationId only to get
away with Kubernetes
>>>>>>>>>> restriction. What if some other provider comes out
with a different
>>>>>>>>>> limitation? It should be restricted but only for
good reasons concerning to
>>>>>>>>>> Stratos.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Right. Let's say we are not going to restrict the application
id
>>>>>>>>> length. So in that case we won't be able to use the application
id as a pod
>>>>>>>>> label.
>>>>>>>>> IMO we used application id to identify the application.
As it is a
>>>>>>>>> identifier I think it is OK to have a restriction.I think
using a
>>>>>>>>> description for the application id is not practical.Also
in most of the use
>>>>>>>>> cases identifiers comes up with some length restrictions.If
we don't have a
>>>>>>>>> restriction on application id , users can enter description
sort of a
>>>>>>>>> application id.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I had an offline chat with Imesh and we were discussing
about
>>>>>>>>>> implementing a sequence number based approach for
generating clusterId and
>>>>>>>>>> memberId without using UUIDs. Any thoughts?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  I am also +1 for this thinking. So how we are going
to generate
>>>>>>>>> the cluster id? I think we need to generate the meaningful
ids.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>> Gayan
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sun, Sep 20, 2015 at 10:55 PM, Gayan Gunarathne
<
>>>>>>>>>> gayang@wso2.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> As per Kubernetes definition I think we are using
labels and
>>>>>>>>>>> annotation in a wrong way.As annotations are
arbitrary non-identifying
>>>>>>>>>>> metadata , they might not shown them in their
UI/CLI
>>>>>>>>>>>
>>>>>>>>>>> I think first we need to recognize what are the
identifiers for
>>>>>>>>>>> the pod.In think we may need to use member id
, application id
>>>>>>>>>>>
>>>>>>>>>>> Also what is the ration behind of using the md5Hex
of the member
>>>>>>>>>>> id as a identifier. IMO we can directly use the
member id. As member id is
>>>>>>>>>>> UUID it won't be more than 63 characters.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Gayan
>>>>>>>>>>>
>>>>>>>>>>> On Sun, Sep 20, 2015 at 10:13 PM, Imesh Gunaratne
<
>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi Akila,
>>>>>>>>>>>>
>>>>>>>>>>>> Right, I get your point on the length limitation,
but this is
>>>>>>>>>>>> how Kubernetes has described Labels and Annotations:
>>>>>>>>>>>>
>>>>>>>>>>>> *We'll eventually index and reverse-index
labels for efficient
>>>>>>>>>>>> queries and watches, use them to sort and
group in UIs and CLIs, etc. We
>>>>>>>>>>>> don't want to pollute labels with non-identifying,
especially large and/or
>>>>>>>>>>>> structured, data. Non-identifying information
should be recorded using
>>>>>>>>>>>> annotations.*
>>>>>>>>>>>>
>>>>>>>>>>>> The idea is to use labels for all identifiers.
>>>>>>>>>>>>
>>>>>>>>>>>> http://kubernetes.io/v1.0/docs/user-guide/labels.html
>>>>>>>>>>>>
>>>>>>>>>>>> On Sun, Sep 20, 2015 at 10:05 PM, Akila Ravihansa
Perera <
>>>>>>>>>>>> ravihansa@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Imesh,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yes, I tried adding them as labels but
ran into a problem
>>>>>>>>>>>>> since label length cannot be greater
than 63 characters. I'm not sure why
>>>>>>>>>>>>> we don't see annotations in the UI for
pods created. But I can see the
>>>>>>>>>>>>> annotations added for services. Might
have to raise this in K8s mailing
>>>>>>>>>>>>> list.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, Sep 20, 2015 at 10:00 PM, Imesh
Gunaratne <
>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Akila,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> We do not query pod labels, its handled
by the Kubernetes
>>>>>>>>>>>>>> service selector, at the moment this
is called "name". I have now fixed
>>>>>>>>>>>>>> this issue locally, will push in
few minutes.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In addition I think it would be better
to use labels instead
>>>>>>>>>>>>>> of annotations because they are not
visible in the UI:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sun, Sep 20, 2015 at 9:52 PM,
Akila Ravihansa Perera <
>>>>>>>>>>>>>> ravihansa@wso2.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Imesh,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Where do we query those pod labels?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm in the process of moving
label names to constants. I can
>>>>>>>>>>>>>>> apply the same in all the places.
I think better to change that label to
>>>>>>>>>>>>>>> md5Hex-memberId to avoid any
confusion when troubleshooting issues. One
>>>>>>>>>>>>>>> might mistakenly take that as
the actual memberId when it is not the case.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Sun, Sep 20, 2015 at 9:40
PM, Imesh Gunaratne <
>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm seeing a problem, we
have removed the "name" label in
>>>>>>>>>>>>>>>> the pod and added a new label
called "md5Hex-memberId". Due to this load
>>>>>>>>>>>>>>>> balancing would not work:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Map<String, String>
podLabels = new HashMap<>();
>>>>>>>>>>>>>>>> podLabels.put("md5Hex-memberId",
DigestUtils.md5Hex(memberContext.getMemberId()));
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Map<String, String>
podAnnotations = new HashMap<>();
>>>>>>>>>>>>>>>> podAnnotations.put("memberId",
memberContext.getMemberId());
>>>>>>>>>>>>>>>> podAnnotations.put("cartridgeType",
memberContext.getCartridgeType());
>>>>>>>>>>>>>>>> podAnnotations.put("applicationId",
memberContext.getApplicationId());
>>>>>>>>>>>>>>>> podAnnotations.put("clusterId",
memberContext.getClusterId());
>>>>>>>>>>>>>>>> podAnnotations.put("clusterInstanceId",
memberContext.getClusterInstanceId());
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> kubernetesApi.createPod(podId,
podName, podLabels, podAnnotations, dockerImage, cpu, memory, ports,
>>>>>>>>>>>>>>>>         environmentVariables);
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Sun, Sep 20, 2015 at 2:51
PM, Akila Ravihansa Perera <
>>>>>>>>>>>>>>>> ravihansa@wso2.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I've pushed release artifacts
to staging repo at [1].
>>>>>>>>>>>>>>>>> Please take few mins
to verify the release. Also I've pushed
>>>>>>>>>>>>>>>>> cartridge-base, php and
tomcat Docker images with 4.1.3 artifacts to
>>>>>>>>>>>>>>>>> DockerHub.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [1]
>>>>>>>>>>>>>>>>> https://repository.apache.org/content/repositories/orgapachestratos-1057/
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Akila Ravihansa Perera
>>>>>>>>>>>>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>>>>> Committer & PMC Member,
Apache Stratos
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Akila Ravihansa Perera
>>>>>>>>>>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>>>> Committer & PMC Member, Apache
Stratos
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Akila Ravihansa Perera
>>>>>>>>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>>>>>>>>
>>>>>>>>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>
>>>>>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> Gayan Gunarathne
>>>>>>>>>>> Technical Lead, WSO2 Inc. (http://wso2.com)
>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>> email : gayang@wso2.com  | mobile : +94 775030545
>>>>>>>>>>> <%2B94%20766819985>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Akila Ravihansa Perera
>>>>>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>>>>>
>>>>>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> Gayan Gunarathne
>>>>>>>>> Technical Lead, WSO2 Inc. (http://wso2.com)
>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>> email : gayang@wso2.com  | mobile : +94 775030545
>>>>>>>>> <%2B94%20766819985>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Imesh Gunaratne
>>>>>>>>
>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Akila Ravihansa Perera
>>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>>
>>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Gayan Gunarathne
>>>>>> Technical Lead, WSO2 Inc. (http://wso2.com)
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>> email : gayang@wso2.com  | mobile : +94 775030545 <%2B94%20766819985>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Senior Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Gayan Gunarathne
>>> Technical Lead, WSO2 Inc. (http://wso2.com)
>>> Committer & PMC Member, Apache Stratos
>>> email : gayang@wso2.com  | mobile : +94 775030545 <%2B94%20766819985>
>>>
>>>
>>>
>>
>>
>>
>> --
>>
>> Gayan Gunarathne
>> Technical Lead, WSO2 Inc. (http://wso2.com)
>> Committer & PMC Member, Apache Stratos
>> email : gayang@wso2.com  | mobile : +94 775030545 <%2B94%20766819985>
>>
>>
>>
>
>
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com

Mime
View raw message