Debug
Information
Notice
Warning
Critical
Warning Cleared
Critical Cleared
Important
The host name: [#!variable!target!#] does not resolve to an IP address.
The connection to: [#!variable!target!#] on port: [#!variable!port!#] as the user: [#!variable!user!#] was refused. If you recently booted the target, it may be just about finished booting. It is normal for the connection to be refused for a brief time during the boot process.
There is no route to: [#!variable!target!#]. Is the machine in the process of booting up or powering off?
Timed out while waiting for a reply from: [#!variable!target!#]. Is the machine booting up? If so, please wait a minute or two and try again.
There was an unknown error while connecting to: [#!variable!target!#]. The error was: [#!variable!error!#]
We were unable to log in to: [#!variable!target!#]. Please check that the password is correct or that passwordless SSH is configured properly.
An SSH session was successfully opened to: [#!variable!target!#].
There was a problem establishing an SSH channel to the target: [#!variable!target!#].
The SSH session to: [#!variable!target!#] was successfully closed.
The SSH session to: [#!variable!target!#] was closed because 'no_cache' was set and there was an open SSH connection.
Wrote the system UUID to the file: [#!variable!file!#] to enable the web based tools to read this system's UUID.
Wrote the journald config file: [#!variable!file!#] to disable rate limiting to ensure high log levels are not lost.
The md5sum of: [#!variable!file!#] has changed since the daemon started.
Exiting to reload.
The reconfigure of the network has begun.
The hostname: [#!variable!hostname!#] has been set.
Failed to set the hostname: [#!variable!hostname!#]! The hostname is currently [#!variable!bad_hostname!#]. This is probably a program error.
What would you like the new password to be?
Please enter the password again to confirm.
About to update the local passwords (shell users, database and web interface).
Proceed? [y/N]
Aborting.
Auto-approved by command line switch, proceeding.
Updating the Striker user: [#!variable!user!#] password...
Done.
Updating the database user: [#!variable!user!#] password...
Updating the local config file: [#!variable!file!#] database password...
Updating the shell user: [#!variable!user!#] password...
Finished!
NOTE: You must update the password of any other system using this host's
database manually!
Failed to write the new password to the temporary file: [#!variable!file!#]. Please check the logs for details.
Beginning configuration of local system.
Peer: [#!variable!peer!#], database: [#!variable!name!#], UUID: [#!variable!uuid!#]
Clearing update cache and checking for available updates.
#!data!sys::users::user_name!#]]]>
Downloading approximately: [#!variable!size!#] worth of updates.
ERROR: There was a problem with the OS update process. Please check the system logs for more details.
Downloading complete. Installation of updates now underway.
Updates finished. Verifying now.
System update complete! The kernel was updated, so a reboot is required.
System update complete! A reboot is not required.
This system has been placed into maintenance mode.
This system was already in maintenance mode, nothing changed.
This system has been removed from maintenance mode.
This system was not in maintenance mode, nothing changed.
Bad call. Usage:
Set maintenance mode: #!variable!program!# --set 1
Clear maintenance mode: #!variable!program!# --set 0
Report maintenance mode: #!variable!program!#
This system is in maintenance mode.
This system is NOT in maintenance mode.
This system has been set to need a reboot.
This system was already set to need a reboot, nothing changed.
This system has has been set to no longer need a reboot.
This system was not in maintenance mode, nothing changed.
Bad call. Usage:
Set that a reboot is required: #!variable!program!# --reboot-needed 1
Clear the need for a reboot: #!variable!program!# --reboot-neededset 0
Report if a reboot is needed: #!variable!program!#
Reboot the system: #!variable!program!# --reboot [-y]
Poweroff the system: #!variable!program!# --poweroff [-y]
The '-y' option prevents a confirmation prompt.
This system needs to be rebooted.
This system does NOT need to be rebooted.
Exiting to '--run-once' switch.
Previous run exited early. Restarting momentarily.
No updates were found or needed.
* Packages downloaded: [#!variable!downloaded!#], Installed or updated: [#!variable!installed!#], Verified: [#!variable!verified!#], Output lines: [#!variable!lines!#].
Are you sure you want to reboot this system? [y/N].
Are you sure you want to power off this system? [y/N].
Aborting.
Powering off the local system now.
Rebooting the local system now.
The Anvil! has restarted at: [#!variable!date_and_time!#] after powering back on.
You will now be logged out and this machine will now be rebooted so that the new configuration can take effect.
Starting the job to add or update an Anvil! database peer.
Starting the job to remove an Anvil! database peer.
Sanity checkes passed.
Added the peer to the config file.
Old peer found and removed from the config file.
Existing peer found and update needed and made.
Configuration changed, existing config backed up as: [#!variable!backup!#].
New config written to disk.
Reconnecting to the database(s) to ask the peer to add us. Will hold here until the peer is added to the 'hosts' table. Please be patient.
The peer: [#!variable!host!#] is now in the database. Proceeding.
The job the peer add us has been registered. It should add us as soon as it looks for new jobs (generally within a second or two).
NOTE: Please be patient!
The 'dnf' cache will be cleared to ensure the freshest RPMs are download. This will cause a delay
before output starts to appear. Once started, each RPM will be reported after it is downloaded. Large
RPMs may cause the output to appear stalled. You can verify that the download it proceeding by using
'df -hs #!variable!directory!#' to verify the numbers are increasing.
Output: [#!variable!line!#].
Error: [#!variable!line!#].
Anvil! - Install Target Menu
Will boot the next device as configured in your BIOS in # second{,s}.
key to edit the boot parameters of the highlighted option.]]>
Editing of this option is disabled.
^1. Install a Striker dashboard (Fedora 28 64-bit)
This install will choose the largest available fixed disk (spindle or platter), remove any data from it,
repartition in and install. This is a fully automated process! Once selected, the only way to abort will be
a manual reboot on the system.
*** ALL EXISTING DATA ON SELECTED DRIVE WILL BE LOST! ***
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
^2. Install an Anvil! Node (Fedora 28 64-bit)
This install will choose the smallest available fixed rotating disk, if available. If none is found, the
smallest solid-state fixed disk will be chosen. All data will be removed, the disk repartitioned and a new OS
will be installed. This is a fully automated process! Once selected, the only way to abort will be a manual
reboot on the system.
*** ALL EXISTING DATA ON SELECTED DRIVE WILL BE LOST! ***
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
^3. Install an Anvil! Disaster Recover Host (Fedora 28 64-bit)
This install will choose the smallest available fixed rotating disk, if available. If none is found, the
smallest solid-state fixed disk will be chosen. All data will be removed, the disk repartitioned and a new OS
will be installed. This is a fully automated process! Once selected, the only way to abort will be a manual
reboot on the system.
*** ALL EXISTING DATA ON SELECTED DRIVE WILL BE LOST! ***
*** THERE WILL BE NO FURTHER PROMPT! PROCEED CAREFULLY! ***
Boot into a ^Rescue session
This will boot into a rescue shell. From there, you can access the bare hard drive on the machine to attempt
to diagnose and repair problems that might be preventing a system from booting.
No data on the target machine will be changed by this option.
Install ^Standard Fedora 28 64-bit Install
This will start a standard install of Fedora 28.
This option will not change anything on disk until and unless you choose to do so.
Boot from Next ^Boot Device
Restarting: [#!variable!daemon!#] after updating the file: [#!variable!file!#].
The file: [#!variable!file!#] did not need to be updated.
The file: [#!variable!file!#] was updated.
Enabling and starting: [#!variable!daemon!#]
The daemon: [#!variable!daemon!#] is already enabled, skipping.
Copying the syslinux files: [#!data!path::directories::syslinux!#/*] into the tftpboot directory: [#!data!path::directories::tftpboot!#].
The syslinux files from: [#!data!path::directories::syslinux!#] appear to already be in the tftpboot directory: [#!data!path::directories::tftpboot!#], skipping.
Checking that the "Install Target" function is configured and updated.
Finding install drive for a Striker dashboard.
Finding install drive for an Anvil! node.
Finding install drive for a DR (disaster recovery) host.
[ Error ] - Target type not specified. Be sure that '\$type' is set to
'striker', 'node' or 'dr' in the \%pre section of the kickstart
script.
{$path}{transport}."], of the size: [".$device->{$path}{size}." (".hr_size($device->{$path}{size}).")]]]>
{$path}{transport}."], of the size: [".$device->{$path}{size}." (".hr_size($device->{$path}{size}).")]]]>
{$use_drive}{size})."]]]>
{$use_drive}{size})."]]]>
{$use_drive}{size})."] (no platter drives found)]]>
Striker Dashboard
Anvil! Node
Dsaster Recovery (DR) Host
Regenerating the source repository metadata.
[ Error ] - The comps.xml file: [#!variable!comps_xml!#] was not found. This provides package group information required for Install Target guests. Is 'anvil-striker-extra' installed?
About to try to download aproximately: [#!variable!packages!#] packages needed to:
- [#!variable!directory!#].
Successfully enabled the Install Target function.
Successfully disabled the Install Target function.
The Install Target function is enabled.
The Install Target function is disabled.
Starting: [#!variable!program!#].
This is a "test" entry.
It is multiple lines with single quotes ['] and double-quotes (") and here are random brackets{!}.
It also has replacement variables: [#!variable!first!#] and [#!variable!second!#].
This is a test log entry that contains a secret [#!variable!password!#]!
This is a test log entry at log level 2.
This is a test log entry at log level 3.
This is a test log entry at log level 4.
This is a test critical log entry.
This is a test error log entry.
This is a test alert log entry.
This is a test emergency log entry.
About to run the shell command: [#!variable!shell_call!#]
About to read the file: [#!variable!shell_call!#]
About to write the file: [#!variable!shell_call!#]
[ Error ] - There was a problem running the shell command: [#!variable!shell_call!#]. The error was: [#!variable!error!#].
[ Error ] - There was a problem reading the file: [#!variable!shell_call!#]. The error was: [#!variable!error!#].
[ Error ] - There was a problem writing the file: [#!variable!shell_call!#]. The error was: [#!variable!error!#].
Output: [#!variable!line!#].
About to open the directory: [#!variable!directory!#]
Variables:
read_file() was asked to read the file: [#!variable!file!#], but that file does not exist.]]>
read_file() was asked to read the file: [#!variable!file!#] which exists but can't be read.]]>
Reading: [#!variable!line!#].
get().]]>
get().]]>
Successfully read the words file: [#!variable!file!#].
find() failed to find: [#!variable!file!#].]]>
skin() was asked to set the skin: [#!variable!set!#], but the source directory: [#!variable!skin_directory!#] doesn't exist. Ignoring.]]>
search_directories() was passed the array: [#!variable!array!#], but it wasn't actually an array. Using @INC + path::directories::tools + \$ENV{'PATH'} for the list of directories to search instead.]]>
read()' called without a file name to read.]]>
read()' asked to read: [#!variable!file!#] which was not found.]]>
read()' asked to read: [#!variable!file!#] which was not readable by: [#!variable!user!#] (uid/euid: [#!variable!uid!#]).]]>
read_variable() was called but both the 'variable_name' and 'variable_uuid' parameters were not passed or both were empty.]]>
insert_or_update_variables() method was called but both the 'variable_name' and 'variable_uuid' parameters were not passed or both were empty.]]>
change_mode() was called without an invalid 'mode' parameter. It should have been three or four digits, but: [#!variable!mode!#] was passed.]]>
The host: [#!variable!host!#] has released its database lock.
write_file() was asked to write the file: [#!variable!file!#] but it already exists and 'overwrite' was not set. Aborting.]]>
write_file() was asked to write the file: [#!variable!file!#] but it is not a full path. Aborting.]]>
string() was asked to process the string: [#!variable!string!#] which has insertion variables, but nothing was passed to the 'variables' parameter.]]>
call() was called but 'shell_call' was not passed or was empty.]]>
The host: [#!variable!host!#] has renewed its database lock.
The host: [#!variable!host!#] is requesting a database lock.
copy_file() was asked to copy: [#!variable!source_file!#] to: [#!variable!target_file!#], but the target already exists and 'overwrite' wasn't specified, skipping.]]>
level() was passed an invalid log level: [#!variable!set!#]. Only '0', '1', '2', '3' or '4' are valid.]]>
[ Error ] - There is a local database defined, but it does not appear to exist and we could not initialize the database server. Is 'postgresql-server' installed?
change_owner() was asked to change the ownership of: [#!variable!target!#] which doesn't exist.]]>
copy_file() was called but the source file: [#!variable!source_file!#] doesn't exist.]]>
connect()' method tried to connect to the same database twice: [#!variable!target!#].]]>
Connecting to Database with configuration ID: [#!variable!uuid!#]
- driver: . [#!variable!driver!#]
- host: ... [#!variable!host!#]
- port: ... [#!variable!port!#]
- name: ... [#!variable!name!#]
- user: ... [#!variable!user!#]
- password: [#!variable!password!#]
Initialized PostgreSQL.
Updated: [#!variable!file!#] to listen on all interfaces.
Updated: [#!variable!file!#] to require passwords for access.
call() was called but the port: [#!variable!port!#] is invalid. It must be a digit between '1' and '65535'.]]>
Started the PostgreSQL database server.
Database user: [#!variable!user!#] already exists with UUID: [#!variable!uuid!#].
users_home() was asked to find the home directory for the user: [#!variable!user!#], but was unable to do so.]]>
SSH session opened without a password to: [#!variable!target!#].
#!variable!name!#] with the UUID: [#!variable!uuid!#] did not respond to pings and 'database::#!variable!uuid!#::ping' is not set to '0' in '#!data!path::configs::anvil.conf!#', skipping it.]]>
[ Warning ] - The database: [#!variable!name!#] on host: [#!variable!host!#] with UUID: [#!variable!uuid!#] can not be used, skipping it.
The database connection error was:
----------
#!variable!dbi_error!#
----------
Is the database server running on: [#!variable!target!#] and does the target's firewall allow connections on TCP port: [#!variable!port!#]?
] in: [#!data!path::configs::anvil.conf!#].]]>
* If the user name is correct, please update:
database::#!variable!uuid!#::password =
]]>
The connection to the database: [#!variable!name!#] on host: [#!variable!host!#:#!variable!port!#] was refused. Is the database server running?
The connection to the database: [#!variable!name!#] on host: [#!variable!host!#:#!variable!port!#] failed because the name could not be translated to an IP address. Is this database server's host name in '/etc/hosts'?
Successfully Connected to the database: [#!variable!name!#] (id: [#!variable!uuid!#]) on host: [#!variable!host!#:#!variable!port!#].
query() was called without a database ID to query and 'sys::database::read_uuid' doesn't contain a database ID, either. Are any databases available?]]>
query() was asked to query the database with UUID: [#!variable!uuid!#] but there is no file handle open to the database. Was the connection lost?]]>
About to run: [#!variable!uuid!#]:[#!variable!query!#]
Log->secure' is not set.]]>
Log->secure' is not set.]]>
initialize() was called without a database ID to query and 'sys::database::read_uuid' doesn't contain a database ID, either. Are any databases available?]]>
initialize() was asked to query the database with UUID: [#!variable!uuid!#] but there is no file handle open to the database. Was the connection lost?]]>
initialize() was asked to initialize the database: [#!variable!server!#] (id: [#!variable!uuid!#]) but a core SQL file to load wasn't passed, and the 'database::#!variable!uuid!#::core_sql' variable isn't set. Unable to initialize without the core SQL file.]]>
initialize() was asked to initialize the database: [#!variable!server!#] (id: [#!variable!uuid!#]) but the core SQL file: [#!variable!sql_file!#] doesn't exist.]]>
initialize() was asked to initialize the database: [#!variable!server!#] (id: [#!variable!uuid!#]) but the core SQL file: [#!variable!sql_file!#] exist, but can't be read.]]>
The database: [#!variable!server!#] needs to be initialized using: [#!variable!sql_file!#].
About to record: [#!variable!uuid!#]:[#!variable!query!#]
query() was asked to query the database: [#!variable!server!#] but no query was given.]]>
write() was asked to write to the database: [#!variable!server!#] but no query was given.]]>
check_memory() was called without a program name to check.]]>
Testing access to the the database: [#!variable!server!#] prior to query or write. Program will exit if it fails.
Access confirmed.
write() was asked to write to the database with UUID: [#!variable!uuid!#] but there is no file handle open to the database. Was the connection lost?]]>
Log->secure' is not set.]]>
Failed to connect to any database.
check_alert_sent() was called but the 'modified_date' parameter was not passed and/or 'sys::database::timestamp' is not set. Did the program fail to connect to any databases?]]>
[ Error ] - Failed to start the Postgres server. Please check the system logs for details.
The database user: [#!variable!user!#] was created with UUID: [#!variable!id!#].
[ Error ] - Failed to add the database user: [#!variable!user!#]! Unable to proceed.
check_alert_sent() was called but the 'set' parameter was not passed or it is empty. It should be 'set' or 'clear'.]]>
[ Warning ] - Failed to set an alert because this host is not yet in the database. This can happen if the alert was set before this host was added to the database.
* Details of the alert:
- Type: ......... [#!variable!type!#]
- Set By: ....... [#!variable!set_by!#]
- Record Locator: [#!variable!record_locator!#]
- Name: ......... [#!variable!name!#]
- Timestamp: .... [#!variable!modified_date!#]
[ Error ] - There is no Anvil! database user set for the local machine. Please check: [#!data!path::config::anvil.conf!#]'s DB entry: [#!variable!uuid!#].
Database user: [#!variable!user!#] password has been set/updated.
register_alert() was called but the 'title_key' parameter was not passed or it is empty and 'header' is enable (default).]]>
I am not recording the alert with message_key: [#!variable!message_key!#] to the database because its log level was lower than any recipients.
The local machine's UUID was not read properly. It should be stored in: [#!data!sys::host_uuid!#] and contain hexadecimal characters in the format: '012345-6789-abcd-ef01-23456789abcd' and usually matches the output of 'dmidecode --string system-uuid'. If this file exists and if there is a string in the file, please verify that it is structured correctly.
The database with UUID: [#!variable!uuid!#] for: [#!variable!file!#] is behind.
Anvil! database: [#!variable!database!#] already exists.
The table: [#!variable!table!#] (and possibly others) in the database on: [#!variable!host!#] (UUID: [#!variable!uuid!#]) is behind by: [#!variable!seconds!#] seconds. A database resync will be requested.
[ Warning ] - Failed to delete the temporary postgres password.
insert_or_update_states() was called but the 'state_host_uuid' parameter was not passed or it is empty. Normally this is set to 'sys::data_uuid'.]]>
[ Error ] - Failed to create the Anvil! database: [#!variable!database!#]
Anvil! database: [#!variable!database!#] created.
[ Warning ] - Failed to reload the Postgres server. Please check the system logs for details. The updated configuration is probably not active yet.
Reloaded the PostgreSQL database server.
configure_pgsql() method was called but the parent program is not running with root priviledges. Returning without doing anything.]]>
', but no program name was read in.]]>
#!variable!program!# has started.
human_readable_to_bytes()' was passed the byte size: [#!variable!size!#] in the string: [sign: #!variable!sign!#, size: #!variable!size!#, type: #!variable!type!#] contains an illegal value. Sizes can only be integers or real numbers. It may also have commas in it which will be removed automatically.]]>
human_readable_to_bytes()' was passed the byte size: [#!variable!size!#] in the string: [sign: #!variable!sign!#, size: #!variable!size!#, type: #!variable!type!#] appears to be a byte size already but the size does not seem to be an integer. Byte sizes can only be signed integers. It may also have commas in it which will be removed automatically.]]>
human_readable_to_bytes()' method was called with the value: [#!variable!value!#] which we split into the size: [#!variable!size!#] and type: [#!variable!type!#]. The type appears to be invalid.]]>
round()' was passed the number: [#!variable!number!#] which contains an illegal value. Only digits and one decimal place are allowed.]]>
Current memory used by: [#!variable!program_name!#] is approximately: [#!variable!bytes!#] bytes (#!variable!hr_size!#).
The 'smaps' proc file for the process ID: [#!variable!pid!#] was not found. Did the program just close?
About to query: [#!variable!query!#]
Entering method: [#!variable!method!#]
Exiting method: [#!variable!method!#]
Firewalld was not running, re-enabling it. If you do not want this behaviour, please set 'sys::daemons::restart_firewalld = 0' in: [#!data!path::configs::anvil.conf!#].
Firewalld was not running, and 'sys::daemons::restart_firewalld = 0' is set. NOT starting it.
]]>
Entering function: [#!variable!function!#]
Connected to: [#!data!sys::database::connections!#] database(s).
Failed to read the system UUID. Received a non-UUID string: [#!variable!uuid!#]. Is the user: [#!variable!user!#] in the 'kmem' group?
The read host UUID: [#!variable!uuid!#] does not appear to be a valid UUID.
- #!variable!caller!# runtime was approximately: [#!variable!runtime!#] seconds.
[#!variable!variable_value!#]. See 'perldoc Anvil::Tools::#!variable!module!#' for valid options.]]>
Failed to find a local ID, no databases are stored on this machine.
PostgreSQL server is not installed, unable to proceed.
A job to configure the network was found, but it has already been picked up by: [#!variable!pid!#].
A job to configure the network was found, and it was picked up by: [#!variable!pid!#], but that process is not running and it appears to only be: [#!variable!percent!# %] complete. Taking the job.
The network: [#!variable!network!#] has something set for the IP [#!variable!ip!#], but it appears to be invalid. Ignoring this network.
The network: [#!variable!network!#] is not set to be configured. Skipping it.
backup() method was called with the source file: [#!variable!source_file!#], which does not appear to be a full path and file name (should start with '/').]]>
backup() method was called with the source file: [#!variable!source_file!#], which does not appear to exist.]]>
backup() method was called with the source file: [#!variable!source_file!#], which can not be read (please check permissions and SELinux).]]>
backup() method was called with the source file: [#!variable!source_file!#], which isn't actually a file.]]>
The file: [#!variable!source_file!#] has been backed up as: [#!variable!target_file!#].
Removing the old network configuration file: [#!variable!file!#] as part of the network reconfiguration.
write_file() was asked to write the file: [#!variable!file!#] but it appears to be missing the file name. Aborting.]]>
Ensuring we've recorded: [#!variable!target!#]'s RSA fingerprint for the user: [#!variable!user!#].
Adding the target: [#!variable!target!#]:[#!variable!port!#]'s RSA fingerprint to: [#!variable!user!#]'s list of known hosts.
read_file() was asked to read the remote file: [#!variable!file!#] but it is not a full path. Aborting.]]>
read_file() was asked to read the remote file: [#!variable!file!#] but it appears to be missing the file name. Aborting.]]>
read_file() tried to rsync the remote file: [#!variable!remote_file!#] to the local temporary file: [#!variable!local_file!#], but it did not arrive. There might be more information above.]]>
The file: [#!variable!file!#] does not exist.
read_config()' was called without a file name to read.]]>
backup() method was asked to backup the file: [#!variable!source_file!#] on: [#!variable!target!#], but it looks like there was a problem connecting to the target.]]>
About to run the shell command: [#!variable!shell_call!#] on: [#!variable!target!#] as: [#!variable!remote_user!#]
Failed to create the directory: [#!variable!directory!#] on: [#!variable!target!#] as: [#!variable!remote_user!#]. The error (if any) was: [#!variable!error!#] and the output (if any) was: [#!variable!output!#].
Failed to create the directory: [#!variable!directory!#]. The error (if any) was: [#!variable!error!#].
Failed to copy the file: [#!variable!source_file!#] to: [#!variable!target_file!#] on the target: [#!variable!target!#] as: [#!variable!remote_user!#]. The error (if any) was: [#!variable!error!#] and the output (if any) was: [#!variable!output!#].
copy_file() was asked to copy: [#!variable!source_file!#] to: [#!variable!target_file!#], but the target's parent directory doesn't exist and we were unable to create it.]]>
encrypt_password() tried to use the algorithm: [#!variable!algorithm!#], which is not recognized. Only 'sha256', 'sha384' and 'sha512' are currently supported. The desired algorithm can be set via 'sys::password::algorithm'.]]>
The IP hash key: [#!variable!ip_key!#] does not exist, skipping it.
No cookies were read, the use is not logged in.
The user's UUID: [#!variable!uuid!#] was read, but it didn't match any known users.
The user has been logged out.
The user hash in the user's cookie is valid.
The user hash in the user's cookie was valid yesterday, updating the stored hash and allowing the user to proceed.
The user hash in the user's cookie is invalid. It is probably expired.
The user: [#!variable!user!#] logged in successfully.
Theew was a failed login attempt from: [#!variable!user_agent!#], trying to log in as: [#!variable!user!#]. log in rejected.
]]>
]]>
UUID cache file: [#!data!path::data::host_uuid!#] doesn't exists and we're not running as root. Unable to proceed.
Database archive check skipped, not running as root.
Database archiving is disabled, skipping archive checks.
Peer: [#!variable!peer!#], database: [#!variable!name!#], password: [#!variable!password!#], host UUID: [#!variable!uuid!#]
Connection only to: [#!variable!db_uuid!#], skipping: [#!variable!uuid!#].
The connection to the database: [#!variable!server!#] has failed. Will attempt to reconnect.
Switching the default database handle to use the database: [#!variable!server!#] prior to reconnect attempt.
Switching the default database to read from to the database: [#!variable!server!#] prior to reconnect attempt.
Ready to try to reconnect to: [#!variable!server!#], but delaying for: [#!variable!delay!#] seconds to give the database a chance to come back online in case this is a transient issue.
Failed to reconnect to the database, and now no connections remail. Exiting.
maintenance_mode() was passed an invalid 'set' value: [#!variable!set!#]. No action taken.]]>
The user: [#!variable!user!#] logged out successfully.
A system reboot is required, setting the database flag.
A system reboot is required, setting the database flag.
Unable to connect to any database. Will try to initialize the local system and then try again.
Failed to connect to any databases. Skipping the loop of the daemon.
Disconnected from all databases. Will reconnect when entering the main loop.
Starting the background process: [#!variable!call!#] now.
Background process: [#!variable!call!#] running with PID: [#!variable!pid!#].
parse_banged_string(), while processing: [#!variable!message!#], a variable name was found to be missing.]]>
update_progress() called without 'job_uuid' being set, and 'jobs::job_uuid' was also not set. Unable to find the job to update.]]>
update_progress() called with the 'job_uuid': [#!variable!job_uuid!#], which was not found. Unable to find the job to update.]]>
update_progress() called with 'progress' set to an invalid value: [#!variable!progress!#]. This must be a whole number between '0' and '100' (fractions not allowed).]]>
find_matching_ip(), but it failed to resolve to an IP address.]]>
We've been asked to have the new peer add us. We will now wait for the peer to show up in the 'hosts' table and then request the job for it to add us.
The peer: [#!variable!peer_uuid!#] is not yet in 'hosts', continuing to wait.
The peer: [#!variable!peer_name!#] is now in 'hosts', proceeding.
Logging the user: [#!data!sys::users::user_name!#] out.
The #!variable!uuid_name!#: [#!variable!uuid!#] was passed in, but no record with that UUID was found in the database.
The variable with variable_uuid: [#!variable!variable_uuid!#], variable_source_table: [#!variable!variable_source_table!#] and variable_source_uuid: [#!variable!variable_source_uuid!#] was not found in the database, so unable to update.
The variable: [#!variable!name!#] was expected to be an array reference, but it wasn't. It contained (if anything): [#!variable!value!#].
The table: [#!variable!table!#] (and possibly others) in the database on: [#!variable!host!#] (UUID: [#!variable!uuid!#]) is missing: [#!variable!missing!#] row(s). A database resync will be requested.
insert_or_update_jobs() was called with 'update_progress_only' but without a 'job_uuid' being set.]]>
Writing: [#!variable!to_write!#] record(s) to resync the database on: [#!variable!host_name!#].
The connection to the database on: [#!variable!host!#] isn't established, trying again...
The connection to the database on: [#!variable!host!#] has been successfully established.
The system has only been running for: [#!variable!uptime!#] seconds. To minimize the impact of a bug causing a rapid reboot cycle, the request to: [#!variable!task!#] will be paused until the system has been running for at least ten minutes. We will proceed in: [#!variable!difference!#] seconds (at #!variable!say_time!#).
power off
reboot
Delay complete, proceeding with the #!variable!task!# operation now.
Failed to read the file: [#!variable!file!#]. It might not exist, so we will try to write it now.
The body of the file: [#!variable!file!#] does not match the new body. The file will be updated.
The body of the file: [#!variable!file!#] does not match the new body. The file will be updated. The changes are:
==========
#!variable!diff!#
==========
The file: [#!variable!file!#] is already the same as the passed in body, so no update is needed.
The file: [#!variable!file!#] will now be updated.
There was a problem updating file: [#!variable!file!#], expected the write to return '0' but got: [#!variable!return!#]. Please check the logs for details.
Failed to backup the file: [#!variable!source!#] to: [#!variable!destination!#]. Details may be found in the logs above.
#!free!#
Skipping the RPM repository refresh. The next scheduled refresh will be done in: [#!variable!next_refresh!#] second(s). Use '#!variable!program!# --refresh' to force an immediate refresh.
Test
Test replace: [#!variable!test!#].
Test Out of order: [#!variable!second!#] replace: [#!variable!first!#].
#!FREE!#
This is a multi-line test string with various items to insert.
It also has some #!invalid!# replacement #!keys!# to test the escaping and restoring.
Here is the default output language: [#!data!defaults::language::output!#]
Here we will inject 't_0000': [#!string!t_0001!#]
Here we will inject 't_0002' with its embedded variables: [#!string!t_0002!#]
Here we will inject 't_0006', which injects 't_0001' which has a variable: [#!string!t_0006!#].
This string embeds 't_0001': [#!string!t_0001!#]
Alteeve
Anvil!
Striker
ScanCore
Alteeve's Niche! Inc., Toronto, Ontario, Canada]]>
Anvil!]]>
Current Network Interfaces and States
MAC Address
Name
State
Speed
Up Order
Inbound Connections
Via network:
Peer Connections
Ping
Jobs
Welcome! Lets setup your #!string!brand_0003!# dashboard...
We're going to ask you a few questions so that we can set things up for your environment. If you need help at any time, just click on the "[?]" icon in the top-right. Let's get started!
Organization name
This is the name of the company, organization or division that owns or maintains this #!string!brand_0006!#. This is a descriptive field and you can enter whatever makes most sense to you.
Prefix
This is a two to five character prefix used to identify this organization. It is used as the prefix for host names for dashboards, nodes and foundation pack equipment. You can use letters and numbers and set whatever makes sense to you.
Domain Name
This is the domain name you would like to use for this dashboard. This will also be used as the default domain used when creating new install manifests.
Sequence Number
If this is your first Striker, set this to '1'. If it is the second one, set '2'. If it is the third, '3' and so on.
Internet-Facing Network Count
NOTE: You must have a network interface for the back-channel network, plus one for each internal network. If you have two interfaces for each network, we will setup bonds for redundancy automatically.]]>
Next
Step 1
IFN Count
Host name
This is the hostname for this Striker dashboard. Generally it is a good idea to stick with the default.
Back-Channel Network link #!variable!number!#
This is where you configure the network to enable access this Back-Channel Network.
Storage Network link #!variable!number!#
This is where you configure the network to enable access this Storage Network.
Internet-Facing Network link #!variable!number!#
This is where you configure the network to enable access this Internet-Facing Network.
IP Address
Subnet
Gateway
DNS Server
Network Interface
Primary Interface
Backup Interface
Striker user name
This is the user name that you will log into Striker as and the name of the user that owns the database.
Striker password
NOTE: This password needs to be stored in plain text. Do not use a password you use elsewhere.]]>
Gateway
This is the network gateway used to access the outside world.
DNS
This is the domain name server(s) to use when resolving domain names. You can specify 2 or more, separated by commas.
Gateway Interface
This is the interface with the internet access. Usually this is "ifn_link1".
We're almost ready! Does this look right? If so, we'll setup this Striker dashboard.
What we are planning to do...
Apply New Configuration
Done!
The network will be reconfigured momentarily. You may need to reconnect using the new network address you chose.
Offline...
A job to reconfigure this Striker is underway. It is: [#!variable!percent!#%] done. It last updated its progress at: [#!variable!timestamp!#] (#!variable!seconds_ago!# seconds ago). Please try again shortly.
This indicates that this machine has been configured. After an initial install, this variable won't exist. If it is set to '0', it will trigger a reconfiguration of the local system.
Log in
User name
Password
Striker Configuration and Management
Reload
Configure Striker Peers
When you sync with a peer, this machine's data will be copied to and recorded on the peer's database. Data gathered by ScanCore will also be kept in sync on both dashboards, and any general purpose data collected by other dashboards while this one is offline will be copied back when this machine comes online. Should this machine ever be rebuilt, data recorded from before the rebuild will be automatically restored as well.
Update this Striker
This will update this system using any available software repositories. You can also use this to create or load update packs to allow for the update of offline or air-gapped Anvil! systems.
Configure this Striker
Update the network configuration for this Striker.
Welcome!
Create or manage Anvil! systems
Manage this Striker system and sync with others
Log out
Help and support
Use 'anvil-change-password' from the console to reset it.]]>
Access to this machine via: [#!variable!network!#].
Save
Delete
[db_user@]hostname_or_ip[:tcp_port]
Add
Ping
Bi-directional
When checked, the Anvil! will ping the peer before trying to connect to the database. This speeds up skipping a database that is offline, but won't help if the databsae is behind a router. When unchecked, connections will be a touch faster when the database is available.
When checked, the peer will be configure to add the local database as a peer at the same time that we add it to this system.
Access
admin', and the default port is '5432'. If the peer uses these, then you only need to specify the IP address or hostname of the peer. If the user name is not 'admin', then you need to use the format 'user@host. If the TCP port is not '5432', then you need to use 'host:port. If both user and port are different, use the format 'user@host:port'.]]>
22', you can append: ',ssh=X' where 'X' is the SSH TCP port.]]>
Please verify
Peer
Ping before connect
The test connection was successful. When saved, the resynchronization process might take a few minutes, and cause maintenance periods where some features are offline until complete.
Confirm
Would you like to reconfigure this machine? If you confirm, Striker will re-run the initial configuration. Connections to peers and database data will be retained.
Confirmed
This Striker has been marked as reconfigured. Reload to start the confguration process.
Would you like to update the operating system on this machine? This Striker will be placed into maintenance mode until the update completes.
When enabled on a Striker dashboard, the web interface will be disabled and ScanCore will not record to the local database. When enabled on a node, no servers will be allowed to run on it, and any already running on it will be migrated. When run on a DR node, that node will be disconnected from storage and no servers will be allowed to run on it. When disabled, all normal functions are available
The system will be updated momentarily. This system will now be in maintenance mode until the update is complete.
This indicates whether this system needs to be rebooted or not.
This system is in maintenance mode and is not currently available.
Reboot this Striker
This option will restart the host operating system. This is not currently needed.
This machine needs to be rebooted. This option will restart the host operating system.
Power off this Striker
This will power off the Striker machine and leave it off. To power it back on, you will need physical access or cycle the power of the PDU feeding this Striker.
Recent and Running Jobs
There are no jobs currently running or recently completed.
Back
Job
Reboot this system? If you proceed, you will be logged out and this system will be rebooted. Please be sure you have access in the rare chance that the system fails to boot back up.
Power off this system? If you proceed, you will be logged out and this system will be powered off. You will need physical access to the machine to turn it back on in most cases. A properly condigured Striker dashboard will power on after a power cycle (via a PDU) or any machine with IPMI if you have access to a machine on the BCN.
The peer will be added to the local configuration shortly. Expect slight performance impacts if there is a lot of data to synchronize.
The peer will be added to the local configuration shortly, and we will be added to their configuration as well. Expect slight performance impacts if there is a lot of data to synchronize.
The peer will be removed from to the local configuration shortly. Any existing data will remain but no further data will be shared.
#!variable!peer!#]? If so, no further data from this system will be written to the peer. Do note that any existing data will remain and will be reused if you add the peer back again.]]>
Indicates when the last time the host system's RPM repository was refreshed. If the last refresh failed, this will be incremented by one day before another attempt is made (regardless of 'install-manifest::refresh-period' setting).
Configure Network
The network configuration will be updated based on the variables stored in the database. Reconnecting to the machine using the new IP address may be required.
Update Striker
This system is now scheduled to be updated.
Reboot Striker
This system will be rebooted momentarily. It will not respond until it has booted back up.
Poweroff Striker
This system will be powered off momentarily. It will not respond until it has turned back on.
Reboot..
Powering off...
Add a Striker Peer
The Striker peer will now be added to the local configuration.
Remove a Striker Peer
The Striker peer will now be removed from the local configuration.
The IP address will change. You will need to reconnect after applying these changes.
The access information appears to not be valid.
Test access to the peer (using SSH) failed. There may be details in the log file.
Accessing the peer over SSH worked, but a test connection to the database failed.
There was a problem reading the peer's UUID. Read: [#!variable!uuid!#], which appears to be invalid.
An SSH connection was established to: [#!variable!target!#], but we failed to establish a channel. The last error was: [#!variable!error!#].
The job: [#!variable!command!#] was picked up by: [#!variable!pid!#], but that process is not running and it appears to only be: [#!variable!percent!# %] complete. Restarting the job.
Unable to find a local IP on the same subnet as the IP/host: [#!variable!host!#] given for the target. Bi-directional setup not currently possible.
There are not enough network interfaces on this machine. You have: [#!variable!interface_count!#] interface(s), and you need at least: [#!variable!required_interfaces_for_single!#] interfaces to connect to the requested networks (one for Back-Channel and one for each Internet-Facing network).
The local system UUID can't be read yet. This might be because the system is brand new and/or ScanCore hasn't run yet. Please try again in a minute.
None of the databases are accessible, unable to proceed. Please be sure that 'anvil-daemon' is enabled and running on the database machine(s).
The gateway address doesn't match any of your networks.
This program must run with 'root' level privileges.
No password was given, exiting.
The passwords don't match, exiting.
Failed to read the file: [#!variable!file!#]. It doesn't appear to exist.
Failed to add the target: [#!variable!target!#]:[#!variable!port!#]'s RSA fingerprint to: [#!variable!user!#]'s list of known hosts.
There was a problem adding the local machine to the: [#!data!path::configs::anvil.conf!#] file. Please see the log for details.
Something went wrong while trying to update the password. The return code was: [#!variable!return_code!#], but '0' was expected.
hostname has to be set to a valid value.]]>
A user name must be set. This is usually 'admin'.
You must set a password. There are no complexity rules, but a long password is strongly recommended.
A DNS entry is bad. One or more IPv4 addresses can be specified, with a comma separating multiple IPs.
The IPv4 address assigned to: [#!variable!network!#] is invalid.
An interface to use in: [#!variable!network!# - Link #!variable!link!#] must be selected.
Network interfaces can only be selected once.
The gateway appears to have an invalid IPv4 address set.
The: [#!variable!field!#] field can't be empty.
The prefix needs to be set, and be between 1 and 5 characters long.
The: [#!variable!field!#] must be a positive integer.
There was a problem reading your session details. To be safe, you have been logged out. Please try logging back in.
It appears that your session has expired. To be safe, you have been logged out. Please try logging back in.
read_details: [#!variable!uuid!#] is not a valid UUID.]]>
read_details: [#!variable!uuid!#] was not found in the database.]]>
Login failed, please try again.
#!data!sys::log_file!#] for details.]]>
#!variable!template!#] in the template file: [#!variable!file!#].]]>
#!variable!template!#] in the template file: [#!variable!file!#]. Details of the problem should be in: [#!data!sys::log_file!#].]]>
The 'host-uuid': [#!variable!host_uuid!#] is not valid.
The '#!variable!switch!#' switch is missing.
The job UUID was passed via '--job-uuid' but the passed in value: [#!variable!uuid!#] is not a valid UUID.
The job UUID was passed via '--job-uuid': [#!variable!uuid!#] doesn't match a job in the database.
The update appears to have not completed successfully. The output was:
====
#!variable!output!#
====
parse_banged_string(), an infinite loop was detected while processing: [#!variable!message!#].]]>
The TCP port: [#!variable!port!#] is not a valid.
').]]>
Logging out failed. The user's UUID wasn't passed and 'sys::users::user_uuid' wasn't set. Was the user already logged out?
Failed to install the Alteeve repo, unable to proceed.
No BCN interface found. Unable to configure the install target feature yet.
Failed to write or update the file: [#!variable!file!#]. Please see the system log for more information.
This is not a configured Striker dashboard, exiting.
[ Error ] - There was a problem downloading packages. The error was:
====
#!variable!error!#
====
This Striker system is not configured yet. This tool will not be available until it is.
Failed to start the Install Target feature. Got a non-zero return code when starting: [#!data!sys::daemon::dhcpd!#] (got: [#!variable!rc!#]).
Failed to stop the Install Target feature. Got a non-zero return code when starting: [#!data!sys::daemon::dhcpd!#] (got: [#!variable!rc!#]).
Yes
No
Up
Down
Mbps
waiting for job output...
テスト
テスト いれかえる: [#!variable!test!#]。
テスト、 整理: [#!variable!second!#]/[#!variable!first!#]。
#!FREE!#
これは、挿入するさまざまな項目を含む複数行のテスト文字列です。
#!無効!#な置換#!キー!#を使ってエスケープとリストアをテストすることもできます。
デフォルトの出力言語は次のとおりです:「#!data!defaults::language::output!#」
ここで、「t_0000」を挿入します:[#!string!t_0001!#]
ここでは、 「t_0002」に埋め込み変数を挿入します:「#!string!t_0002!#」
ここでは変数 「#!string!t_0006!#」を持つ 「t_0001」を注入する 「t_0006」を注入します。
この文字列には「t_0001」が埋め込まれています:「#!string!t_0001!#」
アルティーブ
Anvil!
ストライカ
スカンコア
Alteeve's Niche! Inc., トロント、オンタリオ、カナダ]]>