-
Notifications
You must be signed in to change notification settings - Fork 18
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
Aquilon doc: add documentation on configuring cluster #259
base: master
Are you sure you want to change the base?
Conversation
2f13253
to
46820f3
Compare
Failing test is caused by the fix of an invalid link in an old post... This post is then checked and full of "spelling mistakes"... |
08f4d06
to
262b832
Compare
@@ -124,6 +124,10 @@ thresholds associated with the cluster, like the minimum or maximum number of ho | |||
any time. Clusters can also be used to describe a HA cluster. Note that Aquilon is not a replacement for the | |||
cluster middleware: it just allows to represent a group of machines managed by such a middleware. | |||
|
|||
Clusters, like hosts, have an archetype and personality attached. It allows to ensure that all hosts that are |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say:
Clusters, like hosts, have an archetype and personality attached. It allows for cluster-wide configuration to be applied by including a new file after the host personality but before archetype/final
. That file is $host-archetype/$cluster-archetype/$cluster-personality/config
(relative to the LOADPATH).
Typically relative to the root of your template-king domain the file is:
$host-archetype/features/$host-archetype/$cluster-archetype/$cluster-personality/config
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ned21 are you sure you want to give these details. These templates are plenary templates. An Aquilon user should not try (and probably will not be able) to access them directly. He/she should use aq cat
. At the end it works line for any other personality... What about the new wording?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the start of the paragraph that Nathan proposed:
Clusters, like hosts, have an archetype and personality attached. It allows for cluster-wide configuration to be applied by including a new file after the host personality
Not sure for the rest of the paragraph. If we decide to have it also, I would recommend clarifying the variable names (perhaps like in bash with ${cluster-personality}
for instance, as when reading it for now I was not sure at first glance if it was ${cluster}-personality
or the above)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, checking from my phone and github mobile version is not that clean to navigate. I'm good with the current version of that sentence.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ned21 are you sure you want to give these details. These templates are plenary templates. An Aquilon user should not try (and probably will not be able) to access them directly. He/she should use
aq cat
.
These are not plenaries, they are files that must appear in template-king if you want the cluster personality to influence the host profile.
At the end it works line for any other personality...
Not really. I think this is the confusing thing about clusters: the cluster object is a separate PAN-generated object profile. The personality is the configuration of that cluster object. You can use PAN's $object:/path/
syntax to access attributes of that object from within the Host profile but the cluster object is an independent entity. The inclusion of a template file named after the cluster $archetype/$personality is what allows the cluster object to add configuration to the member hosts, but that's just a standard include hook and has no relation to the Cluster object.
(The development of this data model predates my employment at MS. :-)
What about the new wording?
The new wording is good but I am concerned that if the path I referenced isn't documented here, it's not documented anywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ned21 The inclusion logic you mention for cluster personalities is not what I'm seeing... at the end of a host template you have the cluster/$cluster_name/client' included (just before
final.pan`) and it includes the cluster personality template if it exists. There is no direct reference to the cluster object.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm.. This may be LOADPATH dependent. I've just spotted that my original filename reference version is perhaps slightly incorrect. I believe what gets included is: features/$cluster-archetype/$cluster-personality/config
which traditionally means that must appear under the host's archetype because the cluster archetype is not added to the host's LOADPATH. i.e. the full path to that is:
$host-archetype/features/$host-archetype/$cluster-archetype/$cluster-personality/config
This is not the same file as:
$cluster-archetype/personality/$cluster-personality/config
5f3e9d0
to
80ac303
Compare
As for me, ready for merging. Should cover the main operations related to the creation of a cluster. |
@@ -124,6 +124,10 @@ thresholds associated with the cluster, like the minimum or maximum number of ho | |||
any time. Clusters can also be used to describe a HA cluster. Note that Aquilon is not a replacement for the | |||
cluster middleware: it just allows to represent a group of machines managed by such a middleware. | |||
|
|||
Clusters, like hosts, have an archetype and personality attached. It allows to ensure that all hosts that are |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ned21 are you sure you want to give these details. These templates are plenary templates. An Aquilon user should not try (and probably will not be able) to access them directly. He/she should use
aq cat
.
These are not plenaries, they are files that must appear in template-king if you want the cluster personality to influence the host profile.
At the end it works line for any other personality...
Not really. I think this is the confusing thing about clusters: the cluster object is a separate PAN-generated object profile. The personality is the configuration of that cluster object. You can use PAN's $object:/path/
syntax to access attributes of that object from within the Host profile but the cluster object is an independent entity. The inclusion of a template file named after the cluster $archetype/$personality is what allows the cluster object to add configuration to the member hosts, but that's just a standard include hook and has no relation to the Cluster object.
(The development of this data model predates my employment at MS. :-)
What about the new wording?
The new wording is good but I am concerned that if the path I referenced isn't documented here, it's not documented anywhere.
thresholds associated with the cluster, like the minimum or maximum number of hosts that must be running at | ||
any time. Clusters can also be used to describe a HA cluster. Note that Aquilon is not a replacement for the | ||
cluster middleware: it just allows to represent a group of machines managed by such a middleware. | ||
|
||
Clusters, like hosts, have an archetype and personality attached. It allows to ensure that all hosts that are | ||
part of the cluster receive the same configuration. The cluster personality is added to the host, in addition |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The cluster personality is added to the host, in addition to the host personality.
To me this wording implies the cluster personality is "merged to" the host personality which is not strictly true. I am not sure if I am just nitpicking the wording here or if the model is just so complex I haven't managed to explain it properly yet. :-(
This was the reason I thought it was good to reference the file being include ($host-archetype/$cluster-archetype/$cluster-personality/config
) because if that file doesn't exist compilation will continue, and so if you don't know that's the path you have to create, it's hard to figure out how to add cluster-driven configuration to the host profile--I doubt that file path is properly documented anywhere else.
I update the text related to cluster archetypes and reconfiguration, based on quattor/aquilon#124 (comment). I still need to check and figure out what needs to be said about |
@ned21 after looking more carefully at the inclusion code for the cluster personality, I see your point. I didn't check carefully enough the resulting profile to realise that the feature was not included (I haven't tried yet to deploy the cluster members). And, as the include is with BTW, is there a good reason (probably yes!) to use |
I don't think so. A lot of the older PAN and Aquilon code from pre-2010 seems to favour if_exists and in practice it has led to a hard to debug errors and oddities. I don't believe it would be a problem for our site to replace it with a normal include. |
Good then! I'll submit a PR along these lines when I find some quiet time... |
I should try to deal with my very old backlog and finish this one... I'll try! |
No description provided.