anvil-change-password \- Tool used to change / reset the main Anvil! password.
.SHSYNOPSIS
.Balteeve-repo-setup
.Banvil-change-password
\fI\,<command> \/\fR[\fI\,options\/\fR]
.SHDESCRIPTION
anvil-change-password \- This is used to change / reset the password on a Striker dashboard. Alternatively, if '--anvil' is used, to change / reset the password on an Anvil! node pair.
anvil-manage-server-storage \- Tool used to manage the storage of a hosted server.
.SHSYNOPSIS
.Banvil-manage-server-storage
\fI\,<command> \/\fR[\fI\,options\/\fR]
.SHDESCRIPTION
anvil-manage-server-storage \- This tool is used to add a disk, grow an existing disk, change the ISO (optical disk) in a virtual optical drive, and change boot devices.
.TP
When called without switches, the list of servers than can be worked on will be displayed.
.TP
.SHOPTIONS
.TP
\-?, \-h, \fB\-\-help\fR
Show this man page.
.TP
\fB\-\-log-secure\fR
When logging, record sensitive data, like passwords.
.TP
\-v, \-vv, \-vvv
Set the log level to 1, 2 or 3 respectively. Be aware that level 3 generates a significant amount of log data.
.SS"Commands:"
.TP
\fB\-\-add\fR <size or percent>
This is used to add a new disk to a server. Specifically, it adds a second volume to the replicated storage under the server, which appears as a second disk inside the server. Writes to this and existing disks are ordered during replication, including during short or long throw DR.
.TP
The size can be in percent, ie: '50%' or '100%', a number in bytes, or a human-readable size. Human readable sizes must NOT have a space between the number and letter suffix.
.TP
Also, base2 vs base10 notation! Ie: '1GiB' = 1,073,741,824 bytes', '1GB' = '1,000,000,000 bytes'. A single letter used to denote size will be interpreted as base2. ie: '1G' is the same as '1GiB'.
.TP
\fB\-\-anvil\fR <name|uuid>
This is the Anvil! node name or UUID to be used. If not specified, the Anvil! the command or job runs on will be used.
.TP
\fB\-\-confirm\fR
Using this prevents the prompts to confirm given actions. When using \fB\-\-job\-uuid\fR, this is ignored as all commands are considered confirmed.
.TP
\fB\-\-disk\fR <device, ie: sda, vdb>
This is the disk being worked on. For optical disks, it's the drive that an optical disc (ISO) is being inserted into or ejected from. For disks, it's the disk being added, grown or deleted.
.TP
When not specified, if only one disk exists, it will be chosen automatically.
.TP
\fB\-\-eject\fR
This ejects the optical disc (ISO) in the drive specified by \fB\-\-disk\fR.
.TP
\fB\-\-job\-uuid\fR
This is the jobs -> job_uuid to execute. Generally this is only used by other programs.
.TP
\fB\-\-grow\fR <size or percent>
This is used to grow an existing disk by the specified amount. The drive to grow is specified using \fB\-\-disk\fR.
.TP
The size can be in percent, ie: '50%' or '100%', a number in bytes, or a human-readable size. Human readable sizes must NOT have a space between the number and letter suffix.
.TP
Also, base2 vs base10 notation! Ie: '1GiB' = 1,073,741,824 bytes', '1GB' = '1,000,000,000 bytes'. A single letter used to denote size will be interpreted as base2. ie: '1G' is the same as '1GiB'.
.TP
\fB\-\-insert\fR </path/to/file.iso>
This inserts the optical disc (ISO) into the drive specified by \fB\-\-optical\fR.
.TP
\fB\-\-optical\fR <device>
This is the device, ie: 'sda', to insert the optical disc (ISO file) into or to eject a disc from.
.TP
\fB\-\-server\fR <name or uuid>
This is the server being worked on. If this switch is used alone, then the current state of the storage of the server is displayed, as well as the details of the Storage Groups the server is or can use.
.TP
\fB\-\-storage\-group\fR <name or uuid>
If there are two or more Storage Groups exist, and you're adding a disk, this allows you to specify which storage group to use for the new disk.
.IP
.SHAUTHOR
Written by Madison Kelly, Alteeve staff and the Anvil! project contributors.
<keyname="error_0135">Failed to start the daemon: [#!variable!daemon!#] on [#!variable!host!#], unable to boot the server.</key>
<keyname="error_0136">System->test_ipmi() was called with an invalid 'lanplus' parameter. It must be 'yes', 'no', 'yes-no' or 'no-yes'. Received: [#!variable!lanplus!#].</key>
<keyname="error_0137">All attempts to change the IPMI user: [#!variable!user_name!#] (number: [#!variable!user_number!#] failed. The last try's output (if any) was: [#!variable!output!#] (return code: [#!variable!return code!#]).</key>
<keyname="error_0138">The system call: [#!variable!shell_call!#] failed. The output (if any) was: [#!variable!output!#] (return code: [#!variable!return code!#]).</key>
<keyname="error_0138">The system call: [#!variable!shell_call!#] failed with the return code: [#!variable!return code!#]. The output (if any) was;
====
#!variable!output!#
====</key>
<keyname="error_0139">The DRBD global common config file: [#!data!path::configs::global-common.conf!#] doesn't exist, unable to update it.</key>
<keyname="error_0140">
Failed to parse the JSON string:
@ -609,6 +612,119 @@ The error was:
========</key>
<keyname="error_0421">Failed to enable dual-primary for the resource: [#!variable!resource!#]! The peer: [#!variable!peer_name!#]'s connection state is: [#!variable!connection_state!#] (must be 'connected').</key>
<keyname="error_0422">Failed to enable dual-primary for the server: [#!variable!server!#]! The call to enable dual-primary, necessary for the live migration, returned a non-zero return code: [#!variable!return_code!#].</key>
<keyname="error_0423">[ Error ] - Please specify the size you would like to grow this disk by. The maximum size is: [#!variable!free_space!#].</key>
<keyname="error_0424">[ Error ] - The requested size: [#!variable!add_size!#] could not be interpreted.</key>
<keyname="error_0425">[ Error ] - Failed to find a new target device name.</key>
<keyname="error_0426">[ Error ] - Failed to find a new DRBD volume to use.</key>
<keyname="error_0427">[ Error ] - Adding a new disk requires all peers to be online.</key>
<keyname="error_0428"> - Peer: [#!variable!host_name!#] is: [#!variable!access!#].</key>
<keyname="error_0429">[ Error ] - It would appear that we've lost access to a peer while waiting for the answer.</key>
<keyname="error_0430"> Failed!
[ Error ] - The new DRBD resource config appears to be invalid, which is likely a program error. The new
[ Error ] - config was written to the test file: [#!variable!test_file!#].
[ Error ] - The test to confirm it was valid exited with the return code: [#!variable!return_code!#], expected '0'.
[ Error ] - The output, if anything, was:
====
#!variable!output!#
====
</key>
<keyname="error_0431">
[ Error ] - There was a problem copying the new config file! Unable to proceed.
[ Error ] - Manual intervention to complete the update is required!
</key>
<keyname="error_0432">Failed!
[ Error ] - The peers did not connect in the expected period of time.</key>
<keyname="error_0433">Failed!
[ Error ] - There was a problem trying to force the new volume: [#!variable!drbd_resource!#/#!variable!next_drbd_volume!#] to Primary.
[ Error ] - Attempted this using the shell call: [#!variable!shell_call!#].
[ Error ] - Expected the return code '0' but got: [#!variable!return_code!#]. The output, if any, was:
==========
#!variable!output!#
==========
[ Error ] - Once corrected, please manually add the new volume to the server.
</key>
<keyname="error_0434">
[ Error ] - The definition file read hear appears to be invalid after trying to attach the disk! It is unsafe
[ Error ] - to update the on disk and in DB definition. It's likely the attach has failed.
[ Error ] - Manual update to the server is likely required now.
</key>
<keyname="error_0435">
[ Error ] - The definition file read from the remote host appears to be invalid after trying to attach the
[ Error ] - disk! It is unsafe to update the on disk and in DB definition. It's likely the attach has failed.
[ Error ] - Manual update to the server is likely required now.
</key>
<keyname="error_0436">[ Error ] - Please specify the size you would like to grow this disk by. The maximum size is: [#!variable!max_free_space!#].</key>
<keyname="error_0437">[ Error ] - The storage group: [#!variable!storage_group!#] was not found.</key>
<keyname="error_0438">[ Error ] - The requested size: [#!variable!add_size!#] is too small, it's less than an single extent.</key>
<keyname="error_0439">[ Error ] - The requested size: [#!variable!add_size!#] is too large. The available size is: [#!variable!max_free_space!#].</key>
<keyname="error_0440">[ Error ] - Growing the storage requires all peers to be online.</key>
<keyname="error_0441">[ Error ] - It would appear that we've lost access to a peer while waiting for the answer.</key>
<keyname="error_0442"> Error!
[ Failed ] - When trying to grow the local logical volume: [#!variable!backing_disk!#]
[ Failed ] - using the command: [#!variable!shell_call!#]
[ Failed ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any:
==========
#!variable!output!#
==========
The extension of the resource is incomplete, manual intervention is required!
[ Warning ] - Do NOT re-run this command! The backing devices may not have mis-matched sized!</key>
<keyname="error_0443"> Error!
[ Failed ] - When trying to grow the peer's logical volume: [#!variable!backing_disk!#]
[ Failed ] - using the command: [#!variable!shell_call!#]
[ Failed ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any:
==] STDOUT [========
#!variable!output!#
==] STDERR [========
#!variable!error!#
====================
The extension of the resource is incomplete, manual intervention is required!
[ Warning ] - Do NOT re-run this command! The backing devices may not have mis-matched sized!</key>
<keyname="error_0444"> Error!
[ Failed ] - When trying to grow the DRBD device: [#!variable!drbd_resource!#/#!variable!drbd_volume!#]
[ Failed ] - using the command: [#!variable!shell_call!#]
[ Failed ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any:
==========
print $output!#
==========
The extension of the resource is incomplete, manual intervention is required!!
[ Note ] - All backing devices have been grown. Manually resolving the drbd grow
[ Note ] - error should complete the drive expansion!</key>
<keyname="error_0445"><![CDATA[[ Error ] - Please indicate the optical drive to work with using '--optical <target_device>'.]]></key>
<keyname="error_0446"><![CDATA[[ Error ] - Please specify the optical disk target you want to work on.]]></key>
<keyname="error_0448"><![CDATA[[ Error ] - The target: [#!variable!iso!#] doesn't exist, can't insert it into the optical drive.]]></key>
<keyname="error_0449"><![CDATA[- Drive: [#!variable!device_target!#] has the disc image: [#!variable!device_path!#] inserted currently.
- Use '--eject' to eject the disc.
- Use '--insert /mnt/shared/files/<file>' to replace it with a different disc image.]]></key>
<keyname="error_0450"><![CDATA[- Drive: [#!variable!device_target!#] currently has no disc image inserted.
- Use '--insert /mnt/shared/files/<file>' to insert a disc image.]]></key>
<keyname="error_0451"><![CDATA[The server: [#!variable!server!#] was not found on the Anvil! node: [#!variable!anvil!#]. Valid servers are above.]]></key>
<keyname="error_0452"><![CDATA[The server: [#!variable!server!#] was not found. Valid servers are above.]]></key>
<keyname="error_0453"><![CDATA[The server: [#!variable!server!#] has been deleted.]]></key>
<keyname="error_0454"><![CDATA[The server: [#!variable!server!#] appears to be running on: [#!variable!host_name!#], please run this on that host.]]></key>
<keyname="error_0455"><![CDATA[[ Error ] - Failed to find an on disk or from virsh definition for the server: [#!variable!server!#]. Unable to proceed.]]></key>
<keyname="error_0456"><![CDATA[Please specify which server you want to modify using '--server <name or uuid>'.]]></key>
<keyname="error_0457"><![CDATA[[ Error ] - Please indicate the disk drive to work with using '--disk --drive <target_device>'.]]></key>
<keyname="error_0458"><![CDATA[[ Error ] - Please specify the disk drive target you want to work on.]]></key>
<keyname="error_0459"><![CDATA[[ Error ] - The disk drive target: [#!variable!device_target!#] wasn't found.]]></key>
<keyname="error_0460"><![CDATA[ Error!
[ Failed ] - When trying to create the new local logical volume: [#!variable!backing_disk!#]
[ Failed ] - using the command: [#!variable!shell_call!#]
[ Failed ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any:
==========
#!variable!output!#
==========
The creation of the new replicatedd disk is incomplete, manual intervention is required!]]></key>
<keyname="error_0461"><![CDATA[ Error!
[ Failed ] - When trying to create the peer: [#!variable!host_name!#]'s logical volume: [#!variable!backing_disk!#]
[ Failed ] - using the command: [#!variable!shell_call!#]
[ Failed ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any:
==] STDOUT [========
#!variable!output!#
==] STDERR [========
#!variable!error!#
====================
The creation of the new replicated disk is incomplete, manual intervention is required!]]></key>
<!-- Files templates -->
<!-- NOTE: Translating these files requires an understanding of which lines are translatable -->
@ -1565,6 +1681,9 @@ Note: This is a permanent action! If you protect this server again later, a full
<keyname="job_0468">This uses 'dnf' to do an OS update on the host. If this is run on a node, 'anvil-safe-stop' will be called to withdraw the subnode from the node's cluster. If the peer subnode is also offline, hosted servers will be shut down.</key>
<keyname="job_0469">Update beginning. Verifying all known machines are accessible...</key>
<keyname="job_0470">This is a DR host, no migration possible.</key>
<keyname="job_0473">This job manages the storage on a given hosted server. It can grow an existing disk, add a new disk, insert an ISO into an optical disc, or eject a disc.</key>
@ -2414,6 +2533,69 @@ The file: [#!variable!file!#] needs to be updated. The difference is:
<keyname="log_0745">Adjusting the resource: [#!variable!resource!#] to ensure it's compatible with the peer's config prior to connection.</key>
<keyname="log_0746">The local resource: [#!variable!resource!#] is StandAlone, attempting to connect.</key>
<keyname="log_0747">Failed to connect to the host: [#!variable!host!#]! Unable to up the resource on it. The volume(s) backing this server are UpToDate locally, so booting should be fine.</key>
<keyname="log_0748">- Creating the new local LV: [#!variable!backing_disk!#]...</key>
<keyname="log_0749">- Target: [#!variable!device_target!#], boot: [#!variable!say_boot!#], path: [#!variable!device_path!#], Available space: [#!variable!max_free_space!#]</key>
<keyname="log_0750">Done!</key>
<keyname="log_0751">- Testing the updated DRBD resource config file to ensure the new volumes are cromulent...</key>
<keyname="log_0752">Success!</key>
<keyname="log_0753">- Copying the new resource file to out peers.</key>
<keyname="log_0754"> - Copying: [#!variable!resource_file!#] to: [#!variable!host_name!#:#!variable!destination!#] via: [#!variable!use_ip!#].</key>
<keyname="log_0755">- Creating the replicated storage metadata on the new backing devices now.</key>
<keyname="log_0756"> - Creating the new LV on the peer: [#!variable!host_name!#:#!variable!backing_disk!#], via: [#!variable!use_ip!# (#!variable!use_network!#)]</key>
<keyname="log_0757">- Writing out the updated DRBD config file.</key>
<keyname="log_0758"> - Creating the meta-data on the new local volume: [#!variable!next_drbd_volume!#]...</key>
<keyname="log_0759"> - Creating the meta-data on the peer: [#!variable!host_name!#:#!variable!drbd_resource!#/#!variable!next_drbd_volume!#], via: [#!variable!use_ip!# (#!variable!use_network!#)]</key>
<keyname="log_0760">- Registered a job with job UUID: [#!variable!job_uuid!#] to reload the resource config on the host: [#!variable!host_name!#].</key>
<keyname="log_0761">- Adjusting the local resource: [#!variable!drbd_resource!#] to pick up the new config.
[ NOTE ] - If this hangs, make sure 'anvil-daemon' is running on the peers.</key>
<keyname="log_0762">- Waiting for all peers to connect the new volume...</key>
<keyname="log_0763">- Peers are connected! Checking if the new volume requires initial sync.</key>
<keyname="log_0766"> - The resource is primary on the peer: [#!variable!host_name!#], forcing primary there via: [#!variable!use_ip!# (#!variable!use_network!#)].</key>
<keyname="log_0767">- Initial sync does not appear to be required.</key>
<keyname="log_0768">- Ready to add the new disk. Checking if the server is running...</key>
<keyname="log_0769">- The server is running on this host, we'll attach the disk here.</key>
<keyname="log_0770">- The server is running on: [#!variable!server_host!#], we'll attach the disk there.</key>
<keyname="log_0771">- The server isn't running anywhere, we'll attach the disk offline on this host.</key>
<keyname="log_0772">- Defining the server: [#!variable!server_name!#] to prepare for 'virsh' modification of the server.</key>
<keyname="log_0773">- Adding the drive to the definition now.</key>
<keyname="log_0774">- Updating the stored definition and undefining the server now...</key>
<keyname="log_0775">- Adding the drive to the server directly...</key>
<keyname="log_0776">- Reading the updated server definition</key>
<keyname="log_0777">- Validating the updated definition</key>
<keyname="log_0778">- Updating the stored definition and undefining the server now...</key>
<keyname="log_0779"> - Adding the drivve to the server using its host: [#!variable!server_host!#] via: [#!variable!use_ip!#]...</key>
<keyname="log_0780">- Updating the stored definition and undefining the server now...</key>
<keyname="log_0781"> - The peer: [#!variable!peer_name!#], is stuck 'Negotiating'; disconnecting... </key>
<keyname="log_0782"> reconnecting... </key>
<keyname="log_0783">- Waiting for the disk state to be updated:</key>
<keyname="log_0784"> - Connected, checking volume: [#!variable!drbd_resource!#/#!variable!next_drbd_volume!#] disk state: </key>
<keyname="log_0785">Not Connected yet.</key>
<keyname="log_0786">Disk not ready yet.</key>
<keyname="log_0787">Ready!
- Disk state is: [#!variable!peer_disk_state!#]</key>
<keyname="log_0788">- Timed out waiting for the peer to connect.</key>
<keyname="log_0789">[ Note ] - The size can be in percent, ie: '50%' or '100%', a number in bytes, or a human-readable size.
- Human readable sizes must NOT have a space between the number and letter suffix. Also, base2
- vs base10 notation! Ie: '1GiB' = 1,073,741,824 bytes', '1GB' == '1,000,000,000 bytes'. A single
- letter used to denote size will be interpreted as base2. ie: '1G == 1GiB'.</key>
<keyname="log_0790">- Preparing to grow the storage by: [#!variable!size!#]...</key>
<keyname="log_0791"> - Extending local LV: [#!variable!backing_disk!#]...</key>
<keyname="log_0801">Updating the stored definition and undefining the server now:</key>
<keyname="log_0802">Working with the server: [#!variable!server_name!#], UUID: [#!variable!server_uuid!#]</key>
<!-- Messages for users (less technical than log entries), though sometimes used for logs, too. -->
<keyname="message_0001">The host name: [#!variable!target!#] does not resolve to an IP address.</key>
@ -2933,6 +3115,33 @@ Proceed? [y/N]</key>
<keyname="message_0327">[ Note ] - It looks like 'anvil-version-changes' (pid(s): [#!variable!pids!#]) is running, holding off on power action until it's done (in case the system is being updated now or kernel modules are being built).</key>
<keyname="message_0328">[ Note ] - The DRBD (replicated storage) kernel module appears to not exist. This is normal after an OS update, will try building the kernel module now. Please be patient.</key>
<keyname="message_0329">[ Note ] - Deleting the old drbd fenced attribute: [#!variable!attribute!#] for the node: [#!variable!node_name!#] (ID: [#!variable!node_id!#]) from the CIB.</key>
<keyname="message_0330">[ Note ] - The size can be in percent, ie: '50%' or '100%', a number in bytes, or a human-readable size.
- Human readable sizes must NOT have a space between the number and letter suffix. Also, base2
- vs base10 notation! Ie: '1GiB' = 1,073,741,824 bytes', '1GB' == '1,000,000,000 bytes'. A single
- letter used to denote size will be interpreted as base2. ie: '1G == 1GiB'.
- Preparing to add a the drive: [#!variable!drbd_resource!#/#!variable!next_drbd_volume!#] using the storage group: [#!variable!storage_group_name!#]...</key>
<keyname="message_0350">Preparing to managing storage for a server.</key>
<!-- Translate names (protocols, etc) -->
<keyname="name_0001">Normal Password</key><!-- none in mail-server -->
@ -3671,6 +3880,25 @@ We will wait: [#!variable!waiting!#] seconds and then try again. We'll give up i
<keyname="warning_0156">[ Warning ] - The file: [#!variable!file_path!#] needed to provision the server: [#!variable!server_name!#] was found, but it's not ready yet.</key>
<keyname="warning_0157">[ Warning ] - Waiting for a bit, and then will check if files are ready.</key>
<keyname="warning_0158">[ Warning ] - There is a duplicate storage group named: [#!variable!group_name!#]. Keeping the group with UUID: [#!variable!keep_uuid!#], and deleting the group with the UUID: [#!variable!delete_uuid!#]</key>
<keyname="warning_0159">Please specify a storage group to use to add the new drive to.</key>
<keyname="warning_0160"> Warning!
[ Warning ] - When trying to create the local meta-data on: [#!variable!drbd_resource!#/#!variable!next_drbd_volume!#]
[ Warning ] - using the command: [#!variable!shell_call!#]
[ Warning ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any:
==========
#!variable!output!#
==========
We will try to proceed anyway.</key>
<keyname="warning_0161"> Warning!\n";
[ Warning ] - When trying to create the peer: [#!variable!host_name!#]'s meta-data on: [#!variable!drbd_resource!#/#!variable!next_drbd_volume!#]
[ Warning ] - using the command: [#!variable!shell_call!#]
[ Warning ] - The return code: [#!variable!return_code!#] was received, expected '0'. Output, if any: