sphinx.addnodesdocument)}( rawsource children]docutils.nodessection)}(hhh](h title)}(h2Infrastructure Operations and Lifecycle Managementh]h Text2Infrastructure Operations and Lifecycle Management}(hhparenth _documenthsourceNlineNuba
attributes}(ids]classes]names]dupnames]backrefs]utagnamehhhhhhI/var/jenkins_home/workspace/cntt-tox/doc/ref_model/chapters/chapter09.rsthKubh)}(hhh](h)}(hIntroductionh]hIntroduction}(hh2hh0hhhNhNubah}(h!]h#]h%]h']h)]uh+hhh-hhhh,hKubh paragraph)}(hX The purpose of this chapter is to define the capabilities required of the infrastructure to ensure it is effectively supported, maintained and otherwise lifecycle-managed by Operations teams. This includes requirements relating to the need to be able to maintain infrastructure services "in-service" without impacting the applications and workloads, whilst minimising human labour. It shall also capture any exceptions and related assumptions.h]hX The purpose of this chapter is to define the capabilities required of the infrastructure to ensure it is effectively supported, maintained and otherwise lifecycle-managed by Operations teams. This includes requirements relating to the need to be able to maintain infrastructure services “in-service” without impacting the applications and workloads, whilst minimising human labour. It shall also capture any exceptions and related assumptions.}(hhBhh@hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh?)}(hThere are three main business operating frameworks that are commonly known and used across the Telecommunications industry related to the topics in this chapter:h]hThere are three main business operating frameworks that are commonly known and used across the Telecommunications industry related to the topics in this chapter:}(hhPhhNhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK hh-hhubh bullet_list)}(hhh](h list_item)}(h(FCAPS (ISO model for network management)h]h?)}(hheh]h(FCAPS (ISO model for network management)}(hhehhghhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhhcubah}(h!]h#]h%]h']h)]uh+hahh^hhhh,hNubhb)}(h1eTOM (TM Forum Business Process Framework (eTOM))h]h?)}(hh|h]h1eTOM (TM Forum Business Process Framework (eTOM))}(hh|hh~hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhhzubah}(h!]h#]h%]h']h)]uh+hahh^hhhh,hNubhb)}(haITIL (ITIL 4.0 attempts to adapt IT Service Management practices to the cloud environment needs)
h]h?)}(h`ITIL (ITIL 4.0 attempts to adapt IT Service Management practices to the cloud environment needs)h]h`ITIL (ITIL 4.0 attempts to adapt IT Service Management practices to the cloud environment needs)}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK
hhubah}(h!]h#]h%]h']h)]uh+hahh^hhhh,hNubeh}(h!]h#]h%]h']h)]bullet-uh+h\hh,hKhh-hhubh?)}(h>The chapters below roughly map to these frameworks as follows:h]h>The chapters below roughly map to these frameworks as follows:}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh table)}(hhh]h tgroup)}(hhh](h colspec)}(hhh]h}(h!]h#]h%]h']h)]colwidthK&uh+hhhubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhhubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK
uh+hhhubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhhubh thead)}(hhh]h row)}(hhh](h entry)}(hhh]h?)}(hChapter Nameh]hChapter Name}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhhubah}(h!]h#]h%]h']h)]uh+hhhubh)}(hhh]h?)}(hFCAPSh]hFCAPS}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhhubh)}(hhh]h?)}(heTOMh]heTOM}(hj2 hj0 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj- ubah}(h!]h#]h%]h']h)]uh+hhhubh)}(hhh]h?)}(hITILh]hITIL}(hjI hjG hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjD ubah}(h!]h#]h%]h']h)]uh+hhhubeh}(h!]h#]h%]h']h)]uh+hhhubah}(h!]h#]h%]h']h)]uh+hhhubh tbody)}(hhh](h)}(hhh](h)}(hhh]h?)}(h&Configuration and Lifecycle Managementh]h&Configuration and Lifecycle Management}(hjt hjr hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjo ubah}(h!]h#]h%]h']h)]uh+hhjl ubh)}(hhh]h?)}(h
Configurationh]h
Configuration}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjl ubh)}(hhh]h?)}(h
Fulfilmenth]h
Fulfilment}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjl ubh)}(hhh]h?)}(hConfiguration, Release, Changeh]hConfiguration, Release, Change}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjl ubeh}(h!]h#]h%]h']h)]uh+hhji ubh)}(hhh](h)}(hhh]h?)}(h Assuranceh]h Assurance}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hPerformance, Faulth]hPerformance, Fault}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h Assuranceh]h Assurance}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hEvent, Incidenth]hEvent, Incident}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhji ubh)}(hhh](h)}(hhh]h?)}(hCapacity Managementh]hCapacity Management}(hj> hj< hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj9 ubah}(h!]h#]h%]h']h)]uh+hhj6 ubh)}(hhh]h?)}(h
Configurationh]h
Configuration}(hjU hjS hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjP ubah}(h!]h#]h%]h']h)]uh+hhj6 ubh)}(hhh]h?)}(h
Fulfilmenth]h
Fulfilment}(hjl hjj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjg ubah}(h!]h#]h%]h']h)]uh+hhj6 ubh)}(hhh]h?)}(hCapacity Managementh]hCapacity Management}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj~ ubah}(h!]h#]h%]h']h)]uh+hhj6 ubeh}(h!]h#]h%]h']h)]uh+hhji ubeh}(h!]h#]h%]h']h)]uh+jg hhubeh}(h!]h#]h%]h']h)]colsKuh+hhhubah}(h!]h#]h%]h']h)]uh+hhh-hhhh,hNubh?)}(h#**Table 9-1:** Operating Frameworksh](h strong)}(h**Table 9-1:**h]h
Table 9-1:}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj ubh Operating Frameworks}(h Operating Frameworkshj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh block_quote)}(hhh]h?)}(h**Note:** The above mapping is provided for the general orientation purpose only. Detailed mapping of the required Cloud Infrastructure Lifecycle Management capabilities to any of these frameworks is beyond the scope of this document.h](j )}(h **Note:**h]hNote:}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj ubh The above mapping is provided for the general orientation purpose only. Detailed mapping of the required Cloud Infrastructure Lifecycle Management capabilities to any of these frameworks is beyond the scope of this document.}(h The above mapping is provided for the general orientation purpose only. Detailed mapping of the required Cloud Infrastructure Lifecycle Management capabilities to any of these frameworks is beyond the scope of this document.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+j hh-hhhh,hNubeh}(h!]introductionah#]h%]introductionah']h)]uh+h
hhhhhh,hKubh)}(hhh](h)}(h&Configuration and Lifecycle Managementh]h&Configuration and Lifecycle Management}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubh?)}(hX? Configuration management is concerned with defining the configuration of infrastructure and its components, and tracking (observing) the running configuration of that infrastructure, and any changes that take place. Modern configuration management practices such as desired state configuration management also mean that any changes from the desired state that are observed (aka the delta) are rectified by an orchestration / fulfilment component of the configuration management system. This "closed loop" mitigates against configuration drift in the infrastructure and its components. Our recommendation is to keep these closed loops as small as possible to reduce complexity and risk of error. :numref:`Configuration and Lifecycle Management` shows the configuration management "loop" and how this relates to lifecycle management.h](hX Configuration management is concerned with defining the configuration of infrastructure and its components, and tracking (observing) the running configuration of that infrastructure, and any changes that take place. Modern configuration management practices such as desired state configuration management also mean that any changes from the desired state that are observed (aka the delta) are rectified by an orchestration / fulfilment component of the configuration management system. This “closed loop” mitigates against configuration drift in the infrastructure and its components. Our recommendation is to keep these closed loops as small as possible to reduce complexity and risk of error. }(hX Configuration management is concerned with defining the configuration of infrastructure and its components, and tracking (observing) the running configuration of that infrastructure, and any changes that take place. Modern configuration management practices such as desired state configuration management also mean that any changes from the desired state that are observed (aka the delta) are rectified by an orchestration / fulfilment component of the configuration management system. This "closed loop" mitigates against configuration drift in the infrastructure and its components. Our recommendation is to keep these closed loops as small as possible to reduce complexity and risk of error. hj hhhNhNubh pending_xref)}(h0:numref:`Configuration and Lifecycle Management`h]h literal)}(hj h]h&Configuration and Lifecycle Management}(hhhj hhhNhNubah}(h!]h#](xrefstd
std-numrefeh%]h']h)]uh+j hj ubah}(h!]h#]h%]h']h)]refdocchapters/chapter09 refdomainj* reftypenumrefrefexplicitrefwarn reftarget&configuration and lifecycle managementuh+j hh,hK hj ubh\ shows the configuration management “loop” and how this relates to lifecycle management.}(hX shows the configuration management "loop" and how this relates to lifecycle management.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hK hj hhubh figure)}(hhh](h image)}(h.. figure:: ../figures/ch09_config_mgmt.png
:name: Configuration and Lifecycle Management
:alt: "Configuration and Lifecycle Management"
Configuration and Lifecycle Management
h]h}(h!]h#]h%]h']h)]alt("Configuration and Lifecycle Management"urifigures/ch09_config_mgmt.png
candidates}*j] suh+jN hjK hh,hNubh caption)}(h&Configuration and Lifecycle Managementh]h&Configuration and Lifecycle Management}(hje hjc hhhNhNubah}(h!]h#]h%]h']h)]uh+ja hh,hK&hjK ubeh}(h!]id1ah#]h%]&configuration and lifecycle managementah']h)]uh+jI hj hhhh,hNubh?)}(hX The initial desired state might be for 10 hosts with a particular set of configuration attributes, including the version of the hypervisor and any management agents. The configuration management system will take that as input (1) and configure the infrastructure as required (2). It will then observe the current state periodically over time (3) and in the case of a difference between the desired state and the observed state it will calculate the delta (4) and re-configure the infrastructure (5). For each lifecycle stage (create, update, delete) this loop takes place - for example if an update to the hypervisor version is defined in the desired state, the configuration management system will calculate the delta (e.g. v1 --> v2) and re-configure the infrastructure as required.h]hX The initial desired state might be for 10 hosts with a particular set of configuration attributes, including the version of the hypervisor and any management agents. The configuration management system will take that as input (1) and configure the infrastructure as required (2). It will then observe the current state periodically over time (3) and in the case of a difference between the desired state and the observed state it will calculate the delta (4) and re-configure the infrastructure (5). For each lifecycle stage (create, update, delete) this loop takes place - for example if an update to the hypervisor version is defined in the desired state, the configuration management system will calculate the delta (e.g. v1 –> v2) and re-configure the infrastructure as required.}(hj{ hjy hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK(hj hhubh?)}(hXQ However, the key requirements for the infrastructure and infrastructure management are those interfaces and reference points in the red box - where configuration is **set**, and where it is **observed**. Table 9-2 lists the main components and capabilities required in order to manage the configuration and lifecycle of those components.h](hHowever, the key requirements for the infrastructure and infrastructure management are those interfaces and reference points in the red box - where configuration is }(hHowever, the key requirements for the infrastructure and infrastructure management are those interfaces and reference points in the red box - where configuration is hj hhhNhNubj )}(h**set**h]hset}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj ubh, and where it is }(h, and where it is hj hhhNhNubj )}(h**observed**h]hobserved}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj ubh. Table 9-2 lists the main components and capabilities required in order to manage the configuration and lifecycle of those components.}(h. Table 9-2 lists the main components and capabilities required in order to manage the configuration and lifecycle of those components.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hK*hj hhubh)}(hhh]h)}(hhh](h)}(hhh]h}(h!]h#]h%]h']h)]colwidthK!uh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK!uh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhj ubh)}(hhh]h)}(hhh](h)}(hhh]h?)}(h Componenth]h Component}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK-hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h
set / observeh]h
set / observe}(hj hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK-hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h
Capabilityh]h
Capability}(hj# hj! hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK-hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hExampleh]hExample}(hj: hj8 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK-hj5 ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubah}(h!]h#]h%]h']h)]uh+hhj ubjh )}(hhh](h)}(hhh](h)}(hhh]h?)}(h(Cloud Infrastructure Management
Softwareh]h(Cloud Infrastructure Management
Software}(hjc hja hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK/hj^ ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj[ ubh)}(hhh]h?)}(hSeth]hSet}(hj{ hjy hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK/hjv ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj[ ubh)}(hhh]h?)}(h"Target software / firmware
versionh]h"Target software / firmware
version}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK/hj ubah}(h!]h#]h%]h']h)]uh+hhj[ ubh)}(hhh]h?)}(hSoftware: v1.2.1h]hSoftware: v1.2.1}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK/hj ubah}(h!]h#]h%]h']h)]uh+hhj[ ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hDesired configuration attributeh]hDesired configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK2hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hdhcp_lease_time: 86400h]hdhcp_lease_time: 86400}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK2hj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hDesired component quantitiesh]hDesired component quantities}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK4hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h# hypervisor hosts: 10h]h# hypervisor hosts: 10}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK4hj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hObserveh]hObserve}(hj8 hj6 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK6hj3 ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj0 ubh)}(hhh]h?)}(h$Observed software / firmware
versionh]h$Observed software / firmware
version}(hjP hjN hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK6hjK ubah}(h!]h#]h%]h']h)]uh+hhj0 ubh)}(hhh]h?)}(hSoftware: v1.2.1h]hSoftware: v1.2.1}(hjg hje hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK6hjb ubah}(h!]h#]h%]h']h)]uh+hhj0 ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(h Observed configuration attributeh]h Observed configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK9hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hdhcp_lease_time: 86400h]hdhcp_lease_time: 86400}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK9hj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hObserved component quantitiesh]hObserved component quantities}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK;hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h# hypervisor hosts: 10h]h# hypervisor hosts: 10}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK;hj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hCloud Infrastructure Softwareh]hCloud Infrastructure Software}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK=hj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(hSeth]hSet}(hj
hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK=hj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(hTarget software versionh]hTarget software version}(hj% hj# hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK=hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hHypervisor software: v3.4.1h]hHypervisor software: v3.4.1}(hj< hj: hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK=hj7 ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hDesired configuration attributeh]hDesired configuration attribute}(hj\ hjZ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK?hjW ubah}(h!]h#]h%]h']h)]uh+hhjT ubh)}(hhh]h?)}(hmanagement_int: eth0h]hmanagement_int: eth0}(hjs hjq hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK?hjn ubah}(h!]h#]h%]h']h)]uh+hhjT ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hDesired component quantitiesh]hDesired component quantities}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKAhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h# NICs for data: 6h]h# NICs for data: 6}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKAhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hObserveh]hObserve}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKChj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(h$Observed software / firmware
versionh]h$Observed software / firmware
version}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKChj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hHypervisor software: v3.4.1h]hHypervisor software: v3.4.1}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKChj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(h Observed configuration attributeh]h Observed configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKFhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hmanagement_int: eth0h]hmanagement_int: eth0}(hj0 hj. hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKFhj+ ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hObserved component quantitiesh]hObserved component quantities}(hjP hjN hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKHhjK ubah}(h!]h#]h%]h']h)]uh+hhjH ubh)}(hhh]h?)}(h# NICs for data: 6h]h# NICs for data: 6}(hjg hje hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKHhjb ubah}(h!]h#]h%]h']h)]uh+hhjH ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hInfrastructure Hardwareh]hInfrastructure Hardware}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKJhj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(hSeth]hSet}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKJhj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(h"Target software / firmware
versionh]h"Target software / firmware
version}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKJhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h$Storage controller firmware:
v10.3.4h]h$Storage controller firmware:
v10.3.4}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKJhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hDesired configuration attributeh]hDesired configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKMhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h!Virtual disk 1: RAID1
[HDD1,HDD2]h]h!Virtual disk 1: RAID1
[HDD1,HDD2]}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKMhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(hObserveh]hObserve}(hj% hj# hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKPhj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(h$Observed software / firmware
versionh]h$Observed software / firmware
version}(hj= hj; hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKPhj8 ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h$Storage controller firmware:
v10.3.4h]h$Storage controller firmware:
v10.3.4}(hjT hjR hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKPhjO ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjX ubh)}(hhh](h)}(hhh]h?)}(h Observed configuration attributeh]h Observed configuration attribute}(hjt hjr hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKShjo ubah}(h!]h#]h%]h']h)]uh+hhjl ubh)}(hhh]h?)}(h!Virtual disk 1: RAID1
[HDD1,HDD2]h]h!Virtual disk 1: RAID1
[HDD1,HDD2]}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKShj ubah}(h!]h#]h%]h']h)]uh+hhjl ubeh}(h!]h#]h%]h']h)]uh+hhjX ubeh}(h!]h#]h%]h']h)]uh+jg hj ubeh}(h!]h#]h%]h']h)]colsKuh+hhj ubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hNubh?)}(hB**Table 9-2:** Configuration and Lifecycle Management Capabilitiesh](j )}(h**Table 9-2:**h]h
Table 9-2:}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj ubh4 Configuration and Lifecycle Management Capabilities}(h4 Configuration and Lifecycle Management Capabilitieshj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKWhj hhubh?)}(hThis leads to the following table (Table 9-3) which defines the standard interfaces that should be made available by the infrastructure and Cloud Infrastructure Management components to allow for successful Configuration Management.h]hThis leads to the following table (Table 9-3) which defines the standard interfaces that should be made available by the infrastructure and Cloud Infrastructure Management components to allow for successful Configuration Management.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKYhj hhubh)}(hhh]h)}(hhh](h)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhj ubh)}(hhh]h)}(hhh](h)}(hhh]h?)}(h Componenth]h Component}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK\hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hInterface Standardh]hInterface Standard}(hj' hj% hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK\hj" ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hLinkh]hLink}(hj> hj< hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK\hj9 ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubah}(h!]h#]h%]h']h)]uh+hhj ubjh )}(hhh](h)}(hhh](h)}(hhh]h?)}(hInfrastructure Managementh]hInfrastructure Management}(hjg hje hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK^hjb ubah}(h!]h#]h%]h']h)]uh+hhj_ ubh)}(hhh]h?)}(hDefined in RA specificationsh]hDefined in RA specifications}(hj~ hj| hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK^hjy ubah}(h!]h#]h%]h']h)]uh+hhj_ ubh)}(hhh]h?)}(h
RA-1, RA-2h]h
RA-1, RA-2}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK^hj ubah}(h!]h#]h%]h']h)]uh+hhj_ ubeh}(h!]h#]h%]h']h)]uh+hhj\ ubh)}(hhh](h)}(hhh]h?)}(hInfrastructure Softwareh]hInfrastructure Software}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK_hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hDefined in RA specificationsh]hDefined in RA specifications}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK_hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h
RA-1, RA-2h]h
RA-1, RA-2}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK_hj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj\ ubh)}(hhh](h)}(hhh]h?)}(hInfrastructure Hardwareh]hInfrastructure Hardware}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK`hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hRedfish APIh]hRedfish API}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK`hj
ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hDMTF RedFish specification [11]h]hDMTF RedFish specification [11]}(hj1
hj/
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK`hj,
ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj\ ubeh}(h!]h#]h%]h']h)]uh+jg hj ubeh}(h!]h#]h%]h']h)]colsKuh+hhj ubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hNubh?)}(h?**Table 9-3:** Interface Standards for Configuration Managementh](j )}(h**Table 9-3:**h]h
Table 9-3:}(hhhj`
hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj\
ubh1 Interface Standards for Configuration Management}(h1 Interface Standards for Configuration Managementhj\
hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKchj hhubeh}(h!]&configuration-and-lifecycle-managementah#]h%]h']jv ah)]uh+h
hhhhhh,hK
referencedKubh)}(hhh](h)}(h Assuranceh]h Assurance}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj
hhhh,hKfubh?)}(hAssurance is concerned with:h]hAssurance is concerned with:}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhhj
hhubh])}(hhh](hb)}(hThe proactive and reactive maintenance activities that are required to ensure infrastructure services are available as per defined performance and availability levels.h]h?)}(hj
h]hThe proactive and reactive maintenance activities that are required to ensure infrastructure services are available as per defined performance and availability levels.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKjhj
ubah}(h!]h#]h%]h']h)]uh+hahj
hhhh,hNubhb)}(hkContinuous monitoring of the status and performance of individual components and of the service as a whole.h]h?)}(hj
h]hkContinuous monitoring of the status and performance of individual components and of the service as a whole.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKkhj
ubah}(h!]h#]h%]h']h)]uh+hahj
hhhh,hNubhb)}(hCollection and analysis of performance data, which is used to identify potential issues including the ability to resolve the issue with no customer impact.
h]h?)}(hCollection and analysis of performance data, which is used to identify potential issues including the ability to resolve the issue with no customer impact.h]hCollection and analysis of performance data, which is used to identify potential issues including the ability to resolve the issue with no customer impact.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKlhj
ubah}(h!]h#]h%]h']h)]uh+hahj
hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKjhj
hhubh?)}(h*There are the following requirement types:h]h*There are the following requirement types:}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKnhj
hhubh enumerated_list)}(hhh](hb)}(hX Data collection from all components, e.g.
- The ability to collect data relating to events (transactions, security events, physical interface up/down events, warning events, error events, etc.)
- The ability to collect data relating to component status (up/down, physical temperature, disk speed, etc.)
- The ability to collect data relating to component performance (used CPU resources, storage throughput, network bandwidth in/out, API transactions, transaction response times, etc.)
h](h?)}(h)Data collection from all components, e.g.h]h)Data collection from all components, e.g.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKphj ubh])}(hhh](hb)}(hThe ability to collect data relating to events (transactions, security events, physical interface up/down events, warning events, error events, etc.)h]h?)}(hj h]hThe ability to collect data relating to events (transactions, security events, physical interface up/down events, warning events, error events, etc.)}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKrhj ubah}(h!]h#]h%]h']h)]uh+hahj ubhb)}(hjThe ability to collect data relating to component status (up/down, physical temperature, disk speed, etc.)h]h?)}(hj0 h]hjThe ability to collect data relating to component status (up/down, physical temperature, disk speed, etc.)}(hj0 hj2 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKshj. ubah}(h!]h#]h%]h']h)]uh+hahj ubhb)}(hThe ability to collect data relating to component performance (used CPU resources, storage throughput, network bandwidth in/out, API transactions, transaction response times, etc.)
h]h?)}(hThe ability to collect data relating to component performance (used CPU resources, storage throughput, network bandwidth in/out, API transactions, transaction response times, etc.)h]hThe ability to collect data relating to component performance (used CPU resources, storage throughput, network bandwidth in/out, API transactions, transaction response times, etc.)}(hjK hjI hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKthjE ubah}(h!]h#]h%]h']h)]uh+hahj ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKrhj ubeh}(h!]h#]h%]h']h)]uh+hahj
hhhNhNubhb)}(hX Capabilities of the Infrastructure Management Software to allow for in-service maintenance of the Infrastructure Software and Hardware under its management, e.g.
- The ability to mark a physical compute node as being in some sort of "maintenance mode" and for the Infrastructure Management Software to ensure all running workloads are moved off or rescheduled on to other available nodes (after checking that there is sufficient capacity) before marking the node as being ready for whatever maintenance activity needs to be performed
- The ability to co-ordinate, automate, and allow the declarative input of in-service software component upgrades - such as internal orchestration and scheduler components in the Infrastructure Management Software
h](h?)}(hCapabilities of the Infrastructure Management Software to allow for in-service maintenance of the Infrastructure Software and Hardware under its management, e.g.h]hCapabilities of the Infrastructure Management Software to allow for in-service maintenance of the Infrastructure Software and Hardware under its management, e.g.}(hjo hjm hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKvhji ubh])}(hhh](hb)}(hXq The ability to mark a physical compute node as being in some sort of "maintenance mode" and for the Infrastructure Management Software to ensure all running workloads are moved off or rescheduled on to other available nodes (after checking that there is sufficient capacity) before marking the node as being ready for whatever maintenance activity needs to be performedh]h?)}(hj h]hXu The ability to mark a physical compute node as being in some sort of “maintenance mode” and for the Infrastructure Management Software to ensure all running workloads are moved off or rescheduled on to other available nodes (after checking that there is sufficient capacity) before marking the node as being ready for whatever maintenance activity needs to be performed}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKxhj~ ubah}(h!]h#]h%]h']h)]uh+hahj{ ubhb)}(hThe ability to co-ordinate, automate, and allow the declarative input of in-service software component upgrades - such as internal orchestration and scheduler components in the Infrastructure Management Software
h]h?)}(hThe ability to co-ordinate, automate, and allow the declarative input of in-service software component upgrades - such as internal orchestration and scheduler components in the Infrastructure Management Softwareh]hThe ability to co-ordinate, automate, and allow the declarative input of in-service software component upgrades - such as internal orchestration and scheduler components in the Infrastructure Management Software}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKyhj ubah}(h!]h#]h%]h']h)]uh+hahj{ ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKxhji ubeh}(h!]h#]h%]h']h)]uh+hahj
hhhNhNubeh}(h!]h#]h%]h']h)]enumtypearabicprefixhsuffix.uh+j
hj
hhhh,hKpubh?)}(hX Note that the above only refers to components - it is expected that any "service" level assurance doesn't add any further requirements onto the infrastructure, but rather takes the data extracted and builds service models based on the knowledge it has of the services being offered.h]hX Note that the above only refers to components - it is expected that any “service” level assurance doesn’t add any further requirements onto the infrastructure, but rather takes the data extracted and builds service models based on the knowledge it has of the services being offered.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK{hj
hhubeh}(h!] assuranceah#]h%] assuranceah']h)]uh+h
hhhhhh,hKfubh)}(hhh](h)}(hCapacity Managementh]hCapacity Management}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hK~ubh?)}(hX" Capacity Management is a potentially wide ranging process that includes taking demand across lines of business, analysing data about the infrastructure that is running, and calculating when additional infrastructure might be required, or when infrastructure might need to be decommissioned.h]hX" Capacity Management is a potentially wide ranging process that includes taking demand across lines of business, analysing data about the infrastructure that is running, and calculating when additional infrastructure might be required, or when infrastructure might need to be decommissioned.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh?)}(hX3 As such the requirements for Capacity Management on the infrastructure are covered by the Assurance and Configuration and Lifecycle Management sections above. The Assurance section deals with the collection of data - there is no reason to consider that this would be done by a different mechanism for Capacity Management as it is for Assurance - and the Configuration and Lifecycle Management section deals with the changes being made to the infrastructure hardware, software, and management components (e.g. changing of number of hypervisor hosts from 10 to 12).h]hX3 As such the requirements for Capacity Management on the infrastructure are covered by the Assurance and Configuration and Lifecycle Management sections above. The Assurance section deals with the collection of data - there is no reason to consider that this would be done by a different mechanism for Capacity Management as it is for Assurance - and the Configuration and Lifecycle Management section deals with the changes being made to the infrastructure hardware, software, and management components (e.g. changing of number of hypervisor hosts from 10 to 12).}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubeh}(h!]capacity-managementah#]h%]capacity managementah']h)]uh+h
hhhhhh,hK~ubh)}(hhh](h)}(h
Automationh]h
Automation}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubh)}(hhh](h)}(hInfrastructure LCM Automationh]hInfrastructure LCM Automation}(hj% hj# hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubh?)}(hNote: Developmnet of new structure and contents for this section in progress for Moselle release, driven by Issue#2087 and subordinate issues.h]hNote: Developmnet of new structure and contents for this section in progress for Moselle release, driven by Issue#2087 and subordinate issues.}(hj3 hj1 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubeh}(h!]infrastructure-lcm-automationah#]h%]infrastructure lcm automationah']h)]uh+h
hj hhhh,hKubh)}(hhh](h)}(h5Software Onboarding Automation and CI/CD Requirementsh]h5Software Onboarding Automation and CI/CD Requirements}(hjL hjJ hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjG hhhh,hKubh)}(hhh](h)}(hSoftware Onboarding Automationh]hSoftware Onboarding Automation}(hj] hj[ hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjX hhhh,hKubh?)}(hX% For software deployment, as far as Cloud Infrastructure services or workloads are concerned, automation is the core of DevOps concept. Automation allows to eliminate manual processes, reducing human errors and speeding software deployments. The prerequisite is to install CI/CD tools chain to:h]hX% For software deployment, as far as Cloud Infrastructure services or workloads are concerned, automation is the core of DevOps concept. Automation allows to eliminate manual processes, reducing human errors and speeding software deployments. The prerequisite is to install CI/CD tools chain to:}(hjk hji hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjX hhubh])}(hhh](hb)}(h)Build, package, test application/softwareh]h?)}(hj| h]h)Build, package, test application/software}(hj| hj~ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjz ubah}(h!]h#]h%]h']h)]uh+hahjw hhhh,hNubhb)}(h1Store environment's parameters and configurationsh]h?)}(hj h]h3Store environment’s parameters and configurations}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahjw hhhh,hNubhb)}(h%Automate the delivery and deployment
h]h?)}(h$Automate the delivery and deploymenth]h$Automate the delivery and deployment}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahjw hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhjX hhubh?)}(hThe CI/CD pipeline is used to deploy, test and update the Cloud Infrastructure services, and also to onboard workloads hosted on the infrastructure. Typically, this business process consists of the following key phases:h]hThe CI/CD pipeline is used to deploy, test and update the Cloud Infrastructure services, and also to onboard workloads hosted on the infrastructure. Typically, this business process consists of the following key phases:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjX hhubj
)}(hhh](hb)}(hX: Tenant Engagement and Software Evaluation:
- In this phase the request from the tenant to host a workload on the Cloud Infrastructure platform is assessed and a decision made on whether to proceed with the hosting request.
- If the Cloud infrastructure software needs to be updated or installed, an evaluation is made of the impacts (including to tenants) and if it is OK to proceed
- This phase may also involve the tenant accessing a pre-staging environment to perform their own evaluation and/or pre-staging activities in preparation for later onboarding phases.
h](h?)}(h*Tenant Engagement and Software Evaluation:h]h*Tenant Engagement and Software Evaluation:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubh])}(hhh](hb)}(hIn this phase the request from the tenant to host a workload on the Cloud Infrastructure platform is assessed and a decision made on whether to proceed with the hosting request.h]h?)}(hj h]hIn this phase the request from the tenant to host a workload on the Cloud Infrastructure platform is assessed and a decision made on whether to proceed with the hosting request.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj ubhb)}(hIf the Cloud infrastructure software needs to be updated or installed, an evaluation is made of the impacts (including to tenants) and if it is OK to proceedh]h?)}(hj
h]hIf the Cloud infrastructure software needs to be updated or installed, an evaluation is made of the impacts (including to tenants) and if it is OK to proceed}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj ubhb)}(hThis phase may also involve the tenant accessing a pre-staging environment to perform their own evaluation and/or pre-staging activities in preparation for later onboarding phases.
h]h?)}(hThis phase may also involve the tenant accessing a pre-staging environment to perform their own evaluation and/or pre-staging activities in preparation for later onboarding phases.h]hThis phase may also involve the tenant accessing a pre-staging environment to perform their own evaluation and/or pre-staging activities in preparation for later onboarding phases.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubhb)}(hX Software Packaging:
- The main outcome of this phase is to produce the software deployable image and the deployment manifests (such as TOSCA blueprints or HEAT templates or Helm charts) that will define the Cloud Infrastructure service attributes.
- The software packaging can be automated or performed by designated personnel, through self-service capabilities (for tenants) or by the Cloud Infrastructure Operations team.
h](h?)}(hSoftware Packaging:h]hSoftware Packaging:}(hjD
hjB
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj>
ubh])}(hhh](hb)}(hThe main outcome of this phase is to produce the software deployable image and the deployment manifests (such as TOSCA blueprints or HEAT templates or Helm charts) that will define the Cloud Infrastructure service attributes.h]h?)}(hjU
h]hThe main outcome of this phase is to produce the software deployable image and the deployment manifests (such as TOSCA blueprints or HEAT templates or Helm charts) that will define the Cloud Infrastructure service attributes.}(hjU
hjW
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjS
ubah}(h!]h#]h%]h']h)]uh+hahjP
ubhb)}(hThe software packaging can be automated or performed by designated personnel, through self-service capabilities (for tenants) or by the Cloud Infrastructure Operations team.
h]h?)}(hThe software packaging can be automated or performed by designated personnel, through self-service capabilities (for tenants) or by the Cloud Infrastructure Operations team.h]hThe software packaging can be automated or performed by designated personnel, through self-service capabilities (for tenants) or by the Cloud Infrastructure Operations team.}(hjp
hjn
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjj
ubah}(h!]h#]h%]h']h)]uh+hahjP
ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj>
ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubhb)}(hXN Software Validation and Certification:
- In this phase the software is deployed and tested to validate it against the service design and other Operator specific acceptance criteria, as required.
- Software validation and certification should be automated using CI/CD toolsets / pipelines and Test as a Service (TaaS) capabilities.
h](h?)}(h&Software Validation and Certification:h]h&Software Validation and Certification:}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubh])}(hhh](hb)}(hIn this phase the software is deployed and tested to validate it against the service design and other Operator specific acceptance criteria, as required.h]h?)}(hj
h]hIn this phase the software is deployed and tested to validate it against the service design and other Operator specific acceptance criteria, as required.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj
ubhb)}(hSoftware validation and certification should be automated using CI/CD toolsets / pipelines and Test as a Service (TaaS) capabilities.
h]h?)}(hSoftware validation and certification should be automated using CI/CD toolsets / pipelines and Test as a Service (TaaS) capabilities.h]hSoftware validation and certification should be automated using CI/CD toolsets / pipelines and Test as a Service (TaaS) capabilities.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj
ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj
ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubhb)}(hX Publish Software:
- Tenant Workloads: After the software is certified the final onboarding process phase is for it to be published to the Cloud Infrastructure production catalogue from where it can be instantiated on the Cloud Infrastructure platform by the tenant.
- Cloud Infrastructure software: After the software is certified, it is scheduled for deployment in concurrence with the user community.
h](h?)}(hPublish Software:h]hPublish Software:}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubh])}(hhh](hb)}(hTenant Workloads: After the software is certified the final onboarding process phase is for it to be published to the Cloud Infrastructure production catalogue from where it can be instantiated on the Cloud Infrastructure platform by the tenant.h]h?)}(hj
h]hTenant Workloads: After the software is certified the final onboarding process phase is for it to be published to the Cloud Infrastructure production catalogue from where it can be instantiated on the Cloud Infrastructure platform by the tenant.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj
ubhb)}(hCloud Infrastructure software: After the software is certified, it is scheduled for deployment in concurrence with the user community.
h]h?)}(hCloud Infrastructure software: After the software is certified, it is scheduled for deployment in concurrence with the user community.h]hCloud Infrastructure software: After the software is certified, it is scheduled for deployment in concurrence with the user community.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj
ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj
ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubeh}(h!]h#]h%]h']h)]j j j hj j uh+j
hjX hhhh,hKubh?)}(hAll phases described above can be automated using technology specific toolsets and procedures. Hence, details of such automation are left for the technology specific Reference Architecture and Reference Implementation specifications.h]hAll phases described above can be automated using technology specific toolsets and procedures. Hence, details of such automation are left for the technology specific Reference Architecture and Reference Implementation specifications.}(hj6 hj4 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjX hhubeh}(h!]software-onboarding-automationah#]h%]software onboarding automationah']h)]uh+h
hjG hhhh,hKubh)}(hhh](h)}(hSoftware CI/CD Requirementsh]hSoftware CI/CD Requirements}(hjO hjM hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjJ hhhh,hKubh?)}(hX The requirements including for CI/CD for ensuring software security scans, image integrity checks, OS version checks, etc. prior to deployment, are listed in the Table 9-4 (below). Please note that the tenant processes for application LCM (such as updates) are out of scope. For the purpose of these requirements, CI includes Continuous Delivery, and CD refers to Continuous Deployment.h]hX The requirements including for CI/CD for ensuring software security scans, image integrity checks, OS version checks, etc. prior to deployment, are listed in the Table 9-4 (below). Please note that the tenant processes for application LCM (such as updates) are out of scope. For the purpose of these requirements, CI includes Continuous Delivery, and CD refers to Continuous Deployment.}(hj] hj[ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjJ hhubh)}(hhh]h)}(hhh](h)}(hhh]h}(h!]h#]h%]h']h)]colwidthK
uh+hhjl ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK}uh+hhjl ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthMuh+hhjl ubh)}(hhh]h)}(hhh](h)}(hhh]h?)}(hRef #h]hRef #}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hDescriptionh]hDescription}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hComments/Notesh]hComments/Notes}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubah}(h!]h#]h%]h']h)]uh+hhjl ubjh )}(hhh](h)}(hhh](h)}(hhh]h?)}(h
auto.cicd.001h]h
auto.cicd.001}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h|The CI/CD pipeline must support deployment on any cloud and cloud infrastructures including different hardware accelerators.h]h|The CI/CD pipeline must support deployment on any cloud and cloud infrastructures including different hardware accelerators.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hX CI/CD pipelines automate CI/CD best practices into repeatable workflows for integrating code and configurations into builds, testing builds including validation against design and operator specific criteria, and delivery of the product onto a runtime environment. Example of an open-source cloud native CI/CD framework is the Tekton project (`https://tekton.dev/ `__)h](hXV CI/CD pipelines automate CI/CD best practices into repeatable workflows for integrating code and configurations into builds, testing builds including validation against design and operator specific criteria, and delivery of the product onto a runtime environment. Example of an open-source cloud native CI/CD framework is the Tekton project (}(hXV CI/CD pipelines automate CI/CD best practices into repeatable workflows for integrating code and configurations into builds, testing builds including validation against design and operator specific criteria, and delivery of the product onto a runtime environment. Example of an open-source cloud native CI/CD framework is the Tekton project (hj hhhNhNubh reference)}(h-`https://tekton.dev/ `__h]hhttps://tekton.dev/}(hhttps://tekton.dev/hj& hhhNhNubah}(h!]h#]h%]h']h)]namej. refurihttps://tekton.dev/uh+j$ hj ubh)}(h)hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.002h]h
auto.cicd.002}(hjW hjU hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjR ubah}(h!]h#]h%]h']h)]uh+hhjO ubh)}(hhh]h?)}(h9The CI/CD pipelines must use event-driven task automationh]h9The CI/CD pipelines must use event-driven task automation}(hjn hjl hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhji ubah}(h!]h#]h%]h']h)]uh+hhjO ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjO ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.003h]h
auto.cicd.003}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h1The CI/CD pipelines should avoid scheduling tasksh]h1The CI/CD pipelines should avoid scheduling tasks}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.004h]h
auto.cicd.004}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hcThe CI/CD pipeline is triggered by a new or updated software release being loaded into a repositoryh]hcThe CI/CD pipeline is triggered by a new or updated software release being loaded into a repository}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hXF The software release cane be source code files, configuration files, images, manifests. Operators may support a single or multiple repositories and may, thus, specify which repository is to be used for these release. An example, of an open source repository is the CNCF Harbor (`https://goharbor.io/ `__)h](hX The software release cane be source code files, configuration files, images, manifests. Operators may support a single or multiple repositories and may, thus, specify which repository is to be used for these release. An example, of an open source repository is the CNCF Harbor (}(hX The software release cane be source code files, configuration files, images, manifests. Operators may support a single or multiple repositories and may, thus, specify which repository is to be used for these release. An example, of an open source repository is the CNCF Harbor (hj hhhNhNubj% )}(h/`https://goharbor.io/ `__h]hhttps://goharbor.io/}(hhttps://goharbor.io/hj hhhNhNubah}(h!]h#]h%]h']h)]namej j6 https://goharbor.io/uh+j$ hj ubh)}(hj< hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.005h]h
auto.cicd.005}(hj; hj9 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj6 ubah}(h!]h#]h%]h']h)]uh+hhj3 ubh)}(hhh]h?)}(huThe CI pipeline must scan source code and manifests to validate for compliance with design and coding best practices.h]huThe CI pipeline must scan source code and manifests to validate for compliance with design and coding best practices.}(hjR hjP hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjM ubah}(h!]h#]h%]h']h)]uh+hhj3 ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhj3 ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.006h]h
auto.cicd.006}(hj{ hjy hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjv ubah}(h!]h#]h%]h']h)]uh+hhjs ubh)}(hhh]h?)}(h}The CI pipeline must support build and packaging of images and deployment manifests from source code and configuration files.h]h}The CI pipeline must support build and packaging of images and deployment manifests from source code and configuration files.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjs ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjs ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.007h]h
auto.cicd.007}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(heThe CI pipeline must scan images and manifests to validate for compliance with security requirements.h]heThe CI pipeline must scan images and manifests to validate for compliance with security requirements.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hSee section 7.9 (:ref:`ref_model/chapters/chapter07:consolidated security requirements`). Examples of such security requirements include only ingesting images, source code, configuration files, etc. only form trusted sources.h](hSee section 7.9 (}(hSee section 7.9 (hj hhhNhNubj )}(hF:ref:`ref_model/chapters/chapter07:consolidated security requirements`h]h inline)}(hj h]h?ref_model/chapters/chapter07:consolidated security requirements}(hhhj hhhNhNubah}(h!]h#](j) stdstd-refeh%]h']h)]uh+j hj ubah}(h!]h#]h%]h']h)]refdocj6 refdomainj reftyperefrefexplicitrefwarnj< ?ref_model/chapters/chapter07:consolidated security requirementsuh+j hh,hKhj ubh). Examples of such security requirements include only ingesting images, source code, configuration files, etc. only form trusted sources.}(h). Examples of such security requirements include only ingesting images, source code, configuration files, etc. only form trusted sources.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.008h]h
auto.cicd.008}(hj1 hj/ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj, ubah}(h!]h#]h%]h']h)]uh+hhj) ubh)}(hhh]h?)}(h2The CI pipeline must validate images and manifestsh]h2The CI pipeline must validate images and manifests}(hjH hjF hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjC ubah}(h!]h#]h%]h']h)]uh+hhj) ubh)}(hhh]h?)}(hExample, different testsh]hExample, different tests}(hj_ hj] hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjZ ubah}(h!]h#]h%]h']h)]uh+hhj) ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.009h]h
auto.cicd.009}(hj hj} hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjz ubah}(h!]h#]h%]h']h)]uh+hhjw ubh)}(hhh]h?)}(haThe CI pipeline must validate with all hardware offload permutations and without hardware offloadh]haThe CI pipeline must validate with all hardware offload permutations and without hardware offload}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjw ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjw ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.010h]h
auto.cicd.010}(hj hj x hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hMThe CI pipeline must promote validated images and manifests to be deployable.h]hMThe CI pipeline must promote validated images and manifests to be deployable.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hIExample, promote from a development repository to a production repositoryh]hIExample, promote from a development repository to a production repository}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.011h]h
auto.cicd.011}(hj
hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h;The CD pipeline must verify and validate the tenant requesth]h;The CD pipeline must verify and validate the tenant request}(hj$ hj" hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hJExample, RBAC, request is within quota limits, affinity/anti-affinity, …h]hJExample, RBAC, request is within quota limits, affinity/anti-affinity, …}(hj; hj9 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj6 ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.012h]h
auto.cicd.012}(hj[ hjY hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjV ubah}(h!]h#]h%]h']h)]uh+hhjS ubh)}(hhh]h?)}(h]The CD pipeline after all validations must turn over control to orchestration of the softwareh]h]The CD pipeline after all validations must turn over control to orchestration of the software}(hjr hjp hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjm ubah}(h!]h#]h%]h']h)]uh+hhjS ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjS ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.013h]h
auto.cicd.013}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hYThe CD pipeline must be able to deploy into Development, Test and Production environmentsh]hYThe CD pipeline must be able to deploy into Development, Test and Production environments}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.014h]h
auto.cicd.014}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hsThe CD pipeline must be able to automatically promote software from Development to Test and Production environmentsh]hsThe CD pipeline must be able to automatically promote software from Development to Test and Production environments}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.015h]h
auto.cicd.015}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hGThe CI pipeline must run all relevant Reference Conformance test suitesh]hGThe CI pipeline must run all relevant Reference Conformance test suites}(hj2 hj0 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj- ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(h
auto.cicd.016h]h
auto.cicd.016}(hj[ hjY hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjV ubah}(h!]h#]h%]h']h)]uh+hhjS ubh)}(hhh]h?)}(hGThe CD pipeline must run all relevant Reference Conformance test suitesh]hGThe CD pipeline must run all relevant Reference Conformance test suites}(hjr hjp hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjm ubah}(h!]h#]h%]h']h)]uh+hhjS ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjS ubeh}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+jg hjl ubeh}(h!]h#]h%]h']h)]colsKuh+hhji ubah}(h!]h#]h%]h']h)]uh+hhjJ hhhh,hNubh?)}(h**Table 9-4:** Automation CI/CDh](j )}(h**Table 9-4:**h]h
Table 9-4:}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hj ubh Automation CI/CD}(h Automation CI/CDhj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhjJ hhubeh}(h!]software-ci-cd-requirementsah#]h%]software ci/cd requirementsah']h)]uh+h
hjG hhhh,hKubh)}(hhh](h)}(hCI/CD Design Requirementsh]hCI/CD Design Requirements}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubh?)}(hX A couple of CI/CD pipeline properties and rules must be agreed between the
different actors to allow smoothly deploy and test the cloud infrastructures
and the hosted network functions whatever if the jobs operate open-source or
proprietary software. They all prevent that specific deployment or testing
operations force a particular CI/CD design or even worse ask to deploy a full
dedicated CI/CD toolchain for a particular network service.h]hX A couple of CI/CD pipeline properties and rules must be agreed between the
different actors to allow smoothly deploy and test the cloud infrastructures
and the hosted network functions whatever if the jobs operate open-source or
proprietary software. They all prevent that specific deployment or testing
operations force a particular CI/CD design or even worse ask to deploy a full
dedicated CI/CD toolchain for a particular network service.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh?)}(hX At first glance, the deployment and test job must not basically ask for a
specific CI/CD tools such as `Jenkins `__ or
`Gitlab CI/CD `__. But they are many other
ways where deployment and test jobs can constraint the end users from the
build servers to the artefact management. Any manual operation is discouraged
whatever it's about the deployment or the test resources.h](hgAt first glance, the deployment and test job must not basically ask for a
specific CI/CD tools such as }(hgAt first glance, the deployment and test job must not basically ask for a
specific CI/CD tools such as hj hhhNhNubj% )}(h%`Jenkins `__h]hJenkins}(hJenkinshj hhhNhNubah}(h!]h#]h%]h']h)]namej j6 https://www.jenkins.io/uh+j$ hj ubh or
}(h or
hj hhhNhNubj% )}(h1`Gitlab CI/CD `__h]hGitlab CI/CD}(hGitlab CI/CDhj hhhNhNubah}(h!]h#]h%]h']h)]nameGitlab CI/CDj6 https://docs.gitlab.com/ee/ci/uh+j$ hj ubh. But they are many other
ways where deployment and test jobs can constraint the end users from the
build servers to the artefact management. Any manual operation is discouraged
whatever it’s about the deployment or the test resources.}(h. But they are many other
ways where deployment and test jobs can constraint the end users from the
build servers to the artefact management. Any manual operation is discouraged
whatever it's about the deployment or the test resources.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh?)}(hThe following requirements also aims at deploying smoothly and easily all CI/CD
toolchains via simple playbooks as targeted by the Reference Conformance
suites currently leveraging `XtestingCI `__.h](hThe following requirements also aims at deploying smoothly and easily all CI/CD
toolchains via simple playbooks as targeted by the Reference Conformance
suites currently leveraging }(hThe following requirements also aims at deploying smoothly and easily all CI/CD
toolchains via simple playbooks as targeted by the Reference Conformance
suites currently leveraging hj& hhhNhNubj% )}(h>`XtestingCI `__h]h
XtestingCI}(h
XtestingCIhj/ hhhNhNubah}(h!]h#]h%]h']h)]namej7 j6 -https://galaxy.ansible.com/collivier/xtestinguh+j$ hj& ubh.}(hj hj& hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh)}(hhh]h)}(hhh](h)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhjM ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK]uh+hhjM ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthKpuh+hhjM ubh)}(hhh]h)}(hhh](h)}(hhh]h?)}(hRef #h]hRef #}(hjy hjw hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjt ubah}(h!]h#]h%]h']h)]uh+hhjq ubh)}(hhh]h?)}(hDescriptionh]hDescription}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjq ubh)}(hhh]h?)}(hCommentsh]hComments}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhjq ubeh}(h!]h#]h%]h']h)]uh+hhjn ubah}(h!]h#]h%]h']h)]uh+hhjM ubjh )}(hhh](h)}(hhh](h)}(hhh]h?)}(hdesign.cicd.001h]hdesign.cicd.001}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h:The pipeline must allow chaining of independent CI/CD jobsh]h:The pipeline must allow chaining of independent CI/CD jobs}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hpFor example, all deployment and test operations from baremetal to Kubernetes, OpenStack, to the network servicesh]hpFor example, all deployment and test operations from baremetal to Kubernetes, OpenStack, to the network services}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(hdesign.cicd.002h]hdesign.cicd.002}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(h#The pipeline jobs should be modularh]h#The pipeline jobs should be modular}(hj5 hj3 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj0 ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hoThis allows execution of jobs independently of others, for example, start with an existing OpenStack deploymenth]hoThis allows execution of jobs independently of others, for example, start with an existing OpenStack deployment}(hjL hjJ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjG ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh](h)}(hhh]h?)}(hdesign.cicd.003h]hdesign.cicd.003}(hjl hjj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjg ubah}(h!]h#]h%]h']h)]uh+hhjd ubh)}(hhh]h?)}(h