Skip to content
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.65: make the cluster object profile optional? #124

Open
jouvin opened this issue Nov 1, 2018 · 6 comments
Open

1.12.65: make the cluster object profile optional? #124

jouvin opened this issue Nov 1, 2018 · 6 comments

Comments

@jouvin
Copy link
Contributor

jouvin commented Nov 1, 2018

Currently, when a cluster is defined, a plenary object profile is created and compiled when aq make cluster is executed. I have the feeling that in general this object profile is not needed as it is not consumed by standard components. On the other hand, getting it to compile successfully can be painful, in particular if features are added to the archetype or the personality. It is the case if the feature templates need variables related to the OS (like OS_VERSION_PARAMS) for example, as the OS configuration is not part of the cluster object.

My proposal would be to have an option to make the creation of this object profile optional. Any objection?

@jouvin
Copy link
Contributor Author

jouvin commented Nov 2, 2018

After discussion, the problem happens probably only if you attach a host feature to a cluster archetype rather than a cluster personality as the cluster personality is not included into the cluster. Will check.

@jouvin
Copy link
Contributor Author

jouvin commented Nov 2, 2018

Unfortunately, I checked after our discussion and the cluster personality is included in the cluster object template. For example:

object template clusters/openstack_devel;

variable LOADPATH = list(
  "openstack"
);

"/metadata/template/branch/name" = "svom";
"/metadata/template/branch/type" = "sandbox";
"/metadata/template/branch/author" = "jouvin";

include "archetype/declarations";

include "pan/units";
include "pan/functions";

"/" = create("clusterdata/openstack_devel",
  "metadata", value("/metadata")
);
include "archetype/base";
include "personality/openstack_hypervisor/config";
include "archetype/final";

In a host profile, you would have:

include "cluster/openstack_devel/client";

which mainly does the personality include.

So the issue remains valid for me...

@ned21
Copy link
Contributor

ned21 commented Nov 3, 2018

Have you tried setting the archetype to non-compilable? I think that achieves the same thing.

@jouvin
Copy link
Contributor Author

jouvin commented Nov 4, 2018

@ned21 yes, you are right but if you do this you cannot use 'aq make cluster' anymore to rebuild all the hosts in the cluster...

@ned21
Copy link
Contributor

ned21 commented Nov 4, 2018

Interesting if that is a feature of the broker, I always assumed it was a side-effect of the PAN compilation because there are dependencies from the cluster object to the host objects.

aq reconfigure --membersof $cluster is the command you want to rebuild all the hosts in a cluster.

@jouvin
Copy link
Contributor Author

jouvin commented Nov 5, 2018

I missed that, thanks! Then marking the cluster archetype does the job. I'll update my doc PR about clusters then!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants