-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.12.58: machine template generated doesn't match profile_base schema #90
Comments
It looks like the external schema has drifted since hte schemas are not part of the open source push. Here's our latest personality schema:
I think it might make more sense to file these drift issues as issues against the right TL repo not this one.
This is a change that I remember @jrha making, presumably they have templates that populate this properly.
It's not mandatory because there's an item, bunker, in the hierarchy that is a collection of racks within a room. Rack is definitely added to the machine object:
I think we probably need @jrha to provide some insight on how they bridged the gap from the more recent QWG hardware/locaton schema from the older one that Aquilon works with. |
@ned21 please, could you share your version of the 3 templates I mentioned so that we understand if there is any change controversial or if we just need to merge your change in upstream templates. IMO, It'd be good if you could open pull request against |
I agree it would have been nice if we had done this in the past, and I think it would be reasonable to do so if there are future changes.
Which 3 sorry? I already did archetype and personality. In terms of templates, there has been some refactoring in the QWG version which moved lots of stuff around so it may be a case of tracking down structures rather than files. |
In response to what we are doing for OS version information: it's all handled in the archetype's OS configs, for example this is template os/sl/7x-x86_64/config;
include 'components/spma/config';
variable LOADPATH = append(SELF, 'ral-tier1/os/sl/7x-x86_64');
variable NODE_OS_VERSION_DEFAULT = 'sl7x-x86_64';
variable NODE_OS_VERSION = NODE_OS_VERSION_DEFAULT;
variable PKG_ARCH_DEFAULT = 'x86_64';
include 'os/sl/distribution';
prefix '/system/os';
'version/name' = '7x';
'version/major' = 7;
'architecture' = 'x86_64';
# Repositories related to base OS and quattor client (should be first)
include 'repository/config/os';
include 'os/version';
variable DEFAULT_FILESYSTEM_TYPE = 'xfs';
# Define xfs mount options for SL7x:
# Allow reading and writing
# Do not update inode access time
# Indicate to selinux that the filesystem is using xattrs for labels and that it supports label changes by setting the xattrs
# Enable "opportunistic" improvement to the way inline xattrs are stored on-disk
# Allow XFS to create inodes at any location in the filesystem, including those resulting in inode numbers occupying more than 32 bits of significance
# Forcibly turn off all quota accounting and enforcement within the fs
variable DEFAULT_MOUNTOPTS_XFS = 'rw,noatime,seclabel,attr2,inode64,noquota';
# We can use the generic el7 kickstart variant for sl7
variable AII_KS_OS_MAJOR_SPECIFIC_INCLUDE = 'quattor/aii/ks/variants/el7';
include 'quattor/client/config';
# Sendmail config to redirect mail for Tier1
include 'config/ral/tier1-sendmail';
# Set up sysctl
include 'site/config/sysctl-mmap';
include 'site/config/sysctl-large-network';
# Flag if reboot required after installing updates
include 'common/core/reboot-required/config';
prefix '/software/components/spma';
'process_obsoletes' = true;
'main_options/installonly_limit' = 2;
include 'components/systemd/legacy/chkconfig'; and template os/sl/distribution;
prefix '/system/os';
'distribution/name' = 'sl';
'distribution/description' = 'Scientific Linux';
'distribution/family' = 'el'; |
@ned21 yes, I'll open an issue/PR in the |
I previously provided up to date schema for personality and archetype so I ticked those off. Here's the hardware structure we use:
I suspect you will find structure_hardware is the QWG schema from ~8 years ago! |
@stdweird and I spent quite a lot of effort re-factoring the schema and ensuring it was compatible with the (SCDB-style) QWG templates as well as aquilon. I'm not sure what you are saying is missing. We are using the schema from |
Also see quattor/template-library-core#142 for the discussion around the OS structure. |
I know we're running an older version of the broker, but it is populating # aq cat --machine system2176
structure template machine/gb/r89/r89rack105/system2176;
"sysloc/continent" = "europe";
"sysloc/city" = "harwell";
"sysloc/building" = "r89";
"sysloc/campus" = "harwell";
"rack/name" = "r89rack105";
"rack/row" = "1600";
"rack/column" = "2200";
"rack/room" = "lpd";
"location" = "r89.harwell.europe";
… |
Ah, see 6b14139 |
- Rack room made optional (optional in Aquilon rack object) - country added as an optional property to sysloc Contributes to quattor/aquilon#90
…support Contributes to quattor/aquilon#90
quattor/template-library-core#177 should bring a template library schema compatible with Aquilon, except for the OS where I kept the change to a |
- Rack room made optional (optional in Aquilon rack object) - country added as an optional property to sysloc Contributes to quattor/aquilon#90
…support Contributes to quattor/aquilon#90
For this reason, this items are marked done in this issue and this issue is closed. |
The HW machine schema generated by the broker doesn't match the
quattor/type/hardware
part ofquattor/profile_base
from template library 18.3.0, Identified issues are:room
property of/hardware/rack
is mandatory but it is not generated by the broker, even if it was defined when adding the rack. Instead broker adds asysloc/room
that seems to duplicaterack/id/room
. Either the broker should add it to the generated HW machine template or the schema should be amended to make this property optional or remove it in favor of/sysloc/room
. In addition,--room
inaq add rack
should be made mandatory if the current schema is kept.The broker adds
/sysloc/country
which is not part of the schemaIn addition, the host data
/system/archetype' generated by the broker seems completely unsynchronized with
quattor/type/aquilon, also part of
quattor/profile_base`:os_lifecycle
is missing in the schemamodel
(apparently used to store the OS version from the Aquilon OS object) is missing in the schemaname
is mandatory in the schema but not output by the broker (somewhat connected to 1.12.58: the broker should pass the archetype to the object template #88)os
is a dict in the schema (with OS name and version) when it is a string in the hostdataAlso, the host data
/system/personality' is suffering the same synchronisation problem as
/system/archetype':systemgrn
is required by the schema but not output by the brokerThese are blocking issues for people relying on the template library. Workaround is easy to implement for experienced users but difficult to document for new users. May require a new template library once we decided what has to be changed to allow documenting a working configuration with the standard Aquilon and template library.
The text was updated successfully, but these errors were encountered: