1 # [Cloud-init Support](https://osm.etsi.org/gerrit/#/c/168/) #
4 This document describes the functional specification for the
5 cloud-init support feature within the SO Module.
10 ## Data Model Changes ##
11 The network service descriptor will allow the ability to specify ssh-keys and users,
13 container nsd-catalog {
17 description "Used to configure the list of public keys to be injected as part
20 description "Name of this key pair";
25 description "Key associated with this key pair";
32 description "List of users to be added through cloud-config";
34 description "Name of the user ";
38 description "The user name's real name";
42 description "The user password";
49 The ns-instance-config node will be modified to add the following grouping,
51 grouping cloud-config {
52 description "List of cloud config parameters";
54 list ssh-authorized-key {
57 description "List of authorized ssh keys as part of cloud-config";
60 description "A reference to the key pair entry in the global key pair table";
62 path "/nsr:key-pair/nsr:name";
69 description "List of users to be added through cloud-config";
71 description "Name of the user ";
75 description "The user name's real name";
79 description "The user password";
86 A top level node will be introduced in nsr data model that includes the ssh keys. The cloud-config
87 will refer to the key-pairs in this list.
91 description "Used to configure the list of public keys to be injected as part
94 description "Name of this key pair";
99 description "Key associated with this key pair";
106 This cloud-init support will add the ability to declaratively specify authorized
107 ssh keys(user specified and OSM generated) and user name/passwords through cloud-init.
109 ## Feature description ##
110 Release1 will provide the ability to declaratively specify a list of authorized
111 ssh keys and user-name/passwords at the time of Instantiation or in the NS descriptor
112 which will be passed from UI to SO to RO.
114 If the keys/user are specified in descriptor, and if they are specified at the time of instantiation
115 they will be merged and used for instantiation.
117 In addition to the user-specified ssh-keys the SO will also generate an
118 additional "osm ssh keys" which will passed to both RO and VCA.
121 ## Inter-Module Dependencies ##
122 The RO Module Northbound APIs need to be enhanced to be able to pass user_data argument and osm key.
123 SO need to pass the generated OSM keys VCA.
126 No significant risks other than the inter-module dependencies.
130 - It is assumed that the support for the cloud-init is limited to user-name/password
131 and ssh-keys at the NS level and that the same set of keys will be included in all the
132 VDUs and all VNFs within the NS. Additional parameters will be added on a need-basis in
134 - There will not be support to add these keys/user a the VNF level
135 The keys/users will be taken as an input at the time of instantiation.
136 - Will maintain the support for user-data at the VDU level - If the user-data
137 is specified at the VDU level, the inputs from the NS instantiation will be merged
138 to the VDU level for each VDU in the NS.
139 - There will not be support for these scripts in the NSD.
140 It will be handled as an input in ns-instance-config as part of the parameters during instantiation.