Reinstalling the BMS OS
Function
This API is used to reinstall the BMS OS. The OS of BMSs supporting quick provisioning can be reinstalled using the original image without any change to the data disks. Password and key pair injection are supported during OS reinstallation.
To check whether a BMS is quickly provisioned, use the Querying Flavor Details and Extended Flavor Information API.
This is an asynchronous API. Calling the API successfully indicates that the task is delivered successfully. To check whether the task is successful, use the Querying Task Statuses API.
Constraints
- For BMSs created from private images, ensure that Cloud-Init (for Linux) or Cloudbase-Init (for Windows) has been installed for the image. If an image without Cloud-Init or Cloudbase-Init is used, this API cannot inject a key pair or password. Cloud-Init or Cloudbase-Init has been installed for public images by default.
- You are not allowed to perform other operations when reinstalling the OS. Otherwise, reinstalling the OS will fail.
- You can reinstall the OS only on a BMS that is stopped or for which OS reinstallation has failed.
- Windows images do not support password injection. An encrypted password will be used as the value of user_data for Linux images.
URI
POST /v1/{project_id}/baremetalservers/{server_id}/reinstallos
Parameter |
Mandatory |
Description |
---|---|---|
project_id |
Yes |
Specifies the project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
server_id |
Yes |
Specifies the BMS ID. You can obtain the BMS ID from the BMS console or by calling the Querying BMSs (Native OpenStack API). |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
os-reinstall |
Yes |
Object |
Specifies the operation of reinstalling the BMS OS. For details, see Table 2. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
adminpass |
No |
String |
Specifies the initial login password of the BMS administrator account. The Linux administrator is root, and the Windows administrator is Administrator. Recommended password complexity requirements are as follows:
NOTE:
|
keyname |
No |
String |
Specifies the key pair name. You can create a key pair using the Creating or Importing an SSH Key Pair (Native OpenStack API) API, or query existing key pairs using the Querying SSH Key Pairs (Native OpenStack API) API. |
userid |
No |
String |
Specifies the user ID. You can obtain the user ID from My Credential on the management console. |
metadata |
No |
Object |
Specifies the BMS metadata. For details, see Table 3. |
Parameter |
Mandatory |
Type |
Description |
||||||
---|---|---|---|---|---|---|---|---|---|
user_data |
No |
String |
Specifies the Linux image root password injected during the BMS OS reinstallation. It is a user-defined initial password. Note: The password change script must be encoded using Base64. Recommended password complexity requirements are as follows:
An example is as follows:
where, $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig is the ciphertext password, which can be generated as follows:
|
Example Request
1
|
POST https://{BMS Endpoint}/v1/bbf1946d374b44a0a2a95533562ba954/baremetalservers/cf2a8b97-b5c6-47ef-9714-eb27adf26e5b/reinstallos |
1 2 3 4 5 6 7 8 9 |
{ "os-reinstall": { "keyname": "$key_name", "userid": "7e25b1da389f4697a79df3a0e5bd494e", "metadata": { "user_data": "$USER_DATA" } } } |
Response Parameters
Parameter |
Type |
Description |
---|---|---|
job_id |
String |
Specifies the task ID returned after a task command is issued. The task ID can be used to query the execution status of the task. For details about how to query the task execution status based on job_id, see Querying Task Statuses. |
Parameter |
Type |
Description |
---|---|---|
error |
Dictionary data structure |
Specifies the error returned when a task submission encounters an exception. For details, see Table 6. |
Parameter |
Type |
Description |
---|---|---|
message |
String |
Specifies the error message. |
code |
String |
Specifies the error code. |
Example Response
- Normal response
{ "job_id": "70a599e0-31e7-49b7-b260-868f441e862b" }
Returned Values
Returned Values |
Description |
---|---|
200 |
The request has been successfully processed. |
For details about other returned values, see Status Codes.
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.