Cloud Inventory Manager – Provide an extensible service to Nova to include Cloud inventory for OpenStack cloud resources and infrastructure. Cloud Inventory Manager provides insights into cloud resource system information and takes advantage of underlying virtualization manager (e.g. libvirt) resource hierarchy such as Cluster, Resource pool, Storage, Network and Server pools. – End users and system administrators can use the resource inventory to build a catalog of available Clusters (can be Mapped to Host-Aggregates?) , Resource Pools, Storage pools, Network pools and Server pools. • Resource details provide resources discovered via virtualization managers, e.g. libvirt, vCenter, SCVMM • Resource information is persisted in the database. Details as needed are obtained via dynamic REST API query • Discovers and monitors resource changes (add/update/delete) caused by OpenStack or underlying resource managers • Explicitly models resources that can be allocated to elements of a Service, these Resources are then organized into Resource pools – Further, this inventory manager lays the groundwork for an improved scheduler and resource allocation implementation that will enable multi-tenant public and private cloud resource management.
Cloud Inventory Manager – Resource Model
Cloud Inventory Manager - Use Cases – As a Cloud Administrator, I need support to build a catalog of available Cloud resources. – As a Cloud Administrator, I need to support Cloud Resource pool construction and maintenance based on capacities, quotas, and resource groups. – As a Cloud Administrator, I need to support viewing of resource inventory, resource consumption, utilization history and trends. – As a Cloud Administrator, I need to support importing of existing servers not yet managed by OpenStack. – As a Cloud User or Administrator, I need cloud resource metadata to support provisioning, optimization, and ongoing management of infrastructure services. – As a Cloud Administrator, I need to support analysis, manual modification, or autonomic modification of infrastructure services to improve their performance, resource usage, resource consumption, etc.
Alerts and Notification – Provide an extensible service to al ow Nova to include Cloud inventory monitoring, alerts and notifications for OpenStack cloud resources and infrastructure. These changes could be derived from inventory changes, threshold policy violations, or heuristic trend-based analysis. – End users and cloud administrators can use these alerts and notifications to collect and track metrics and gain insight in order to keep their applications and businesses running smoothly. This service for monitoring operational health of the cloud resources can be used to provide the data for resources such as servers, compute nodes (hosts), Cel s, etc. • Add resource monitor alert and notification driver based on RabbitMQ • Can be integrated with CloudWatch of Heat OpenStack project for adding and monitoring custom metrics • Conforms to existing notification specification see http://wiki.openstack.org/NotificationSystem) • Support topic-based subscription − Notification subscriptions supporting wild-card based filtering − Subscriptions based on event type, resource type, or resource instance ID − Subscriptions limited by role and tenant access • This creates a general mechanism that should be used in other services in addition to Nova to support entire OpenStack ecosystem. – Alerting and notifications, part of the health and monitor service architecture, support a plug-in architecture similar to other OpenStack component implementations. The design supports multiple implementations to be plugged using the driver model that is being followed in OpenStack through configuration settings. It is extendable to support multiple Hypervisor types (example: ESX, Hyper-V, KVM, etc.). 8
Alerts and Notification- Use Cases – As a Cloud Administrator or User, I need to receive notifications for cloud resources life cycle events in a timely manner so that I can respond to emergencies. – As a Cloud Administrator or User, I need to support ongoing health status and notifications for cloud resources that I'm managing. – As a Cloud Administrator or User, I need to support, analyze, manually modify, or autonomically modify application resources to improve their performance, resource usage, resource consumption, etc. – As a Cloud Administrator or User, I want to configure policies to automatically address notifications within my cloud infrastructure.
Utilization Data – Currently Nova does not provide utilization data (CPU, memory, network and storage) for server instances and VM Hosts over a time period or interval. Augmenting the current list of server and server details APIs to include utilization data would facilitate client understanding of server performance characteristics. In addition, augment the proposed VM Host APIs (see "Additional Cloud Inventory Manager blueprint at https://blueprints.launchpad.net/nova/+spec/cloud-inventory-manager/) to reflect VM Host utilization data. – Providing utilization data will support application monitoring, server metric gathering, server performance analysis and histogramming, resource usage analysis, threshold- based notifications, and administrator data center resource planning. Utilization data can help design optimal solutions to achieve greater data center performance. Further, adding utilization data enriches the nova APIs and allows advanced users to collect metrics through nova vs. needing to gather information directly from a variety of other sources. – Can be integrated with Ceilometer OpenStack project providing the data for charge back. Instead of running multiple pollsters Healthnmon utilization data component can provide the chargeback data to Ceilometer for OpenStack instances and computes.
Utilization data - Use Cases – As a Cloud Administrator or Systems Integrator, I want to support timely updates of usage data and disperse them to various customers (both internal and external) for billing, decision support, and analytic purposes. – As a Cloud Administrator, I want to support improved scheduling to make decisions for provisioning new instances to a Cluster or Resource pool based on their respective usage. – As a Cloud Administrator, I want to support capacity planning. – As a Cloud Administrator, I want to receive threshold-based notifications derived from utilization data. See also Resource Monitor Alerts and Notifications. – As an Cloud User, I want to see a graph of my server's CPU utilization over the last hour.