* Fixed a bug in Cluster->shutdown_server() where the wrong variable was being evaluated when checking the server state.
* Created DRBD->delete_resource() that deletes a resource's backing device and configuration. Note that this wipes the DRBD MD and and FS signatures before removing the LV. Updated DRBD->gather_data() to record the backing devices for volumes.
Signed-off-by: Digimer <digimer@alteeve.ca>
@ -576,280 +576,6 @@ argument ... argument is repeatable.
====
BEGIN TRANSACTION;
DROP FUNCTION history_alerts() CASCADE;
DROP TABLE history.alerts;
DROP TABLE alerts;
CREATE TABLE alerts (
alert_uuid uuid not null primary key,
alert_host_uuid uuid not null, -- The name of the node or dashboard that this alert came from.
alert_set_by text not null,
alert_level integer not null, -- 1 (critical), 2 (warning), 3 (notice) or 4 (info)
alert_title text not null, -- ScanCore will read in the agents <name>.xml words file and look for this message key
alert_message text not null, -- ScanCore will read in the agents <name>.xml words file and look for this message key
alert_sort_position integer not null default 9999, -- The alerts will sort on this column. It allows for an optional sorting of the messages in the alert.
alert_show_header integer not null default 1, -- This can be set to have the alert be printed with only the contents of the string, no headers.
<!-- IPMI data comes from hosts -> host_ipmi. If it is found, it always is used as the first fence device -->
<!-- PDU shows how to reference devices -->
<method name="pdu" type="pdu" order="1">
<!-- The 'name' parameter has to match an entry under devices -> pdu's name -->
<device name="xx-pdu01" port="1" />
<device name="xx-pdu02" port="2" />
</method>
<!-- This would only happen on it's own, but is here for example. The 'server_name' is the name of the VM on the host -->
<method name="kvm" type="kvm" order="1">
<device name="host1" server_name="xx-a01n01" />
</method>
</fence>
<power>
<!-- The 'name' parameter has to match an entry under devices -> ups's name -->
<ups name="xx-ups01" />
<ups name="xx-ups02" />
</power>
</node>
<dr name="xx-a01dr01.digimer.ca" uuid="xxx">
<!-- IPMI is used to power on/off for scheduled, periodic resyncs. -->
</dr>
</machines>
<!-- These devices need to reference entries in the 'fences' database table.
<fences>
<!-- When a machine references these, the 'type="x"' references the child element and the contained 'name="x"' references the child's child element by name -->
<keyname="error_0218">Unable to connect to any databases, unable to continue.</key>
<keyname="error_0219">Unable to find the server uuid to delete from the job UUID: [#!variable!job_uuid!#].</key>
<keyname="error_0220">Unable to find a server name to match the server UUID: [#!variable!server_uuid!#].</key>
<keyname="error_0221">The server: [#!variable!server_name!#] is already marked as DELETED.</key>
<keyname="error_0221">#!free!#</key>
<keyname="error_0222">The cluster does not appear to be running, unable to delete a server at this time. We'll sleep for a bit and then exit, and the try again.</key>
<keyname="error_0223">The server: [#!variable!server_name!#] appears to have failed to stop.</key>
<keyname="error_0224">Unable to delete the server resource: [#!variable!server_name!#] as the cluster isn't running or there was a problem parsing the cluster CIB.</key>
<keyname="error_0225">Unable to delete the server resource: [#!variable!server_name!#] as this node is not (yet) a full member of the cluster.</key>
<keyname="error_0226">It looks like to removal of the server resource: [#!variable!server_name!#] failed. The return code should have been '0', but: [#!variable!return_code!#] was returned. The 'pcs' command output, if any, was: [#!variable!output!#].</key>
<keyname="error_0227">It looks like to removal of the server resource: [#!variable!server_name!#] failed. Unsafe to proceed with the removal of the server. Please check the logs for more information.</key>
<keyname="error_0228">Unable to delete the resource: [#!variable!resource!#] because it wasn't found in DRBD's config.</key>
<keyname="error_0229">One or more peers need us, and we're not allowed to wait. Deletion aborted.</key>
<keyname="error_0230">The shell call: [#!variable!shell_call!#] was expected to return '0', but instead the return code: [#!variable!return_code!#] was received. The output, if any, was: [#!variable!output!#].</key>
<!-- Files templates -->
<!-- NOTE: Translating these files requires an understanding of which likes are translatable -->
@ -639,6 +642,11 @@ It should be provisioned in the next minute or two.</key>
<keyname="job_0209">This deletes a server from an Anvil! system.</key>
<keyname="job_0210">Asking pacemaker to stop the server: [#!variable!server_name!#].</key>
<keyname="job_0211">The server: [#!variable!server_name!#] is now stopped in pacemaker.</key>
<keyname="job_0212">Registered a job with: [#!variable!host_name!#] to delete it's records of this server.</key>
<keyname="job_0213">Deleting the replicated storage resource behind this server.</key>
<keyname="job_0214">Storage has been released. Checking that the server has flagged as deleted in the database.</key>
<keyname="job_0215">The server has been flagged as deleted now.</key>
<keyname="job_0216">The server delete is complete on this host!</key>
@ -1320,6 +1328,10 @@ The file: [#!variable!file!#] needs to be updated. The difference is:
<keyname="log_0585">The server: [#!variable!server_name!#]'s current status is: [#!variable!status!#].</key>
<keyname="log_0586">The server: [#!variable!server_name!#] is now off.</key>
<keyname="log_0587">The server: [#!variable!server_name!#] has been removed from Pacemaker.</key>
<keyname="log_0588">We're required by at least one peer, so we'll wait a bit and check to see if they still need us before we proceed with the deletion.</key>
<keyname="log_0589">Deleting the file: [#!variable!file!#].</key>
<keyname="log_0590">Wiping the metadata from the DRBD resource: [#!variable!resource!#].</key>
<keyname="log_0591">Wiping any file system signatures and then deleting the logical volume: [#!variable!device_path!#].</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>
<keyname="warning_0071">[ Warning ] - We were asked to create a new storage group called: [#!variable!name!#] but that name is already used by the group with UUID: [#!variable!uuid!#].</key>
<keyname="warning_0072">[ Warning ] - The file: [#!variable!file_path!#] was not found on any accessible Striker dashboard (or it isn't the same size as recorded in the database). Will sleep for a minute and exit, then we'll try again.</key>
<keyname="warning_0073">[ Warning ] - No databases are available. Some functions of this resource agent will not be available.</key>
<keyname="warning_0074">[ Warning ] - Our disk state for the peer: [#!variable!peer_name!#] on resource: [#!variable!resource!#], volume: [#!variable!volume!#] is: [#!variable!disk_state!#].</key>
<!-- The entries below here are not sequential, but use a key to find the entry. -->
<!-- Run 'striker-parse-os-list to find new entries. -->