Tool/library for managing standard config hierarchy and template rendering for HPC clusters and other openflightHPC tools.
For installation instructions please see INSTALL.md
el6
)el7
)The install scripts handle the installation of all required packages from your
distribution and will install on a minimal base. For Enterprise Linux
distributions installation of the @core
and @base
package groups is
sufficient.
Flight Architect is designed to be used both as a library by other openflightHPC tools, and as an independent tool in its own right. Documentation has not yet been written on using it as a library; see below for documentation on using it as a tool.
The application can be invoked directly using the bin
executable:
# bin/architect
NAME:
architect
DESCRIPTION:
Tool for managing standard config hierarchy and template rendering under-lying Alces
clusters and other openflightHPC tools
... etc ...
A new generic cluster can be created using the init
command. It will ask a few
questions about the cluster such as its name. Then it will generate an
one compute/ ten node cluster.
# bin/architect init CLUSTER_IDENTIFIER
Name of the cluster (1/6)
> ?
... etc ..
The CLUSTER_IDENTIFIER
is a label used to manage the cluster from the command
line. All commands that require a cluster input will use this identifier. It is
unrelated to the cluster_name
which is set by the question. This is to allow
clusters with the same name but different configurations.
The init
command can also create a cluster without any nodes using the
--bare
flag. This skips the configuration of the domain
and any nodes
.
It does however create the cluster's basic directory structure· It further
configuration needs to use the configure
commands.
# bin/architect init CLUSTER_IDENTIFIER --bare
(no questions asked)
Once the cluster has been created, further configuration can be done by using
the configure
commands. The init
questions can be re-asked by reconfiguring
the domain. Unlike the init
command, this will not recreate the directory
structure.
bin/architect configure domain
A set of nodes can be added using the configure group
command. The GROUP_NAME
,
and NODE_RANGE
need to specified on the command line.
# bin/architect configure group GROUP_NAME NODE_RANGE
Examples:
# Configures 'group1' with a single node 'node1'
bin/architect configure group group1 node1
# Configures 'group2' with a range of nodes: 'n01', 'n02', ..., 'n10'
bin/architect configure group group2 n[01-10]
Nodes can be added to additional groups using the --groups
flag
A singe node can be setup using the configure node
command. It will
either re-configure an existing node, or add an orphan node.
# bin/architect configure node NODE_NAME
The content templates can be rendered using the template
command. By default
the templates are rendered to:
/var/lib/architect/clusters/<CLUSTER_IDENTIFIER>/rendered
# bin/architect template
Fork the project. Make your feature addition or bug fix. Send a pull request. Bonus points for topic branches.
Read CONTRIBUTING.md for more details.
Eclipse Public License 2.0, see LICENSE.txt for details.
Copyright (C) 2019-present Alces Flight Ltd.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0, or alternative license terms made available by Alces Flight Ltd - please direct inquiries about licensing to licensing@alces-flight.com.
Flight Architect is distributed in the hope that it will be useful, but WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse Public License 2.0 for more details.