diff --git a/notes/zrq/20240208-01-notebook-errors.txt b/notes/zrq/20240208-01-notebook-errors.txt new file mode 100644 index 00000000..3c807fa3 --- /dev/null +++ b/notes/zrq/20240208-01-notebook-errors.txt @@ -0,0 +1,911 @@ +# +# +# +# Copyright (c) 2024, ROE (http://www.roe.ac.uk/) +# +# This information is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This information is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# +# +#zrq-notes-time +#zrq-notes-indent +#zrq-notes-crypto +#zrq-notes-ansible +#zrq-notes-osformat +#zrq-notes-zeppelin +# + + Target: + + Deploy went through as normal, but example notebooks for test users fail. + Almost all the notebook fail with what looks like low level Python library issues. + + Result: + + Work in progress ... + +# ----------------------------------------------------- + +1. Start here + + No problems + +# ----------------------------------------------------- + +2. Data holdings + + No problems + +# ----------------------------------------------------- + +3. Source counts over the sky + + > Fail to execute line 21: hp.mollview(array_data, fig=1, nest=True, coord='CG', unit = 'Star counts per HEALPixel', title='Gaia DR3 source counts at HEALPix level %d'%(healpix_level), cmap='viridis', norm = 'log') + > Traceback (most recent call last): + > File "/usr/local/lib64/python3.11/site-packages/healpy/visufunc.py", line 275, in mollview + > b = im.norm.inverse(np.linspace(0, 1, im.cmap.N + 1)) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/healpy/projaxes.py", line 1195, in inverse + > return vmin * np.ma.power((vmax / vmin), val) + > ~~~~~^~~~~~ + > ZeroDivisionError: float division by zero + + +# ----------------------------------------------------- + +4. Mean proper motions over the sky + + > Fail to execute line 17: hp.mollview(array_data, fig = 1, coord='C', unit='mas/yr', nest=True, title='Mean RA proper motion at HEALPix level %d'%(healpix_level), cmap='rainbow') + > Traceback (most recent call last): + > File "/tmp/python8643931494195433022/zeppelin_python.py", line 162, in + > exec(code, _zcUserQueryNameSpace) + > File "", line 17, in + > File "/usr/local/lib64/python3.11/site-packages/healpy/visufunc.py", line 332, in mollview + > pylab.draw() + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/pyplot.py", line 1111, in draw + > gcf().canvas.draw_idle() + > File "/tmp/python8643931494195433022/backend_zinline.py", line 136, in draw_idle + > self.draw(*args, **kwargs) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/backends/backend_agg.py", line 388, in draw + > self.figure.draw(self.renderer) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 95, in draw_wrapper + > result = draw(artist, renderer, *args, **kwargs) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 72, in draw_wrapper + > return draw(artist, renderer) + > ^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/figure.py", line 3154, in draw + > mimage._draw_list_compositing_images( + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images + > a.draw(renderer) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 72, in draw_wrapper + > return draw(artist, renderer) + > ^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/axes/_base.py", line 3070, in draw + > mimage._draw_list_compositing_images( + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images + > a.draw(renderer) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 72, in draw_wrapper + > return draw(artist, renderer) + > ^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 649, in draw + > im, l, b, trans = self.make_image( + > ^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 939, in make_image + > return self._make_image(self._A, bbox, transformed_bbox, clip, + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 553, in _make_image + > output = self.norm(resampled_masked) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/healpy/projaxes.py", line 1165, in __call__ + > raise ValueError("values must all be positive") + > ValueError: values must all be positive + + +# ----------------------------------------------------- + +5. Working with Gaia XP spectra + + > Fail to execute line 20: sampled_spectrum, sampling = convert(continuous_spectrum, save_file = False) + > Traceback (most recent call last): + > File "/tmp/python8643931494195433022/zeppelin_python.py", line 162, in + > exec(code, _zcUserQueryNameSpace) + > File "", line 20, in + > File "/usr/local/lib/python3.11/site-packages/gaiaxpy/converter/converter.py", line 62, in convert + > return _convert(input_object=input_object, sampling=sampling, truncation=truncation, + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib/python3.11/site-packages/gaiaxpy/converter/converter.py", line 94, in _convert + > spectra_df, positions = _create_spectra(parsed_input_data, truncation, design_matrices, + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib/python3.11/site-packages/gaiaxpy/converter/converter.py", line 173, in _create_spectra + > positions = spectra_series.iloc[0].get_positions() + > ~~~~~~~~~~~~~~~~~~~^^^ + > File "/usr/local/lib64/python3.11/site-packages/pandas/core/indexing.py", line 1153, in __getitem__ + > return self._getitem_axis(maybe_callable, axis=axis) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/pandas/core/indexing.py", line 1714, in _getitem_axis + > self._validate_integer(key, axis) + > File "/usr/local/lib64/python3.11/site-packages/pandas/core/indexing.py", line 1647, in _validate_integer + > raise IndexError("single positional indexer is out-of-bounds") + > IndexError: single positional indexer is out-of-bounds + + +# ----------------------------------------------------- + +6. Working with cross-matched surveys + + > Traceback (most recent call last): + > File "/opt/spark/python/pyspark/serializers.py", line 437, in dumps + > return cloudpickle.dumps(obj, pickle_protocol) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 73, in dumps + > cp.dump(obj) + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 563, in dump + > return Pickler.dump(self, obj) + > ^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 653, in reducer_override + > return self._function_reduce(obj) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 526, in _function_reduce + > return self._dynamic_function_reduce(obj) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 507, in _dynamic_function_reduce + > state = _function_getstate(func) + > ^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 157, in _function_getstate + > f_globals_ref = _extract_code_globals(func.__code__) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle.py", line 236, in _extract_code_globals + > out_names = {names[oparg] for _, oparg in _walk_global_ops(co)} + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle.py", line 236, in + > out_names = {names[oparg] for _, oparg in _walk_global_ops(co)} + > ~~~~~^^^^^^^ + > IndexError: tuple index out of range + + > Fail to execute line 41: spark.udf.register('rasterize', cmd_raster_index, IntegerType()) + > Traceback (most recent call last): + > File "/opt/spark/python/pyspark/serializers.py", line 437, in dumps + > return cloudpickle.dumps(obj, pickle_protocol) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 73, in dumps + > cp.dump(obj) + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 563, in dump + > return Pickler.dump(self, obj) + > ^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 653, in reducer_override + > return self._function_reduce(obj) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 526, in _function_reduce + > return self._dynamic_function_reduce(obj) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 507, in _dynamic_function_reduce + > state = _function_getstate(func) + > ^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle_fast.py", line 157, in _function_getstate + > f_globals_ref = _extract_code_globals(func.__code__) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle.py", line 236, in _extract_code_globals + > out_names = {names[oparg] for _, oparg in _walk_global_ops(co)} + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/cloudpickle/cloudpickle.py", line 236, in + > out_names = {names[oparg] for _, oparg in _walk_global_ops(co)} + > ~~~~~^^^^^^^ + > IndexError: tuple index out of range + > + > During handling of the above exception, another exception occurred: + > + > Traceback (most recent call last): + > File "/tmp/python8643931494195433022/zeppelin_python.py", line 162, in + > exec(code, _zcUserQueryNameSpace) + > File "", line 41, in + > File "/opt/spark/python/pyspark/sql/udf.py", line 362, in register + > self.sparkSession._jsparkSession.udf().registerPython(name, register_udf._judf) + > ^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/sql/udf.py", line 161, in _judf + > self._judf_placeholder = self._create_judf() + > ^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/sql/udf.py", line 170, in _create_judf + > wrapped_func = _wrap_function(sc, self.func, self.returnType) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/sql/udf.py", line 34, in _wrap_function + > pickled_command, broadcast_vars, env, includes = _prepare_for_python_RDD(sc, command) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/rdd.py", line 2816, in _prepare_for_python_RDD + > pickled_command = ser.dumps(command) + > ^^^^^^^^^^^^^^^^^^ + > File "/opt/spark/python/pyspark/serializers.py", line 447, in dumps + > raise pickle.PicklingError(msg) + > _pickle.PicklingError: Could not serialize object: IndexError: tuple index out of range + +# ----------------------------------------------------- + +7. Good astrometric solutions via ML Random Forest classifier + + > Fail to execute line 15: plot.show() + > Traceback (most recent call last): + > File "/tmp/python8643931494195433022/zeppelin_python.py", line 167, in + > exec(code, _zcUserQueryNameSpace) + > File "", line 15, in + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/pyplot.py", line 527, in show + > return _get_backend_mod().show(*args, **kwargs) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/tmp/python8643931494195433022/backend_zinline.py", line 72, in __call__ + > manager.show(**kwargs) + > File "/tmp/python8643931494195433022/backend_zinline.py", line 208, in show + > zdisplay(self.canvas.figure, **kwargs) + > File "/tmp/python8643931494195433022/backend_zinline.py", line 290, in zdisplay + > src = fig.canvas.manager.angular_bind(**kwargs) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/tmp/python8643931494195433022/backend_zinline.py", line 162, in angular_bind + > src = self.canvas.get_bytes(**kwargs) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/tmp/python8643931494195433022/backend_zinline.py", line 96, in get_bytes + > self.print_figure(buf, **kwargs) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/backend_bases.py", line 2193, in print_figure + > result = print_method( + > ^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/backend_bases.py", line 2043, in + > print_method = functools.wraps(meth)(lambda *args, **kwargs: meth( + > ^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/backends/backend_agg.py", line 497, in print_png + > self._print_pil(filename_or_obj, "png", pil_kwargs, metadata) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/backends/backend_agg.py", line 445, in _print_pil + > FigureCanvasAgg.draw(self) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/backends/backend_agg.py", line 388, in draw + > self.figure.draw(self.renderer) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 95, in draw_wrapper + > result = draw(artist, renderer, *args, **kwargs) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 72, in draw_wrapper + > return draw(artist, renderer) + > ^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/figure.py", line 3154, in draw + > mimage._draw_list_compositing_images( + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images + > a.draw(renderer) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 72, in draw_wrapper + > return draw(artist, renderer) + > ^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/axes/_base.py", line 3070, in draw + > mimage._draw_list_compositing_images( + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images + > a.draw(renderer) + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/artist.py", line 72, in draw_wrapper + > return draw(artist, renderer) + > ^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 649, in draw + > im, l, b, trans = self.make_image( + > ^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 939, in make_image + > return self._make_image(self._A, bbox, transformed_bbox, clip, + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/matplotlib/image.py", line 553, in _make_image + > output = self.norm(resampled_masked) + > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + > File "/usr/local/lib64/python3.11/site-packages/healpy/projaxes.py", line 1165, in __call__ + > raise ValueError("values must all be positive") + > ValueError: values must all be positive--END-- + > + > + > # ----------------------------------------------------- + > + > 8. Tips and tricks + > + > org.apache.zeppelin.interpreter.InterpreterException: org.apache.zeppelin.interpreter.InterpreterException: Fail to open JupyterKernelInterpreter: + > org.apache.zeppelin.interpreter.InterpreterException: Kernel prerequisite is not meet: jupyter-client is not installed, installed packages: + > acme==2.8.0 + > aenum==3.1.15 + > anyio==4.2.0 + > argon2-cffi==23.1.0 + > argon2-cffi-bindings==21.2.0 + > arrow==1.3.0 + > astropy==5.3.4 + > astroquery==0.4.6 + > asttokens==2.4.1 + > async-lru==2.0.4 + > attrs==22.2.0 + > Babel==2.14.0 + > bcrypt==4.1.2 + > beautifulsoup4==4.12.3 + > bleach==6.1.0 + > ceph==1.0.0 + > cephfs==2.0.0 + > certbot==2.8.0 + > certbot-dns-duckdns==1.3 + > certbot-nginx==2.8.0 + > certifi==2024.2.2 + > cffi==1.16.0 + > charset-normalizer==3.1.0 + > cloud-init==23.1.1 + > comm==0.2.1 + > ConfigArgParse==1.7 + > configobj==5.0.8 + > contourpy==1.2.0 + > cryptography==42.0.2 + > cycler==0.12.1 + > Cython==0.29.36 + > dbus-python==1.3.2 + > debugpy==1.8.0 + > decorator==5.1.1 + > defusedxml==0.7.1 + > distro==1.8.0 + > dnspython==2.5.0 + > dustmaps==1.0.12 + > executing==2.0.1 + > fastavro==1.9.3 + > fastjsonschema==2.19.1 + > fonttools==4.48.1 + > fqdn==1.5.1 + > gaiadmpsetup==0.1.5 + > gaiadr3-zeropoint==0.0.4 + > GaiaXPy==2.1.0 + > gpg==1.17.1 + > grpcio==1.59.3 + > h11==0.14.0 + > h5py==3.10.0 + > hdbscan==0.8.33 + > healpy==1.16.6 + > html5lib==1.1 + > httpcore==1.0.2 + > httpx==0.26.0 + > idna==3.4 + > importlib-metadata==7.0.1 + > ipykernel==6.29.2 + > ipython==8.21.0 + > ipywidgets==8.1.2 + > isoduration==20.11.0 + > jaraco.classes==3.3.1 + > jc==1.24.0 + > jedi==0.19.1 + > jeepney==0.8.0 + > Jinja2==3.0.3 + > joblib==1.3.2 + > josepy==1.14.0 + > json5==0.9.14 + > jsonpatch==1.21 + > jsonpointer==2.0 + > jsonschema==4.21.1 + > jsonschema-specifications==2023.12.1 + > jupyter==1.0.0 + > jupyter-console==6.6.3 + > jupyter-events==0.9.0 + > jupyter-lsp==2.2.2 + > jupyter_client==8.6.0 + > jupyter_core==5.7.1 + > jupyter_server==2.12.5 + > jupyter_server_terminals==0.5.2 + > jupyterlab==4.1.0 + > jupyterlab_pygments==0.3.0 + > jupyterlab_server==2.25.2 + > jupyterlab_widgets==3.0.10 + > keyring==24.3.0 + > kiwisolver==1.4.5 + > libcomps==0.1.18 + > MarkupSafe==2.1.2 + > matplotlib==3.8.2 + > matplotlib-inline==0.1.6 + > mimeparse==0.1.3 + > mistune==3.0.2 + > more-itertools==10.2.0 + > mwdust==1.5.post0 + > nbclient==0.9.0 + > nbconvert==7.16.0 + > nbformat==5.9.2 + > nest-asyncio==1.6.0 + > netifaces==0.11.0 + > notebook==7.0.7 + > notebook_shim==0.2.3 + > numpy==1.26.2 + > oauthlib==3.2.1 + > overrides==7.7.0 + > packaging==23.2 + > pandas==2.1.3 + > pandocfilters==1.5.1 + > paramiko==3.4.0 + > parsedatetime==2.6 + > parso==0.8.3 + > pexpect==4.9.0 + > pillow==10.2.0 + > platformdirs==4.2.0 + > prettytable==0.7.2 + > progressbar2==4.3.2 + > prometheus-client==0.19.0 + > prompt-toolkit==3.0.43 + > protobuf==4.25.1 + > psutil==5.9.8 + > ptyprocess==0.7.0 + > pure-eval==0.2.2 + > pyarrow==14.0.1 + > pycparser==2.21 + > pyerfa==2.0.1.1 + > Pygments==2.14.0 + > PyMySQL==1.1.0 + > PyNaCl==1.5.0 + > pyOpenSSL==24.0.0 + > pyparsing==3.1.1 + > pyRFC3339==1.1 + > pyrsistent==0.19.3 + > pyserial==3.5 + > PySocks==1.7.1 + > python-dateutil==2.8.2 + > python-json-logger==2.0.7 + > python-utils==3.8.2 + > pytz==2024.1 + > pyvo==1.1 + > PyYAML==6.0 + > pyzmq==25.1.2 + > qtconsole==5.5.1 + > QtPy==2.4.1 + > rados==2.0.0 + > rbd==2.0.0 + > referencing==0.33.0 + > requests==2.31.0 + > rfc3339-validator==0.1.4 + > rfc3986-validator==0.1.1 + > rgw==2.0.0 + > rpds-py==0.17.1 + > rpm==4.18.1 + > ruamel.yaml==0.17.24 + > ruamel.yaml.clib==0.2.7 + > scikit-learn==1.3.2 + > scipy==1.11.4 + > SecretStorage==3.3.3 + > selinux==3.5 + > Send2Trash==1.8.2 + > sepolicy==3.5 + > setools==4.4.1 + > six==1.16.0 + > sniffio==1.3.0 + > soupsieve==2.5 + > stack-data==0.6.3 + > systemd-python==235 + > terminado==0.18.0 + > threadpoolctl==3.2.0 + > tinycss2==1.2.1 + > tornado==6.4 + > tqdm==4.66.1 + > traitlets==5.14.1 + > types-python-dateutil==2.8.19.20240106 + > typing_extensions==4.9.0 + > tzdata==2023.4 + > uri-template==1.3.0 + > urllib3==1.26.12 + > wcwidth==0.2.13 + > webcolors==1.13 + > webencodings==0.5.1 + > websocket-client==1.7.0 + > widgetsnbextension==4.0.10 + > xkcdpass==1.19.8 + > xmltodict==0.12.0 + > yarncleaner==0.1 + > zipp==3.17.0 + > + > at org.apache.zeppelin.jupyter.JupyterKernelInterpreter.open(JupyterKernelInterpreter.java:129) + > at org.apache.zeppelin.python.IPythonInterpreter.open(IPythonInterpreter.java:110) + > at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:70) + > at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:844) + > at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:752) + > at org.apache.zeppelin.scheduler.Job.run(Job.java:172) + > at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132) + > at org.apache.zeppelin.scheduler.FIFOScheduler.lambda$runJobInScheduler$0(FIFOScheduler.java:42) + > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + > at java.lang.Thread.run(Thread.java:750) + > + > at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:76) + > at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:844) + > at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:752) + > at org.apache.zeppelin.scheduler.Job.run(Job.java:172) + > at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132) + > at org.apache.zeppelin.scheduler.FIFOScheduler.lambda$runJobInScheduler$0(FIFOScheduler.java:42) + > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + > at java.lang.Thread.run(Thread.java:750) + > Caused by: org.apache.zeppelin.interpreter.InterpreterException: Fail to open JupyterKernelInterpreter: + > org.apache.zeppelin.interpreter.InterpreterException: Kernel prerequisite is not meet: jupyter-client is not installed, installed packages: + > acme==2.8.0 + > aenum==3.1.15 + > anyio==4.2.0 + > argon2-cffi==23.1.0 + > argon2-cffi-bindings==21.2.0 + > arrow==1.3.0 + > astropy==5.3.4 + > astroquery==0.4.6 + > asttokens==2.4.1 + > async-lru==2.0.4 + > attrs==22.2.0 + > Babel==2.14.0 + > bcrypt==4.1.2 + > beautifulsoup4==4.12.3 + > bleach==6.1.0 + > ceph==1.0.0 + > cephfs==2.0.0 + > certbot==2.8.0 + > certbot-dns-duckdns==1.3 + > certbot-nginx==2.8.0 + > certifi==2024.2.2 + > cffi==1.16.0 + > charset-normalizer==3.1.0 + > cloud-init==23.1.1 + > comm==0.2.1 + > ConfigArgParse==1.7 + > configobj==5.0.8 + > contourpy==1.2.0 + > cryptography==42.0.2 + > cycler==0.12.1 + > Cython==0.29.36 + > dbus-python==1.3.2 + > debugpy==1.8.0 + > decorator==5.1.1 + > defusedxml==0.7.1 + > distro==1.8.0 + > dnspython==2.5.0 + > dustmaps==1.0.12 + > executing==2.0.1 + > fastavro==1.9.3 + > fastjsonschema==2.19.1 + > fonttools==4.48.1 + > fqdn==1.5.1 + > gaiadmpsetup==0.1.5 + > gaiadr3-zeropoint==0.0.4 + > GaiaXPy==2.1.0 + > gpg==1.17.1 + > grpcio==1.59.3 + > h11==0.14.0 + > h5py==3.10.0 + > hdbscan==0.8.33 + > healpy==1.16.6 + > html5lib==1.1 + > httpcore==1.0.2 + > httpx==0.26.0 + > idna==3.4 + > importlib-metadata==7.0.1 + > ipykernel==6.29.2 + > ipython==8.21.0 + > ipywidgets==8.1.2 + > isoduration==20.11.0 + > jaraco.classes==3.3.1 + > jc==1.24.0 + > jedi==0.19.1 + > jeepney==0.8.0 + > Jinja2==3.0.3 + > joblib==1.3.2 + > josepy==1.14.0 + > json5==0.9.14 + > jsonpatch==1.21 + > jsonpointer==2.0 + > jsonschema==4.21.1 + > jsonschema-specifications==2023.12.1 + > jupyter==1.0.0 + > jupyter-console==6.6.3 + > jupyter-events==0.9.0 + > jupyter-lsp==2.2.2 + > jupyter_client==8.6.0 + > jupyter_core==5.7.1 + > jupyter_server==2.12.5 + > jupyter_server_terminals==0.5.2 + > jupyterlab==4.1.0 + > jupyterlab_pygments==0.3.0 + > jupyterlab_server==2.25.2 + > jupyterlab_widgets==3.0.10 + > keyring==24.3.0 + > kiwisolver==1.4.5 + > libcomps==0.1.18 + > MarkupSafe==2.1.2 + > matplotlib==3.8.2 + > matplotlib-inline==0.1.6 + > mimeparse==0.1.3 + > mistune==3.0.2 + > more-itertools==10.2.0 + > mwdust==1.5.post0 + > nbclient==0.9.0 + > nbconvert==7.16.0 + > nbformat==5.9.2 + > nest-asyncio==1.6.0 + > netifaces==0.11.0 + > notebook==7.0.7 + > notebook_shim==0.2.3 + > numpy==1.26.2 + > oauthlib==3.2.1 + > overrides==7.7.0 + > packaging==23.2 + > pandas==2.1.3 + > pandocfilters==1.5.1 + > paramiko==3.4.0 + > parsedatetime==2.6 + > parso==0.8.3 + > pexpect==4.9.0 + > pillow==10.2.0 + > platformdirs==4.2.0 + > prettytable==0.7.2 + > progressbar2==4.3.2 + > prometheus-client==0.19.0 + > prompt-toolkit==3.0.43 + > protobuf==4.25.1 + > psutil==5.9.8 + > ptyprocess==0.7.0 + > pure-eval==0.2.2 + > pyarrow==14.0.1 + > pycparser==2.21 + > pyerfa==2.0.1.1 + > Pygments==2.14.0 + > PyMySQL==1.1.0 + > PyNaCl==1.5.0 + > pyOpenSSL==24.0.0 + > pyparsing==3.1.1 + > pyRFC3339==1.1 + > pyrsistent==0.19.3 + > pyserial==3.5 + > PySocks==1.7.1 + > python-dateutil==2.8.2 + > python-json-logger==2.0.7 + > python-utils==3.8.2 + > pytz==2024.1 + > pyvo==1.1 + > PyYAML==6.0 + > pyzmq==25.1.2 + > qtconsole==5.5.1 + > QtPy==2.4.1 + > rados==2.0.0 + > rbd==2.0.0 + > referencing==0.33.0 + > requests==2.31.0 + > rfc3339-validator==0.1.4 + > rfc3986-validator==0.1.1 + > rgw==2.0.0 + > rpds-py==0.17.1 + > rpm==4.18.1 + > ruamel.yaml==0.17.24 + > ruamel.yaml.clib==0.2.7 + > scikit-learn==1.3.2 + > scipy==1.11.4 + > SecretStorage==3.3.3 + > selinux==3.5 + > Send2Trash==1.8.2 + > sepolicy==3.5 + > setools==4.4.1 + > six==1.16.0 + > sniffio==1.3.0 + > soupsieve==2.5 + > stack-data==0.6.3 + > systemd-python==235 + > terminado==0.18.0 + > threadpoolctl==3.2.0 + > tinycss2==1.2.1 + > tornado==6.4 + > tqdm==4.66.1 + > traitlets==5.14.1 + > types-python-dateutil==2.8.19.20240106 + > typing_extensions==4.9.0 + > tzdata==2023.4 + > uri-template==1.3.0 + > urllib3==1.26.12 + > wcwidth==0.2.13 + > webcolors==1.13 + > webencodings==0.5.1 + > websocket-client==1.7.0 + > widgetsnbextension==4.0.10 + > xkcdpass==1.19.8 + > xmltodict==0.12.0 + > yarncleaner==0.1 + > zipp==3.17.0 + > + > at org.apache.zeppelin.jupyter.JupyterKernelInterpreter.open(JupyterKernelInterpreter.java:129) + > at org.apache.zeppelin.python.IPythonInterpreter.open(IPythonInterpreter.java:110) + > at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:70) + > at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:844) + > at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:752) + > at org.apache.zeppelin.scheduler.Job.run(Job.java:172) + > at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132) + > at org.apache.zeppelin.scheduler.FIFOScheduler.lambda$runJobInScheduler$0(FIFOScheduler.java:42) + > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + > at java.lang.Thread.run(Thread.java:750) + > + > at org.apache.zeppelin.jupyter.JupyterKernelInterpreter.open(JupyterKernelInterpreter.java:145) + > at org.apache.zeppelin.python.IPythonInterpreter.open(IPythonInterpreter.java:110) + > at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:70) + > ... 8 more + > Caused by: org.apache.zeppelin.interpreter.InterpreterException: Kernel prerequisite is not meet: jupyter-client is not installed, installed packages: + > acme==2.8.0 + > aenum==3.1.15 + > anyio==4.2.0 + > argon2-cffi==23.1.0 + > argon2-cffi-bindings==21.2.0 + > arrow==1.3.0 + > astropy==5.3.4 + > astroquery==0.4.6 + > asttokens==2.4.1 + > async-lru==2.0.4 + > attrs==22.2.0 + > Babel==2.14.0 + > bcrypt==4.1.2 + > beautifulsoup4==4.12.3 + > bleach==6.1.0 + > ceph==1.0.0 + > cephfs==2.0.0 + > certbot==2.8.0 + > certbot-dns-duckdns==1.3 + > certbot-nginx==2.8.0 + > certifi==2024.2.2 + > cffi==1.16.0 + > charset-normalizer==3.1.0 + > cloud-init==23.1.1 + > comm==0.2.1 + > ConfigArgParse==1.7 + > configobj==5.0.8 + > contourpy==1.2.0 + > cryptography==42.0.2 + > cycler==0.12.1 + > Cython==0.29.36 + > dbus-python==1.3.2 + > debugpy==1.8.0 + > decorator==5.1.1 + > defusedxml==0.7.1 + > distro==1.8.0 + > dnspython==2.5.0 + > dustmaps==1.0.12 + > executing==2.0.1 + > fastavro==1.9.3 + > fastjsonschema==2.19.1 + > fonttools==4.48.1 + > fqdn==1.5.1 + > gaiadmpsetup==0.1.5 + > gaiadr3-zeropoint==0.0.4 + > GaiaXPy==2.1.0 + > gpg==1.17.1 + > grpcio==1.59.3 + > h11==0.14.0 + > h5py==3.10.0 + > hdbscan==0.8.33 + > healpy==1.16.6 + > html5lib==1.1 + > httpcore==1.0.2 + > httpx==0.26.0 + > idna==3.4 + > importlib-metadata==7.0.1 + > ipykernel==6.29.2 + > ipython==8.21.0 + > ipywidgets==8.1.2 + > isoduration==20.11.0 + > jaraco.classes==3.3.1 + > jc==1.24.0 + > jedi==0.19.1 + > jeepney==0.8.0 + > Jinja2==3.0.3 + > joblib==1.3.2 + > josepy==1.14.0 + > json5==0.9.14 + > jsonpatch==1.21 + > jsonpointer==2.0 + > jsonschema==4.21.1 + > jsonschema-specifications==2023.12.1 + > jupyter==1.0.0 + > jupyter-console==6.6.3 + > jupyter-events==0.9.0 + > jupyter-lsp==2.2.2 + > jupyter_client==8.6.0 + > jupyter_core==5.7.1 + > jupyter_server==2.12.5 + > jupyter_server_terminals==0.5.2 + > jupyterlab==4.1.0 + > jupyterlab_pygments==0.3.0 + > jupyterlab_server==2.25.2 + > jupyterlab_widgets==3.0.10 + > keyring==24.3.0 + > kiwisolver==1.4.5 + > libcomps==0.1.18 + > MarkupSafe==2.1.2 + > matplotlib==3.8.2 + > matplotlib-inline==0.1.6 + > mimeparse==0.1.3 + > mistune==3.0.2 + > more-itertools==10.2.0 + > mwdust==1.5.post0 + > nbclient==0.9.0 + > nbconvert==7.16.0 + > nbformat==5.9.2 + > nest-asyncio==1.6.0 + > netifaces==0.11.0 + > notebook==7.0.7 + > notebook_shim==0.2.3 + > numpy==1.26.2 + > oauthlib==3.2.1 + > overrides==7.7.0 + > packaging==23.2 + > pandas==2.1.3 + > pandocfilters==1.5.1 + > paramiko==3.4.0 + > parsedatetime==2.6 + > parso==0.8.3 + > pexpect==4.9.0 + > pillow==10.2.0 + > platformdirs==4.2.0 + > prettytable==0.7.2 + > progressbar2==4.3.2 + > prometheus-client==0.19.0 + > prompt-toolkit==3.0.43 + > protobuf==4.25.1 + > psutil==5.9.8 + > ptyprocess==0.7.0 + > pure-eval==0.2.2 + > pyarrow==14.0.1 + > pycparser==2.21 + > pyerfa==2.0.1.1 + > Pygments==2.14.0 + > PyMySQL==1.1.0 + > PyNaCl==1.5.0 + > pyOpenSSL==24.0.0 + > pyparsing==3.1.1 + > pyRFC3339==1.1 + > pyrsistent==0.19.3 + > pyserial==3.5 + > PySocks==1.7.1 + > python-dateutil==2.8.2 + > python-json-logger==2.0.7 + > python-utils==3.8.2 + > pytz==2024.1 + > pyvo==1.1 + > PyYAML==6.0 + > pyzmq==25.1.2 + > qtconsole==5.5.1 + > QtPy==2.4.1 + > rados==2.0.0 + > rbd==2.0.0 + > referencing==0.33.0 + > requests==2.31.0 + > rfc3339-validator==0.1.4 + > rfc3986-validator==0.1.1 + > rgw==2.0.0 + > rpds-py==0.17.1 + > rpm==4.18.1 + > ruamel.yaml==0.17.24 + > ruamel.yaml.clib==0.2.7 + > scikit-learn==1.3.2 + > scipy==1.11.4 + > SecretStorage==3.3.3 + > selinux==3.5 + > Send2Trash==1.8.2 + > sepolicy==3.5 + > setools==4.4.1 + > six==1.16.0 + > sniffio==1.3.0 + > soupsieve==2.5 + > stack-data==0.6.3 + > systemd-python==235 + > terminado==0.18.0 + > threadpoolctl==3.2.0 + > tinycss2==1.2.1 + > tornado==6.4 + > tqdm==4.66.1 + > traitlets==5.14.1 + > types-python-dateutil==2.8.19.20240106 + > typing_extensions==4.9.0 + > tzdata==2023.4 + > uri-template==1.3.0 + > urllib3==1.26.12 + > wcwidth==0.2.13 + > webcolors==1.13 + > webencodings==0.5.1 + > websocket-client==1.7.0 + > widgetsnbextension==4.0.10 + > xkcdpass==1.19.8 + > xmltodict==0.12.0 + > yarncleaner==0.1 + > zipp==3.17.0 + > + > at org.apache.zeppelin.jupyter.JupyterKernelInterpreter.open(JupyterKernelInterpreter.java:129) + > ... 10 more--END-- + > diff --git a/notes/zrq/20240208-01-test-deploy.txt b/notes/zrq/20240208-01-test-deploy.txt new file mode 100644 index 00000000..0b8aa08a --- /dev/null +++ b/notes/zrq/20240208-01-test-deploy.txt @@ -0,0 +1,232 @@ +# +# +# +# Copyright (c) 2024, ROE (http://www.roe.ac.uk/) +# +# This information is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This information is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# +# +#zrq-notes-time +#zrq-notes-indent +#zrq-notes-crypto +#zrq-notes-ansible +#zrq-notes-osformat +#zrq-notes-zeppelin +# + + Target: + + Guess is that recent merge broke the Python libraries. + To test it, revert to pre-merge version and deploy. + + Merge pull request #1240 from akrause2014/fedora-38 + https://github.com/wfau/gaia-dmp/commit/dc85a92da5d22a73f29357f72c568b0c064989fd + + Merge branch 'master' into fedora-38 <-- why !? + https://github.com/wfau/gaia-dmp/commit/ef6cb8cba69e79440d9c7df909c00f5c769c783f + + Working deployment on Somerville Jade <-- state before Amy's branch was merged. + https://github.com/wfau/gaia-dmp/commit/7c1034a5362788fb099139cb3f7fa2e872e116a3 + + Result: + + Work in progress ... + + +# ----------------------------------------------------- +# Create a new branch. +#[user@laptop] + + branchname=notebook-debug + + source "${HOME:?}/aglais.env" + pushd "${AGLAIS_CODE}" + + newbranch=$(date '+%Y%m%d')-zrq-${branchname:?} + + git checkout master + + git checkout -b "${newbranch:?}" + + popd + + +# ----------------------------------------------------- +# Revert to pre-merge version. +#[user@laptop] + + source "${HOME:?}/aglais.env" + pushd "${AGLAIS_CODE}" + + cp deployments/common/pip/requirements.txt \ + deployments/common/pip/requirements.old + + git checkout 7c1034a5362788fb099139cb3f7fa2e872e116a3 + + diff deployments/common/pip/requirements.txt \ + deployments/common/pip/requirements.old + + popd + + > Note: switching to '7c1034a5362788fb099139cb3f7fa2e872e116a3'. + > .... + > .... + > HEAD is now at 7c1034a5 Working deployment on Somerville Jade + + > 1,4c1,4 + > < numpy==1.21.0 + > < scipy==1.7.3 + > < matplotlib==3.4.2 + > < grpcio==1.53.0 + > --- + > > numpy==1.26.2 + > > scipy==1.11.4 + > > matplotlib==3.8.2 + > > grpcio==1.59.3 + > .... + > .... + + +# ----------------------------------------------------- +# Sanity check the current live host. +#[user@laptop] + + ssh fedora@live.gaia-dmp.uk \ + ' + date + hostname + ' + + > Thu 8 Feb 19:04:41 UTC 2024 + > iris-gaia-green-20231027-zeppelin + + +# ----------------------------------------------------- +# Create a container to work with. +#[user@laptop] + + agcolour=red + + source "${HOME:?}/aglais.env" + + configname=zeppelin-54.86-spark-6.26.43 + agproxymap=3000:3000 + clientname=ansibler-${agcolour} + cloudname=iris-gaia-${agcolour} + + podman run \ + --rm \ + --tty \ + --interactive \ + --name "${clientname:?}" \ + --hostname "${clientname:?}" \ + --publish "${agproxymap:?}" \ + --env "cloudname=${cloudname:?}" \ + --env "configname=${configname:?}" \ + --env "SSH_AUTH_SOCK=/mnt/ssh_auth_sock" \ + --volume "${SSH_AUTH_SOCK:?}:/mnt/ssh_auth_sock:rw,z" \ + --volume "${HOME:?}/clouds.yaml:/etc/openstack/clouds.yaml:ro,z" \ + --volume "${AGLAIS_CODE:?}/deployments:/deployments:ro,z" \ + ghcr.io/wfau/atolmis/ansible-client:2022.07.25 \ + bash + + > .... + > .... + + +# ----------------------------------------------------- +# Deploy everything. +#[root@ansibler] + + source /deployments/hadoop-yarn/bin/deploy.sh + + > .... + > .... + > aglais: + > status: + > deployment: + > type: hadoop-yarn + > conf: zeppelin-54.86-spark-6.26.43 + > name: iris-gaia-red-20240208 + > date: 20240208T192828 + > hostname: zeppelin.gaia-dmp.uk + > spec: + > openstack: + > cloud: + > base: arcus + > name: iris-gaia-red + + +# ----------------------------------------------------- +# Import our test users. +#[root@ansibler] + + # Note the old path location + source /deployments/zeppelin/bin/create-user-tools.sh + + import-test-users + + > .... + > .... + + + list-shiro-full \ + /tmp/test-users.json + + > [ + > { + > "username": "Reyesfan", + > "password": "frightful satin overact manifesto", + > "passhash": "$shiro1$SHA-256$500000$bYtGVBhO6YDIxT6VMRm8dg==$IcfIkfV2OS5iUAhsQb2EW1i0Bi2qnZE7iQeEnx1XY/w=", + > "hashhash": "44fbd1eca95a32c9b51046ca79ab9611" + > }, + > .... + > .... + > ] + + +# ----------------------------------------------------- +# ----------------------------------------------------- +# Manually test the examples. +#[user@desktop] + + firefox \ + --new-window \ + 'https://red.gaia-dmp.uk/' \ + & + + 1. Start here + 2. Data holdings + 3. Source counts over the sky + 4. Mean proper motions over the sky + 5. Working with Gaia XP spectra + 6. Working with cross-matched surveys + 7. Good astrometric solutions via ML Random Forest classifier + 8. Tips and tricks + + All worked as expected. + + # + # Next step is to create a branch without the version chages. + # Can we undo one specific set of changes ? + # + # Possibly + # https://stackoverflow.com/questions/46724078/how-to-remove-specific-commits-from-git + # https://stackoverflow.com/q/46724078 + # + # Alternativley, just revert the changes to the Python library versions, + # Fedora version, and Spark version. + # + diff --git a/notes/zrq/20240209-01handover-notes.txt b/notes/zrq/20240209-01handover-notes.txt new file mode 100644 index 00000000..efef9d79 --- /dev/null +++ b/notes/zrq/20240209-01handover-notes.txt @@ -0,0 +1,306 @@ +# +# +# +# Copyright (c) 2024, ROE (http://www.roe.ac.uk/) +# +# This information is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This information is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# +# +#zrq-notes-time +#zrq-notes-indent +#zrq-notes-crypto +#zrq-notes-ansible +#zrq-notes-osformat +#zrq-notes-zeppelin +# + + Target: + + Handover notes .... + + Result: + + Work in progress ... + +# ----------------------------------------------------- + + Today's VM IP address is 64.23.132.172 + +# ----------------------------------------------------- +# ----------------------------------------------------- + + How to create a new fedora image on Openstack + https://github.com/Zarquan/gaia-dmp/blob/20240208-zrq-notebook-debug/notes/zrq/20230922-01-images.txt + + Basically, download the cloud image from fedora, + and upload as-is into an Openstack image. + + +# ----------------------------------------------------- +# ----------------------------------------------------- + + How to connect to an existing deployment. + Based on notes from 20230725-02-cephfs-tests.txt + https://github.com/Zarquan/gaia-dmp/blob/20240208-zrq-notebook-debug/notes/zrq/20230725-02-cephfs-tests.txt + +# ----------------------------------------------------- +# Create a container to work with. +#[user@desktop] + + source "${HOME}/aglais.env" + ansi-client blue + + > .... + > .... + + +# ----------------------------------------------------- +# Download our deployment status. +#[root@ansibler] + + mkdir -p /opt/aglais + scp "${cloudname}.gaia-dmp.uk:/opt/aglais/aglais-status.yml" \ + /opt/aglais/aglais-status.yml + + cat /opt/aglais/aglais-status.yml + + > aglais: + > status: + > deployment: + > type: hadoop-yarn + > conf: zeppelin-54.86-spark-6.26.43 + > name: iris-gaia-blue-20240208 + > date: 20240208T151053 + > hostname: zeppelin.gaia-dmp.uk + > spec: + > openstack: + > cloud: + > base: arcus + > name: iris-gaia-blue + + +# ----------------------------------------------------- +# Extract the cloud and configuration name. +#[root@ansibler] + + configname=$( + yq '.aglais.status.deployment.conf' /opt/aglais/aglais-status.yml + ) + + cloudname=$( + yq '.aglais.spec.openstack.cloud.name' /opt/aglais/aglais-status.yml + ) + +# ----------------------------------------------------- +# Configure our Ansible client. +#[root@ansibler] + + inventory="/deployments/hadoop-yarn/ansible/config/${configname:?}.yml" + + pushd "/deployments/hadoop-yarn/ansible" + + ansible-playbook \ + --inventory "${inventory:?}" \ + '05-config-ssh.yml' + + popd + + > .... + > .... + + +# ----------------------------------------------------- +# Check we can login using ssh. +#[root@ansibler] + + ssh zeppelin \ + ' + date + hostname + ' + + > Fri Feb 9 04:33:25 PM UTC 2024 + > iris-gaia-blue-20240208-zeppelin + + +# ----------------------------------------------------- +# Import our live users. +#[root@ansibler] + + source /deployments/admin/bin/create-user-tools.sh + + import-live-users + + > .... + > .... + + # Check the log file. + less /tmp/test-users.json + + # + # Seems to have issues mounting the userr home directories. + # + + # List the shares we can see on blue. + openstack \ + --os-cloud 'iris-gaia-blue' \ + share list + + > +--------------------------------------+--------------------------------+------+-------------+-----------+-----------+-----------------+------+-------------------+ + > | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | + > +--------------------------------------+--------------------------------+------+-------------+-----------+-----------+-----------------+------+-------------------+ + > | 891aa140-e4c9-484e-bb28-8bc9ed111d92 | iris-gaia-blue-home-Florelight | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | 0095314d-b390-4da4-9b4e-7da050a3bea2 | iris-gaia-blue-home-Surbron | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | c9cf5016-a2ae-4cfd-906d-9674a682817a | iris-gaia-blue-home-Thozzt | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | a2f52afa-511b-4a8f-92ed-e14af0787460 | iris-gaia-blue-user-Florelight | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | a1f3ee66-2b7a-4fb8-9e4c-de3c35bba537 | iris-gaia-blue-user-Surbron | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | 18b33352-c05d-4f1b-8f9a-a5b87cff3dfe | iris-gaia-blue-user-Thozzt | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | 57455d7e-f9d5-4b61-8cf3-45d47e043d73 | iris-gaia-data-home-DCrake | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | 588b70d5-98dd-4cba-9058-04714a3ae12e | iris-gaia-data-user-DCrake | 10 | CEPHFS | available | False | ceph01_cephfs | | nova | + > +--------------------------------------+--------------------------------+------+-------------+-----------+-----------+-----------------+------+-------------------+ + + + # List the shares we can see on data. + openstack \ + --os-cloud 'iris-gaia-data' \ + share list + + > +--------------------------------------+------------------------------------+-------+-------------+-----------+-----------+-----------------+------+-------------------+ + > | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | + > +--------------------------------------+------------------------------------+-------+-------------+-----------+-----------+-----------------+------+-------------------+ + > | c3c83cf6-5897-4194-b150-a29e83022a13 | aglais-data-gaia-dr3-2048 | 4196 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | .................................... | ........... | + > | .................................... | ........... | + > | 55b28681-5efe-4c40-90a0-d3e408632fb7 | iris-gaia-data-home-DMorris | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | .................................... | ........... | + > | .................................... | ........... | + > | 493b34ad-cbec-42ca-9308-36bc09b79528 | iris-gaia-data-user-DMorris | 1025 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | .................................... | ........... | + > | .................................... | ........... | + > +--------------------------------------+------------------------------------+-------+-------------+-----------+-----------+-----------------+------+-------------------+ + + + + # List my home directory share. + openstack \ + --os-cloud 'iris-gaia-data' \ + share show \ + 'iris-gaia-data-home-DMorris' + + > +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + > | Field | Value | + > +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + > | access_rules_status | active | + > | availability_zone | nova | + > | create_share_from_snapshot_support | False | + > | created_at | 2022-07-28T06:27:02.000000 | + > | description | None | + > | export_locations | | + > | | id = 0c90284d-c32f-4cae-86ab-8d41772a803a | + > | | path = 10.4.200.9:6789,10.4.200.13:6789,10.4.200.17:6789,10.4.200.25:6789,10.4.200.26:6789:/volumes/_nogroup/48d2f333-28d6-4e5d-bee4-03634334185d | + > | | preferred = False | + > | has_replicas | False | + > | id | 55b28681-5efe-4c40-90a0-d3e408632fb7 | + > | is_public | False | + > | is_soft_deleted | False | + > | mount_snapshot_support | False | + > | name | iris-gaia-data-home-DMorris | + > | progress | 100% | + > | project_id | e216e6b502134b6185380be6ccd0bf09 | + > | properties | | + > | replication_type | None | + > | revert_to_snapshot_support | False | + > | scheduled_to_be_deleted_at | None | + > | share_group_id | None | + > | share_network_id | None | + > | share_proto | CEPHFS | + > | share_type | 12668f5c-44e4-4b63-abf1-c56002ccc424 | + > | share_type_name | ceph01_cephfs | + > | size | 1 | + > | snapshot_id | None | + > | snapshot_support | False | + > | source_share_group_snapshot_member_id | None | + > | status | available | + > | task_state | None | + > | user_id | 5fa0c97a6dd14e01a3c7d91dad5c6b17 | + > | volume_type | ceph01_cephfs | + > +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ + + # + # Turns out we had a mix up with app credentials. + # Adding new users checked on iris-gaia-data for an existing share, + # but the app credentials meant we were looking at iris-gaia-data. + # create-user-home didn't find an existing home directory, + # so it created a new one what it thiught was data, but + # ended up creating them on blue instead. + # + + + # List the shares we can see on blue. + openstack \ + --os-cloud 'iris-gaia-blue' \ + share list \ + --format json \ + | jq -r '.[].Name' + + > iris-gaia-blue-home-Florelight + > iris-gaia-blue-home-Surbron + > iris-gaia-blue-home-Thozzt + > iris-gaia-blue-user-Florelight + > iris-gaia-blue-user-Surbron + > iris-gaia-blue-user-Thozzt + > iris-gaia-data-home-DCrake + > iris-gaia-data-user-DCrake + + # + # We only want to delete these. + # + +iris-gaia-data-home-DCrake +iris-gaia-data-user-DCrake + + # + # Delete the 'data' shares from blue. + openstack \ + --os-cloud 'iris-gaia-blue' \ + share delete \ + 'iris-gaia-data-home-DCrake' + + openstack \ + --os-cloud 'iris-gaia-blue' \ + share delete \ + 'iris-gaia-data-user-DCrake' + + + # List the shares we can see on blue. + openstack \ + --os-cloud 'iris-gaia-blue' \ + share list + + > +--------------------------------------+--------------------------------+------+-------------+-----------+-----------+-----------------+------+-------------------+ + > | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | + > +--------------------------------------+--------------------------------+------+-------------+-----------+-----------+-----------------+------+-------------------+ + > | 891aa140-e4c9-484e-bb28-8bc9ed111d92 | iris-gaia-blue-home-Florelight | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | 0095314d-b390-4da4-9b4e-7da050a3bea2 | iris-gaia-blue-home-Surbron | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | c9cf5016-a2ae-4cfd-906d-9674a682817a | iris-gaia-blue-home-Thozzt | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | a2f52afa-511b-4a8f-92ed-e14af0787460 | iris-gaia-blue-user-Florelight | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | a1f3ee66-2b7a-4fb8-9e4c-de3c35bba537 | iris-gaia-blue-user-Surbron | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > | 18b33352-c05d-4f1b-8f9a-a5b87cff3dfe | iris-gaia-blue-user-Thozzt | 1 | CEPHFS | available | False | ceph01_cephfs | | nova | + > +--------------------------------------+--------------------------------+------+-------------+-----------+-----------+-----------------+------+-------------------+ + + + + +