#10276 script errors from cron on value01 on the meetings_by_team.sh script
Closed: Fixed by kevin. Opened by kevin.

The meetings_by_team.sh script is sending errors:

From: "(Cron Daemon)" <apache@fedoraproject.org>
To: apache@fedoraproject.org
Subject: Cron <apache@value01> /usr/local/bin/meetings_by_team.sh
ln: failed to create symbolic link /srv/web/meetbot/teams/f30-beta-readiness-meeting/f30-beta-readiness-meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/f31-final-go_no_go-meeting/f31-final-go_no_go-meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/f33-beta-go_no_go-meeting/f33-beta-go_no_go-meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/f33-blocker-review/f33-blocker-review.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/f35-beta-go_no_go-meeting/f35-beta-go_no_go-meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fad_apac_2018/fad_apac_2018.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fad_fosdem_2011/fad_fosdem_2011.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famna_2014-10-24/famna_2014-10-24.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famna_west_-_2018-7-9/famna_west_-_2018-7-9.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_1-20-2016/famsco_1-20-2016.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2013-06-03/famsco_2013-06-03.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2014-06-17/famsco_2014-06-17.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2014-08-12/famsco_2014-08-12.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2016-04-20/famsco_2016-04-20.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2016-05-25/famsco_2016-05-25.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2016-07-06/famsco_2016-07-06.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2016-07-12/famsco_2016-07-12.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2016-07-20/famsco_2016-07-20.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-01-25/famsco_2017-01-25.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-02-08/famsco_2017-02-08.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-03-15/famsco_2017-03-15.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-04-19/famsco_2017-04-19.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-05-10/famsco_2017-05-10.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-06-14/famsco_2017-06-14.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-08-23/famsco_2017-08-23.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-09-13/famsco_2017-09-13.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_2017-10-11/famsco_2017-10-11.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/famsco_meeting_2012-01-04/famsco_meeting_2012-01-04.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_17_final_go_nogo_meeting_round_2/fedora_17_final_go_nogo_meeting_round_2.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_20_elections:_famsco_townhall/fedora_20_elections:_famsco_townhall.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_29_release_retrospective/fedora_29_release_retrospective.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_latam_meeting_(05252018)/fedora_ambassadors_latam_meeting_(05252018).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_latam_meeting_2016-11-05/fedora_ambassadors_latam_meeting_2016-11-05.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_latam_meeting_2016-12-10/fedora_ambassadors_latam_meeting_2016-12-10.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_latam_meeting_2017-10-06/fedora_ambassadors_latam_meeting_2017-10-06.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_latam_meeting_jan_12th,_2018/fedora_ambassadors_latam_meeting_jan_12th,_2018.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_latam_meeting/fedora_ambassadors_latam_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_ambassadors_meeting/fedora_ambassadors_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_arm_sig_meeting/fedora_arm_sig_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_atomic_apac_wg/fedora_atomic_apac_wg.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-bugzappers/fedora-bugzappers.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_chinese_meeting_18_aug_2017/fedora_chinese_meeting_18_aug_2017.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/"fedora_classroom_-_command_line_101"/"fedora_classroom_-_command_line_101".tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_cloud_workgroup/fedora_cloud_workgroup.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-02-16)/fedora_commops_(2016-02-16).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-03-01)/fedora_commops_(2016-03-01).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-03-29)/fedora_commops_(2016-03-29).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-04-26)/fedora_commops_(2016-04-26).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-05-17)/fedora_commops_(2016-05-17).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-05-31)/fedora_commops_(2016-05-31).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-06-07)/fedora_commops_(2016-06-07).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-07-12)/fedora_commops_(2016-07-12).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-07-26)/fedora_commops_(2016-07-26).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-08-09)/fedora_commops_(2016-08-09).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-09-20)/fedora_commops_(2016-09-20).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2016-09-27)/fedora_commops_(2016-09-27).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2017-11-27)/fedora_commops_(2017-11-27).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-01-22)/fedora_commops_(2018-01-22).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-02-12)/fedora_commops_(2018-02-12).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-02-19)/fedora_commops_(2018-02-19).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-03-19)/fedora_commops_(2018-03-19).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-05-21)/fedora_commops_(2018-05-21).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-06-11)/fedora_commops_(2018-06-11).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-02-12)/fedora_commops_(2018-02-12).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-02-19)/fedora_commops_(2018-02-19).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-03-19)/fedora_commops_(2018-03-19).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-05-21)/fedora_commops_(2018-05-21).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-06-11)/fedora_commops_(2018-06-11).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-07-02)/fedora_commops_(2018-07-02).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-07-16)/fedora_commops_(2018-07-16).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-08-13)/fedora_commops_(2018-08-13).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-10-10)/fedora_commops_(2018-10-10).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-10-31)/fedora_commops_(2018-10-31).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-11-07)/fedora_commops_(2018-11-07).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_(2018-12-12)/fedora_commops_(2018-12-12).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_hack_session_(2016-05-18)/fedora_commops_hack_session_(2016-05-18).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_hack_session_(2016-06-03)/fedora_commops_hack_session_(2016-06-03).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_hack_session_-_2018-03-25/fedora_commops_hack_session_-_2018-03-25.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops_meeting_(2017-08-15)/fedora_commops_meeting_(2017-08-15).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_commops/fedora_commops.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_container_sig/fedora_container_sig.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_coreos_apac_meeting/fedora_coreos_apac_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-design-dandelion/fedora-design-dandelion.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_design_meeting/fedora_design_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-design-steel/fedora-design-steel.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_design_team_meeting/fedora_design_team_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-devel/fedora-devel.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_(2018-06-22)/fedora_diversity_(2018-06-22).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_and_inclusion_team_meeting/fedora_diversity_and_inclusion_team_meeting.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_&_inclusion_team_(2019-06-24)/fedora_diversity_&_inclusion_team_(2019-06-24).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_&_inclusion_team_(2019-07-01)/fedora_diversity_&_inclusion_team_(2019-07-01).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_&_inclusion_team_(2020-08-13)/fedora_diversity_&_inclusion_team_(2020-08-13).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_&_inclusion_team_(2020-09-10)/fedora_diversity_&_inclusion_team_(2020-09-10).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_team_-_2016_sept/fedora_diversity_team_-_2016_sept.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_team_-_2017_feb_8/fedora_diversity_team_-_2017_feb_8.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_diversity_team_-_2018_jan_12/fedora_diversity_team_-_2018_jan_12.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_docs_fad_day_3/fedora_docs_fad_day_3.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_docs_https:fedoraproject/fedora_docs_https:fedoraproject.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_docs_project_meeting_https:fedoraproject/fedora_docs_project_meeting_https:fedoraproject.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2016-11-29)/fedora_dotnet_(2016-11-29).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-02-07)/fedora_dotnet_(2017-02-07).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-04-11)/fedora_dotnet_(2017-04-11).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-06-13)/fedora_dotnet_(2017-06-13).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-06-20)/fedora_dotnet_(2017-06-20).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-07-04)/fedora_dotnet_(2017-07-04).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-07-20)/fedora_dotnet_(2017-07-20).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-08-24)/fedora_dotnet_(2017-08-24).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-08-31)/fedora_dotnet_(2017-08-31).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2017-11-30)/fedora_dotnet_(2017-11-30).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2018-03-01)/fedora_dotnet_(2018-03-01).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2018-03-08)/fedora_dotnet_(2018-03-08).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2018-06-28)/fedora_dotnet_(2018-06-28).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2018-09-06)/fedora_dotnet_(2018-09-06).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora_dotnet_(2018-10-18)/fedora_dotnet_(2018-10-18).tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-edu/fedora-edu.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-flock-ectr103/fedora-flock-ectr103.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-flock-ectr112/fedora-flock-ectr112.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-fr_du_1_décembre_2014/fedora-fr_du_1_décembre_2014.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-fr_du_27_octobre_2014/fedora-fr_du_27_octobre_2014.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-fr_du_2_novembre_2015/fedora-fr_du_2_novembre_2015.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-fr_du_8_decembre_2014/fedora-fr_du_8_decembre_2014.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-fwn/fedora-fwn.tgz’: File exists
ln: failed to create symbolic link /srv/web/meetbot/teams/fedora-golang/fedora-golang.tgz’: File exists
...more lines

This might be related to it being moved to a nfs volume, or something else.

CC: @eddiejennings


Metadata Update from @mohanboddu:
- Issue priority set to: Waiting on Assignee (was: Needs Review)
- Issue tagged with: low-gain, low-trouble, ops

Here are the results of initial troubleshooting.

The script in question is meetings_by_team.sh, which is run via cron as the user apache. It looks like what is failing is the -f function of ln, which makes sense considering the above error message.

The first thought was a permissions issue, but the apache user has write permissions to the directories in question and, through other, has execute permissions to traverse all the way down the tree to where the work will be done.

SELinux may be a thing, but I can't verify or rule it out because of apprentice permissions.

One thing that's curious is that new symlinks do appear to be created. /srv/web/meetbot/teams/zodbot_test/zodbot_test.tgz was created today, October 20th. This seems to confirm that my first thought is wrong and that permissions are not the issue.

SELinux seems to be enforcing, from results of sestatus command:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

There's no selinux AVC's on that machine. ;(

I wonder if the /./ in the path is confusing things?

ie, lrwxrwxrwx. 1 apache apache 58 Oct 21 19:58 /srv/web/meetbot/teams/f30-beta-readiness-meeting/f30-beta-readiness-meeting.tgz -> /srv/web/meetbot/./archives/f30-beta-readiness-meeting.tgz
should be

/srv/web/meetbot/archives/f30-beta-readiness-meeting.tgz

but is

/srv/web/meetbot/./archives/f30-beta-readiness-meeting.tgz

They should resolve to the same thing, but perhaps ln has some issue here?

Has this script worked before ?

Most likely line shoud read:
ln -f -s "$BASELOCATION/$teamname/" "$PWD/$f"

as ln is used 'ln -s Existing-file New-name' and directory is made on the line above.

I did some tests tonight value01.iad2.fedoraproject.org within the /tmp directory. I simulated the script and it looks like /./ didn't cause a problem. I was able to run my for loop a few times without generating an error. Not quite an apples-to-apples test as /tmp isn't mounted via NFS, but I'm not convinced /./ is a problem.

@copperi I don't know if this script has worked in the past. Maybe @kevin can shed some light.

Maybe it would help if we could get the nfs config from the server hosting the share, so we could simulate it somewhere else. @kevin maybe?

Yes, this script worked fine before we moved from local storage to a nfs volume

The nfs server is a netapp. I don't know of any way to get config off it. It just produces nfs for clients to consume. :( I might be able to look up specific settings if there's a question about them, but I don't know how to get a dump of all config really.

Apparently, the same script is running on both value01 & 02 at the same time:

Mar 13 23:00:01 value01.iad2.fedoraproject.org CROND[3497]: (apache) CMD (/usr/local/bin/meetings_by_team.sh)
Mar 13 23:00:02 value02.iad2.fedoraproject.org CROND[635551]: (apache) CMD (/usr/local/bin/meetings_by_team.sh)

According to the playbook, that should not happen. Maybe value02 needs some manual cleaning of that crontab?

And same for archive.sh btw:

Mar 13 23:30:01 value01.iad2.fedoraproject.org CROND[15938]: (apache) CMD (/usr/local/bin/archive.sh >& /dev/null)
Mar 13 23:30:01 value02.iad2.fedoraproject.org CROND[678997]: (apache) CMD (/usr/local/bin/archive.sh >& /dev/null)

Ah ha. Good eye.

I've set archive to only run on 01 and removed the old jobs on 02. :)

Metadata Update from @kevin:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

Metadata
Related Pull Requests