J 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]utagnamehhhhhhQ/home/opnfv/slave_root/workspace/cntt-tox-rm/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,hKhh-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,hKhhubah}(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%]h']introductionah)]uh+h
hhhhhh,hK
referencedKubh)}(hhh](h)}(h&Configuration and Lifecycle Managementh]h&Configuration and Lifecycle Management}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hK$ubh?)}(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+jO hjL hh,hNubh caption)}(h&Configuration and Lifecycle Managementh]h&Configuration and Lifecycle Management}(hjf hjd hhhNhNubah}(h!]h#]h%]h']h)]uh+jb hh,hK3hjL ubeh}(h!]id1ah#]h%]&configuration and lifecycle managementah']h)]uh+jJ 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| hjz hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK5hj 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,hKBhj 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,hKBhj 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,hKBhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hExampleh]hExample}(hj; hj9 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKBhj6 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}(hjd hjb hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKDhj_ ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj\ ubh)}(hhh]h?)}(hSeth]hSet}(hj| hjz hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKDhjw 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,hKDhj 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,hKDhj ubah}(h!]h#]h%]h']h)]uh+hhj\ ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hDesired configuration attributeh]hDesired configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKGhj 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,hKGhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hDesired component quantitiesh]hDesired component quantities}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKIhj 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,hKIhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hObserveh]hObserve}(hj9 hj7 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKKhj4 ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj1 ubh)}(hhh]h?)}(h$Observed software / firmware
versionh]h$Observed software / firmware
version}(hjQ hjO hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKKhjL ubah}(h!]h#]h%]h']h)]uh+hhj1 ubh)}(hhh]h?)}(hSoftware: v1.2.1h]hSoftware: v1.2.1}(hjh hjf hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKKhjc ubah}(h!]h#]h%]h']h)]uh+hhj1 ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(h Observed configuration attributeh]h Observed configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKNhj 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,hKNhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hObserved component quantitiesh]hObserved component quantities}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKPhj 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,hKPhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hCloud Infrastructure Softwareh]hCloud Infrastructure Software}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKRhj ubah}(h!]h#]h%]h']h)]morerowsKuh+hhj ubh)}(hhh]h?)}(hSeth]hSet}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKRhj 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,hKRhj! 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,hKRhj8 ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hDesired configuration attributeh]hDesired configuration attribute}(hj] hj[ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKThjX ubah}(h!]h#]h%]h']h)]uh+hhjU ubh)}(hhh]h?)}(hmanagement_int: eth0h]hmanagement_int: eth0}(hjt hjr hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKThjo ubah}(h!]h#]h%]h']h)]uh+hhjU ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hDesired component quantitiesh]hDesired component quantities}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKVhj 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,hKVhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hObserveh]hObserve}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKXhj 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,hKXhj 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,hKXhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(h Observed configuration attributeh]h Observed configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK[hj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hmanagement_int: eth0h]hmanagement_int: eth0}(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+hhjY ubh)}(hhh](h)}(hhh]h?)}(hObserved component quantitiesh]hObserved component quantities}(hjQ hjO hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK]hjL ubah}(h!]h#]h%]h']h)]uh+hhjI ubh)}(hhh]h?)}(h# NICs for data: 6h]h# NICs for data: 6}(hjh hjf hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK]hjc ubah}(h!]h#]h%]h']h)]uh+hhjI ubeh}(h!]h#]h%]h']h)]uh+hhjY 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)]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?)}(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?)}(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,hK_hj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hDesired configuration attributeh]hDesired configuration attribute}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKbhj 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,hKbhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(hObserveh]hObserve}(hj& hj$ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKehj! 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,hKehj9 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}(hjU hjS hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKehjP ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhjY ubh)}(hhh](h)}(hhh]h?)}(h Observed configuration attributeh]h Observed configuration attribute}(hju hjs hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhhjp ubah}(h!]h#]h%]h']h)]uh+hhjm 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,hKhhj ubah}(h!]h#]h%]h']h)]uh+hhjm ubeh}(h!]h#]h%]h']h)]uh+hhjY 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,hKlhj 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,hKnhj 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,hKrhj 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,hKrhj# ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hLinkh]hLink}(hj? hj= hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKrhj: 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}(hjh hjf hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKthjc 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,hKthjz 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,hKthj 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,hKuhj 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,hKuhj 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,hKuhj 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,hKvhj 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,hKvhj
ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hDMTF RedFish specification [11]h]hDMTF RedFish specification [11]}(hj2
hj0
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKvhj-
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:}(hhhja
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,hKyhj hhubeh}(h!]&configuration-and-lifecycle-managementah#]h%]h']jw ah)]uh+h
hhhhhh,hK$j Kubh)}(hhh](h)}(h Assuranceh]h Assurance}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj
hhhh,hK|ubh?)}(hAssurance is concerned with:h]hAssurance is concerned with:}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK~hj
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?)}(hThe proactive and reactive maintenance activities that are required to ensure infrastructure services are available
as per defined performance and availability levels.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,hKhj
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,hKhj
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,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj
hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj
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,hKhj
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,hKhj 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?)}(hThe ability to collect data relating to events (transactions, security events, physical interface up/down events,
warning events, error events, etc.)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,hKhj 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?)}(hj2 h]hjThe ability to collect data relating to component status (up/down, physical temperature, disk speed, etc.)}(hj2 hj4 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj0 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.)}(hjM hjK hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjG 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 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.}(hjq hjo hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjk 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?)}(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]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,hKhj 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,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj} ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhjk ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubeh}(h!]h#]h%]h']h)]enumtypearabicprefixhsuffix.uh+j
hj
hhhh,hKubh?)}(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,hKhj
hhubeh}(h!] assuranceah#]h%] assuranceah']h)]uh+h
hhhhhh,hK|ubh)}(hhh](h)}(hCapacity Managementh]hCapacity Management}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubh?)}(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,hKubh)}(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)}(hhh](h)}(hIntroductionh]hIntroduction}(hj9 hj7 hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj4 hhhh,hKubh?)}(hX In a typical telecom operator environment, infrastructure Life Cycle Management is highly complex and error-prone. The
environment, with its multiple vendors and products, is maintenance expensive (both in terms of time and costs) because
of the need for complex planning, testing, and the out-of-business-hours execution required to perform disruptive
maintenance (e.g., upgrades) and to mitigate outages to mission-critical applications. Processes and tooling for
infrastructure management across hybrid environments create additional complexity due to the different levels of access
to infrastructure: hands-on access to the on-premise infrastructure but only restricted access to consumable services
offered by public clouds.h]hX In a typical telecom operator environment, infrastructure Life Cycle Management is highly complex and error-prone. The
environment, with its multiple vendors and products, is maintenance expensive (both in terms of time and costs) because
of the need for complex planning, testing, and the out-of-business-hours execution required to perform disruptive
maintenance (e.g., upgrades) and to mitigate outages to mission-critical applications. Processes and tooling for
infrastructure management across hybrid environments create additional complexity due to the different levels of access
to infrastructure: hands-on access to the on-premise infrastructure but only restricted access to consumable services
offered by public clouds.}(hjG hjE hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj4 hhubh?)}(hX/ Life cycle operations, such as software or hardware upgrades (including complex and risky firmware updates), typically
involve time-consuming manual research and substantive testing to ensure that an upgrade is available, required, or
needed, and does not conflict with the current versions of other components. In a complex and at-scale Hybrid
Multi-Cloud environment, consisting of multiple on-premise and public clouds, such a manual process is ineffective and,
in many cases, impossible to execute in a controlled manner. Hence, the need for automation.h]hX/ Life cycle operations, such as software or hardware upgrades (including complex and risky firmware updates), typically
involve time-consuming manual research and substantive testing to ensure that an upgrade is available, required, or
needed, and does not conflict with the current versions of other components. In a complex and at-scale Hybrid
Multi-Cloud environment, consisting of multiple on-premise and public clouds, such a manual process is ineffective and,
in many cases, impossible to execute in a controlled manner. Hence, the need for automation.}(hjU hjS hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj4 hhubh?)}(hThe goals of LCM are to provide a reliable administration of a system from its provisioning, through its operational
stage, to its final retirement.h]hThe goals of LCM are to provide a reliable administration of a system from its provisioning, through its operational
stage, to its final retirement.}(hjc hja hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj4 hhubh?)}(h(Key functions of Infrastructure LCM are:h]h(Key functions of Infrastructure LCM are:}(hjq hjo hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj4 hhubh])}(hhh](hb)}(hHybrid, Multi-Cloud support, that is, LCM works across physical, virtual, and cloud environments, supporting
on-premise, cloud, and distributed environmentsh]h?)}(hHybrid, Multi-Cloud support, that is, LCM works across physical, virtual, and cloud environments, supporting
on-premise, cloud, and distributed environmentsh]hHybrid, Multi-Cloud support, that is, LCM works across physical, virtual, and cloud environments, supporting
on-premise, cloud, and distributed environments}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj} hhhh,hNubhb)}(hiComplete system life cycle control (Plan/Design, Build, Provision, Operate/Manage, Retire, Recycle/Scrap)h]h?)}(hj h]hiComplete system life cycle control (Plan/Design, Build, Provision, Operate/Manage, Retire, Recycle/Scrap)}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj} hhhh,hNubhb)}(h;Enablement for automation of most system maintenance tasks
h]h?)}(h:Enablement for automation of most system maintenance tasksh]h:Enablement for automation of most system maintenance tasks}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj} hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj4 hhubh?)}(h6Key benefits of the Infrastructure LCM Automation are:h]h6Key benefits of the Infrastructure LCM Automation are:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj4 hhubh])}(hhh](hb)}(hAgility: standardisation of the LCM process by writing and running IaaC allows to quickly and easily develop, stage,
and produce environmentsh]h?)}(hAgility: standardisation of the LCM process by writing and running IaaC allows to quickly and easily develop, stage,
and produce environmentsh]hAgility: standardisation of the LCM process by writing and running IaaC allows to quickly and easily develop, stage,
and produce environments}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hOperational Consistency: automation of lifecycle results in consistently maintaining desired state, reduces the
possibility of errors and decreases the chances of incompatibility issues within the infrastructureh]h?)}(hOperational Consistency: automation of lifecycle results in consistently maintaining desired state, reduces the
possibility of errors and decreases the chances of incompatibility issues within the infrastructureh]hOperational Consistency: automation of lifecycle results in consistently maintaining desired state, reduces the
possibility of errors and decreases the chances of incompatibility issues within the infrastructure}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hHuman related Risks Mitigation: automation reduces risks related to human errors, rogue activities, and safeguards
the institutional knowledge from leakage in case any employee leaves the organizationh]h?)}(hHuman related Risks Mitigation: automation reduces risks related to human errors, rogue activities, and safeguards
the institutional knowledge from leakage in case any employee leaves the organizationh]hHuman related Risks Mitigation: automation reduces risks related to human errors, rogue activities, and safeguards
the institutional knowledge from leakage in case any employee leaves the organization}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj
ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hHigher Efficiency: achieved by minimizing human inaccuracies and eliminating the lack of knowledge about
infrastructure installed base and its configuration, using the CI/CD techniques adapted to infrastructureh]h?)}(hHigher Efficiency: achieved by minimizing human inaccuracies and eliminating the lack of knowledge about
infrastructure installed base and its configuration, using the CI/CD techniques adapted to infrastructureh]hHigher Efficiency: achieved by minimizing human inaccuracies and eliminating the lack of knowledge about
infrastructure installed base and its configuration, using the CI/CD techniques adapted to infrastructure}(hj,
hj*
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj&
ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hCost/time Saving: engineers save up on time and cost which can be wisely invested in performing higher-value jobs;
additional cost savings on cloud more optimal use of cloud resources using LCM Automation
h]h?)}(hCost/time Saving: engineers save up on time and cost which can be wisely invested in performing higher-value jobs;
additional cost savings on cloud more optimal use of cloud resources using LCM Automationh]hCost/time Saving: engineers save up on time and cost which can be wisely invested in performing higher-value jobs;
additional cost savings on cloud more optimal use of cloud resources using LCM Automation}(hjD
hjB
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj>
ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hKhj4 hhubeh}(h!]id2ah#]h%]h']j ah)]uh+h
hj# hhhh,hKj Kubh)}(hhh](h)}(h'Infrastructure LCM Automation Frameworkh]h'Infrastructure LCM Automation Framework}(hjh
hjf
hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjc
hhhh,hKubh?)}(hX The following diagrams provide mapping between different stages of the lifecycle automation across all layers of the
stack, to owners of infrastructure and cloud and the tenant as the consumer of the cloud services, in three very
different scenarios: applications running as containers within virtual machines (CaaS on IaaS scenario), application
running as containers on bare metal (CaaS on BM scenario) and a more traditional view of applications running as VNFs
within virtual machines (IaaS scenario). The diagrams define the scope of the Infrastructure LCM Automation for each of
these scenarios. The dotted lines symbolise the interactions between the layers of each of the model.h]hX The following diagrams provide mapping between different stages of the lifecycle automation across all layers of the
stack, to owners of infrastructure and cloud and the tenant as the consumer of the cloud services, in three very
different scenarios: applications running as containers within virtual machines (CaaS on IaaS scenario), application
running as containers on bare metal (CaaS on BM scenario) and a more traditional view of applications running as VNFs
within virtual machines (IaaS scenario). The diagrams define the scope of the Infrastructure LCM Automation for each of
these scenarios. The dotted lines symbolise the interactions between the layers of each of the model.}(hjv
hjt
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjc
hhubjK )}(hhh](jP )}(h.. figure:: ../figures/RM-Ch09-LCM-Automation-CaaS-on-IaaS.png
:name: Infrastructure Automation in CaaS on IaaS scenario
:alt: "Infrastructure Automation in CaaS on IaaS scenario"
Infrastructure Automation in CaaS on IaaS scenario
h]h}(h!]h#]h%]h']h)]alt4"Infrastructure Automation in CaaS on IaaS scenario"uri/figures/RM-Ch09-LCM-Automation-CaaS-on-IaaS.pngj_ }ja j
suh+jO hj
hh,hKubjc )}(h2Infrastructure Automation in CaaS on IaaS scenarioh]h2Infrastructure Automation in CaaS on IaaS scenario}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+jb hh,hKhj
ubeh}(h!]2infrastructure-automation-in-caas-on-iaas-scenarioah#]h%]2infrastructure automation in caas on iaas scenarioah']h)]uh+jJ hKhjc
hhhh,ubh?)}(hX In the CaaS on IaaS scenario, the Infrastructure Automation scope covers the Site/Physical layer, IaaS layer and CaaS
layer. From the lifecycle perspective (the left hand side of the diagram), Site/Physical layer is entirely owned by the
Infrastructure Owner, the virtualised infrastructure layer (IaaS) is shared between the Infrastructure Owner and the
Cloud Provider. Similarly, the container orchestration layer (CaaS) is shared between the Cloud Provider and the
Cloud Consumer / Tenant. These relationships can be illustrated by a situation, where a telecom operator owns the
physical infrastructure on which an external cloud provider runs the virtualisation software (hypervisor).
Sharing CaaS layer between the Cloud Provider and the Cloud Consumer reflects the fact that the container
management/orchestration software like Kubernetes is lifecycled by the Cloud Provider (for instance when scaling out
containers) but also by the Cloud Consumer because of the very close lifecycle relationship between an application and
a container in this model. For instance, destroying an application means also destroying related containers, Hence CaaS
can be also considered as a part of the Application Orchestration layer.h]hX In the CaaS on IaaS scenario, the Infrastructure Automation scope covers the Site/Physical layer, IaaS layer and CaaS
layer. From the lifecycle perspective (the left hand side of the diagram), Site/Physical layer is entirely owned by the
Infrastructure Owner, the virtualised infrastructure layer (IaaS) is shared between the Infrastructure Owner and the
Cloud Provider. Similarly, the container orchestration layer (CaaS) is shared between the Cloud Provider and the
Cloud Consumer / Tenant. These relationships can be illustrated by a situation, where a telecom operator owns the
physical infrastructure on which an external cloud provider runs the virtualisation software (hypervisor).
Sharing CaaS layer between the Cloud Provider and the Cloud Consumer reflects the fact that the container
management/orchestration software like Kubernetes is lifecycled by the Cloud Provider (for instance when scaling out
containers) but also by the Cloud Consumer because of the very close lifecycle relationship between an application and
a container in this model. For instance, destroying an application means also destroying related containers, Hence CaaS
can be also considered as a part of the Application Orchestration layer.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjc
hhubjK )}(hhh](jP )}(h.. figure:: ../figures/RM-Ch09-LCM-Automation-CNF-on-BM.png
:name: Infrastructure Automation in CaaS on BM scenario
:alt: "Infrastructure Automation in CaaS on BM scenario"
Infrastructure Automation in CaaS on BM scenario
h]h}(h!]h#]h%]h']h)]alt2"Infrastructure Automation in CaaS on BM scenario"uri,figures/RM-Ch09-LCM-Automation-CNF-on-BM.pngj_ }ja j
suh+jO hj
hh,hKubjc )}(h0Infrastructure Automation in CaaS on BM scenarioh]h0Infrastructure Automation in CaaS on BM scenario}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+jb hh,hKhj
ubeh}(h!]0infrastructure-automation-in-caas-on-bm-scenarioah#]h%]0infrastructure automation in caas on bm scenarioah']h)]uh+jJ hKhjc
hhhh,ubh?)}(hXi The main and obvious difference in the Caas on BM scenario is lack of the IaaS layer, and hence the scope of the
Infrastructure Automation is limited to only two layers: Site/Physical and CaaS. From the lifecycle ownership
perspective, the CaaS layer is now shared not only between the Cloud Provider and the Cloud Consumer (for the same
reasons as in the CaaS on IaaS scenario) but also with the Infrastructure Owner. The latter observation is related to
the fact that in the bare metal deployments lacking the hypervisor separation, the CaaS layer is much more dependent on
the underlying physical infrastructure.h]hXi The main and obvious difference in the Caas on BM scenario is lack of the IaaS layer, and hence the scope of the
Infrastructure Automation is limited to only two layers: Site/Physical and CaaS. From the lifecycle ownership
perspective, the CaaS layer is now shared not only between the Cloud Provider and the Cloud Consumer (for the same
reasons as in the CaaS on IaaS scenario) but also with the Infrastructure Owner. The latter observation is related to
the fact that in the bare metal deployments lacking the hypervisor separation, the CaaS layer is much more dependent on
the underlying physical infrastructure.}(hj
hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjc
hhubjK )}(hhh](jP )}(h.. figure:: ../figures/RM-Ch09-LCM-Automation-VNF-on-IaaS.png
:name: Infrastructure Automation in IaaS scenario
:alt: "Infrastructure Automation in IaaS scenario"
Infrastructure Automation in IaaS scenario
h]h}(h!]h#]h%]h']h)]alt,"Infrastructure Automation in IaaS scenario"uri.figures/RM-Ch09-LCM-Automation-VNF-on-IaaS.pngj_ }ja j
suh+jO hj
hh,hMubjc )}(h*Infrastructure Automation in IaaS scenarioh]h*Infrastructure Automation in IaaS scenario}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+jb hh,hMhj
ubeh}(h!]*infrastructure-automation-in-iaas-scenarioah#]h%]*infrastructure automation in iaas scenarioah']h)]uh+jJ hMhjc
hhhh,ubh?)}(hX In this "classical" scenario the scope of the Infrastructure Automation is defined by the Site/Physical and IaaS layers.
From the lifecycle perspective the ownership of IaaS is shared between the Infrastructure Owner and the Cloud Provider.
This scenario is characterised by a clear separation between the lifecycle (and hence its automation) of infrastructure
and the application lifecycle owned by the Cloud Consumer / Tenant in the role of the Application Owner.h]hX In this “classical” scenario the scope of the Infrastructure Automation is defined by the Site/Physical and IaaS layers.
From the lifecycle perspective the ownership of IaaS is shared between the Infrastructure Owner and the Cloud Provider.
This scenario is characterised by a clear separation between the lifecycle (and hence its automation) of infrastructure
and the application lifecycle owned by the Cloud Consumer / Tenant in the role of the Application Owner.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjc
hhubh?)}(hIEssential foundation functional blocks for Infrastructure LCM automation:h]hIEssential foundation functional blocks for Infrastructure LCM automation:}(hj& hj$ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM
hjc
hhubh])}(hhh](hb)}(hRepresentation Modelh]h?)}(hj7 h]hRepresentation Model}(hj7 hj9 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj5 ubah}(h!]h#]h%]h']h)]uh+hahj2 hhhh,hNubhb)}(hRepository functionsh]h?)}(hjN h]hRepository functions}(hjN hjP hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjL ubah}(h!]h#]h%]h']h)]uh+hahj2 hhhh,hNubhb)}(h,Available Software Versions and Dependenciesh]h?)}(hje h]h,Available Software Versions and Dependencies}(hje hjg hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjc ubah}(h!]h#]h%]h']h)]uh+hahj2 hhhh,hNubhb)}(hOrchestration Engine
h]h?)}(hOrchestration Engineh]hOrchestration Engine}(hj hj~ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjz ubah}(h!]h#]h%]h']h)]uh+hahj2 hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMhjc
hhubh?)}(h+Automated LCM uses Representation Model to:h]h+Automated LCM uses Representation Model to:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjc
hhubh])}(hhh](hb)}(h(abstract various automation technologiesh]h?)}(hj h]h(abstract various automation technologies}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hpromote evolution from automation understood as automation of human tasks to autonomous systems using intent-based,
declarative automation, supported by evolving AI/ML technologies
h]h?)}(hpromote evolution from automation understood as automation of human tasks to autonomous systems using intent-based,
declarative automation, supported by evolving AI/ML technologiesh]hpromote evolution from automation understood as automation of human tasks to autonomous systems using intent-based,
declarative automation, supported by evolving AI/ML technologies}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMhjc
hhubh?)}(h+Automated LCM uses Repository functions to:h]h+Automated LCM uses Repository functions to:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjc
hhubh])}(hhh](hb)}(h#store and manage configuration datah]h?)}(hj h]h#store and manage configuration data}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(h[store and manage metrics related data such as event data, alert data, and performance datah]h?)}(hj h]h[store and manage metrics related data such as event data, alert data, and performance data}(hj hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hYmaintain currency of data by the use of discovery of current versions of software modulesh]h?)}(hj h]hYmaintain currency of data by the use of discovery of current versions of software modules}(hj hj! hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hEtrack and account for all systems, assets, subscriptions (monitoring)h]h?)}(hj6 h]hEtrack and account for all systems, assets, subscriptions (monitoring)}(hj6 hj8 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj4 ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(h7provide an inventory of all virtual and physical assetsh]h?)}(hjM h]h7provide an inventory of all virtual and physical assets}(hjM hjO hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM hjK ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(h6provide a topological view of interconnected resourcesh]h?)}(hjd h]h6provide a topological view of interconnected resources}(hjd hjf hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM!hjb ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(h!support network design function
h]h?)}(hsupport network design functionh]hsupport network design function}(hj hj} hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM"hjy ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMhjc
hhubh?)}(hQAutomated LCM uses available IAC Software Versions and Dependencies component to:h]hQAutomated LCM uses available IAC Software Versions and Dependencies component to: }(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM%hjc
hhubh])}(hhh](hb)}(hastore information about available software versions, software patches and dependency expectationsh]h?)}(hj h]hastore information about available software versions, software patches and dependency expectations}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM'hj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hdetermine the recommended version of a software item (such as firmware) and dependencies on other items in the node
to ensure compliance and maintain the system integrityh]h?)}(hdetermine the recommended version of a software item (such as firmware) and dependencies on other items in the node
to ensure compliance and maintain the system integrityh]hdetermine the recommended version of a software item (such as firmware) and dependencies on other items in the node
to ensure compliance and maintain the system integrity}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM(hj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(hQdetermine the recommended versions of foundation software running on the cluster
h]h?)}(hPdetermine the recommended versions of foundation software running on the clusterh]hPdetermine the recommended versions of foundation software running on the cluster}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM*hj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hM'hjc
hhubh?)}(h+Automated LCM uses Orchestration Engine to:h]h+Automated LCM uses Orchestration Engine to:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM,hjc
hhubh])}(hhh](hb)}(hPdynamically remediate dependencies during the change process to optimise outcomeh]h?)}(hj h]hPdynamically remediate dependencies during the change process to optimise outcome}(hj hj
hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM.hj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubhb)}(huensure that the system is consistent across its life cycle by maintaining it in accordance with the intent templates
h]h?)}(htensure that the system is consistent across its life cycle by maintaining it in accordance with the intent templatesh]htensure that the system is consistent across its life cycle by maintaining it in accordance with the intent templates}(hj# hj! hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM/hj ubah}(h!]h#]h%]h']h)]uh+hahj hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hM.hjc
hhubeh}(h!]'infrastructure-lcm-automation-frameworkah#]h%]'infrastructure lcm automation frameworkah']h)]uh+h
hj# hhhh,hKubh)}(hhh](h)}(h)LCM Automation Principles / Best Practiceh]h)LCM Automation Principles / Best Practice}(hjH hjF hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjC hhhh,hM2ubh?)}(heThe following principles should guide best practice in the area of the Infrastructure LCM Automation:h]heThe following principles should guide best practice in the area of the Infrastructure LCM Automation:}(hjV hjT hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM4hjC hhubh])}(hhh](hb)}(hX
Everything Codified: use explicit coding to configure files not only for initial provisioning but also as a single
source of truth for the whole infrastructure lifecycle, to ensure consistency with the intent configuration templates
and to eliminate configuration drifth]h?)}(hX
Everything Codified: use explicit coding to configure files not only for initial provisioning but also as a single
source of truth for the whole infrastructure lifecycle, to ensure consistency with the intent configuration templates
and to eliminate configuration drifth]hX
Everything Codified: use explicit coding to configure files not only for initial provisioning but also as a single
source of truth for the whole infrastructure lifecycle, to ensure consistency with the intent configuration templates
and to eliminate configuration drift}(hjk hji hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM6hje ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hrVersion Controlled: use stringent version control for the infrastructure code to allow proper lifecycle automationh]h?)}(hj h]hrVersion Controlled: use stringent version control for the infrastructure code to allow proper lifecycle automation}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM9hj} ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hSelf-Documentation: code itself represents the updated documentation of the infrastructure, to minimise the
documentation maintenance burden and to ensure the documentation currencyh]h?)}(hSelf-Documentation: code itself represents the updated documentation of the infrastructure, to minimise the
documentation maintenance burden and to ensure the documentation currencyh]hSelf-Documentation: code itself represents the updated documentation of the infrastructure, to minimise the
documentation maintenance burden and to ensure the documentation currency}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM:hj ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hCode Modularisation: apply to IaaC principles of the microservices architecture where the modular units of code can be
independently deployed and lifecycled in an automated fashionh]h?)}(hCode Modularisation: apply to IaaC principles of the microservices architecture where the modular units of code can be
independently deployed and lifecycled in an automated fashionh]hCode Modularisation: apply to IaaC principles of the microservices architecture where the modular units of code can be
independently deployed and lifecycled in an automated fashion}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM<hj ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hX Immutability: IT infrastructure components are required to be replaced for each deployment during the system lifecycle
to be consistent with immutable infrastructure to avoid configuration drift and to restrict the impact of undocumented
changes in the stackh]h?)}(hX Immutability: IT infrastructure components are required to be replaced for each deployment during the system lifecycle
to be consistent with immutable infrastructure to avoid configuration drift and to restrict the impact of undocumented
changes in the stackh]hX Immutability: IT infrastructure components are required to be replaced for each deployment during the system lifecycle
to be consistent with immutable infrastructure to avoid configuration drift and to restrict the impact of undocumented
changes in the stack}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM>hj ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hAutomated Testing: is the key for the error-free post-deployment lifecycle processes and to eliminate lengthy manual
testing processesh]h?)}(hAutomated Testing: is the key for the error-free post-deployment lifecycle processes and to eliminate lengthy manual
testing processesh]hAutomated Testing: is the key for the error-free post-deployment lifecycle processes and to eliminate lengthy manual
testing processes}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMAhj ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hUnified Automation: use the same Infrastructure LCM Automation templates, toolsets and procedures across different
environments such as Dev, Test, QA and Prod, to ensure consistency of the lifecycle results and to reduce operational
costsh]h?)}(hUnified Automation: use the same Infrastructure LCM Automation templates, toolsets and procedures across different
environments such as Dev, Test, QA and Prod, to ensure consistency of the lifecycle results and to reduce operational
costsh]hUnified Automation: use the same Infrastructure LCM Automation templates, toolsets and procedures across different
environments such as Dev, Test, QA and Prod, to ensure consistency of the lifecycle results and to reduce operational
costs}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMChj ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubhb)}(hX Security Automation: security of infrastructure is critical for the overall security, dictating to use consistent
automated security procedures for the threat detection, investigation and remediation through all infrastructure
lifecyle stages and all environments
h]h?)}(hX Security Automation: security of infrastructure is critical for the overall security, dictating to use consistent
automated security procedures for the threat detection, investigation and remediation through all infrastructure
lifecyle stages and all environmentsh]hX Security Automation: security of infrastructure is critical for the overall security, dictating to use consistent
automated security procedures for the threat detection, investigation and remediation through all infrastructure
lifecyle stages and all environments}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMFhj ubah}(h!]h#]h%]h']h)]uh+hahjb hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hM6hjC hhubeh}(h!]'lcm-automation-principles-best-practiceah#]h%])lcm automation principles / best practiceah']h)]uh+h
hj# hhhh,hM2ubeh}(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}(hj? hj= hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj: hhhh,hMKubh)}(hhh](h)}(hSoftware Onboarding Automationh]hSoftware Onboarding Automation}(hjP hjN hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjK hhhh,hMNubh?)}(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:}(hj^ hj\ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMPhjK hhubh])}(hhh](hb)}(h)Build, package, test application/softwareh]h?)}(hjo h]h)Build, package, test application/software}(hjo hjq hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMThjm ubah}(h!]h#]h%]h']h)]uh+hahjj 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,hMUhj ubah}(h!]h#]h%]h']h)]uh+hahjj 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,hMVhj ubah}(h!]h#]h%]h']h)]uh+hahjj hhhh,hNubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMThjK 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,hMXhjK 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,hM[hj 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?)}(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]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,hM]hj 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?)}(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]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,hM_hj 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,hMahj ubah}(h!]h#]h%]h']h)]uh+hahj ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hM]hj 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:}(hj9 hj7 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMdhj3 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?)}(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]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.}(hjN hjL hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMfhjH ubah}(h!]h#]h%]h']h)]uh+hahjE 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.}(hjf hjd hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhhj` ubah}(h!]h#]h%]h']h)]uh+hahjE ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMfhj3 ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubhb)}(hXP 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,hMkhj 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?)}(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]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,hMmhj 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,hMohj ubah}(h!]h#]h%]h']h)]uh+hahj ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMmhj 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,hMrhj 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?)}(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]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,hMthj 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,hMwhj ubah}(h!]h#]h%]h']h)]uh+hahj ubeh}(h!]h#]h%]h']h)]hhuh+h\hh,hMthj ubeh}(h!]h#]h%]h']h)]uh+hahj hhhNhNubeh}(h!]h#]h%]h']h)]j j j hj j uh+j
hjK hhhh,hM[ubh?)}(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.}(hj. hj, hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMzhjK hhubeh}(h!]software-onboarding-automationah#]h%]software onboarding automationah']h)]uh+h
hj: hhhh,hMNubh)}(hhh](h)}(hSoftware CI/CD Requirementsh]hSoftware CI/CD Requirements}(hjG hjE hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjB hhhh,hM~ubh?)}(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.}(hjU hjS hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjB hhubh)}(hhh]h)}(hhh](h)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhjd ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK3uh+hhjd ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK2uh+hhjd ubh)}(hhh]h)}(hhh](h)}(hhh]h?)}(hRef #h]hRef #}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hDescriptionh]hDescription}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj 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,hMhj ubah}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+hhj ubah}(h!]h#]h%]h']h)]uh+hhjd 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,hMhj 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,hMhj 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,hMhj 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}(hjO hjM hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjJ ubah}(h!]h#]h%]h']h)]uh+hhjG ubh)}(hhh]h?)}(h9The CI/CD pipelines must use event-driven task
automationh]h9The CI/CD pipelines must use event-driven task
automation}(hjf hjd hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhja ubah}(h!]h#]h%]h']h)]uh+hhjG ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjG 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,hMhj 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,hMhj 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,hMhj 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,hMhj ubah}(h!]h#]h%]h']h)]uh+hhj ubh)}(hhh]h?)}(hXG 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 )}(h0`https://goharbor.io/ `__h]hhttps://goharbor.io/}(hhttps://goharbor.io/hj hhhNhNubah}(h!]h#]h%]h']h)]namej j. https://goharbor.io/uh+j hj ubh)}(hj4 hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hMhj 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}(hj3 hj1 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj. ubah}(h!]h#]h%]h']h)]uh+hhj+ 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.}(hjJ hjH hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjE 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.006h]h
auto.cicd.006}(hjs hjq hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjn ubah}(h!]h#]h%]h']h)]uh+hhjk 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,hMhj ubah}(h!]h#]h%]h']h)]uh+hhjk ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjk 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,hMhj 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,hMhj 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)]refdocj7 refdomainj reftyperefrefexplicitrefwarnj= ?ref_model/chapters/chapter07:consolidated security requirementsuh+j hh,hMhj 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,hMhj 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}(hj) hj' hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj$ 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}(hj@ hj> hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj; ubah}(h!]h#]h%]h']h)]uh+hhj! ubh)}(hhh]h?)}(hExample, different testsh]hExample, different tests}(hjW hjU hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjR 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}(hjw hju hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjr ubah}(h!]h#]h%]h']h)]uh+hhjo 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,hMhj 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.010h]h
auto.cicd.010}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj 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,hMhj 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,hMhj 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,hMhj 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,hMhj 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, …}(hj3 hj1 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj. 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}(hjS hjQ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjN ubah}(h!]h#]h%]h']h)]uh+hhjK 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}(hjj hjh hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhje ubah}(h!]h#]h%]h']h)]uh+hhjK ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjK 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,hMhj 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,hMhj 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,hMhj 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,hMhj 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,hMhj 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}(hj* hj( hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj% 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}(hjS hjQ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjN ubah}(h!]h#]h%]h']h)]uh+hhjK 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}(hjj hjh hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhje ubah}(h!]h#]h%]h']h)]uh+hhjK ubh)}(hhh]h}(h!]h#]h%]h']h)]uh+hhjK ubeh}(h!]h#]h%]h']h)]uh+hhj ubeh}(h!]h#]h%]h']h)]uh+jg hjd ubeh}(h!]h#]h%]h']h)]colsKuh+hhja ubah}(h!]h#]h%]h']h)]uh+hhjB 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,hMhjB hhubeh}(h!]software-ci-cd-requirementsah#]h%]software ci/cd requirementsah']h)]uh+h
hj: hhhh,hM~ubh)}(hhh](h)}(hCI/CD Design Requirementsh]hCI/CD Design Requirements}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hMubh?)}(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,hMhj 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 j. 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/CDj. 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,hMhj 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)]namej/ j. -https://galaxy.ansible.com/collivier/xtestinguh+j hj ubh.}(hj hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hMhj hhubh)}(hhh]h)}(hhh](h)}(hhh]h}(h!]h#]h%]h']h)]colwidthKuh+hhjE ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK3uh+hhjE ubh)}(hhh]h}(h!]h#]h%]h']h)]colwidthK0uh+hhjE ubh)}(hhh]h)}(hhh](h)}(hhh]h?)}(hRef #h]hRef #}(hjq hjo hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjl ubah}(h!]h#]h%]h']h)]uh+hhji ubh)}(hhh]h?)}(hDescriptionh]hDescription}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hhji ubh)}(hhh]h?)}(hComments/Notesh]hComments/Notes}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj ubah}(h!]h#]h%]h']h)]uh+hhji ubeh}(h!]h#]h%]h']h)]uh+hhjf ubah}(h!]h#]h%]h']h)]uh+hhjE ubjh )}(hhh](h)}(hhh](h)}(hhh]h?)}(hdesign.cicd.001h]hdesign.cicd.001}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj 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,hMhj 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,hMhj 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,hMhj 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}(hj- hj+ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj( 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}(hjD hjB hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj? 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}(hjd hjb hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj_ ubah}(h!]h#]h%]h']h)]uh+hhj\ ubh)}(hhh]h?)}(h