Private PaaS Pub-Sub Event Definitions
In WSO2 Private PaaS pub/sub communication, different components, will publish different events, to different topics in the Message Bus and various components will subscribe to specific topics, and listen to selective events that are published to those topics. The following table illustrates the pub/sub communication that takes place in WSO2 Private PaaS; while, explaining as to which component publishes a specific event and in-turn which components subscribe to the topics to listen to the published event.
Event | Published By | Topic | Subscribed By | Description | Values Sent |
---|---|---|---|---|---|
Service Created | Cloud Controller | Topology | - | Published when a new cartridge has been successfully deployed. | Service name, service type, port mapping information and properties |
Cluster Created | Cloud Controller | Topology | Auto-scaler | Published after the Cloud Controller has created a payload for the subscription. | Service name, cluster ID and all the information related to the created cluster (e.g., cluster ID, policies etc.) |
Instance Spawned | Cloud Controller | Topology | - | Published after Cloud Controller spawns an instance in the specified region using jclouds and pass the payload to that instance. In the future, the "Instance Spawned" event will be renamed to "Member Created". | Service name, cluster ID, network partition ID, partition ID, member ID, Load Balancer cluster ID, member public IP and member private IP |
Instance Started | Cartridge Agent | Instance Status | Cloud Controller, Stratos Manager | Published after Cartridge Agent has started up and subscribed to Instance Notifier topic. | Service name, cluster ID, Network partition ID, Partition ID and Member ID |
Member Started | Cloud Controller | Topology | Cartridge Agent | Published to indicate that the cartridge has started up successfully. | Service name, cluster ID, network partition ID, partition ID, member ID, status and properties |
Artifact Update | ADC in Stratos Manager | Instance Notifier | Cartridge Agent | Published to all the clusters created for the respective subscription and will contain the encrypted user credentials and repository information using the previously generated "subscription key". | Cluster ID, status, repository username, repo passowrd, repo URL, tenant ID |
Instance Activated | Cartridge Agent | Instance Status | Cloud Controller | Published after a cartridge instance is spawned and all the ports get active. | Service name clsuter ID,network parttion ID, partition ID and member ID |
Member Activated | Cloud Controller | Topology | Load Balancer, Cartridge Agent | Published to indicate that the cartridge is ready to be used. | Service name, cluster ID, network partition ID, partition ID, member ID, port mapping and member IP |
Average Load Average Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the average of the load average pertaining to the cluster | Network partition ID, cluster ID and average of the load average pertaining to the cluster |
Average Memory Consumption Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the average of the memory consumption pertaining to the cluster. | Network partition ID, cluster ID and average of the memory consumption pertaining to the cluster |
Average Requests In-flight Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the average of the requests pertaining to the cluster. | Network partition ID, cluster ID and average of the requests in-flight pertaining to the cluster |
Gradient of Load Average Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the gradient of the load average pertaining to the cluster. | Network partition ID, cluster ID and gradient of the load average pertaining to the cluster |
Gradient of Memory Consumption Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the gradient of the memory consumption pertaining to the cluster. | Network partition ID, cluster ID and gradient of the memory consumption pertaining to the cluster |
Gradient of Requests In-flight Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the gradient of the requests in-flight pertaining to the cluster. | Network partition ID, cluster ID and gradient of the requests in-flight pertaining to the cluster |
Second Derivative of Load Average Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the second derivative of the load average pertaining to the cluster. | Network partition ID, cluster ID and second derivative of the load average pertaining to the cluster |
Second Derivative of Memory Consumption Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the second derivative of the memory consumption pertaining to the cluster. | Network partition ID, cluster ID, second derivative of the memory consumption pertaining to the cluster |
Second Derivative of Requests In-flight Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the second derivative of the requests in-flight pertaining to the cluster. | Network partition ID, cluster ID and second derivative of the requests in-flight pertaining to the cluster |
Member fault event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to notify potential faulty members. | Cluster ID, member ID and partition ID |
Member Average Load Average Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the average of the load average pertaining to a member. | Member ID and average of the load average pertaining to a member |
Member Average Memory Consumption Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the average of the memory consumption pertaining to a member. | Member ID and average of the memory consumption pertaining to a member |
Member Gradient of Load Average Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the gradient of the load average pertaining to a member. | Member ID and gradient of the load average pertaining to a member |
Member Gradient of Memory Consumption Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the gradient of the memory consumption pertaining to a member. | Member ID and gradient of the memory consumption pertaining to a member |
Member Second Derivative of Load Average Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the second derivative of the load average pertaining to a member. | Member ID and second derivative of the load average pertaining to a member |
Member Second Derivative of Memory Consumption Event | Real-time event processing engine (CEP) | Summarized Health Stats | Auto-scaler | Published to send the second derivative of the memory consumption pertaining to a member. | Member ID and second derivative of the memory consumption pertaining to a member |
Instance Cleanup Member | ADC in Stratos Manager | Instance Notifier | Cartridge Agent | Published to shut down a member gracefully. | Member ID |
Instance Cleanup Cluster | ADC in Stratos Manager | Instance Notifier | Cartridge Agent | Published to shut down the whole cluster gracefully. | Cluster ID |
Instance Maintance Mode | Cartridge Agent | Instance Status | Stratos Manager | Published to indicate that the instance is in maintenance mode. When the instance is in the maintainance mode, Load Balancer will not send any requestes to this instance. | Service name, cluster ID, network partition ID, partition ID and member ID |
Member Maintenance Mode | Cloud Controller | Topology | Load Balancer, Stratos Manager, Auto-scaler | Published to indicate that the instance is in maintenance mode. When the instance is in the maintainance mode, Load Balancer will not send any requestes to this instance. | Service name, cluster ID, network partition ID, partition ID, member ID, status and properties |
Instance Ready to Shut down | Cartridge Agent | Instance Status | Stratos Manager | Published to indicate that the instane is ready to gracefully shut down. | Service name, cluster ID, network partition ID, partition ID and member ID |
Member Ready to Shutdown | Cloud Controller | Topology | Load Balancer, Stratos Manager, Auto-scaler | Published to indicate that the instane is ready to gracefully shut down. | Service name, cluster ID, network partition ID, partition ID, member ID, status and properties |
Member Terminated | Cloud Controller | Topology | Load Balancer, Stratos Manager, Auto-scaler, Cartridge Agent | Published in the following instances: - When a scale down decision is taken by Auto-scaler. - When a member is not responsive, which means that when health statistics are not received from a member. | Service name, cluster ID, network partition ID, partition ID and member ID |
Cluster Removed | Cloud Controller | Topology | Load Balancer, Auto-scaler, Stratos Manager | Published when a user unsubscribes from a service. | Service name, cluster ID, deployment policy and flag for Load Balancer cluster |
Service Removed | Cloud Controller | Topology | Load Balancer, Stratos Manager, Auto-scaler | Published when a cartridge is undeployed. | Service name |
Complete Topology Event | Cloud Controller | Topology | Load Balancer, Stratos Manager, Auto-scaler, Cartridge Agent | Used to initialize the current state of the topology, which is used in each product, before receiving topology events. Periodic event every minute. | Details of the Topology that include a collection of services. Each service contains a collection of clusters and each cluster contain a collection of members. |
Complete Tenant Event | Stratos Manager | Tenant | Load Balancer, Cartridge Agent | Published periodically with all the available tenants, so that it will be a starting point for subscribers to initialize the list of tenants before receiving other tenant events. | List of tenants |
Tenant Created Event | Stratos Manager | Tenant | Load Balancer | Published when a new tenant is created. | Tenant details |
Tenant Subscribed Event | Stratos Manager | Tenant | Load Balancer | Published when a tenant has subcribed to a service | Tenant ID, service name, cluster IDs and domains |
Tenant Updated Event | Stratos Manager | Tenant | Load Balancer | Published when the user updates its tenant domain. | Tenant ID and tenant domain |
Tenant Unscubcribed Event | Stratos Manager | Tenant | Load Balancer | Published when a tenant unsubcribes from a service. | Tenant ID, service name and cluster IDs |
Tenant Removed Event | Stratos Manager | Tenant | Load Balancer | Published when a tenant is removed by the super admin. | Tenant ID |
Subscription Domains Added Event | Stratos Manager | Tenant | Load Balancer, Cartridge Agent | Published when domains are added to a service subscription. | Tenant ID, service name, cluster IDs and domains |
Subscription Domains Removed Event | Stratos Manager | Tenant | Load Balancer, Cartridge Agent | Published when domains are removed from a service subscription. | Tenant ID, service name, cluster IDs and domains |
Ping Event | Message Broker | Ping | Any component that subscribes to any MB topic | Published periodically (every 1 second) to to make sure that Message Broker is active.
| None |