Multiple 'role' instances?

Stef Walter stefw at redhat.com
Thu Jul 3 15:07:19 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03.07.2014 16:36, Stephen Gallagher wrote:
> On 07/03/2014 09:23 AM, Miloslav Trmač wrote:
>> ----- Original Message -----
>>> On 02.07.2014 15:06, Miloslav Trmač wrote:
>>>> ----- Original Message -----
>>>>> Is there (will there be) any concept in rolekit of mulitple
>>>>>  instances of a role on a server?
>>>>> 
>>>>> I know that this certainly doesn't apply to some services 
>>>>> like IPA Domain Controller.
>>>>> 
>>>>> But for others, such as databases it may be a limitation 
>>>>> later on.
>>>> 
>>>> I don’t think we need it; roles always can support multiple 
>>>> server instances within a single role, and I guess this
>>>> would be the right thing to do for non-specialist admins (in 
>>>> particular this gives the _role implementation_ the option
>>>> to choose for the user whether to implement multiple
>>>> instances as multiple configurations within a process,
>>>> multiple processes within a data store, or completely
>>>> separate data and configuration instances).
>>> 
>>> Fair enough, that's Fedora's call to make. Cockpit will want
>>> to go well beyond this, however.
> 
>> Oh, that would be rather unfortunate; Cockpit and Fedora Server
>> are targeting roughly the same audience so we should end up with 
>> similar decisions.  I just might be wrong about this :)
> 
>>> When someone runs more than one instance of a Service (think 
>>> MongoDB database, or JBoss EAP instance), they would ideally
>>> like to know how each individual instance is doing:
>>> 
>>> * What is the load (cpu, io, memory) of this service? * Is the 
>>> data storage for that service running out of disk space? *
>>> What critical events have occurred? * Does this need software
>>> security updates? * Diagnosis like: is this service accessible
>>> from the network, or blocked by the firewall?
>> All good points, even for “instances” that would be best 
>> implemented as configurations within a single process even.
>> (The security updates are typically applicable to all instances 
>> equally.)
> 
>> I’m not sure how easy it would be to expose this in rolekit, and 
>> whether we can get it done for F21, though.  I suppose 1) 
>> Differentiate between “role type” and “role instance”
>> (conceptual, no code needed directly) 2) Give user-manageable
>> names to role instances (defaulting to the “role type” name
>> perhaps with a numerical suffix) 3) Allow listing types and
>> instances separately 4) Separate the type-specific API (e.g.
>> deploy, query firewall services) and the instance-specific API
>> (e.g. start, undeploy) 5) Deal with multiple instances of
>> referenced items (systemd units, firewalld services) $somehow.
> 
>> 4) and 5) would need some work and time to design it seems.
>> Mirek
> 
> Thomas, Mirek and I discussed this on #fedora-server for a while
> this morning.
> 
> The general agreement is that, yes, we do need the API to support 
> multiple instances of Roles, but in F21 we will restrict them to
> one instance.
> 
> We're going to rework the API model slightly so that there will be
> a Role Factory object from which we can instantiate from role
> types. These role types will be allowed to prevent
> multiple-instantiation and a calling application *must* honor
> this.
> 
> A full design will be forthcoming next week.

Sounds great. Yes, I'm totally fine with an implementation restricted
to one instance per role for now.

/me wonders how we'll verify that the API doesn't have problems
preventing it from working for multiple instances later ... but I
guess the API isn't set in stone.

Stef
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlO1cacACgkQe/sRCNknZa9AQACfVRYo0f+A/mqLpHM6Rj8Ez4Tq
Xd0An26b3b7Dryq5i/Or8aKbDHjzVCOh
=WRv+
-----END PGP SIGNATURE-----


More information about the server mailing list