Hello,
We have been deploying CryoSparc on AWS since May and it was a success except for the user web interface. Strangely, we started having a rollback issue to our stack created by AWS ParallelCluster. We have been in contact with AWS in regards to the issue we started to face three weeks back, they come up with a syntax error within the post-install scripts. We are confused why we are facing this kind of issue now when we have been deploying it in different occasions with no issue using the same parallel-cluster-configration file and the same post-install.sh file provided by the CryoSPARC. We are also wondering why this is happening now since there are no changes made from our side.
The following is the error pulled from cfn-init-log
if this is helping:
************ CRYOSPARC SYSTEM: MASTER INSTALLER **************\
\
Installation Settings:\
License ID : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
Root Directory : /shared/cryosparc/cryosparc_master\
Master Hostname : ip-xxxxxxxxxxxx\
Database Directory : /shared/cryosparc/cryosparc_db\
Base HTTP Port Number : 45000\
Developer Install : false\
Operating System : Linux\
Insecure Install : false\
Standalone Install : false\
Version : v4.1.1\
\
******************************************************************\
\
The cryoSPARC System master installation will host a database,\
web application, and command layer for cryoSPARC, but will not\
perform processing jobs.\
\
Please read and confirm the above settings. The cryoSPARC database\
will be stored at the database directory which is relative to the\
root directory, unless provided as an absolute path.\
You can change the database directory now by passing the --dbapth\
parameter to this installer, or later via the command line.\
\
Are the above settings correct?\
\
******************************************************************\
\
Setting up hard-coded config.sh environment variables\
\
******************************************************************\
\
Installing all dependencies.\
\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
ERROR: This command can only be called by the owner of this script: ssm-user. You are root!\
Alternatively, set CRYOSPARC_FORCE_USER=true in cryosparc_master/config.sh to suppress this error.\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
ERROR: This command can only be called by the owner of this script: ssm-user. You are root!\
Alternatively, set CRYOSPARC_FORCE_USER=true in cryosparc_master/config.sh to suppress this error.\
******* CRYOSPARC SYSTEM: WORKER INSTALLER ***********************\
\
Installation Settings:\
License ID : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
Root Directory : /shared/cryosparc/cryosparc_worker\
Standalone Installation : false\
Version : v4.1.1\
\
******************************************************************\
\
CUDA check..\
Found nvidia-smi at /bin/nvidia-smi\
\
CUDA Path was provided as /shared/cuda/11.3.1\
Checking CUDA installation...\
Found nvcc at /shared/cuda/11.3.1/bin/nvcc\
The above cuda installation will be used but can be changed later.\
\
******************************************************************\
\
Setting up hard-coded config.sh environment variables\
\
******************************************************************\
\
Installing all dependencies.\
\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
Checking dependencies...\
Dependencies for python have changed - reinstalling...\
------------------------------------------------------------------------\
Installing anaconda python...\
------------------------------------------------------------------------\
PREFIX=/shared/cryosparc/cryosparc_worker/deps/anaconda\
Unpacking payload ...\
Collecting package metadata (current_repodata.json): ...working... done\
Solving environment: ...working... done\
\
## Package Plan ##\
\
environment location: /shared/cryosparc/cryosparc_worker/deps/anaconda\
\
added / updated specs:\
- _libgcc_mutex==0.1=main\
- _openmp_mutex==4.5=1_gnu\
- brotlipy==0.7.0=py38h27cfd23_1003\
- ca-certificates==2022.3.29=h06a4308_1\
- certifi==2021.10.8=py38h06a4308_2\
- cffi==1.15.0=py38hd667e15_1\
- charset-normalizer==2.0.4=pyhd3eb1b0_0\
- colorama==0.4.4=pyhd3eb1b0_0\
- conda-content-trust==0.1.1=pyhd3eb1b0_0\
- conda-package-handling==1.8.1=py38h7f8727e_0\
- conda==4.12.0=py38h06a4308_0\
- cryptography==36.0.0=py38h9ce1e76_0\
- idna==3.3=pyhd3eb1b0_0\
- ld_impl_linux-64==2.35.1=h7274673_9\
- libffi==3.3=he6710b0_2\
- libgcc-ng==9.3.0=h5101ec6_17\
- libgomp==9.3.0=h5101ec6_17\
- libstdcxx-ng==9.3.0=hd4cf53a_17\
- ncurses==6.3=h7f8727e_2\
- openssl==1.1.1n=h7f8727e_0\
- pip==21.2.4=py38h06a4308_0\
- pycosat==0.6.3=py38h7b6447c_1\
- pycparser==2.21=pyhd3eb1b0_0\
- pyopenssl==22.0.0=pyhd3eb1b0_0\
- pysocks==1.7.1=py38h06a4308_0\
- python==3.8.13=h12debd9_0\
- readline==8.1.2=h7f8727e_1\
- requests==2.27.1=pyhd3eb1b0_0\
- ruamel_yaml==0.15.100=py38h27cfd23_0\
- setuptools==61.2.0=py38h06a4308_0\
- six==1.16.0=pyhd3eb1b0_1\
- sqlite==3.38.2=hc218d9a_0\
- tk==8.6.11=h1ccaba5_0\
- tqdm==4.63.0=pyhd3eb1b0_0\
- urllib3==1.26.8=pyhd3eb1b0_0\
- wheel==0.37.1=pyhd3eb1b0_0\
- xz==5.2.5=h7b6447c_0\
- yaml==0.2.5=h7b6447c_0\
- zlib==1.2.12=h7f8727e_1\
\
\
The following NEW packages will be INSTALLED:\
\
_libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main\
_openmp_mutex pkgs/main/linux-64::_openmp_mutex-4.5-1_gnu\
brotlipy pkgs/main/linux-64::brotlipy-0.7.0-py38h27cfd23_1003\
ca-certificates pkgs/main/linux-64::ca-certificates-2022.3.29-h06a4308_1\
certifi pkgs/main/linux-64::certifi-2021.10.8-py38h06a4308_2\
cffi pkgs/main/linux-64::cffi-1.15.0-py38hd667e15_1\
charset-normalizer pkgs/main/noarch::charset-normalizer-2.0.4-pyhd3eb1b0_0\
colorama pkgs/main/noarch::colorama-0.4.4-pyhd3eb1b0_0\
conda pkgs/main/linux-64::conda-4.12.0-py38h06a4308_0\
conda-content-tru~ pkgs/main/noarch::conda-content-trust-0.1.1-pyhd3eb1b0_0\
conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.8.1-py38h7f8727e_0\
cryptography pkgs/main/linux-64::cryptography-36.0.0-py38h9ce1e76_0\
idna pkgs/main/noarch::idna-3.3-pyhd3eb1b0_0\
ld_impl_linux-64 pkgs/main/linux-64::ld_impl_linux-64-2.35.1-h7274673_9\
libffi pkgs/main/linux-64::libffi-3.3-he6710b0_2\
libgcc-ng pkgs/main/linux-64::libgcc-ng-9.3.0-h5101ec6_17\
libgomp pkgs/main/linux-64::libgomp-9.3.0-h5101ec6_17\
libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.3.0-hd4cf53a_17\
ncurses pkgs/main/linux-64::ncurses-6.3-h7f8727e_2\
openssl pkgs/main/linux-64::openssl-1.1.1n-h7f8727e_0\
pip pkgs/main/linux-64::pip-21.2.4-py38h06a4308_0\
pycosat pkgs/main/linux-64::pycosat-0.6.3-py38h7b6447c_1\
pycparser pkgs/main/noarch::pycparser-2.21-pyhd3eb1b0_0\
pyopenssl pkgs/main/noarch::pyopenssl-22.0.0-pyhd3eb1b0_0\
pysocks pkgs/main/linux-64::pysocks-1.7.1-py38h06a4308_0\
python pkgs/main/linux-64::python-3.8.13-h12debd9_0\
readline pkgs/main/linux-64::readline-8.1.2-h7f8727e_1\
requests pkgs/main/noarch::requests-2.27.1-pyhd3eb1b0_0\
ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.100-py38h27cfd23_0\
setuptools pkgs/main/linux-64::setuptools-61.2.0-py38h06a4308_0\
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1\
sqlite pkgs/main/linux-64::sqlite-3.38.2-hc218d9a_0\
tk pkgs/main/linux-64::tk-8.6.11-h1ccaba5_0\
tqdm pkgs/main/noarch::tqdm-4.63.0-pyhd3eb1b0_0\
urllib3 pkgs/main/noarch::urllib3-1.26.8-pyhd3eb1b0_0\
wheel pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0\
xz pkgs/main/linux-64::xz-5.2.5-h7b6447c_0\
yaml pkgs/main/linux-64::yaml-0.2.5-h7b6447c_0\
zlib pkgs/main/linux-64::zlib-1.2.12-h7f8727e_1\
\
\
Preparing transaction: ...working... done\
Executing transaction: ...working... done\
installation finished.\
------------------------------------------------------------------------\
Done.\
anaconda python installation successful.\
------------------------------------------------------------------------\
Extracting all conda packages...\
------------------------------------------------------------------------\
.....................................................................................................................................................................................\
------------------------------------------------------------------------\
Done.\
conda packages installation successful.\
------------------------------------------------------------------------\
Preparing to install all pip packages...\
------------------------------------------------------------------------\
DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453\
Processing ./deps_bundle/python/python_packages/pip_packages/pycuda-2020.1.tar.gz\
Preparing metadata (setup.py): started\
Preparing metadata (setup.py): finished with status 'done'\
Installing collected packages: pycuda\
DEPRECATION: pycuda is being installed using the legacy 'setup.py install' method, because the '--no-binary' option was enabled for it and this currentlydisables local wheel building for projects that don't have a 'pyproject.toml' file. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/11451\
Running setup.py install for pycuda: started\
Running setup.py install for pycuda: still running...\
Running setup.py install for pycuda: finished with status 'done'\
Successfully installed pycuda-2020.1\
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\
------------------------------------------------------------------------\
Done.\
pip packages installation successful.\
------------------------------------------------------------------------\
Main dependency installation completed. Continuing...\
------------------------------------------------------------------------\
Completed.\
Currently checking hash for ctffind\
Dependencies for ctffind have changed - reinstalling...\
------------------------------------------------------------------------\
ctffind 4.1.10 installation successful.\
------------------------------------------------------------------------\
Completed.\
Currently checking hash for cudnn\
Dependencies for cudnn have changed - reinstalling...\
------------------------------------------------------------------------\
cudnn 8.1.0.77 for CUDA 11 installation successful.\
------------------------------------------------------------------------\
Completed.\
Currently checking hash for gctf\
Dependencies for gctf have changed - reinstalling...\
------------------------------------------------------------------------\
Gctf v1.06 installation successful.\
------------------------------------------------------------------------\
Completed.\
Completed dependency check.\
Generating '/shared/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/libtiff/tiff_h_4_4_0.py' from '/shared/cryosparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/../include/tiff.h'\
\
******* CRYOSPARC WORKER INSTALLATION COMPLETE *******************\
\
In order to run processing jobs, you will need to connect this\
worker to a cryoSPARC master.\
\
******************************************************************\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
Traceback (most recent call last):\
File "<string>", line 1, in <module>\
File "cryosparc_compute/__init__.py", line 9, in <module>\
from . import dataset # noqa\
File "cryosparc_compute/dataset.py", line 59\
def to_dataframe(dset: Dataset[Row], exclude_uid=False):\
^\
SyntaxError: invalid syntax\
Traceback (most recent call last):\
File "<string>", line 1, in <module>\
File "cryosparc_compute/__init__.py", line 9, in <module>\
from . import dataset # noqa\
File "cryosparc_compute/dataset.py", line 59\
def to_dataframe(dset: Dataset[Row], exclude_uid=False):\
^\
SyntaxError: invalid syntax\
Starting cryoSPARC System master process..\
/shared/cryosparc/cryosparc_master/bin/cryosparcm: line 942: supervisorctl: command not found\
CryoSPARC is already running.\
If you would like to restart, use cryosparcm restart\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
Traceback (most recent call last):\
File "<string>", line 1, in <module>\
File "cryosparc_compute/__init__.py", line 9, in <module>\
from . import dataset # noqa\
File "cryosparc_compute/dataset.py", line 59\
def to_dataframe(dset: Dataset[Row], exclude_uid=False):\
^\
SyntaxError: invalid syntax\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
Traceback (most recent call last):\
File "<string>", line 1, in <module>\
File "cryosparc_compute/__init__.py", line 9, in <module>\
from . import dataset # noqa\
File "cryosparc_compute/dataset.py", line 59\
def to_dataframe(dset: Dataset[Row], exclude_uid=False):\
^\
SyntaxError: invalid syntax\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
Traceback (most recent call last):\
File "<string>", line 1, in <module>\
File "cryosparc_compute/__init__.py", line 9, in <module>\
from . import dataset # noqa\
File "cryosparc_compute/dataset.py", line 59\
def to_dataframe(dset: Dataset[Row], exclude_uid=False):\
^\
SyntaxError: invalid syntax\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
Warning: conda environment not found; this indicates that a cryoSPARC installation is either incomplete or in progress\
/shared/cryosparc/cryosparc_master/bin/cryosparcm: line 172: supervisorctl: command not found\
CryoSPARC is running.\
Stopping cryoSPARC\
/shared/cryosparc/cryosparc_master/bin/cryosparcm: line 1048: supervisorctl: command not found\
parallelcluster: fetch_and_run - Failed to run postinstall, s3://fh-pi-testinclude-d-cryosparc-test-data-np/install-cryosparc_v1.sh failed with non 0 return code: 127\
\
2023-01-13 17:53:33,647 [ERROR] Error encountered during build of shellRunPostInstall: Command runpostinstall failed\
Traceback (most recent call last):\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 576, in run_config\
cmd_log.info("Config %s", config.name)\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 276, in build\
else:\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py", line 127, in apply\
raise ToolError(u"Command %s failed" % name)\
cfnbootstrap.construction_errors.ToolError: Command runpostinstall failed\
2023-01-13 17:53:33,647 [ERROR] -----------------------BUILD FAILED!------------------------\
2023-01-13 17:53:33,647 [ERROR] Unhandled exception during build: Command runpostinstall failed\
Traceback (most recent call last):\
File "/opt/aws/bin/cfn-init", line 176, in <module>\
logging.error("Could not create \{\} to store metadata".format(data_dir))\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 137, in build\
Contractor(metadata, strict_mode).build(configSets, self)\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 564, in build\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 576, in run_config\
cmd_log.info("Config %s", config.name)\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py", line 276, in build\
else:\
File "/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py", line 127, in apply\
raise ToolError(u"Command %s failed" % name)\
cfnbootstrap.construction_errors.ToolError: Command runpostinstall failed}
Looking forward for your assistance. Thanks
B