From 61a851845546300cc2f5ee9f3dd6761c9ecd093e Mon Sep 17 00:00:00 2001 From: Jie Hu Date: Wed, 16 Dec 2015 18:52:19 +0800 Subject: [PATCH] ESCALATOR-31 Adjusting documentation JIRA: ESCALATOR-31 Change-Id: I0b83511a542982f07c2ab9d60517f4b5f357569b Signed-off-by: Jie Hu --- docs/02-Background_and_Terminologies.rst | 535 --------------------- docs/03-Functional_Requirements.rst | 240 --------- docs/05-Reference_Architecture.rst | 113 ----- docs/07-Interfaces_and_Files.rst | 27 -- docs/10-Useful_Working_Drafts_of_ETSI_NFV.rst | 11 - docs/design/201-Reference_Architecture.rst | 54 +++ .../202-Information_Flows.rst} | 5 +- docs/design/203-Administrative_Interfaces.rst | 16 + docs/design/204-Configuration_and_Logging.rst | 18 + docs/{A1-Appendix.rst => design/2A1-Appendix.rst} | 7 +- docs/design/etc/conf.py | 34 ++ docs/design/etc/opnfv-logo.png | Bin 0 -> 2829 bytes docs/design/images/figure2.png | Bin 0 -> 9196 bytes docs/design/images/figure3.png | Bin 0 -> 25188 bytes docs/design/images/figure4.png | Bin 0 -> 122040 bytes docs/design/images/figure5.png | Bin 0 -> 28490 bytes docs/design/images/figure6.png | Bin 0 -> 46314 bytes docs/{ => design}/index.rst | 21 +- docs/etc/conf.py | 34 ++ docs/etc/opnfv-logo.png | Bin 0 -> 2829 bytes docs/gap_analysis/301-Impact_Analysis.rst | 47 ++ docs/gap_analysis/etc/conf.py | 34 ++ docs/gap_analysis/etc/opnfv-logo.png | Bin 0 -> 2829 bytes docs/gap_analysis/index.rst | 30 ++ docs/how-to-use-docs/README.txt | 1 - .../000-Contributors.rst} | 7 +- docs/{01-Scope.rst => requirements/101-Scope.rst} | 25 +- docs/requirements/102-Terminologies.rst | 129 +++++ docs/requirements/103-Background.rst | 226 +++++++++ docs/requirements/104-Requirements.rst | 478 ++++++++++++++++++ .../105-Use_Cases.rst} | 30 +- .../106-Reference.rst} | 3 +- .../1A1-Requirements_from_other_Projects.rst} | 20 +- .../1A2-Questionnaire_of_Escalator.rst | 11 + docs/requirements/300-Gap_Analysis_Report.rst | 50 ++ docs/requirements/etc/conf.py | 34 ++ docs/requirements/etc/opnfv-logo.png | Bin 0 -> 2829 bytes docs/requirements/images/figure1.png | Bin 0 -> 118003 bytes docs/requirements/index.rst | 37 ++ 39 files changed, 1297 insertions(+), 980 deletions(-) delete mode 100644 docs/02-Background_and_Terminologies.rst delete mode 100644 docs/03-Functional_Requirements.rst delete mode 100644 docs/05-Reference_Architecture.rst delete mode 100644 docs/07-Interfaces_and_Files.rst delete mode 100644 docs/10-Useful_Working_Drafts_of_ETSI_NFV.rst create mode 100644 docs/design/201-Reference_Architecture.rst rename docs/{06-Information_Flows.rst => design/202-Information_Flows.rst} (96%) create mode 100644 docs/design/203-Administrative_Interfaces.rst create mode 100644 docs/design/204-Configuration_and_Logging.rst rename docs/{A1-Appendix.rst => design/2A1-Appendix.rst} (97%) create mode 100644 docs/design/etc/conf.py create mode 100644 docs/design/etc/opnfv-logo.png create mode 100644 docs/design/images/figure2.png create mode 100644 docs/design/images/figure3.png create mode 100644 docs/design/images/figure4.png create mode 100644 docs/design/images/figure5.png create mode 100644 docs/design/images/figure6.png rename docs/{ => design}/index.rst (55%) create mode 100644 docs/etc/conf.py create mode 100644 docs/etc/opnfv-logo.png create mode 100644 docs/gap_analysis/301-Impact_Analysis.rst create mode 100644 docs/gap_analysis/etc/conf.py create mode 100644 docs/gap_analysis/etc/opnfv-logo.png create mode 100644 docs/gap_analysis/index.rst delete mode 100644 docs/how-to-use-docs/README.txt rename docs/{00-Authors.rst => requirements/000-Contributors.rst} (84%) rename docs/{01-Scope.rst => requirements/101-Scope.rst} (68%) create mode 100644 docs/requirements/102-Terminologies.rst create mode 100644 docs/requirements/103-Background.rst create mode 100644 docs/requirements/104-Requirements.rst rename docs/{04-Use_Cases_and_Scenarios.rst => requirements/105-Use_Cases.rst} (94%) rename docs/{09-Reference.rst => requirements/106-Reference.rst} (95%) rename docs/{08-Requirements_from_other_OPNFV_Project.rst => requirements/1A1-Requirements_from_other_Projects.rst} (71%) create mode 100644 docs/requirements/1A2-Questionnaire_of_Escalator.rst create mode 100644 docs/requirements/300-Gap_Analysis_Report.rst create mode 100644 docs/requirements/etc/conf.py create mode 100644 docs/requirements/etc/opnfv-logo.png create mode 100644 docs/requirements/images/figure1.png create mode 100644 docs/requirements/index.rst diff --git a/docs/02-Background_and_Terminologies.rst b/docs/02-Background_and_Terminologies.rst deleted file mode 100644 index 488968b..0000000 --- a/docs/02-Background_and_Terminologies.rst +++ /dev/null @@ -1,535 +0,0 @@ -General Requirements Background and Terminology ------------------------------------------------ - -Terminologies and definitions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -NFVI - The term is an abbreviation for Network Function Virtualization - Infrastructure; sometimes it is also referred as data plane in this - document. The NFVI provides the virtual resources to the virtual - network functions under the control of the VIM. - -VIM - The term is an abbreviation for Virtual Infrastructure Manager; - sometimes it is also referred as control plane in this document. - The VIM controls and manages the NFVI compute, network and storage - resources to provide the required virtual resources to the VNFs. - -Operator - The term refers to network service providers and Virtual Network - Function (VNF) providers. - -End-User - The term refers to a subscriber of the Operator's services. - -Network Service - The term refers to a service provided by an Operator to its - end-users using a set of (virtualized) Network Functions - -Infrastructure Services - The term refers to services provided by the NFV Infrastructure to the VNFs - as required by the Management & Orchestration functions and especially the VIM. - I.e. these are the virtual resources as perceived by the VNFs. - -Smooth Upgrade - The term refers to an upgrade that results in no service outage - for the end-users. - -Rolling Upgrade - The term refers to an upgrade strategy, which upgrades a node or a subset - of nodes at a time in a wave style rolling through the data centre. It - is a popular upgrade strategy to maintain service availability. - -Parallel Universe Upgrade - The term refers to an upgrade strategy, which creates and deploys - a new universe - a system with the new configuration - while the old - system continues running. The state of the old system is transferred - to the new system after sufficient testing of the new system. - -Infrastructure Resource Model - The term refers to the representation of infrastructure resources, - namely: the physical resources, the virtualization - facility resources and the virtual resources. - -Physical Resource - The term refers to a piece of hardware in the NFV infrastructure that may - also include firmware enabling this piece of hardware. - -Virtual Resource - The term refers to a resource, which is provided as services built on top - of the physical resources via the virtualization facilities; in particular, - virtual resources are the resources on which VNFs are deployed. Examples of - virtual resources are: VMs, virtual switches, virtual routers, virtual disks. - -Visualization Facility - The term refers to a resource that enables the creation - of virtual environments on top of the physical resources, e.g. - hypervisor, OpenStack, etc. - -Upgrade Campaign - The term refers to a choreography that describes how the upgrade should - be performed in terms of its targets (i.e. upgrade objects), the - steps/actions required of upgrading each, and the coordination of these - steps so that service availability can be maintained. It is an input to an - upgrade tool (Escalator) to carry out the upgrade. - -Upgrade Duration - The duration of an upgrade characterized by the time elapsed between its - initiation and its completion. E.g. from the moment the execution of an - upgrade campaign has started until it has been committed. Depending on - the upgrade strategy, the state of the configuration and the upgrade target - some parts of the system may be in a more vulnerable state with respect to - service availbility. - -Outage - The period of time during which a given service is not provided is referred - as the outage of that given service. If a subsystem or the entire system - does not provide any service, it is the outage of the given subsystem or the - system. Smooth upgrade means upgrade with no outage for the user plane, i.e. - no VNF should experience service outage. - -Rollback - The term refers to a failure handling strategy that reverts the changes - done by a potentially failed upgrade execution one by one in a reverse order. - I.e. it is like undoing the changes done by the upgrade. - -Backup - The term refers to data persisted to a storage, so that it can be used to - restore the system or a given part of it in the same state as it was when the - backup was created assuming a cold restart. Changes made to the system from - the moment the backup was created till the moment it is used to restore the - (sub)system are lost in the restoration process. - -Restore - The term refers to a failure handling strategy that reverts the changes - done, for example, by an upgrade by restoring the system from some backup - data. This results in the loss of any change and data persisted after the - backup was been taken. To recover those additional measures need to be taken - if necessary (e.g. rollforward). - -Rollforward - The term refers to a failure handling strategy applied after a restore - (from a backup) opertaion to recover any loss of data persisted between - the time the backup has been taken and the moment it is restored. Rollforward - requires that data that needs to survive the restore operation is logged at - a location not impacted by the restore so that it can be re-applied to the - system after its restoration from the backup. - -Downgrade - The term refers to an upgrade in which an earlier version of the software - is restored through the upgrade procedure. A system can be downgraded to any - earlier version and the compatibility of the versions will determine the - applicable upgrade strategies and whether service outage can be avoided. - In particular any data conversion needs special attention. - - - -Upgrade Objects -~~~~~~~~~~~~~~~ - -Physical Resource -^^^^^^^^^^^^^^^^^ - -Most cloud infrastructures support the dynamic addition and removal of -hardware. Accordingly a hardware upgrade could be done by adding the new -piece of hardware and removing the old one. From the persepctive of smooth -upgrade the orchestration/scheduling of these actions is the primary concern. - -Upgrading a physical resource may involve as well the upgrade of its firmware -and/or modifying its configuration data. This may require the restart of the -hardware. - - - -Virtual Resources -^^^^^^^^^^^^^^^^^ - -Addition and removal of virtual resources may be initiated by the users or be -a result of an elasticity action. Users may also request the upgrade of their -virtual resources using a new VM image. - -.. Needs to be moved to requirement section: Escalator should facilitate such an -option and allow for a smooth upgrade. - -On the other hand changes in the infrastructure, namely, in the hardware and/or -the virtualization facility resources may result in the upgrade of the virtual -resources. For example if by some reason the hypervisor is changed and -the current VMs cannot be migrated to the new hypervisor - they are -incompatible - then the VMs need to be upgraded too. This is not -something the NFVI user (i.e. VNFs ) would know about. - - -Virtualization Facility Resources -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Based on the functionality they provide, virtualization facility -resources could be divided into computing node, networking node, -storage node and management node. - -The possible upgrade objects in these nodes are considered below: -(Note: hardware based virtualization may be considered as virtualization -facility resource, but from escalator perspective, it is better to -consider it as part of the hardware upgrade. ) - -**Computing node** - -1. OS Kernel - -2. Hypvervisor and virtual switch - -3. Other kernel modules, like drivers - -4. User space software packages, like nova-compute agents and other - control plane programs. - -Updating 1 and 2 will cause the loss of virtualzation functionality of -the compute node, which may lead to the interruption of data plane services -if the virtual resource is not redudant. - -Updating 3 might have the same result. - -Updating 4 might lead to control plane services interruption if not an -HA deployment. - -.. I'm not sure why would 4 cause control plane interruption on a - compute node. My understanding is that simply the node cannot be managed. - Redundancy won't help in that either. - - -**Networking node** - -1. OS kernel, optional, not all switches/routers allow the upgrade their - OS since it is more like a firmware than a generic OS. - -2. User space software package, like neutron agents and other control - plane programs - -Updating 1 if allowed will cause a node reboot and therefore leads to -data plane service interruption if the virtual resource is not -redundant. - -Updating 2 might lead to control plane services interruption if not an -HA deployment. - -**Storage node** - -1. OS kernel, optional, not all storage nodes allow the upgrade their OS - since it is more like a firmware than a generic OS. - -2. Kernel modules - -3. User space software packages, control plane programs - -Updating 1 if allowed will cause a node reboot and therefore leads to -data plane services interruption if the virtual resource is not -redundant. - -Update 2 might result in the same. - -Updating 3 might lead to control plane services interruption if not an -HA deployment. - -**Management node** - -1. OS Kernel - -2. Kernel modules, like driver - -3. User space software packages, like database, message queue and - control plane programs. - -Updating 1 will cause a node reboot and therefore leads to control -plane services interruption if not an HA deployment. Updating 2 might -result in the same. - -Updating 3 might lead to control plane services interruption if not an -HA deployment. - - - - - -Upgrade Granularity -~~~~~~~~~~~~~~~~~~~ - -The granularity of an upgrade can be characterized from two perspective: -- the physical dimension and -- the software dimension - - -Physical Dimension -^^^^^^^^^^^^^^^^^^ - -The physical dimension characterizes the number of similar upgrade objects -targeted by the upgrade, i.e. whether it is full / partial upgrade of a -data centre, cluster, zone. -Because of the upgrade of a data centre or a zone, it may be divided into -several batches. Thus there is a need for efficiency in the execution of -upgrades of potentially huge number of upgrade objects while still maintain -availability to fulfill the requirement of smooth upgrade. - -The upgrade of a cloud environment (cluster) may also -be partial. For example, in one cloud environment running a number of -VNFs, we may just try to upgrade one of them to check the stability and -performance, before we upgrade all of them. -Thus there is a need for proper organization of the artifacts associated with -the different upgrade objects. Also the different versions should be able -to coextist beyond the upgrade period. - -From this perspective special attention may be needed when upgrading -objects that are collaborating in a redundancy schema as in this case -different versions not only need to coexist but also collaborate. This -puts requirement on the upgrade objects primarily. If this is not possible -the upgrade campaign should be designed in such a way that the proper -isolation is ensured. - -Software Dimension -^^^^^^^^^^^^^^^^^^ - -The software dimension of the upgrade characterizes the upgrade object -type targeted and the combination in which they are upgraded together. - -Even though the upgrade may -initially target only one type of upgrade object, e.g. the hypervisor -the dependency of other upgrade objects on this initial target object may -require their upgrade as well. I.e. the upgrades need to be combined. From this -perspective the main concern is compatibility of the dependent and -sponsor objects. To take into consideration of these dependencies -they need to be described together with the version compatility information. -Breaking dependencies is the major cause of outages during upgrades. - -In other cases it is more efficient to upgrade a combination of upgrade -objects than to do it one by one. One aspect of the combination is how -the upgrade packages can be combined, whether a new image can be created for -them before hand or the different packages can be installed during the upgrade -independently, but activated together. - -The combination of upgrade objects may span across -layers (e.g. software stack in the host and the VM of the VNF). -Thus, it may require additional coordination between the management layers. - -With respect to each upgrade object type and even stacks we can -distingush major and minor upgrades: - -**Major Upgrade** - -Upgrades between major releases may introducing significant changes in -function, configuration and data, such as the upgrade of OPNFV from -Arno to Brahmaputra. - -**Minor Upgrade** - -Upgrades inside one major releases which would not leads to changing -the structure of the platform and may not infect the schema of the -system data. - -Scope of Impact -~~~~~~~~~~~~~~~ - -Considering availability and therefore smooth upgrade, one of the major -concerns is the predictability and control of the outcome of the different -upgrade operations. Ideally an upgrade can be performed without impacting any -entity in the system, which means none of the operations change or potentially -change the behaviour of any entity in the system in an uncotrolled manner. -Accordingly the operations of such an upgrade can be performed any time while -the system is running, while all the entities are online. No entity needs to be -taken offline to avoid such adverse effects. Hence such upgrade operations -are referred as online operations. The effects of the upgrade might be activated -next time it is used, or may require a special activation action such as a -restart. Note that the activation action provides more control and predictability. - -If an entity's behavior in the system may change due to the upgrade it may -be better to take it offline for the time of the relevant upgrade operations. -The main question is however considering the hosting relation of an upgrade -object what hosted entities are impacted. Accordingly we can identify a scope -which is impacted by taking the given upgrade object offline. The entities -that are in the scope of impact may need to be taken offline or moved out of -this scope i.e. migrated. - -If the impacted entity is in a different layer managed by another manager -this may require coordination because taking out of service some -infrastructure resources for the time of their upgrade which support virtual -resources used by VNFs that should not experience outages. The hosted VNFs -may or may not allow for the hot migration of their VMs. In case of migration -the VMs placement policy should be considered. - - - -Upgrade duration -~~~~~~~~~~~~~~~~ - -As the OPNFV end-users are primarily Telecom operators, the network -services provided by the VNFs deployed on the NFVI should meet the -requirement of 'Carrier Grade'.:: - - In telecommunication, a "carrier grade" or"carrier class" refers to a - system, or a hardware or software component that is extremely reliable, - well tested and proven in its capabilities. Carrier grade systems are - tested and engineered to meet or exceed "five nines" high availability - standards, and provide very fast fault recovery through redundancy - (normally less than 50 milliseconds). [from wikipedia.org] - -"five nines" means working all the time in ONE YEAR except 5'15". - -:: - - We have learnt that a well prepared upgrade of OpenStack needs 10 - minutes. The major time slot in the outage time is used spent on - synchronizing the database. [from ' Ten minutes OpenStack Upgrade? Done! - ' by Symantec] - -This 10 minutes of downtime of the OpenStack services however did not impact the -users, i.e. the VMs running on the compute nodes. This was the outage of -the control plane only. On the other hand with respect to the -preparations this was a manually tailored upgrade specific to the -particular deployment and the versions of each OpenStack service. - -The project targets to achieve a more generic methodology, which however -requires that the upgrade objects fulfil certain requirements. Since -this is only possible on the long run we target first the upgrade -of the different VIM services from version to version. - -**Questions:** - -1. Can we manage to upgrade OPNFV in only 5 minutes? - -.. The first question is whether we have the same carrier grade - requirement on the control plane as on the user plane. I.e. how - much control plane outage we can/willing to tolerate? - In the above case probably if the database is only half of the size - we can do the upgrade in 5 minutes, but is that good? It also means - that if the database is twice as much then the outage is 20 - minutes. - For the user plane we should go for less as with two release yearly - that means 10 minutes outage per year. - -.. 10 minutes outage per year to the users? Plus, if we take - control plane into the consideration, then total outage will be - more than 10 minute in whole network, right? - -.. The control plane outage does not have to cause outage to - the users, but it may of course depending on the size of the system - as it's more likely that there's a failure that needs to be handled - by the control plane. - -2. Is it acceptable for end users ? Such as a planed service - interruption will lasting more than ten minutes for software - upgrade. - -.. For user plane, no it's not acceptable in case of - carrier-grade. The 5' 15" downtime should include unplanned and - planned downtimes. - -.. I go agree with Maria, it is not acceptable. - -3. Will any VNFs still working well when VIM is down? - -.. In case of OpenStack it seems yes. .:) - -The maximum duration of an upgrade -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The duration of an upgrade is related to and proportional with the -scale and the complexity of the OPNFV platform as well as the -granularity (in function and in space) of the upgrade. - -.. Also, if is a partial upgrade like module upgrade, it depends - also on the OPNFV modules and their tight connection entities as well. - -.. Since the maintenance window is shrinking and becoming non-existent - the duration of the upgrade is secondary to the requirement of smooth upgrade. - But probably we want to be able to put a time constraint on each upgrade - during which it must complete otherwise it is considered failed and the system - should be rolled back. I.e. in case of automatic execution it might not be clear - if an upgrade is long or just hanging. The time constraints may be a function - of the size of the system in terms of the upgrade object(s). - -The maximum duration of a roll back when an upgrade is failed -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The duration of a roll back is short than the corresponding upgrade. It -depends on the duration of restore the software and configure data from -pre-upgrade backup / snapshot. - -.. During the upgrade process two types of failure may happen: - In case we can recover from the failure by undoing the upgrade - actions it is possible to roll back the already executed part of the - upgrade in graceful manner introducing no more service outage than - what was introduced during the upgrade. Such a graceful roll back - requires typically the same amount of time as the executed portion of - the upgrade and impose minimal state/data loss. - -.. Requirement: It should be possible to roll back gracefully the - failed upgrade of stateful services of the control plane. - In case we cannot recover from the failure by just undoing the - upgrade actions, we have to restore the upgraded entities from their - backed up state. In other terms the system falls back to an earlier - state, which is typically a faster recovery procedure than graceful - roll back and depending on the statefulness of the entities involved it - may result in significant state/data loss. - -.. Two possible types of failures can happen during an upgrade - -.. We can recover from the failure that occurred in the upgrade process: - In this case, a graceful rolling back of the executed part of the - upgrade may be possible which would "undo" the executed part in a - similar fashion. Thus, such a roll back introduces no more service - outage during an upgrade than the executed part introduced. This - process typically requires the same amount of time as the executed - portion of the upgrade and impose minimal state/data loss. - -.. We cannot recover from the failure that occurred in the upgrade - process: In this case, the system needs to fall back to an earlier - consistent state by reloading this backed-up state. This is typically - a faster recovery procedure than the graceful roll back, but can cause - state/data loss. The state/data loss usually depends on the - statefulness of the entities whose state is restored from the backup. - -The maximum duration of a VNF interruption (Service outage) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Since not the entire process of a smooth upgrade will affect the VNFs, -the duration of the VNF interruption may be shorter than the duration -of the upgrade. In some cases, the VNF running without the control -from of the VIM is acceptable. - -.. Should require explicitly that the NFVI should be able to - provide its services to the VNFs independent of the control plane? - -.. Requirement: The upgrade of the control plane must not cause - interruption of the NFVI services provided to the VNFs. - -.. With respect to carrier-grade the yearly service outage of the - VNF should not exceed 5' 15" regardless whether it is planned or - unplanned outage. Considering the HA requirements TL-9000 requires an - end-to-end service recovery time of 15 seconds based on which the ETSI - GS NFV-REL 001 V1.1.1 (2015-01) document defines three service - availability levels (SAL). The proposed example service recovery times - for these levels are: - -.. SAL1: 5-6 seconds - -.. SAL2: 10-15 seconds - -.. SAL3: 20-25 seconds - -.. my comment was actually that the downtime metrics of the - underlying elements, components and services are small fraction of the - total E2E service availability time. No-one on the E2E service path - will get the whole downtime allocation (in this context it includes - upgrade process related outages for the services provided by VIM etc. - elements that are subject to upgrade process). - -.. So what you are saying is that the upgrade of any entity - (component, service) shouldn't cause even this much service - interruption. This was the reason I brought these figures here as well - that they are posing some kind of upper-upper boundary. Ideally the - interruption is in the millisecond range i.e. no more than a - switch-over or a live migration. - -.. Requirement: Any interruption caused to the VNF by the upgrade - of the NFVI should be in the sub-second range. - -.. In the future we also need to consider the upgrade of the NFVI, - i.e. HW, firmware, hypervisors, host OS etc. \ No newline at end of file diff --git a/docs/03-Functional_Requirements.rst b/docs/03-Functional_Requirements.rst deleted file mode 100644 index c0695bb..0000000 --- a/docs/03-Functional_Requirements.rst +++ /dev/null @@ -1,240 +0,0 @@ -Functional Requirements ------------------------ - -Basic Actions -~~~~~~~~~~~~~ - -This section describes the basic functions may required by Escalator. - -Preparation (offline) -^^^^^^^^^^^^^^^^^^^^^ - -This is the design phase when the upgrade plan (or upgrade campaign) is -being designed so that it can be executed automatically with minimal -service outage. It may include the following work: - -1. Check the dependencies of the software modules and their impact, - backward compatibilities to figure out the appropriate upgrade method - and ordering. -2. Find out if a rolling upgrade could be planned with several rolling - steps to avoid any service outage due to the upgrade some - parts/services at the same time. -3. Collect the proper version files and check the integration for - upgrading. -4. The preparation step should produce an output (i.e. upgrade - campaign/plan), which is executable automatically in an NFV Framework - and which can be validated before execution. - - - The upgrade campaign should not be referring to scalable entities - directly, but allow for adaptation to the system configuration and - state at any given moment. - - The upgrade campaign should describe the ordering of the upgrade - of different entities so that dependencies, redundancies can be - maintained during the upgrade execution - - The upgrade campaign should provide information about the - applicable recovery procedures and their ordering. - - The upgrade campaign should consider information about the - verification/testing procedures to be performed during the upgrade - so that upgrade failures can be detected as soon as possible and - the appropriate recovery procedure can be identified and applied. - - The upgrade campaign should provide information on the expected - execution time so that hanging execution can be identified - - The upgrade campaign should indicate any point in the upgrade when - coordination with the users (VNFs) is required. - -.. Depends on the attributes of the object being upgraded, the - upgrade plan may be slitted into step(s) and/or sub-plan(s), and even - more small sub-plans in design phase. The plan(s) or sub-plan(s) my - include step(s) or sub-plan(s). - -Validation the upgrade plan / Checking the pre-requisites of System( offline / online) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The upgrade plan should be validated before the execution by testing -it in a test environment which is similar to the product environment. - -.. However it could also mean that we can identify some properties - that it should satisfy e.g. what operations can or cannot be executed - simultaneously like never take out two VMs of the same VNF. - -.. Another question is if it requires that the system is in a particular - state when the upgrade is applied. I.e. if there's certain amount of - redundancy in the system, migration is enabled for VMs, when the NFVI - is upgraded the VIM is healthy, when the VIM is upgraded the NFVI is - healthy, etc. - -.. I'm not sure what online validation means: Is it the validation of the - upgrade plan/campaign or the validation of the system that it is in a - state that the upgrade can be performed without too much risk?== - -Before the upgrade plan being executed, the system healthy of the -online product environment should be checked and confirmed to satisfy -the requirements which were described in the upgrade plan. The -sysinfo, e.g. which included system alarms, performance statistics and -diagnostic logs, will be collected and analogized. It is required to -resolve all of the system faults or exclude the unhealthy part before -executing the upgrade plan. - - -Backup/Snapshot (online) -^^^^^^^^^^^^^^^^^^^^^^^^ - -For avoid loss of data when a unsuccessful upgrade was encountered, the -data should be back-upped and the system state snapshot should be taken -before the execution of upgrade plan. This would be considered in the -upgrade plan. - -Several backups/Snapshots may be generated and stored before the single -steps of changes. The following data/files are required to be -considered: - -1. running version files for each node. -2. system components' configuration file and database. -3. image and storage, if it is necessary. - -.. Does 3 imply VNF image and storage? I.e. VNF state and data?== - -.. The following text is derived from previous "4. Negotiate - with the VNF if it's ready for the upgrade" - -Although the upper layer, which include VNFs and VNFMs, is out of the -scope of Escalator, but it is still recommended to let it ready for a -smooth system upgrade. The escalator could not guarantee the safe of -VNFs. The upper layer should have some safe guard mechanism in design, -and ready for avoiding failure in system upgrade. - -Execution (online) -^^^^^^^^^^^^^^^^^^ - -The execution of upgrade plan should be a dynamical procedure which is - controlled by Escalator. - -.. Revised text to be general.== - -1. It is required to supporting execution ether in sequence or in - parallel. -2. It is required to check the result of the execution and take the - action according the situation and the policies in the upgrade plan. -3. It is required to execute properly on various configurations of - system object. I.e. stand-alone, HA, etc. -4. It is required to execute on the designated different parts of the - system. I.e. physical server, virtualized server, rack, chassis, - cluster, even different geographical places. - -Testing (online) -^^^^^^^^^^^^^^^^ - -The testing after upgrade the whole system or parts of system to make -sure the upgraded system(object) is working normally. - -.. Revised text to be general. - -1. It is recommended to run the prepared test cases to see if the - functionalities are available without any problem. -2. It is recommended to check the sysinfo, e.g. system alarms, - performance statistics and diagnostic logs to see if there are any - abnormal. - -Restore/Roll-back (online) -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When upgrade is failure unfortunately, a quick system restore or system -roll-back should be taken to recovery the system and the services. - -.. Revised text to be general. - -1. It is recommend to support system restore from backup when upgrade - was failed. -2. It is recommend to support graceful roll-back with reverse order - steps if possible. - -Monitoring (online) -^^^^^^^^^^^^^^^^^^^ - -Escalator should continually monitor the process of upgrade. It is -keeping update status of each module, each node, each cluster into a -status table during upgrade. - -.. Revised text to be general. - -1. It is required to collect the status of every objects being upgraded - and sending abnormal alarms during the upgrade. -2. It is recommend to reuse the existing monitoring system, like alarm. -3. It is recommend to support pro-actively query. -4. It is recommend to support passively wait for notification. - -**Two possible ways for monitoring:** - -**Pro-Actively Query** requires NFVI/VIM provides proper API or CLI -interface. If Escalator serves as a service, it should pass on these -interfaces. - -**Passively Wait for Notification** requires Escalator provides -callback interface, which could be used by NFVI/VIM systems or upgrade -agent to send back notification. - -.. I am not sure why not to subscribe the notification. - -Logging (online) -^^^^^^^^^^^^^^^^ - -Record the information generated by escalator into log files. The log -file is used for manual diagnostic of exceptions. - -1. It is required to support logging. -2. It is recommended to include time stamp, object id, action name, - error code, etc. - -Administrative Control (online) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Administrative Control is used for control the privilege to start any -escalator's actions for avoiding unauthorized operations. - -#. It is required to support administrative control mechanism -#. It is recommend to reuse the system's own secure system. -#. It is required to avoid conflicts when the system's own secure system - being upgraded. - -Requirements on Object being upgraded -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. We can develop BPs in future from requirements of this section and - gap analysis for upper stream projects - -Escalator focus on smooth upgrade. In practical implementation, it -might be combined with installer/deplorer, or act as an independent -tool/service. In either way, it requires targeting systems(NFVI and -VIM) are developed/deployed in a way that Escalator could perform -upgrade on them. - -On NFVI system, live-migration is likely used to maintain availability -because OPNFV would like to make HA transparent from end user. This -requires VIM system being able to put compute node into maintenance mode -and then isolated from normal service. Otherwise, new NFVI instances -might risk at being schedule into the upgrading node. - -On VIM system, availability is likely achieved by redundancy. This -impose less requirements on system/services being upgrade (see PVA -comments in early version). However, there should be a way to put the -target system into standby mode. Because starting upgrade on the -master node in a cluster is likely a bad idea. - -.. Revised text to be general. - -1. It is required for NFVI/VIM to support **service handover** mechanism - that minimize interruption to 0.001%(i.e. 99.999% service - availability). Possible implementations are live-migration, redundant - deployment, etc, (Note: for VIM, interruption could be less - restrictive) - -2. It is required for NFVI/VIM to restore the early version in a efficient - way, such as **snapshot**. - -3. It is required for NFVI/VIM to **migration data** efficiently between - base and upgraded system. - -4. It is recommend for NFV/VIM's interface to support upgrade - orchestration, e.g. reading/setting system state. - - diff --git a/docs/05-Reference_Architecture.rst b/docs/05-Reference_Architecture.rst deleted file mode 100644 index 63b54c2..0000000 --- a/docs/05-Reference_Architecture.rst +++ /dev/null @@ -1,113 +0,0 @@ -Reference Architecture ----------------------- - -This section describes the reference architecture, the function blocks, -and the function entities of Escalator for the reader to well understand how -the basic functions to be organized. - -Upgrade Scope -~~~~~~~~~~~~~~~~ - -Upgrade objects described in this document are software programs covered by -red box in the picture below which includes: VIM and NFVI. -The target of the upgrade is to reduce the impact on the applications in the -blue box below as much as possible. -Note that this upgrade process does not take into consideration the effects -of Vi-Vnfm and Or-Vi. In other words, the unserviceability of the two -interfaces during upgrade can be accepted. - -.. figure:: images/figure1.png - :name: figure1 - :width: 100% - -The software stack on each node is generally as shown in the table below. - -.. figure:: images/figure2.png - :name: figure2 - :width: 100% - -Because the control node upgrade will not affect the VNFs service in the blue -box, this scheme focuses on upgrading of compute nodes. - -Precondition of Upgrade -~~~~~~~~~~~~~~~~~~~~~~~ - -1 The environmental requirements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -1. System is running normally. If there are any faults before the upgrade, -it is difficult to distinguish between upgrade introduced and the environment -itself. - -2. The environment should have the redundant resources. Because the upgrade -process is based on the business migration, in the absence of resource -redundancy,it is impossible to realize the business migration, as well as to -achieve a smooth upgrade. - -Resource redundancy in two levels: - -1 NFVI level: This level is mainly the compute nodes resource redundancy. -During the upgrade, the virtual machine on business can be migrated to another -free compute node. - -2 VNF level: This level depends on HA mechanism in VNF, such as: -active-standby, load balance. In this case, as long as business of the target -node on VMs is migrated to other free nodes, the migration of VM might not be -necessary. - -The way of redundancy to be used is subject to the specific environment. -Generally speaking, During the upgrade, the VNF's service level availability -mechanism should be used in higher priority than the NFVI's. This will help -us to reduce the service outage. - -2 The requirements for component release version -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This is primarily a compatibility requirement. You can refer to Linux/Python -Compatible Semantic Versioning 3.0.0: - -Given a version number MAJOR.MINOR.PATCH, increment the: - -1. MAJOR version when you make incompatible API changes, - -2. MINOR version when you add functionality in a backwards-compatible manner, - -3. PATCH version when you make backwards-compatible bug fixes. - -Some internal interfaces of OpenStack will be used by Escalator indirectly, -such as VM migration related interface between VIM and NFVI. So it is required -to be backward compatible on these interfaces. Refer to "Interface" chapter -for details. - -Upgrade related modules in VIM -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Upgrade operations are initiated by the user through the VIM. For VIM, upgrade -management mainly contains the object: - -- **Upgrade Manager** - -Mainly responsible for control of the upgrade process.The Escalator is required -to know the software deployment information of the platform and will use these -information during the upgrading. It will be collected from some place, such -as the Installer, Deploy Manager and Escalator itself, etc. - -- **VIM Interface**: - -Mainly responsible for the external interface, include Vi-Vnfm, Or-Vi. This -module stores VNFO and VNFM external information such as address and -authentication. - -- **Cloud Manager**: - -Mainly responsible for virtualization resources management,which might be -considered made up of Openstack and SDN control node. - -- **System Support**: - -This layer is the runtime support environment of upper layers, e.g. Cloud -Manager and VIM interface., including:OS, HA, etc. To upgrade the upper -software is based on this module. - -.. figure:: images/figure3.png - :name: figure3 - :width: 100% \ No newline at end of file diff --git a/docs/07-Interfaces_and_Files.rst b/docs/07-Interfaces_and_Files.rst deleted file mode 100644 index 87f916e..0000000 --- a/docs/07-Interfaces_and_Files.rst +++ /dev/null @@ -1,27 +0,0 @@ -Interfaces and Files --------------------- - -This section describes the required interfaces and files of Escalator. - - -CLI Interface -~~~~~~~~~~~~~~~~ - -This section describes CLI of Escalator. - -RESTful API -~~~~~~~~~~~ - -This section describes the API of Escalator for developer. - -Configuration File -~~~~~~~~~~~~~~~~~~ - -This section will suggest a format of the configuration files and how to -deal with it. - -Log File -~~~~~~~~ - -This section will suggest a format of the log files and how to deal with -it. \ No newline at end of file diff --git a/docs/10-Useful_Working_Drafts_of_ETSI_NFV.rst b/docs/10-Useful_Working_Drafts_of_ETSI_NFV.rst deleted file mode 100644 index 5c2195b..0000000 --- a/docs/10-Useful_Working_Drafts_of_ETSI_NFV.rst +++ /dev/null @@ -1,11 +0,0 @@ -Useful Working Drafts of ETSI NFV ---------------------------------- - -Access them with your own ETSI account, please DO NOT disclose the -content. - -[1] Migrate Virtualised Compute Resource operation @ 7.3.1.8 -ftp://docbox.etsi.org/ISG/NFV/Open/Drafts/IFA005_Or-Vi_ref_point_Spec/NFV-IFA005v070.zip - -[2] Reliability issues during NFV Software upgrade and improvement mechanisms @ 8 -ftp://@docbox.etsi.org/ISG/NFV/Open/Drafts/REL003_E2E_reliability_models/NFV-REL003v030.zip diff --git a/docs/design/201-Reference_Architecture.rst b/docs/design/201-Reference_Architecture.rst new file mode 100644 index 0000000..75aa461 --- /dev/null +++ b/docs/design/201-Reference_Architecture.rst @@ -0,0 +1,54 @@ +====================== +Reference Architecture +====================== + +This section describes the reference architecture, the function blocks, +and the function entities of Escalator for the reader to well understand how +the basic functions to be organized. + +The software stack on each node is generally as shown in the table below. + +.. figure:: images/figure2.png + :name: figure2 + :width: 100% + +Since the upgrading of control node will not affect the VNFs service in the blue +box, this chapter will focusing on the upgrading of compute nodes. + + +Precondition of Upgrade +======================= + +Upgrade related modules in VIM +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upgrade operations are initiated by the user through the VIM. For VIM, upgrade +management mainly contains the object: + +- **Upgrade Manager** + +Mainly responsible for control of the upgrade process.The Escalator is required +to know the software deployment information of the platform and will use these +information during the upgrading. It will be collected from some place, such +as the Installer, Deploy Manager and Escalator itself, etc. + +- **VIM Interface**: + +Mainly responsible for the external interface, include Vi-Vnfm, Or-Vi. This +module stores VNFO and VNFM external information such as address and +authentication. + +- **Cloud Manager**: + +Mainly responsible for virtualization resources management,which might be +considered made up of Openstack and SDN control node. + +- **System Support**: + +This layer is the runtime support environment of upper layers, e.g. Cloud +Manager and VIM interface., including:OS, HA, etc. To upgrade the upper +software is based on this module. + +.. figure:: images/figure3.png + :name: figure3 + :width: 100% diff --git a/docs/06-Information_Flows.rst b/docs/design/202-Information_Flows.rst similarity index 96% rename from docs/06-Information_Flows.rst rename to docs/design/202-Information_Flows.rst index 641b59b..eaa39f0 100644 --- a/docs/06-Information_Flows.rst +++ b/docs/design/202-Information_Flows.rst @@ -1,5 +1,6 @@ +================= Information Flows ------------------ +================= This section describes the information flows among the function entities when Escalator is in actions. @@ -53,4 +54,4 @@ notifies the system support on compute node A to do software upgrade. 5. After upgraded, Upgrade Manager removes maintenance mode for the compute node A. 6. Upgrade Manager claims VNFM computing nodes A available. -7. Select computer node B to upgrade \ No newline at end of file +7. Select computer node B to upgrade diff --git a/docs/design/203-Administrative_Interfaces.rst b/docs/design/203-Administrative_Interfaces.rst new file mode 100644 index 0000000..5d8148b --- /dev/null +++ b/docs/design/203-Administrative_Interfaces.rst @@ -0,0 +1,16 @@ +========================= +Administrative Interfaces +========================= + +This section describes the required administrative interfaces of Escalator. + +CLI Interface +============= + +This section describes CLI of Escalator. + +RESTful API +=========== + +This section describes the API of Escalator for developer. + diff --git a/docs/design/204-Configuration_and_Logging.rst b/docs/design/204-Configuration_and_Logging.rst new file mode 100644 index 0000000..309b2c8 --- /dev/null +++ b/docs/design/204-Configuration_and_Logging.rst @@ -0,0 +1,18 @@ +========================= +Configuration and Logging +========================= + +This section describes the required configuration and logging of Escalator. + + +Configuration Format +==================== + +This section will suggest a format of the configuration files and how to +deal with it. + +Logging Format +============== + +This section will suggest a format of the log files and how to deal with +it. diff --git a/docs/A1-Appendix.rst b/docs/design/2A1-Appendix.rst similarity index 97% rename from docs/A1-Appendix.rst rename to docs/design/2A1-Appendix.rst index 85f0717..80fe447 100644 --- a/docs/A1-Appendix.rst +++ b/docs/design/2A1-Appendix.rst @@ -1,8 +1,9 @@ +======== Appendix --------- +======== A.1 Impact Analysis -~~~~~~~~~~~~~~~~~~~ +=================== Upgrading the different software modules may cause different impact on the availability of the infrastructure resources and even on the service @@ -15,7 +16,7 @@ continuity of the vNFs. #. Hypervisor, such as KVM, QEMU, XEN, libvirt #. Openstack agent in computing nodes (like Nova agent, Ceilometer agent...) - + .. As SW module, we should list the host OS and maybe its drivers as well. From upgrade perspective do we limit host OS upgrades to patches only? diff --git a/docs/design/etc/conf.py b/docs/design/etc/conf.py new file mode 100644 index 0000000..0066035 --- /dev/null +++ b/docs/design/etc/conf.py @@ -0,0 +1,34 @@ +import datetime +import sys +import os + +try: + __import__('imp').find_module('sphinx.ext.numfig') + extensions = ['sphinx.ext.numfig'] +except ImportError: + # 'pip install sphinx_numfig' + extensions = ['sphinx_numfig'] + +# numfig: +number_figures = True +figure_caption_prefix = "Fig." + +source_suffix = '.rst' +master_doc = 'index' +pygments_style = 'sphinx' +html_use_index = False + +pdf_documents = [('index', u'OPNFV', u'OPNFV Project', u'OPNFV')] +pdf_fit_mode = "shrink" +pdf_stylesheets = ['sphinx','kerning','a4'] +#latex_domain_indices = False +#latex_use_modindex = False + +latex_elements = { + 'printindex': '', +} + +project = u'OPNFV: Template documentation config' +copyright = u'%s, OPNFV' % datetime.date.today().year +version = u'1.0.0' +release = u'1.0.0' diff --git a/docs/design/etc/opnfv-logo.png b/docs/design/etc/opnfv-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1519503eba764f7a00877b9b8bdbbd37fd3707c6 GIT binary patch literal 2829 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 LD@m0+H1hi|!&~L# literal 0 HcmV?d00001 diff --git a/docs/design/images/figure3.png b/docs/design/images/figure3.png new file mode 100644 index 0000000000000000000000000000000000000000..38346de515ad090d4616744e78aa4b10e5f1c47a GIT binary patch literal 25188 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 literal 0 HcmV?d00001 diff --git a/docs/design/images/figure4.png b/docs/design/images/figure4.png new file mode 100644 index 0000000000000000000000000000000000000000..e74e24bcb172972cccb1b4c61d5dad1198733749 GIT binary patch literal 122040 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

PNf5SW}ziI*~&K3~^LmV{ih>3h<@ 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 ooU&H literal 0 HcmV?d00001 diff --git a/docs/design/images/figure6.png b/docs/design/images/figure6.png new file mode 100644 index 0000000000000000000000000000000000000000..efe7d6f1d9831342a8d765507ebedfabbf81d002 GIT binary patch literal 46314 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 literal 0 HcmV?d00001 diff --git a/docs/index.rst b/docs/design/index.rst similarity index 55% rename from docs/index.rst rename to docs/design/index.rst index 1ae82e1..993b5e6 100644 --- a/docs/index.rst +++ b/docs/design/index.rst @@ -9,7 +9,7 @@ :alt: OPNFV :align: left -ESCALATOR +ESCALATOR DESIGN CONSIDERATIONS ======================================= Contents: @@ -18,18 +18,13 @@ Contents: :maxdepth: 4 :titlesonly: - 00-Authors.rst - 01-Scope.rst - 02-Background_and_Terminologies.rst - 03-Functional_Requirements.rst - 04-Use_Cases_and_Scenarios.rst - 05-Reference_Architecture.rst - 06-Information_Flows.rst - 07-Interfaces_and_Files.rst - 08-Requirements_from_other_OPNFV_Project.rst - 09-Reference.rst - 10-Useful_Working_Drafts_of_ETSI_NFV.rst - A1-Appendix.rst + + + 201-Reference_Architecture.rst + 202-Information_Flows.rst + 203-Administrative_Interfaces.rst + 204-Configuration_and_Logging.rst + 300-Gap_Analysis_Report.rst * :ref:`search` diff --git a/docs/etc/conf.py b/docs/etc/conf.py new file mode 100644 index 0000000..0066035 --- /dev/null +++ b/docs/etc/conf.py @@ -0,0 +1,34 @@ +import datetime +import sys +import os + +try: + __import__('imp').find_module('sphinx.ext.numfig') + extensions = ['sphinx.ext.numfig'] +except ImportError: + # 'pip install sphinx_numfig' + extensions = ['sphinx_numfig'] + +# numfig: +number_figures = True +figure_caption_prefix = "Fig." + +source_suffix = '.rst' +master_doc = 'index' +pygments_style = 'sphinx' +html_use_index = False + +pdf_documents = [('index', u'OPNFV', u'OPNFV Project', u'OPNFV')] +pdf_fit_mode = "shrink" +pdf_stylesheets = ['sphinx','kerning','a4'] +#latex_domain_indices = False +#latex_use_modindex = False + +latex_elements = { + 'printindex': '', +} + +project = u'OPNFV: Template documentation config' +copyright = u'%s, OPNFV' % datetime.date.today().year +version = u'1.0.0' +release = u'1.0.0' diff --git a/docs/etc/opnfv-logo.png b/docs/etc/opnfv-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1519503eba764f7a00877b9b8bdbbd37fd3707c6 GIT binary patch literal 2829 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 As SW module, we should list the host OS and maybe its + drivers as well. From upgrade perspective do we limit host OS + upgrades to patches only? + +**Software modules in network nodes** + +#. Neutron L2/L3 agent +#. OVS, SR-IOV Driver + +**Software modules storage nodes** + +#. Ceph + +The table below analyses such an impact - considering a single instance +of each software module - from the following aspects: + +- the function which will be lost during upgrade, +- the duration of the loss of this specific function, +- if this causes the loss of the vNF function, +- if it causes incompatibility in the different parts of the software, +- what should be backed up before the upgrade, +- the duration of restoration time if the upgrade fails + +These values provided come from internal testing and based on some +assumptions, they may vary depending on the deployment techniques. +Please feel free to add if you find more efficient values during your +testing. + +https://wiki.opnfv.org/_media/upgrade_analysis_v0.5.xlsx + +Note that no redundancy of the software modules is considered in the table. diff --git a/docs/gap_analysis/etc/conf.py b/docs/gap_analysis/etc/conf.py new file mode 100644 index 0000000..0066035 --- /dev/null +++ b/docs/gap_analysis/etc/conf.py @@ -0,0 +1,34 @@ +import datetime +import sys +import os + +try: + __import__('imp').find_module('sphinx.ext.numfig') + extensions = ['sphinx.ext.numfig'] +except ImportError: + # 'pip install sphinx_numfig' + extensions = ['sphinx_numfig'] + +# numfig: +number_figures = True +figure_caption_prefix = "Fig." + +source_suffix = '.rst' +master_doc = 'index' +pygments_style = 'sphinx' +html_use_index = False + +pdf_documents = [('index', u'OPNFV', u'OPNFV Project', u'OPNFV')] +pdf_fit_mode = "shrink" +pdf_stylesheets = ['sphinx','kerning','a4'] +#latex_domain_indices = False +#latex_use_modindex = False + +latex_elements = { + 'printindex': '', +} + +project = u'OPNFV: Template documentation config' +copyright = u'%s, OPNFV' % datetime.date.today().year +version = u'1.0.0' +release = u'1.0.0' diff --git a/docs/gap_analysis/etc/opnfv-logo.png b/docs/gap_analysis/etc/opnfv-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1519503eba764f7a00877b9b8bdbbd37fd3707c6 GIT binary patch literal 2829 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 While it is good to have a tool for the entire upgrade process, but it is a challenging task, so maybe we shouldn't require automation for the entire process right away. Automation is essential at execution. - + .. Maybe we can analysis information flows of the upgrade tool, abstract the basic / essential actions from the tool (or tools), and map them to a command set of NFVI / VIM's interfaces. @@ -25,4 +26,20 @@ NFVI. The requirements may apply to different NFV functions (NFVI, or VIM, or both of them). They will be classified in the Appendix of this -document. \ No newline at end of file +document. + +The objects being upgraded described in this document are software modules covered by +red box in the picture below which includes: VIM and NFVI. + +The target of the upgrade is to reduce the impact on the applications in the +blue box below as much as possible. + +Please keep in mind that the upgrade tool does not take Vi-Vnfm and Or-Vi into +consideration. In other words, these two interfaces may not provided service normally +during upgrade procedure. + + +.. figure:: images/figure1.png + :name: figure1 + :width: 100% + diff --git a/docs/requirements/102-Terminologies.rst b/docs/requirements/102-Terminologies.rst new file mode 100644 index 0000000..221196b --- /dev/null +++ b/docs/requirements/102-Terminologies.rst @@ -0,0 +1,129 @@ +=========== +Terminology +=========== + +Terminologies +============= + +Operator + The term refers to network service providers and Virtual Network + Function (VNF) providers. + +End-User + The term refers to a subscriber of the Operator's services. + +Network Service + The term refers to a service provided by an Operator to its + end-users using a set of (virtualized) Network Functions + +Infrastructure Services + The term refers to services provided by the NFV Infrastructure to the VNFs + as required by the Management & Orchestration functions and especially the VIM. + I.e. these are the virtual resources as perceived by the VNFs. + +Smooth Upgrade + The term refers to an upgrade that results in no service outage + for the end-users. + +Rolling Upgrade + The term refers to an upgrade strategy, which upgrades a node or a subset + of nodes at a time in a wave style rolling through the data centre. It + is a popular upgrade strategy to maintain service availability. + +Parallel Universe Upgrade + The term refers to an upgrade strategy, which creates and deploys + a new universe - a system with the new configuration - while the old + system continues running. The state of the old system is transferred + to the new system after sufficient testing of the new system. + +Infrastructure Resource Model + The term refers to the representation of infrastructure resources, + namely: the physical resources, the virtualization + facility resources and the virtual resources. + +Physical Resource + The term refers to a piece of hardware in the NFV infrastructure that may + also include firmware enabling this piece of hardware. + +Virtual Resource + The term refers to a resource, which is provided as services built on top + of the physical resources via the virtualization facilities; in particular, + virtual resources are the resources on which VNFs are deployed. Examples of + virtual resources are: VMs, virtual switches, virtual routers, virtual disks. + +Visualization Facility + The term refers to a resource that enables the creation + of virtual environments on top of the physical resources, e.g. + hypervisor, OpenStack, etc. + +Upgrade Campaign + The term refers to a choreography that describes how the upgrade should + be performed in terms of its targets (i.e. upgrade objects), the + steps/actions required of upgrading each, and the coordination of these + steps so that service availability can be maintained. It is an input to an + upgrade tool (Escalator) to carry out the upgrade. + +Upgrade Duration + The duration of an upgrade characterized by the time elapsed between its + initiation and its completion. E.g. from the moment the execution of an + upgrade campaign has started until it has been committed. Depending on + the upgrade strategy, the state of the configuration and the upgrade target + some parts of the system may be in a more vulnerable state with respect to + service availbility. + +Outage + The period of time during which a given service is not provided is referred + as the outage of that given service. If a subsystem or the entire system + does not provide any service, it is the outage of the given subsystem or the + system. Smooth upgrade means upgrade with no outage for the user plane, i.e. + no VNF should experience service outage. + +Rollback + The term refers to a failure handling strategy that reverts the changes + done by a potentially failed upgrade execution one by one in a reverse order. + I.e. it is like undoing the changes done by the upgrade. + +Backup + The term refers to data persisted to a storage, so that it can be used to + restore the system or a given part of it in the same state as it was when the + backup was created assuming a cold restart. Changes made to the system from + the moment the backup was created till the moment it is used to restore the + (sub)system are lost in the restoration process. + +Restore + The term refers to a failure handling strategy that reverts the changes + done, for example, by an upgrade by restoring the system from some backup + data. This results in the loss of any change and data persisted after the + backup was been taken. To recover those additional measures need to be taken + if necessary (e.g. rollforward). + +Rollforward + The term refers to a failure handling strategy applied after a restore + (from a backup) opertaion to recover any loss of data persisted between + the time the backup has been taken and the moment it is restored. Rollforward + requires that data that needs to survive the restore operation is logged at + a location not impacted by the restore so that it can be re-applied to the + system after its restoration from the backup. + +Downgrade + The term refers to an upgrade in which an earlier version of the software + is restored through the upgrade procedure. A system can be downgraded to any + earlier version and the compatibility of the versions will determine the + applicable upgrade strategies and whether service outage can be avoided. + In particular any data conversion needs special attention. + +Abbreviations +============= + +NFVI + The term is an abbreviation for Network Function Virtualization + Infrastructure; sometimes it is also referred as data plane in this + document. The NFVI provides the virtual resources to the virtual + network functions under the control of the VIM. + +VIM + The term is an abbreviation for Virtual Infrastructure Manager; + sometimes it is also referred as control plane in this document. + The VIM controls and manages the NFVI compute, network and storage + resources to provide the required virtual resources to the VNFs. + diff --git a/docs/requirements/103-Background.rst b/docs/requirements/103-Background.rst new file mode 100644 index 0000000..e21e310 --- /dev/null +++ b/docs/requirements/103-Background.rst @@ -0,0 +1,226 @@ +========== +Background +========== + +Upgrade Objects +=============== + +Physical Resource +^^^^^^^^^^^^^^^^^ + +Most cloud infrastructures support the dynamic addition and removal of +hardware. Accordingly a hardware upgrade could be done by adding the new +piece of hardware and removing the old one. From the persepctive of smooth +upgrade the orchestration/scheduling of these actions is the primary concern. + +Upgrading a physical resource may involve as well the upgrade of its firmware +and/or modifying its configuration data. This may require the restart of the +hardware. + +Virtual Resources +^^^^^^^^^^^^^^^^^ + +Addition and removal of virtual resources may be initiated by the users or be +a result of an elasticity action. Users may also request the upgrade of their +virtual resources using a new VM image. + +.. Needs to be moved to requirement section: Escalator should facilitate such an + option and allow for a smooth upgrade. + +On the other hand changes in the infrastructure, namely, in the hardware and/or +the virtualization facility resources may result in the upgrade of the virtual +resources. For example if by some reason the hypervisor is changed and +the current VMs cannot be migrated to the new hypervisor - they are +incompatible - then the VMs need to be upgraded too. This is not +something the NFVI user (i.e. VNFs ) would know about. + + +Virtualization Facility Resources +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Based on the functionality they provide, virtualization facility +resources could be divided into computing node, networking node, +storage node and management node. + +The possible upgrade objects in these nodes are considered below: +(Note: hardware based virtualization may be considered as virtualization +facility resource, but from escalator perspective, it is better to +consider it as part of the hardware upgrade. ) + +**Computing node** + +1. OS Kernel + +2. Hypvervisor and virtual switch + +3. Other kernel modules, like drivers + +4. User space software packages, like nova-compute agents and other + control plane programs. + +Updating 1 and 2 will cause the loss of virtualzation functionality of +the compute node, which may lead to the interruption of data plane services +if the virtual resource is not redudant. + +Updating 3 might have the same result. + +Updating 4 might lead to control plane services interruption if not an +HA deployment. + +.. I'm not sure why would 4 cause control plane interruption on a + compute node. My understanding is that simply the node cannot be managed. + Redundancy won't help in that either. + + +**Networking node** + +1. OS kernel, optional, not all switches/routers allow the upgrade their + OS since it is more like a firmware than a generic OS. + +2. User space software package, like neutron agents and other control + plane programs + +Updating 1 if allowed will cause a node reboot and therefore leads to +data plane service interruption if the virtual resource is not +redundant. + +Updating 2 might lead to control plane services interruption if not an +HA deployment. + +**Storage node** + +1. OS kernel, optional, not all storage nodes allow the upgrade their OS + since it is more like a firmware than a generic OS. + +2. Kernel modules + +3. User space software packages, control plane programs + +Updating 1 if allowed will cause a node reboot and therefore leads to +data plane services interruption if the virtual resource is not +redundant. + +Update 2 might result in the same. + +Updating 3 might lead to control plane services interruption if not an +HA deployment. + +**Management node** + +1. OS Kernel + +2. Kernel modules, like driver + +3. User space software packages, like database, message queue and + control plane programs. + +Updating 1 will cause a node reboot and therefore leads to control +plane services interruption if not an HA deployment. Updating 2 might +result in the same. + +Updating 3 might lead to control plane services interruption if not an +HA deployment. + +Upgrade Granularity +=================== + +The granularity of an upgrade can be characterized from two perspective: +- the physical dimension and +- the software dimension + +Physical Dimension +^^^^^^^^^^^^^^^^^^ + +The physical dimension characterizes the number of similar upgrade objects +targeted by the upgrade, i.e. whether it is full / partial upgrade of a +data centre, cluster, zone. +Because of the upgrade of a data centre or a zone, it may be divided into +several batches. Thus there is a need for efficiency in the execution of +upgrades of potentially huge number of upgrade objects while still maintain +availability to fulfill the requirement of smooth upgrade. + +The upgrade of a cloud environment (cluster) may also +be partial. For example, in one cloud environment running a number of +VNFs, we may just try to upgrade one of them to check the stability and +performance, before we upgrade all of them. +Thus there is a need for proper organization of the artifacts associated with +the different upgrade objects. Also the different versions should be able +to coextist beyond the upgrade period. + +From this perspective special attention may be needed when upgrading +objects that are collaborating in a redundancy schema as in this case +different versions not only need to coexist but also collaborate. This +puts requirement on the upgrade objects primarily. If this is not possible +the upgrade campaign should be designed in such a way that the proper +isolation is ensured. + +Software Dimension +^^^^^^^^^^^^^^^^^^ + +The software dimension of the upgrade characterizes the upgrade object +type targeted and the combination in which they are upgraded together. + +Even though the upgrade may +initially target only one type of upgrade object, e.g. the hypervisor +the dependency of other upgrade objects on this initial target object may +require their upgrade as well. I.e. the upgrades need to be combined. From this +perspective the main concern is compatibility of the dependent and +sponsor objects. To take into consideration of these dependencies +they need to be described together with the version compatility information. +Breaking dependencies is the major cause of outages during upgrades. + +In other cases it is more efficient to upgrade a combination of upgrade +objects than to do it one by one. One aspect of the combination is how +the upgrade packages can be combined, whether a new image can be created for +them before hand or the different packages can be installed during the upgrade +independently, but activated together. + +The combination of upgrade objects may span across +layers (e.g. software stack in the host and the VM of the VNF). +Thus, it may require additional coordination between the management layers. + +With respect to each upgrade object type and even stacks we can +distingush major and minor upgrades: + +**Major Upgrade** + +Upgrades between major releases may introducing significant changes in +function, configuration and data, such as the upgrade of OPNFV from +Arno to Brahmaputra. + +**Minor Upgrade** + +Upgrades inside one major releases which would not leads to changing +the structure of the platform and may not infect the schema of the +system data. + +Scope of Impact +=============== + +Considering availability and therefore smooth upgrade, one of the major +concerns is the predictability and control of the outcome of the different +upgrade operations. Ideally an upgrade can be performed without impacting any +entity in the system, which means none of the operations change or potentially +change the behaviour of any entity in the system in an uncotrolled manner. +Accordingly the operations of such an upgrade can be performed any time while +the system is running, while all the entities are online. No entity needs to be +taken offline to avoid such adverse effects. Hence such upgrade operations +are referred as online operations. The effects of the upgrade might be activated +next time it is used, or may require a special activation action such as a +restart. Note that the activation action provides more control and predictability. + +If an entity's behavior in the system may change due to the upgrade it may +be better to take it offline for the time of the relevant upgrade operations. +The main question is however considering the hosting relation of an upgrade +object what hosted entities are impacted. Accordingly we can identify a scope +which is impacted by taking the given upgrade object offline. The entities +that are in the scope of impact may need to be taken offline or moved out of +this scope i.e. migrated. + +If the impacted entity is in a different layer managed by another manager +this may require coordination because taking out of service some +infrastructure resources for the time of their upgrade which support virtual +resources used by VNFs that should not experience outages. The hosted VNFs +may or may not allow for the hot migration of their VMs. In case of migration +the VMs placement policy should be considered. + diff --git a/docs/requirements/104-Requirements.rst b/docs/requirements/104-Requirements.rst new file mode 100644 index 0000000..b6e7f57 --- /dev/null +++ b/docs/requirements/104-Requirements.rst @@ -0,0 +1,478 @@ +============ +Requirements +============ + +Upgrade duration +================ + +As the OPNFV end-users are primarily Telecom operators, the network +services provided by the VNFs deployed on the NFVI should meet the +requirement of 'Carrier Grade'.:: + + In telecommunication, a "carrier grade" or"carrier class" refers to a + system, or a hardware or software component that is extremely reliable, + well tested and proven in its capabilities. Carrier grade systems are + tested and engineered to meet or exceed "five nines" high availability + standards, and provide very fast fault recovery through redundancy + (normally less than 50 milliseconds). [from wikipedia.org] + +"five nines" means working all the time in ONE YEAR except 5'15". + +:: + + We have learnt that a well prepared upgrade of OpenStack needs 10 + minutes. The major time slot in the outage time is used spent on + synchronizing the database. [from ' Ten minutes OpenStack Upgrade? Done! + ' by Symantec] + +This 10 minutes of downtime of the OpenStack services however did not impact the +users, i.e. the VMs running on the compute nodes. This was the outage of +the control plane only. On the other hand with respect to the +preparations this was a manually tailored upgrade specific to the +particular deployment and the versions of each OpenStack service. + +The project targets to achieve a more generic methodology, which however +requires that the upgrade objects fulfil certain requirements. Since +this is only possible on the long run we target first the upgrade +of the different VIM services from version to version. + +**Questions:** + +1. Can we manage to upgrade OPNFV in only 5 minutes? + +.. The first question is whether we have the same carrier grade + requirement on the control plane as on the user plane. I.e. how + much control plane outage we can/willing to tolerate? + In the above case probably if the database is only half of the size + we can do the upgrade in 5 minutes, but is that good? It also means + that if the database is twice as much then the outage is 20 + minutes. + For the user plane we should go for less as with two release yearly + that means 10 minutes outage per year. + +.. 10 minutes outage per year to the users? Plus, if we take + control plane into the consideration, then total outage will be + more than 10 minute in whole network, right? + +.. The control plane outage does not have to cause outage to + the users, but it may of course depending on the size of the system + as it's more likely that there's a failure that needs to be handled + by the control plane. + +2. Is it acceptable for end users ? Such as a planed service + interruption will lasting more than ten minutes for software + upgrade. + +.. For user plane, no it's not acceptable in case of + carrier-grade. The 5' 15" downtime should include unplanned and + planned downtimes. + +.. I go agree with Maria, it is not acceptable. + +3. Will any VNFs still working well when VIM is down? + +.. In case of OpenStack it seems yes. .:) + +The maximum duration of an upgrade +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The duration of an upgrade is related to and proportional with the +scale and the complexity of the OPNFV platform as well as the +granularity (in function and in space) of the upgrade. + +.. Also, if is a partial upgrade like module upgrade, it depends + also on the OPNFV modules and their tight connection entities as well. + +.. Since the maintenance window is shrinking and becoming non-existent + the duration of the upgrade is secondary to the requirement of smooth upgrade. + But probably we want to be able to put a time constraint on each upgrade + during which it must complete otherwise it is considered failed and the system + should be rolled back. I.e. in case of automatic execution it might not be clear + if an upgrade is long or just hanging. The time constraints may be a function + of the size of the system in terms of the upgrade object(s). + +The maximum duration of a roll back when an upgrade is failed +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The duration of a roll back is short than the corresponding upgrade. It +depends on the duration of restore the software and configure data from +pre-upgrade backup / snapshot. + +.. During the upgrade process two types of failure may happen: + In case we can recover from the failure by undoing the upgrade + actions it is possible to roll back the already executed part of the + upgrade in graceful manner introducing no more service outage than + what was introduced during the upgrade. Such a graceful roll back + requires typically the same amount of time as the executed portion of + the upgrade and impose minimal state/data loss. + +.. Requirement: It should be possible to roll back gracefully the + failed upgrade of stateful services of the control plane. + In case we cannot recover from the failure by just undoing the + upgrade actions, we have to restore the upgraded entities from their + backed up state. In other terms the system falls back to an earlier + state, which is typically a faster recovery procedure than graceful + roll back and depending on the statefulness of the entities involved it + may result in significant state/data loss. + +.. Two possible types of failures can happen during an upgrade + +.. We can recover from the failure that occurred in the upgrade process: + In this case, a graceful rolling back of the executed part of the + upgrade may be possible which would "undo" the executed part in a + similar fashion. Thus, such a roll back introduces no more service + outage during an upgrade than the executed part introduced. This + process typically requires the same amount of time as the executed + portion of the upgrade and impose minimal state/data loss. + +.. We cannot recover from the failure that occurred in the upgrade + process: In this case, the system needs to fall back to an earlier + consistent state by reloading this backed-up state. This is typically + a faster recovery procedure than the graceful roll back, but can cause + state/data loss. The state/data loss usually depends on the + statefulness of the entities whose state is restored from the backup. + +The maximum duration of a VNF interruption (Service outage) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Since not the entire process of a smooth upgrade will affect the VNFs, +the duration of the VNF interruption may be shorter than the duration +of the upgrade. In some cases, the VNF running without the control +from of the VIM is acceptable. + +.. Should require explicitly that the NFVI should be able to + provide its services to the VNFs independent of the control plane? + +.. Requirement: The upgrade of the control plane must not cause + interruption of the NFVI services provided to the VNFs. + +.. With respect to carrier-grade the yearly service outage of the + VNF should not exceed 5' 15" regardless whether it is planned or + unplanned outage. Considering the HA requirements TL-9000 requires an + end-to-end service recovery time of 15 seconds based on which the ETSI + GS NFV-REL 001 V1.1.1 (2015-01) document defines three service + availability levels (SAL). The proposed example service recovery times + for these levels are: + +.. SAL1: 5-6 seconds + +.. SAL2: 10-15 seconds + +.. SAL3: 20-25 seconds + +.. my comment was actually that the downtime metrics of the + underlying elements, components and services are small fraction of the + total E2E service availability time. No-one on the E2E service path + will get the whole downtime allocation (in this context it includes + upgrade process related outages for the services provided by VIM etc. + elements that are subject to upgrade process). + +.. So what you are saying is that the upgrade of any entity + (component, service) shouldn't cause even this much service + interruption. This was the reason I brought these figures here as well + that they are posing some kind of upper-upper boundary. Ideally the + interruption is in the millisecond range i.e. no more than a + switch-over or a live migration. + +.. Requirement: Any interruption caused to the VNF by the upgrade + of the NFVI should be in the sub-second range. + +.. In the future we also need to consider the upgrade of the NFVI, + i.e. HW, firmware, hypervisors, host OS etc. + +Pre-upgrading Environment +========================= + +System is running normally. If there are any faults before the upgrade, +it is difficult to distinguish between upgrade introduced and the environment +itself. + +The environment should have the redundant resources. Because the upgrade +process is based on the business migration, in the absence of resource +redundancy,it is impossible to realize the business migration, as well as to +achieve a smooth upgrade. + +Resource redundancy in two levels: + +NFVI level: This level is mainly the compute nodes resource redundancy. +During the upgrade, the virtual machine on business can be migrated to another +free compute node. + +VNF level: This level depends on HA mechanism in VNF, such as: +active-standby, load balance. In this case, as long as business of the target +node on VMs is migrated to other free nodes, the migration of VM might not be +necessary. + +The way of redundancy to be used is subject to the specific environment. +Generally speaking, During the upgrade, the VNF's service level availability +mechanism should be used in higher priority than the NFVI's. This will help +us to reduce the service outage. + +Release version of software components +====================================== + +This is primarily a compatibility requirement. You can refer to Linux/Python +Compatible Semantic Versioning 3.0.0: + +Given a version number MAJOR.MINOR.PATCH, increment the: + +MAJOR version when you make incompatible API changes, + +MINOR version when you add functionality in a backwards-compatible manner, + +PATCH version when you make backwards-compatible bug fixes. + +Some internal interfaces of OpenStack will be used by Escalator indirectly, +such as VM migration related interface between VIM and NFVI. So it is required +to be backward compatible on these interfaces. Refer to "Interface" chapter +for details. + +Work Flows +========== + +Describes the different types of requirements. To have a table to label the source of +the requirements, e.g. Doctor, Multi-site, etc. + +Basic Actions +============= + +This section describes the basic functions may required by Escalator. + +Preparation (offline) +^^^^^^^^^^^^^^^^^^^^^ + +This is the design phase when the upgrade plan (or upgrade campaign) is +being designed so that it can be executed automatically with minimal +service outage. It may include the following work: + +1. Check the dependencies of the software modules and their impact, + backward compatibilities to figure out the appropriate upgrade method + and ordering. +2. Find out if a rolling upgrade could be planned with several rolling + steps to avoid any service outage due to the upgrade some + parts/services at the same time. +3. Collect the proper version files and check the integration for + upgrading. +4. The preparation step should produce an output (i.e. upgrade + campaign/plan), which is executable automatically in an NFV Framework + and which can be validated before execution. + + - The upgrade campaign should not be referring to scalable entities + directly, but allow for adaptation to the system configuration and + state at any given moment. + - The upgrade campaign should describe the ordering of the upgrade + of different entities so that dependencies, redundancies can be + maintained during the upgrade execution + - The upgrade campaign should provide information about the + applicable recovery procedures and their ordering. + - The upgrade campaign should consider information about the + verification/testing procedures to be performed during the upgrade + so that upgrade failures can be detected as soon as possible and + the appropriate recovery procedure can be identified and applied. + - The upgrade campaign should provide information on the expected + execution time so that hanging execution can be identified + - The upgrade campaign should indicate any point in the upgrade when + coordination with the users (VNFs) is required. + +.. Depends on the attributes of the object being upgraded, the + upgrade plan may be slitted into step(s) and/or sub-plan(s), and even + more small sub-plans in design phase. The plan(s) or sub-plan(s) my + include step(s) or sub-plan(s). + +Validation the upgrade plan / Checking the pre-requisites of System( offline / online) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The upgrade plan should be validated before the execution by testing +it in a test environment which is similar to the product environment. + +.. However it could also mean that we can identify some properties + that it should satisfy e.g. what operations can or cannot be executed + simultaneously like never take out two VMs of the same VNF. + +.. Another question is if it requires that the system is in a particular + state when the upgrade is applied. I.e. if there's certain amount of + redundancy in the system, migration is enabled for VMs, when the NFVI + is upgraded the VIM is healthy, when the VIM is upgraded the NFVI is + healthy, etc. + +.. I'm not sure what online validation means: Is it the validation of the + upgrade plan/campaign or the validation of the system that it is in a + state that the upgrade can be performed without too much risk?== + +Before the upgrade plan being executed, the system healthy of the +online product environment should be checked and confirmed to satisfy +the requirements which were described in the upgrade plan. The +sysinfo, e.g. which included system alarms, performance statistics and +diagnostic logs, will be collected and analogized. It is required to +resolve all of the system faults or exclude the unhealthy part before +executing the upgrade plan. + + +Backup/Snapshot (online) +^^^^^^^^^^^^^^^^^^^^^^^^ + +For avoid loss of data when a unsuccessful upgrade was encountered, the +data should be back-upped and the system state snapshot should be taken +before the execution of upgrade plan. This would be considered in the +upgrade plan. + +Several backups/Snapshots may be generated and stored before the single +steps of changes. The following data/files are required to be +considered: + +1. running version files for each node. +2. system components' configuration file and database. +3. image and storage, if it is necessary. + +.. Does 3 imply VNF image and storage? I.e. VNF state and data?== + +.. The following text is derived from previous "4. Negotiate + with the VNF if it's ready for the upgrade" + +Although the upper layer, which include VNFs and VNFMs, is out of the +scope of Escalator, but it is still recommended to let it ready for a +smooth system upgrade. The escalator could not guarantee the safe of +VNFs. The upper layer should have some safe guard mechanism in design, +and ready for avoiding failure in system upgrade. + +Execution (online) +^^^^^^^^^^^^^^^^^^ + +The execution of upgrade plan should be a dynamical procedure which is + controlled by Escalator. + +.. Revised text to be general.== + +1. It is required to supporting execution ether in sequence or in + parallel. +2. It is required to check the result of the execution and take the + action according the situation and the policies in the upgrade plan. +3. It is required to execute properly on various configurations of + system object. I.e. stand-alone, HA, etc. +4. It is required to execute on the designated different parts of the + system. I.e. physical server, virtualized server, rack, chassis, + cluster, even different geographical places. + +Testing (online) +^^^^^^^^^^^^^^^^ + +The testing after upgrade the whole system or parts of system to make +sure the upgraded system(object) is working normally. + +.. Revised text to be general. + +1. It is recommended to run the prepared test cases to see if the + functionalities are available without any problem. +2. It is recommended to check the sysinfo, e.g. system alarms, + performance statistics and diagnostic logs to see if there are any + abnormal. + +Restore/Roll-back (online) +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When upgrade is failure unfortunately, a quick system restore or system +roll-back should be taken to recovery the system and the services. + +.. Revised text to be general. + +1. It is recommend to support system restore from backup when upgrade + was failed. +2. It is recommend to support graceful roll-back with reverse order + steps if possible. + +Monitoring (online) +^^^^^^^^^^^^^^^^^^^ + +Escalator should continually monitor the process of upgrade. It is +keeping update status of each module, each node, each cluster into a +status table during upgrade. + +.. Revised text to be general. + +1. It is required to collect the status of every objects being upgraded + and sending abnormal alarms during the upgrade. +2. It is recommend to reuse the existing monitoring system, like alarm. +3. It is recommend to support pro-actively query. +4. It is recommend to support passively wait for notification. + +**Two possible ways for monitoring:** + +**Pro-Actively Query** requires NFVI/VIM provides proper API or CLI +interface. If Escalator serves as a service, it should pass on these +interfaces. + +**Passively Wait for Notification** requires Escalator provides +callback interface, which could be used by NFVI/VIM systems or upgrade +agent to send back notification. + +.. I am not sure why not to subscribe the notification. + +Logging (online) +^^^^^^^^^^^^^^^^ + +Record the information generated by escalator into log files. The log +file is used for manual diagnostic of exceptions. + +1. It is required to support logging. +2. It is recommended to include time stamp, object id, action name, + error code, etc. + +Administrative Control (online) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Administrative Control is used for control the privilege to start any +escalator's actions for avoiding unauthorized operations. + +#. It is required to support administrative control mechanism +#. It is recommend to reuse the system's own secure system. +#. It is required to avoid conflicts when the system's own secure system + being upgraded. + +Requirements on Object being upgraded +===================================== + +.. We can develop BPs in future from requirements of this section and + gap analysis for upper stream projects + +Escalator focus on smooth upgrade. In practical implementation, it +might be combined with installer/deplorer, or act as an independent +tool/service. In either way, it requires targeting systems(NFVI and +VIM) are developed/deployed in a way that Escalator could perform +upgrade on them. + +On NFVI system, live-migration is likely used to maintain availability +because OPNFV would like to make HA transparent from end user. This +requires VIM system being able to put compute node into maintenance mode +and then isolated from normal service. Otherwise, new NFVI instances +might risk at being schedule into the upgrading node. + +On VIM system, availability is likely achieved by redundancy. This +impose less requirements on system/services being upgrade (see PVA +comments in early version). However, there should be a way to put the +target system into standby mode. Because starting upgrade on the +master node in a cluster is likely a bad idea. + +.. Revised text to be general. + +1. It is required for NFVI/VIM to support **service handover** mechanism + that minimize interruption to 0.001%(i.e. 99.999% service + availability). Possible implementations are live-migration, redundant + deployment, etc, (Note: for VIM, interruption could be less + restrictive) + +2. It is required for NFVI/VIM to restore the early version in a efficient + way, such as **snapshot**. + +3. It is required for NFVI/VIM to **migration data** efficiently between + base and upgraded system. + +4. It is recommend for NFV/VIM's interface to support upgrade + orchestration, e.g. reading/setting system state. + +Functional Requirements +======================= + +Availability mechanism, etc. + +Non-functional Requirements +=========================== diff --git a/docs/04-Use_Cases_and_Scenarios.rst b/docs/requirements/105-Use_Cases.rst similarity index 94% rename from docs/04-Use_Cases_and_Scenarios.rst rename to docs/requirements/105-Use_Cases.rst index ee9b488..9f13110 100644 --- a/docs/04-Use_Cases_and_Scenarios.rst +++ b/docs/requirements/105-Use_Cases.rst @@ -1,30 +1,33 @@ -Use Cases and Scenarios ------------------------ +========= +Use Cases +========= -This section describes the use cases and scenarios to verify the -requirements of Escalator. +This section describes the use cases in different system configuration +to verify the requirements of Escalator. -Scenarios -~~~~~~~~~ -1. Upgrade a system with HA configuration -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +System Configurations +===================== + +HA configuration +^^^^^^^^^^^^^^^^ A HA configuration system is very popular in the operator's data centre. It is a typical product environment. It is always running 7\*24 with VNFs running on it to provide services to the end users. -2. Upgrade a system with non-HA configuration -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Non-HA configuration +^^^^^^^^^^^^^^^^^^^^ A non-HA configuration system is normally deployed for experimental or development usages, such as a Vagrant/VM environment. -Escalator supports the upgrade in this scenario, but it does not guarantee a -smooth upgrade. +Escalator supports the upgrade system in this configuration, but it may +not guarantee a smooth upgrade. Use cases -~~~~~~~~~ +========= + Use case #1: Smooth upgrade in a HA configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For a system with HA configuration, the operator can use Escalator to @@ -208,4 +211,3 @@ case,the roll-back may result in service outage. - Post-Conditions 1. The system is rolled-back successfully when the upgrade failed. - diff --git a/docs/09-Reference.rst b/docs/requirements/106-Reference.rst similarity index 95% rename from docs/09-Reference.rst rename to docs/requirements/106-Reference.rst index 0b5ff17..ff087fa 100644 --- a/docs/09-Reference.rst +++ b/docs/requirements/106-Reference.rst @@ -1,5 +1,6 @@ +========= Reference ---------- +========= [1] ETSI GS NFV 002 (V1.1.1): “Architectural Framework” diff --git a/docs/08-Requirements_from_other_OPNFV_Project.rst b/docs/requirements/1A1-Requirements_from_other_Projects.rst similarity index 71% rename from docs/08-Requirements_from_other_OPNFV_Project.rst rename to docs/requirements/1A1-Requirements_from_other_Projects.rst index 62e611f..a62405d 100644 --- a/docs/08-Requirements_from_other_OPNFV_Project.rst +++ b/docs/requirements/1A1-Requirements_from_other_Projects.rst @@ -1,20 +1,14 @@ -Requirements from other OPNFV projects --------------------------------------- - -We have created a questionnaire_ for collecting other projects requirements. -Please advertise it. - -.. _questionnaire: https://docs.google.com/forms/d/11o1mt15zcq0WBtXYK0n6lKF8XuIzQTwvv8ePTjmcoF0/viewform?usp=send_form - - +================================ +Requirements from other Projects +================================ Doctor Project -~~~~~~~~~~~~~~ +============== .. This scenario could be out of scope in Escalator project, but having the option to support this should be better to align with Doctor requirements. - + The scope of Doctor project also covers maintenance scenario in which 1. The VIM administrator requests host maintenance to VIM. @@ -31,10 +25,10 @@ The scope of Doctor project also covers maintenance scenario in which maintenance" message from the owner (VNFM) HA Project -~~~~~~~~~~ +========== Multi-site Project -~~~~~~~~~~~~~~~~~~ +================== - Escalator upgrade one site should at least not lead to the other site API token validation failed. diff --git a/docs/requirements/1A2-Questionnaire_of_Escalator.rst b/docs/requirements/1A2-Questionnaire_of_Escalator.rst new file mode 100644 index 0000000..c92a391 --- /dev/null +++ b/docs/requirements/1A2-Questionnaire_of_Escalator.rst @@ -0,0 +1,11 @@ +========================== +Questionnaire of Escalator +========================== + +A Questionnaire was created for collecting requirements from other projects. + +Escalator Questionnaire: +https://wiki.opnfv.org/_media/wiki/opnfv_escalator_questionnaire_20150723.pptx + +Answer the questionnaire: https://docs.google.com/forms/d/11o1mt15zcq0WBtXYK0n6lKF8XuIzQTwvv8ePTjmcoF0/viewform?usp=send_form + diff --git a/docs/requirements/300-Gap_Analysis_Report.rst b/docs/requirements/300-Gap_Analysis_Report.rst new file mode 100644 index 0000000..1f1d3fe --- /dev/null +++ b/docs/requirements/300-Gap_Analysis_Report.rst @@ -0,0 +1,50 @@ +=================== +Gap Analysis Report +=================== + +Impact Analysis +=============== + +Upgrading the different software modules may cause different impact on +the availability of the infrastructure resources and even on the service +continuity of the vNFs. + +**Software modules in the computing nodes** + +#. Host OS patch + +#. Hypervisor, such as KVM, QEMU, XEN, libvirt +#. Openstack agent in computing nodes (like Nova agent, Ceilometer + agent...) + +.. As SW module, we should list the host OS and maybe its + drivers as well. From upgrade perspective do we limit host OS + upgrades to patches only? + +**Software modules in network nodes** + +#. Neutron L2/L3 agent +#. OVS, SR-IOV Driver + +**Software modules storage nodes** + +#. Ceph + +The table below analyses such an impact - considering a single instance +of each software module - from the following aspects: + +- the function which will be lost during upgrade, +- the duration of the loss of this specific function, +- if this causes the loss of the vNF function, +- if it causes incompatibility in the different parts of the software, +- what should be backed up before the upgrade, +- the duration of restoration time if the upgrade fails + +These values provided come from internal testing and based on some +assumptions, they may vary depending on the deployment techniques. +Please feel free to add if you find more efficient values during your +testing. + +https://wiki.opnfv.org/_media/upgrade_analysis_v0.5.xlsx + +Note that no redundancy of the software modules is considered in the table. diff --git a/docs/requirements/etc/conf.py b/docs/requirements/etc/conf.py new file mode 100644 index 0000000..0066035 --- /dev/null +++ b/docs/requirements/etc/conf.py @@ -0,0 +1,34 @@ +import datetime +import sys +import os + +try: + __import__('imp').find_module('sphinx.ext.numfig') + extensions = ['sphinx.ext.numfig'] +except ImportError: + # 'pip install sphinx_numfig' + extensions = ['sphinx_numfig'] + +# numfig: +number_figures = True +figure_caption_prefix = "Fig." + +source_suffix = '.rst' +master_doc = 'index' +pygments_style = 'sphinx' +html_use_index = False + +pdf_documents = [('index', u'OPNFV', u'OPNFV Project', u'OPNFV')] +pdf_fit_mode = "shrink" +pdf_stylesheets = ['sphinx','kerning','a4'] +#latex_domain_indices = False +#latex_use_modindex = False + +latex_elements = { + 'printindex': '', +} + +project = u'OPNFV: Template documentation config' +copyright = u'%s, OPNFV' % datetime.date.today().year +version = u'1.0.0' +release = u'1.0.0' diff --git a/docs/requirements/etc/opnfv-logo.png b/docs/requirements/etc/opnfv-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1519503eba764f7a00877b9b8bdbbd37fd3707c6 GIT binary patch literal 2829 zcmV+o3-a`dP)3)28sjxMC?FF++Bq$U6w!I|Q zuDk75d^``ll?O5~(CmjEDa)%lO*g>n_g{0#>mC}Gzk+T4rzf9>j53xroI0y~C_9nZ zRT`GLg0kl=wSC&o>6~=+jNzR71<#dp4To_2s0>t*!h`9cI?8$fX~Qs`rR1m400P?y z90%)qtm)id4ONiKpFsI}ZSK@iJ|1rbWk*!DU!d(zDwO-{0ftjgEE_w%;rV)uW5>yH z_exeI%QmujpMCMW4sNM^@?x)fLqOrhd{$9sTgQ`d%yCO<1Iu4R`O_B4UJp!A_62MX zv+dC{T~-}GLx+x;{ijz!sH5z=g`on8=PSHb0@Q#SaG3%t>jDJstyjW^fI6$;(C9VJ zM0+-BvHTu^?J(N@qDGm&V(fERuzosQRFSAa>*vWrfXJ0P?>aF7?>Ukt-*BC%M;idD zR})ZIu_ASxwrtR%$Ly%uwx-ywh|=kCy{aTtUB<3KB~XF4LO2cx3OQ&Lq?yxFVUVVp z0PEI0KSd4M#7I7+3(=OHPzP?sW6{8s*)F2yL=?p|oPJ~?`#D}}PV%!7PnCdm2ZMFk zW>V&_r_iP-9Vh7N0H%W`WFN{S(M)#H$rw-?2dl-hr#TA2Yp8sVw>mO79!D;2$j(C9 zzXy*$kkgBc&!cDaj~~4?%jjHLfvo_Dkm|Ke`S>rtaK&a?_58uB@A@?~_QQr_jA4r% zdo6L~(X+|q1$xR6wDO0o6BtGDy;|9Z8x6|M}356(@zSPXM%I z0Lusl0BW2ws#XdW$sw*J3o5uE4yIuhY3{5zlq-KbOpogcel|5sNqChP?l1?Huz=hO z3SQz!l7IoUeXMDtEbxn7>nNR~-uQD!D>F?@CkV2w46eFk7TlE;cNI&vfdHD!z_ z;-^n$4()d+RT3Nj{MYwKT=-mO$Li`vcN)ExjLy|D=p^S*?wC11I3%$KjPkiq9dic& zD1XFAINVJI`no{?+x)D;i*#V%#b0@^6+U-r5gc9;H_K&CRFHYaqspI@xpfrruA!jPbh-F;K8f!CJmzV zLU^o+ux2fL(BTYxUP&*N3GW6};H`XywCO?Ilt`dZ<@y1lkihEFYh6s!Cok30j1p@| zA*PCL7qX^OJS8L`Cu6zNLM4H9hooAZa`}@)!U0$bFcXy=K$sXnq37#@mx`sb0!4-h zfeLNEv8FIi;>F96e%vf)rl-oBrvk7d@g%V6_BVf7| zS9#?9)}X;>(XRIvx@+2+Chn!X=v9g*FSX8@n+oz`TlVDdw|;)?Qi7qA@?Piv_~kSp zz&N9Wpt$LZ@;^pTT&l=jY6Ntv!S~(!0Ta?)fhieeICo6MH?;1D1P$l8DC}dpX`5a~ zALHCbvB>*ip9$1haUlorIZDD~fXnDY0!+y*J);b_d;*^%R6~F(+Hr^uC68UD{MqKZ zyQ#Xn1?sk9Ky^fF%h*#DhDrm}69BE&;9s04v@Bh*TZP#G|!E+Ltr=`%PvYj2Zzz=`e#qSKRysVIIQ8#7S=4&P4ul z16;dqQw`0;M;E8cz{eLz0YHF%!Pmr+uvP zEG{6yZ@RHP70GX%dWv-m-sHwqFa7pYIh`H<7f$Y9Kl$`$%G98dx#an({(_lPu>y#%;AjQuVEuIY|;4s81w z#Z9+x0(6IfO6rah*C;7Q>2IAZ=A_a?j=YvVm5$`A=Xk(NjTP=x_bf}^Nv%B}fOYWx z-+$w4&SwN*t#-g;MKm(5?=ac1cqys-LMUztGL*=J3S^`(fvTgaU|;f5s$9OWDi9=I z1mFZYUJgA`4`A^D8XT2Wv*9PAp~W{FPBzFLX_p|XyY7n$pqd*&g_%8ysUC{WH7f9A z{3JO6UdmNy&)G-!?s6LASmZx|h}zZ%u#N#NN6`>B>G!PgVok2wT@V%84C-F@)68XM zGW#x-jYI{2;|u+SY#vZP0L5w;Oh|yY!hN&Wg1h=3z#0Nr=i>Rt>A6e%UKe}1!$6_^ zyY2!|KE8hcHS9CJx}hwxL|L2>K%N3nzR5u_jZQK!y-@we@hOeIt`Go*-YJIn>X1b) zcSps7k=C}`RwbZX)CLv6gAir@0^=XP_$PXk@XgyVD}%}x-+6=`IL7!&&~sY=n5Ri( zAYfsMQAU@D!Ifo|}iQURGX*Df~iL*>ymsNDu7Cs_;TR&=~wSP z9+T$^YHUmnj8!iS9oRm+UBb=MKy;;sk-xOF8-RYdS%B~4aLpauf1?pPG zRovzD3f;9+c%BL+9>i4$h%21{H=dY~eDumzpn~LuFa55oXP~o9(&iJ!@#?aOQNC#m ze6EpDkzx5k3v5joGO*Bjy-?cN&u3!2Jiv< zUQJQF>Od{QwS=mM^Nzgu!qz8yW6A3fK`{y zrPjy&8uy_+7mDdq@+$+oU&6m%{uUk~Kb?KL$p@Yw79~NOh)fUnpO4-X+92q!l>c$% z`FC_KI4+X)66*=PU>Ry0c?8`5d^{}($>aa`+uz>`LDVFN>R6@%V*m428EUI0VWj_k zZv=U8Direu=H2=K9GKV_AsHI~fG-d8Kkp`X1+M=8_u~A2?9d+6+w-{J^LUogb3f@6 zaDM#scw9a7v=sQTbR78PyW#tI@hq;{&O>k+Q*>+Qh%kwE1+>4Dq(^J%5sC-H|}HG;b9>8E=&_lF%habBu< z!@{uP#?0uAha=Cxhka8)lQU}k%vcX>5Y6geFXWa$E{GDp-@>ZxIBNf%ApW>lSv#y0 zJxl{J1>SJus{1O}bKM)bF4S-q&gHiSJSyXCJBI6V=7X5qg0^ng)5Ed&-9e*M*X5$` z(dQ8=ISTjrpBbi)fNAiCqFfW9WKNx@nHKRkfK{r(7V{uO`HvT+YOhWQ=hVcz4ol@D zVC^z_YrFoe{Lb@rlqj2p!B}rnxoHi&YXxRxx9ZS}_-OicyQDCuc>aZN+HVt{ihDe- zaY|&OF5uXAgU#2ATU+dIdD`*w&vZF*moVv3YKe=@P%OvBNr7L})chr<0`w3E@>zE7 ze|N{*9USUM8M~Pz-JaV8A|q#54_xDZ>M#MeR?kC71uMlA6#K!e>-<=Mpu)Z9FIM2}8$@!xjOP@LOgNz$pG> zN+zyHpMR^S(ya$RJt%R0{{Rz zNgr0g$?C>q3t#BPvH!8J=Za0K?{QbFP>S2v3a)_Dmc@BY0Y~yHca30h;axE!DYv)&8)#~A+D`h>0OKBg{*{F`VUrfI?lz}F z-+-v#f7P+^8koWBKVL0m?*dLjsr-)K=MU&md2I$G0;W0cx&rydnBqWIoq8T}-cQ*) zG&DN_i&6=vYv}OuXH!6}1nt05=dYLN)8bEp-KTL`&dLmKIUr(v9o6N<{;9?kHM$F8 zy-6|EFRBubLe7g(>~l9;Z}M;Fc_-N4|45Q+$>ZOl#NMyzzTGo@*wZa_QZqz)-VnzP z6P%()Z5G*%W3jomY$NmSJ4G??<_WV0yQ*br=?6E7NaK914|hUB`NTk$5x_F9z%karf+6%clv|pZuf=?HYSt z=h+(vd-;PtMfRGjO-6SMhU#j8GX$qHZx#p$2o8ab(epU}M$OD?hyCNe3<#~ueaYA} ziXlC7^pp6X`UDblT+im6m~>Hl@Cz1udV!sa0Ko3@J2r3Siir=8I*z-~r$osRoA*1M zq8Xv@ywAp%;#hjonh}tgCe^DxBxVwu$od}Cj~LihyI-w&vMqlNHWp6&AW>EVPUbQ@ z^4 z5}><}(|*6=MUQ&Hx_V}a?5w12!15(R31icX=!H4`VZI#!`;;KQ|FI--SCd;J0#p3n z*@zyDu>O9pyi`%x=E|8-5erGjmEGy$n(E&`MecD1`IFM zp2s^Be_;#I zDG=YwiQj6RS;$hjj?#SPEC2LjpGZWOm!r?b_mBZC8bVZ77_eLGB=GfZsQ;g3q}N55 z!8hd(v3yg=M=>;8)=Q>=uama=kf_)vS|1;;eeVuiOTVK2juTixK1cJ29CHAI=KCpO zCI^i0##y$Y5Y|V}Sp_ByL};e})tW9>4lMuK)(0w`5P?xC4w(#h8e}TRYSWp5ZuZ)9 z7#1(PdW~+%u08GA*)yrJPh~_EmaS|xZM2|BOHn8Fmxb0vxju!2&899x1QKE=z3>ke zNoPg#$6h0%V2T20X|6|B^5yHSLH@Y@rh0gaepasAGEW#mkJLJ|ZT_G4LHl%9PCj$l zpIjWF;ngiG<59@Fa_=vdRy%%=XykYz#+tFcjNv@BQ|0TeVn~X zpXlVp`?9yw)<>%=FsU4n>?(h&J#u$1Fs0?syYdlxeB*ERF-!of_<{J-`kaW@p`B?5 zuu>7EF#XVRaDvz^I1A?bgJm1_ce4IQIKB!*AP=ndqjAMDU*oRHm?y@T&(q@IyS|*2 zyV$v`4eSyKyJfs#PJ>V8Qx3mQ_nOW?aP`6sIB=SkR3_4vHPtHYL*_gsOaDB^n618w z@sWYB`D~o+Zhhlm+EN3bGn}sbvf2p)g(@#>wJ@8x#N#$HvCv#kBehC9@^My)EAD6q z?IZIG0l+;9JY{^o3h*a#t7!868cbEWI(53&=1o>Yf*G%}WqKT3O{_*F)Pq6M5jAn& zEzaQVIB1xqHmOcNnCZ~7&UHU=E$%wcJvOo_PMfjAw!xa+rK2p7fG?C_S3%hkD`YRK zau!eOzx_H4UNFDDSW&}U$cPe#%8`EYu?1h;#yRaSA^uGjcOjU> z+M;MIxf=9kQ!S7J{UU@AcCa67INd_-rs;@YzT%JC5a$5AbQ}HCJZ6$b+ zWMHF$+ZjesL@b0NIo>%d+Dw#^y=g{@oBYHIC_#g;)CIWyO|k_}$eRw5Q8T=*DsD)v z)F+Lnc-I6zal{ho68$<5OZXOc+5yh+q+P}d6IUEI>U04WJ5Is5kYbE zG1pWVZXY%i<0!h&OlkdypMX3Wl~0rF<>3rgesFN|CA%r=Nt$Tm;ldY2tx7aDrhDvWcX6T zdUE)3$+Tx?SO7^r1Qr}p4yDSX5Wx-LZE*QY{DX<)kUBxNh2!rkgc=u;INnJNgWiHV<*?-kMNh{&cC5Kq-sb-(;oN|V;^P&2 zY{VVnC=J0eaQbct8JfO+GF0_~Qep`Buu|j-NGK=R zL`9+@dYvhM>ckYQG&}JM`wF3qPi%5jNv}R34Plw_jbLV`gCc_PH0U7Oh&+~h=6!Np zsX-}8b=%vja0p*uAqL3Fq0nu^+alQNVGl&H@sR;^SYibUoQ=0lkrW{@(c#J&nMS^& zKFwimNu7L(+=Tc{jLql}VeYiW;9p6Pw#gPSeweQ>)NOIizRGbRm|jf|el*aFK-|^s z9tdK@u@HTgn3sIL9rG5}W^n(7rxgBM~QPhu2wZP<6P^?52W_4xIu!K4SMsVfDR)mBJ;j7%q%20-fzzHsOs3_9*

B0n%lsVp=RwthGW*< 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 literal 0 HcmV?d00001 diff --git a/docs/requirements/index.rst b/docs/requirements/index.rst new file mode 100644 index 0000000..599f8bd --- /dev/null +++ b/docs/requirements/index.rst @@ -0,0 +1,37 @@ +.. OPNFV Release Engineering documentation, created by + sphinx-quickstart on Tue Jun 9 19:12:31 2015. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. image:: etc/opnfv-logo.png + :height: 40 + :width: 200 + :alt: OPNFV + :align: left + +ESCALATOR USER REQUIREMENTS +======================================= + +Contents: + +.. toctree:: + :maxdepth: 4 + :titlesonly: + + + 000-Contributors.rst + 101-Scope.rst + 102-Terminologies.rst + 103-Background.rst + 104-Requirements.rst + 105-Use_Cases.rst + 106-Reference.rst + 1A1-Requirements_from_other_Projects.rst + 1A2-Questionnaire_of_Escalator.rst + + +* :ref:`search` + +Revision: _sha1_ + +Build date: |today| -- 2.16.6