User Tools

Site Tools


copper:copper_work_items:policy_architecture

This is an old revision of the document!


Policy Architecture

This page will capture issues to be addressed in the overall architecture of OPNFV components.

Definitions

Term Meaning
State Information that can be used to convey or imply the state of something, e.g. an application, resource, entity, etc. This can include data held inside OPNFV components, "events" that have occurred (e.g. "policy violation"), etc.
Event An item of significance to the policy engine, for which the engine has become aware through some method of discovery e.g. polling or notification.

Architectural Concept

Architectural Aspects

  • Policies are reflected in two high-level goals
    • Ensure resource requirements of VNFs are applied per VNF designer intent
    • Ensure that generic policies are not violated, e.g. networks connected to VMs must either be public or owned by the VM owner
  • Policies are distributed through two main means
    • As part of VNF packages, customized if needed by Service Design tools, expressing intent of the VNF designer and service provider, and possibly customized or supplemented by service orchestrators per the intent of specific tenants
    • As generic policies provisioned into VIMs (SDN controllers and cloud orchestrators), expressing intent of the service provider re what states/events need to be policy-governed independently of specific VNFs
  • Policies are applied locally and in closed-loop systems per the capabilities of the local policy enforcer and the impact of the related state/event conditions
    • VIMs should be able to execute most policies locally
    • VIMs may need to pass policy-related state/events to closed-loop system, where those events are relevant to other components in the architecture (e.g. service orchestrator), or some additional data/arbitration is needed to resolve the state/event condition
  • Policies are localized as they are distributed/delegated
    • High-level policies (e.g. expressing “intent”) can be translated into VNF package elements or generic policies, perhaps using distinct syntaxes
    • Delegated policy syntaxes are likely VIM-specific, e.g. Datalog (Congress), YANG (ODL-based SDNC), or other schemas specific to other SDNCs (Contrail, ONOS)
  • Closed-loop policy and VNF-lifecycle event handling are somewhat distinct
    • Closed-loop policy is mostly about resolving conditions that can't be handled locally, but as above in some cases the conditions may be of relevance/forwarded to service orchestrators
    • VNF-lifecycle events that can't be handled by the VIM locally are delivered directly to the service orchestrator

Requirements

General Requirements

General requirements for a policy architecture are below, with an assessment of the current state of support for these across major OPNFV components (1=poor, 5=excellent).

Requirement Description OpenStack OpenDaylight
Polled monitoring. Exposure of state via request-response APIs. TBD TBD
Notifications. Exposure of state via pub-sub APIs. TBD TBD
Realtime/near-realtime notifications. Notifications that occur in actual or near realtime. TBD TBD
Delegated policy. CRUD operations on policies that are distributed to specific components for local handling, including one/more of monitoring, violation reporting, and enforcement. TBD TBD
Violation reporting. Reporting of conditions that represent a policy violation. TBD TBD
Reactive enforcement. Enforcement actions taken in response to policy violation events. TBD TBD
Proactive enforcement. Enforcement actions taken in advance of policy violation events, e.g. blocking actions that could result in a policy violation. TBD TBD
Compliance auditing. Periodic auditing of state against policies. TBD TBD

Use-Case Derived Requirements

Requirement Description OpenStack OpenDaylight
Compute Affinity/Anti-affinity Place VMs based upon compute resources. TBD TBD
Storage Affinity/Anti-affinity Place VMs based upon storage resources. TBD TBD
Network Affinity/Anti-affinity Place VMs based upon network resources. TBD TBD
SDN Controller engineering rules Apply engineering rule based policies via SDNCs. TBD TBD
SDN Controller security policies Apply security policies via SDNCs. TBD TBD
High Availability Distribute VMs across diverse resources. TBD TBD
Geo-Diversity Distribute VMs across geographically diverse resources. TBD TBD
Group-Based Policy Constrain configuration actions based upon association of specific state data to groups, e.g. ownership, group membership, etc. TBD TBD
Role-Based Access Control Constrain configuration actions based upon role of the configuration change requester, e.g. owner, group membership, etc. TBD TBD
copper/copper_work_items/policy_architecture.1431107463.txt.gz · Last modified: 2015/05/08 17:51 by Bryan Sullivan