You will probably need to.

The way we handle it is that we add users when the first submit a job via the job_submit.lua script. This way the database autopopulates with active users.

-Paul Edmon-

On 10/3/23 9:01 AM, Davide DelVento wrote:
By increasing the slurmdbd verbosity level, I got additional information, namely the following:

slurmdbd: error: couldn't get information for this user (null)(xxxxxx)
slurmdbd: debug: accounting_storage/as_mysql: as_mysql_jobacct_process_get_jobs: User xxxxxx  has no associations, and is not admin, so not returning any jobs.

again where xxxxx is the posix ID of the user who's running the query in the slurmdbd logs.

I suspect this is due to the fact that our userbase is small enough (we are a department HPC) that we don't need to use allocation and the like, so I have not configured any association (and not even studied its configuration, since when I was at another place which did use associations, someone else took care of slurm administration).

Anyway, I read the fantastic document by our own member at https://wiki.fysik.dtu.dk/Niflheim_system/Slurm_accounting/#associations and in fact I have not even configured slurm users:

# sacctmgr show user
      User   Def Acct     Admin
---------- ---------- ---------
      root       root Administ+
#

So is that the issue? Should I just add all users? Any suggestions on the minimal (but robust) way to do that?

Thanks!


On Mon, Oct 2, 2023 at 9:20 AM Davide DelVento <davide.quan...@gmail.com> wrote:

    Thanks Paul, this helps.

    I don't have any PrivateData line in either config file. According
    to the docs, "By default, all information is visible to all users"
    so this should not be an issue. I tried to add a line with
    "PrivateData=jobs" to the conf files, just in case, but that
    didn't change the behavior.

    On Mon, Oct 2, 2023 at 9:10 AM Paul Edmon <ped...@cfa.harvard.edu>
    wrote:

        At least in our setup, users can see their own scripts by
        doing sacct -B -j JOBID

        I would make sure that the scripts are being stored and how
        you have PrivateData set.

        -Paul Edmon-

        On 10/2/2023 10:57 AM, Davide DelVento wrote:
        I deployed the job_script archival and it is working, however
        it can be queried only by root.

        A regular user can run sacct -lj towards any jobs (even those
        by other users, and that's okay in our setup) with no
        problem. However if they run sacct -j job_id --batch-script
        even against a job they own themselves, nothing is returned
        and I get a

        slurmdbd: error: couldn't get information for this user
        (null)(xxxxxx)

        where xxxxx is the posix ID of the user who's running the
        query in the slurmdbd logs.

        Both configure files slurmdbd.conf and slurm.conf do not have
        any "permission" setting. FWIW, we use LDAP.

        Is that the expected behavior, in that by default only root
        can see the job scripts? I was assuming the users themselves
        should be able to debug their own jobs... Any hint on what
        could be changed to achieve this?

        Thanks!



        On Fri, Sep 29, 2023 at 5:48 AM Davide DelVento
        <davide.quan...@gmail.com> wrote:

            Fantastic, this is really helpful, thanks!

            On Thu, Sep 28, 2023 at 12:05 PM Paul Edmon
            <ped...@cfa.harvard.edu> wrote:

                Yes it was later than that. If you are 23.02 you are
                good.  We've been running with storing job_scripts on
                for years at this point and that part of the database
                only uses up 8.4G.  Our entire database takes up 29G
                on disk. So its about 1/3 of the database.  We also
                have database compression which helps with the on
                disk size. Raw uncompressed our database is about
                90G.  We keep 6 months of data in our active database.

                -Paul Edmon-

                On 9/28/2023 1:57 PM, Ryan Novosielski wrote:
                Sorry for the duplicate e-mail in a short time: do
                you know (or anyone) when the hashing was added? Was
                planning to enable this on 21.08, but we then had to
                delay our upgrade to it. I’m assuming later than
                that, as I believe that’s when the feature was added.

                On Sep 28, 2023, at 13:55, Ryan Novosielski
                <novos...@rutgers.edu>
                <mailto:novos...@rutgers.edu> wrote:

                Thank you; we’ll put in a feature request for
                improvements in that area, and also thanks for the
                warning? I thought of that in passing, but the real
                world experience is really useful. I could easily
                see wanting that stuff to be retained less often
                than the main records, which is what I’d ask for.

                I assume that archiving, in general, would also
                remove this stuff, since old jobs themselves will
                be removed?

                --
                #BlackLivesMatter
                ____
                || \\UTGERS,
                |---------------------------*O*---------------------------
                ||_// the State |         Ryan Novosielski -
                novos...@rutgers.edu
                || \\ University | Sr. Technologist - 973/972.0922
                (2x0922) ~*~ RBHS Campus
                ||  \\    of NJ | Office of Advanced Research
                Computing - MSB A555B, Newark
                     `'

                On Sep 28, 2023, at 13:48, Paul Edmon
                <ped...@cfa.harvard.edu>
                <mailto:ped...@cfa.harvard.edu> wrote:

                Slurm should take care of it when you add it.

                So far as horror stories, under previous versions
                our database size ballooned to be so massive that
                it actually prevented us from upgrading and we had
                to drop the columns containing the job_script and
                job_env.  This was back before slurm started
                hashing the scripts so that it would only store
                one copy of duplicate scripts.  After this point
                we found that the job_script database stayed at a
                fairly reasonable size as most users use
                functionally the same script each time. However
                the job_env continued to grow like crazy as there
                are variables in our environment that change
                fairly consistently depending on where the user
                is. Thus job_envs ended up being too massive to
                keep around and so we had to drop them. Frankly we
                never really used them for debugging. The
                job_scripts though are super useful and not that
                much overhead.

                In summary my recommendation is to only store
                job_scripts. job_envs add too much storage for
                little gain, unless your job_envs are basically
                the same for each user in each location.

                Also it should be noted that there is no way to
                prune out job_scripts or job_envs right now. So
                the only way to get rid of them if they get large
                is to 0 out the column in the table. You can ask
                SchedMD for the mysql command to do this as we had
                to do it here to our job_envs.

                -Paul Edmon-

                On 9/28/2023 1:40 PM, Davide DelVento wrote:
                In my current slurm installation,
                (recently upgraded to slurm v23.02.3), I only have

                AccountingStoreFlags=job_comment

                I now intend to add both

                AccountingStoreFlags=job_script
                AccountingStoreFlags=job_env

                leaving the default 4MB value for max_script_size

                Do I need to do anything on the DB myself, or
                will slurm take care of the additional tables if
                needed?

                Any
                comments/suggestions/gotcha/pitfalls/horror_stories
                to share? I know about the additional diskspace
                and potentially load needed, and with our
                resources and typical workload I should be okay
                with that.

                Thanks!


Reply via email to