Hi Devs,

Sometimes back, we had different cluster monitors for VMs vs Kubernetes and
Service vs LB clusters. So we kept different cluster monitoring intervals
and member expiry timeouts. We made these configurable via autoscaler.xml
like below;

            <member>
                <vm>
                    <!-- this is the maximum time(ms) a vm member can be in
pending member state -->

<pendingMemberExpiryTimeout>900000</pendingMemberExpiryTimeout>
                    <!-- this is the maximum time(ms) a vm member can be in
obsoleted member state -->

<obsoletedMemberExpiryTimeout>86400000</obsoletedMemberExpiryTimeout>
                </vm>
                <container>
                    <!-- this is the maximum time(ms) a container member
can be in pending member state -->

<pendingMemberExpiryTimeout>900000</pendingMemberExpiryTimeout>
                    <!-- this is the maximum time(ms) a container member
can be in obsoleted member state -->

<obsoletedMemberExpiryTimeout>3600000</obsoletedMemberExpiryTimeout>
                </container>
            </member>
            <!-- cluster monitoring interval -->
            <monitorInterval>
                <vm>
                     <!-- VM Service cluster monitoring interval(ms) -->
                     <service>90000</service>
                     <!-- VM LB cluster monitoring interval(ms) -->
                     <lb>90000</lb>
                </vm>
                <kubernetes>
                     <!-- Kubernetes Service cluster monitoring
interval(ms) -->
                     <service>60000</service>
                </kubernetes>
            </monitorInterval>


Since we are having a single cluster monitor now, most of these parameters
are not used and should be removed from autoscaler.xml. And there are no
difference between VM, Kubernetes, Service and LB clusters. Hence, we
should change it to following format.

            <member>
                    <!-- this is the maximum time(ms) a member can be in
pending member state -->

<pendingMemberExpiryTimeout>900000</pendingMemberExpiryTimeout>
                    <!-- this is the maximum time(ms) a member can be in
obsoleted member state -->

<obsoletedMemberExpiryTimeout>86400000</obsoletedMemberExpiryTimeout>
                    <!-- this is the maximum time(ms) a member can be in
pending termination member state -->
                    <pendingTerminationMemberExpiryTimeout>1800000</
pendingTerminationMemberExpiryTimeout>
           </member>

           <cluster>
                    <!-- cluster monitoring interval (ms) -->
                    <monitorInterval>90000</monitorInterval>
            </cluster>

We should also update the code-base to read the correct parameters
accordingly.

wdyt?

I will do the necessary changes.

Thanks.

-- 
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
Software Engineer, WSO2

Mobile : +94777568639
Blog : rajkumarr.com

Reply via email to