Skip to main content

· 2 min read
Jennings Zhang

To shrink a PersistentVolumeClaim (PVC) in OpenShift or Kubernetes, we need to:

  1. pause our deployments
  2. copy its data to a smaller, temporary PVC
  3. delete the original PVC
  4. create a new PVC with the original name
  5. copy the data from the temporary PVC to the new PVC
  6. restart our deployments

· 2 min read
Chuan-Heng Hsiao

Recently a colleague accidentally changed their Mac system settings through /etc/synthetic.conf. This caused the collegue could not even login into the Mac with any account.

We then found the following mac recovery steps from the Apple Website:

https://support.apple.com/en-us/102603

In case this page may disappear in the future:

  • With Apple Silicon:
    • Turn on your Mac and continue to press and hold the power button as your Mac starts up.
    • Release the power button when you see the startup options screen, which shows your startup disks and a gear icon labeled Options.
    • From this window you can start up from a different disk, start up in safe mode, use macOS Recovery, and more.
  • With Intel-based Mac:
    • Command (⌘)-R: Start up from the built-in macOS Recovery system.
    • Option (⌥) or Alt: Start up to Startup Manager, which allows you to choose other available startup disks or volumes.
    • Option (⌥)-Command (⌘)-P-R: Reset NVRAM or PRAM.
    • Shift (⇧): Start up in safe mode.
    • T: Start up in target disk mode.

The Mac is a 2014 Intel-based Mac. We use Command (⌘)-R to get into the built-in macOS Recovery system. In addition, we connected an external-drive to the Mac. We were able to:

  • Select this external-drive as the target disk.
  • Install MacOS on this external-drive.
  • Reboot the Mac through this external-drive.
  • Found the /etc/synthetic.conf in the internal disk and rm /etc/synthetic.conf.

· 5 min read
Jennings Zhang

OpenShift provides some observability features out-of-the-box, but which features are available depends on what your cluster admin has working and what you have access to. On the NERC, we are able to see container metrics in OpenShift Developer's built-in dashboard. To enable custom visualizations, metrics analysis, and alerting, we need to connect this data to an instance of Grafana which we control.

· 3 min read
Jennings Zhang

Creating the superuser of a Django-based application is usually done by running the command manage.py createsuperuser, hence it requires shell access. This makes sense as shell access implies the person should also have admin privileges. However, shell access can be clunky (think of how to run something in a container, kubectl get pods -n chris && kubectl exec -it -n chris <pod_name> python manage.py createsuperuser...). We would prefer a declarative approach.

· 9 min read
Gideon Pinto

Introduction

In our existing frontend application, React was utilized to create a Single Page Application (SPA), where pages were loaded and rendered exclusively in the browser. However, our more recent user interface (UI) has been developed using SvelteKit, which harnesses its Server-Side Rendering (SSR) capabilities.

· 3 min read
Jennings Zhang

Currently, https://cube.chrisproject.org is being powered by a VM called fnndsc.childrens.harvard.edu in the Boston Children Hospital network's DMZ. It's been working well for us through the years, however its 480GB disk frequently runs out of space. For more storage, we want to try migrating the data into NERC OpenStack Swift object storage.

· 4 min read
Jennings Zhang

Currently, https://cube.chrisproject.org is being powered by a VM called fnndsc.childrens.harvard.edu in the Boston Children Hospital network's DMZ. It's been working well for us through the years, however its 480GB disk frequently runs out of space. For more storage, easier deployments, and stability, we want to try migrating this instance of the ChRIS backend to the NERC's OpenShift cluster.