Skip to content

Commit d3bb728

Browse files
committed
Section about vm password in ConfigDrive
1 parent 4982f00 commit d3bb728

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

source/adminguide/api.rst

+24-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
KIND, either express or implied. See the License for the
1313
specific language governing permissions and limitations
1414
under the License.
15-
15+
1616
1717
The CloudStack API is a low level API that has been used to implement
1818
the CloudStack web UIs. It is also a good basis for implementing other
@@ -181,6 +181,29 @@ VMdata - a list of String arrays representing [“directory”, “filename”,
181181

182182
- default: config-2
183183

184+
Virtual machine password via ConfigDrive
185+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186+
187+
The ConfigDrive metadata provider delivers the virtual machine password simultaneously in two variants, leaving which one to use to the user discretion:
188+
189+
1. As the ``<mountdir>/cloudstack/password/vm_password.txt`` file.
190+
191+
This file is intended to be used by an external script that runs inside the virtual machine every boot, and changes the password if needed.
192+
The init-script that implements this functionality can be found in the `Cloudstack source <https://github.com/apache/cloudstack/blob/main/setup/bindir/cloud-set-guest-password-configdrive.in>`_.
193+
194+
.. note::
195+
The ``vm_password.txt`` file is not compatible with cloud-init password module, so the cloud-init will ignore it.
196+
It is up to Cloudstack administrator to include the script processing it in the virtual machines and/or their templates.
197+
198+
2. As the ``<mountdir>/openstack/latest/vendor_data.json``.
199+
This is a standard password location supported by cloud-init's both ConfigDrive datasource and the password module.
200+
Therefore, this variant allows using cloud-init as the only tool for provisioning a virtual machine, without using external scripts.
201+
202+
.. warning::
203+
Cloud-init password module is designed to only perform the initial virtual machine password setup.
204+
It will ignore the changes in ``vendor_data.json`` after the first run. Therefore, resetting the virtual machine password from Cloudstack will not work with this variant.
205+
206+
184207
For more detailed information about the Config Drive implementation refer to
185208
the `Wiki Article
186209
<https://cwiki.apache.org/confluence/display/CLOUDSTACK/Using+ConfigDrive+for+Metadata%2C+Userdata+and+Password#:~:text=CLOUDSTACK%2D9813%20%2D%20(),%2Dkeys)%20and%20password%20files>`_

0 commit comments

Comments
 (0)