CipUX Feature Netgroup

This page describes briefly the implementation of the netgroup feature for CipUX.

?TableOfContents

Status of the project:

CipUX Netgroup Feature

Name:

CipUX_Feature_Netgroup

Status:

planning

Programmer:

Benedikt Wildenhain

available in:

3.2.12

release:

2006-11-09

implemented in:

cipux-cibot, cipux-cat-web

History of "netgroups"

The netgroup feature was implemented for Skolelinux/ DebianEdu as a webmin module ("netgroups"). This module was able to add a host (workstation or server) to a so called "netgroup". If the host was added the host was able to mount the nfs share from the server. It was also use to divide hosts into groups.

Pros:

Cons:

Therefor Kurt Gramlich suggest to implement this feature into CipUX. Bededikt Wildenhain is the chief engineer to fullfill this task.

Description of implementation of webmin module "netgroups" (by Benedikt Wildenhain)

Example output of slapcat before adding any host beside tjener:

dn: cn=server-hosts,ou=Netgroup,dc=skole,dc=skolelinux,dc=no objectClass: top objectClass: nisNetgroup cn: server-hosts nisNetgroupTriple: (tjener,-,-) structuralObjectClass: nisNetgroup entryUUID: 33eb0212-b9c5-102a-9cf4-cfcf4b968dd8 creatorsName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no modifiersName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no createTimestamp: 20060806182912Z modifyTimestamp: 20060806182912Z entryCSN: 20060806182912Z#000004#00#000000

Output after using webmin to add a new server host: dn: cn=server-hosts,ou=Netgroup,dc=skole,dc=skolelinux,dc=no objectClass: top objectClass: nisNetgroup cn: server-hosts structuralObjectClass: nisNetgroup entryUUID: 33eb0212-b9c5-102a-9cf4-cfcf4b968dd8 creatorsName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no createTimestamp: 20060806182912Z nisNetgroupTriple: (my-new-server-host,-,-) nisNetgroupTriple: (tjener,-,-) entryCSN: 20061101110153Z#000001#00#000000 modifiersName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no modifyTimestamp: 20061101110153Z

So basically an entry named nisNetgroupTriple($hostname,-,-) was added. The following ?CommonNames (cn) have to be electable:

-server-hosts -workstation-hosts -ltsp-server-hosts -printer-hosts -all-hosts?(=member all four groups)

Description of implementation of netgroup feature in CipUX

This feature must be an optional CipUX feature, because there might be installations without NFS or network shares at all. To switch it off and on we use a variable in the "CipUX" configuration section in LDAP.

To switch it on for CipUX >=3.2.12:

cipux_task_change_cipux_config_variable_value CipUX CipUX_Feature_Netgroup 1

To switch it off for CipUX >=3.2.12:

cipux_task_change_cipux_config_variable_value CipUX CipUX_Feature_Netgroup 0

[...] (to be continued)

Description of the implementation of netgroup feature in CAT

The new feature must be available in some GUI. Because ?BenediktWildenhain or ChristianKuelker have Perl knowledge they will implement this first in cat-webmin or cat-web. Due to the fact that webmin will not be in Edge it would only make sense to implement this into cat-web. Others may implement that in the PHP branch of CAT later.

CAT-web uses the LDAP entry in the configuration section:

use CipUX::Cat::Web;

my $CipUX_Feature_Netgroup = &rpc($login,$ticket,
                                  "cipux_task_tell_me_cipux_config_variable_value",
                                  ["CipUX","CipUX_Feature_Netgroup"]) || 0;
if($CipUX_Feature_Netgroup){
  # do some thing
}

[...] (to be continued)

Work on the project

Task:

when:

who:

plan:

costs:

done:

Initial Talk for creating planning concept

2006-10-28

?BenediktWildenhain

1h

30m

(./)

Create a wiki page for coordination

2006-10-29

ChristianKuelker

1h

1h

(./)

Write description about webmin module "netgroups"

2006-11-01

?BenediktWildenhain

2h

Planning implementation details

2006-11-01

1h

Update this page with implementation details

2006-11-01

ChristianKuelker

2h

Implement changes to CipUX

2006-11-

?BenediktWildenhain

4h

Wrote a new cat-web module or add feature to one

2006-11-

3h

Test the new feature on development system

2006-11-

1h

Bugfixing

2006-11-

1h

Test the new feature on development system

2006-11-

1h

Test the new feature on fresh installed system

2006-11-

2h

hopefully no Bugfixing

2006-11-

0h

Project finished

2006-11-

18h30m