Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update changes from tier1 machines for 1.8.0 release #1310

Merged
merged 28 commits into from
Oct 3, 2024

Conversation

RatkoVasic-NOAA
Copy link
Collaborator

@RatkoVasic-NOAA RatkoVasic-NOAA commented Sep 25, 2024

Summary

Update changes for tier1 machines for 1.8.0

Testing

Install 1.8.0

Applications affected

All

Systems affected

Tier1

Dependencies

Issue(s) addressed

Part of issue #1278

Checklist

  • This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
  • These changes have been tested on the affected systems and applications.
  • All dependency PRs/issues have been resolved and this PR can be merged.

@RatkoVasic-NOAA RatkoVasic-NOAA self-assigned this Sep 25, 2024
@RatkoVasic-NOAA RatkoVasic-NOAA changed the title start branch Update changes from tier1 machines for 1.8.0 release Sep 25, 2024
mkdir -p /contrib/admin
cat <<EOF > /contrib/admin/basic_setup.sh
#!/bin/bash
## Steps to perform to install spack-stack version 1.8.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what happened to all the instructions on the left - are they now baked into the default image? if not, they need to stay because somebody starting from a new image will need them

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not needed anymore. All was because ecflow and it's dependences. On NOAA-Cloud spack-stack can now be installed from out-of-box.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's awesome, thanks for the clarification!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed, please bring the documentation back that is needed to install the qt@5 dependency for ecflow

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add part how to install qt5

prefix: /usr
diffutils:
externals:
- spec: diffutils@3.3
- spec: diffutils@3.6
prefix: /usr
ecflow::
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no external ecflow - but need external qt@5

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is now in common/modules.yaml and common/packages.yaml:

    qt:
      require: '@5'

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes but you should configure the external qt5 package so that you don't need to build it (often doesn't work as expected). since you were able to build ecflow outside of spack, the necessary qt 5 libraries must be somewhere on the system

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I'm not sure how it worked. I intentionally didn't install:

#yum install -y qt5-qtbase-devel
#yum install -y qt5-qtsvg-devel
#yum install -y xorg-x11-xauth
#yum install -y xorg-x11-apps
#yum install -y perl-IPC-Cmd
#yum install -y gettext-devel
#yum install -y m4

Which we were supposed to install each time we start cloud instance.
Ecflow was installed using qt5 (which will be lost each time we logout).
Are you saying that we have to install qt5 again each time we login (like before)?
ecflow is still there, on permanent place (/contrib/spack-stack-rocky8/ecflow-5.8.4/)

As for m4, gettext, ... they were successfully installed by spack-satck-1.8.0.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you need to install those packages every time, but you can easily create a bootstrap script and run that in your parallelworks config

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's OK, but why do we need to install them anyway, spack stack does not depend on them?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qt5 does depend on them, and you need qt5 to build ecflow+ui - you can choose to let spack build all of that, not sure it works though

prefix: /usr
pkg-config:
externals:
- spec: pkg-config@0.27.1
- spec: pkg-config@1.4.2
prefix: /usr
rsync:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

external qt@5 missing

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is now in common/modules.yaml and common/packages.yaml:

    qt:
      require: '@5'

configs/sites/tier1/hera/mirrors.yaml Show resolved Hide resolved
configs/sites/tier1/hera/mirrors.yaml Show resolved Hide resolved
mkdir -p /contrib/admin
cat <<EOF > /contrib/admin/basic_setup.sh
#!/bin/bash
## Steps to perform to install spack-stack version 1.8.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed, please bring the documentation back that is needed to install the qt@5 dependency for ecflow

doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
doc/source/PreConfiguredSites.rst Outdated Show resolved Hide resolved
RatkoVasic-NOAA and others added 5 commits September 30, 2024 23:46
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
### Create a mysql config for local R2D2 use (if applicable)
```
sudo su
cat <<EOF > /contrib/admin/my.cnf
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may still need to have /contrib/admin/my.cnf saved. It may not need to be done every time a new space for spack stack is configured, i.e., a new /contrib space is prepared

mv mysql-8.0.31-linux-glibc2.17-x86_64-minimal/* ..
rmdir mysql-8.0.31-linux-glibc2.17-x86_64-minimal

ecFlow:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why ecflow? I thought we had discussed that we don't need this anymore. But ok, let's leave it in the readme, it won't get used as long as the site config has it removed from the external packages and the qt5 external package added instead (if it isn't there already).

Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instructions for building external ecflow packages are still in the README for all three sites. The site configs still have external ecflow packages, but no external qt5 packages. I'll wait with merging this PR until Wednesday noon but then it will go in as is and the release will be tagged.

@RatkoVasic-NOAA
Copy link
Collaborator Author

Instructions for building external ecflow packages are still in the README for all three sites. The site configs still have external ecflow packages, but no external qt5 packages. I'll wait with merging this PR until Wednesday noon but then it will go in as is and the release will be tagged.

@climbfuji I'm finishing NOAA-cloud. GCP is installed. Azure is slower. I'm going to add 2 more commits for these two machines (as we speak).

@RatkoVasic-NOAA
Copy link
Collaborator Author

@climbfuji I'm done with NOAA cloud updates. Removed instructions for ecflow as well.

@climbfuji
Copy link
Collaborator

The three noaa-{aws,gcloud,azure} site configs still have external ecflow packages and no external qt5 packages. I am going to merge this PR nonetheless so that we can tag the release and be done with it.

@climbfuji climbfuji merged commit 801362f into JCSDA:release/1.8.0 Oct 3, 2024
8 checks passed
@RatkoVasic-NOAA
Copy link
Collaborator Author

The three noaa-{aws,gcloud,azure} site configs still have external ecflow packages and no external qt5 packages. I am going to merge this PR nonetheless so that we can tag the release and be done with it.

I did that in the meantime. I removed ecflow from packages.yaml, and added external qt5 to it. It was just too late to add it to the repository. BTW, same is with Hera, Jet, Gaeas. I already fixed some of them (Jet, Orion, Hercules) and rest will do tomorrow. Eventually, we can add those to release/1.8.0.

@climbfuji
Copy link
Collaborator

Fine with me. It won't be in the tagged code, but at least in the release branch. Thanks @RatkoVasic-NOAA !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

4 participants