[ 
https://issues.apache.org/jira/browse/WHIMSY-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16078325#comment-16078325
 ] 

Sebb edited comment on WHIMSY-113 at 7/4/21, 1:28 PM:
------------------------------------------------------

Relevant sources for existing implementation:

https://svn.apache.org/repos/infra/infrastructure/trunk/tools/make-accounts.sh
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/check-pmc-notifications
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/new-account-reqs.py
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/ap-adduser
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-mailer.py
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-pmc.ezt
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-root.ezt
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-welcome.ezt

Also:
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/updateiclas.py

Overall flow:

1) first step is to check to see if the PMC was previously notified of this 
request.  Such notifications are done today by the new account request form.  
This step may no longer be necessary, replaced by the secretary verifying the 
vote link.  If it is to be retained, it will require whimsy-vm4 to have ssh 
access to an account that can read the mail archives.  In fact, this logic 
could reuse the existing check-pmc-notifications logic.  Note: that logic 
doesn't appear to currently handle PMC to mail list mappings (such as whimsy => 
whimsical).

2) Next the PMC and user names are checked.  This logic is already present in 
the new account request form.

3) Next the email address is enabled on our MX.  This will either require 
whimsy-vm4 have ssh access to hermes with an account that is capable of 
sudo'ing in as apmail.  Or this could be done with a new email request process 
(file being committed to svn in a directory that is only writable by the 
secretary and processed by a cronjob).  Or it could be done as a byproduct of 
the current cron job that updates .forward files (see step 7 below).  Note that 
this step bails if the email address is already taken, so at a minimum, the 
ability to ssh into hermes into an account with at least read access to 
existing .qmail files is required.

4) Then the LDAP entry is created, with provisions for generating the initial 
password, computing the user and group id, and givenname.  This can and should 
be expanded, per https://issues.apache.org/jira/browse/INFRA-13850

5) Next the user is added to the relevant project group(s).  This will be two 
groups in the case of podlings, as the new user will also be added to the 
incubator project.

6) Next the user's home directory is created.  This clearly requires sudo 
access.  It also presumably is no longer necessary [Later: it is presumably 
needed on people/home?].  Somewhat related: the unix group for the person and 
some of the LDAP setup can possibly be removed (e.g., gidNumber, homeDirectory, 
loginShell, host). [Later: this is still required]

7) The email forwarding address is then set.  This also may no longer be 
necessary?  Will need to verify this.  I believe that this is set from ldap by 
a cronjob. [Later: these are two different items. .forward is set to uid@a.o - 
presumably on people.a.o. Hermes runs a cronjob that extracts the LDAP mail 
attribute(s) and updates the appropriate .qmail-uid files]

8) Emails are send out to root, the pmc and the new user.


was (Author: rubys):
Relevant sources for existing implementation:

https://svn.apache.org/repos/infra/infrastructure/trunk/tools/make-accounts.sh
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/check-pmc-notifications
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/new-account-reqs.py
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/ap-adduser
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-mailer.py
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-pmc.ezt
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-root.ezt
https://svn.apache.org/repos/infra/infrastructure/trunk/tools/account-welcome.ezt

Overall flow:

1) first step is to check to see if the PMC was previously notified of this 
request.  Such notifications are done today by the new account request form.  
This step may no longer be necessary, replaced by the secretary verifying the 
vote link.  If it is to be retained, it will require whimsy-vm4 to have ssh 
access to an account that can read the mail archives.  In fact, this logic 
could reuse the existing check-pmc-notifications logic.  Note: that logic 
doesn't appear to currently handle PMC to mail list mappings (such as whimsy => 
whimsical).

2) Next the PMC and user names are checked.  This logic is already present in 
the new account request form.

3) Next the email address is enabled on our MX.  This will either require 
whimsy-vm4 have ssh access to hermes with an account that is capable of 
sudo'ing in as apmail.  Or this could be done with a new email request process 
(file being committed to svn in a directory that is only writable by the 
secretary and processed by a cronjob).  Or it could be done as a byproduct of 
the current cron job that updates .forward files (see step 7 below).  Note that 
this step bails if the email address is already taken, so at a minimum, the 
ability to ssh into hermes into an account with at least read access to 
existing .qmail files is required.

4) Then the LDAP entry is created, with provisions for generating the initial 
password, computing the user and group id, and givenname.  This can and should 
be expanded, per https://issues.apache.org/jira/browse/INFRA-13850

5) Next the user is added to the relevant project group(s).  This will be two 
groups in the case of podlings, as the new user will also be added to the 
incubator project.

6) Next the user's home directory is created.  This clearly requires sudo 
access.  It also presumably is no longer necessary [Later: it is presumably 
needed on people/home?].  Somewhat related: the unix group for the person and 
some of the LDAP setup can possibly be removed (e.g., gidNumber, homeDirectory, 
loginShell, host). [Later: this is still required]

7) The email forwarding address is then set.  This also may no longer be 
necessary?  Will need to verify this.  I believe that this is set from ldap by 
a cronjob. [Later: these are two different items. .forward is set to uid@a.o - 
presumably on people.a.o. Hermes runs a cronjob that extracts the LDAP mail 
attribute(s) and updates the appropriate .qmail-uid files]

8) Emails are send out to root, the pmc and the new user.

> Have Secretary create new accounts directly
> -------------------------------------------
>
>                 Key: WHIMSY-113
>                 URL: https://issues.apache.org/jira/browse/WHIMSY-113
>             Project: Whimsy
>          Issue Type: New Feature
>          Components: SecMail
>            Reporter: Sam Ruby
>            Assignee: Sam Ruby
>            Priority: Major
>
> See also: https://issues.apache.org/jira/browse/INFRA-14456
> Currently most new account requests are made by the secretary, with the 
> remainder by PMC chairs and ASF members.  These requests are made by whimsy 
> forms and result in a file created in svn that is processed, generally daily, 
> by infrastructure staff.
> The new process envisioned is that the secretary will create new accounts 
> directly; and that new account requests will be sent via email to secretary@ 
> and processed by the secretary workbench.  Generally, processing of such 
> requests should be at most a few mouse clicks, though an opportunity will be 
> provided to tweak such things a public names and to verify that a proper vote 
> link was provided.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to