Closed misohu closed 10 months ago
We have created first POC repo to deploy the DSS. There are three main use cases we need to solve with the deployment of DSS.
Following are the main problems we found during the eploration of snap solution for deployment of DSS
Every strict snap is running in the isolated environment. Meaning there is no way to install snaps from other snaps. We cannot just.
sudo snap install yq
sudo snap install juju-wait --classic
sudo snap install juju --classic --channel=3.1/stable
sudo snap install microk8s --classic --channel=1.26/stable
This problem will also bite us during removal phase when we need to remove installed snaps.
Because of the aforementioned fact that the snaps are running in isolated environment, we cannot simply use executables installed by other charms. e.g.
sudo snap install yq
sudo snap install juju-wait --classic
sudo snap install juju --classic --channel=3.1/stable
sudo snap install microk8s --classic --channel=1.26/stable
sudo usermod -a -G microk8s ubuntu
sudo mkdir /home/ubuntu/.kube
sudo mkdir -p /home/ubuntu/.local/share
sudo chown -f -R ubuntu /home/ubuntu/.kube
sudo chown -f -R ubuntu /home/ubuntu/.local/share
sudo microk8s enable dns storage metallb:"10.64.140.43-10.64.140.49,192.168.0.105-192.168.0.111"
sleep 30
sudo microk8s.kubectl wait --for=condition=available -nkube-system deployment/coredns deployment/hostpath-provisioner
sudo microk8s.kubectl -n kube-system rollout status ds/calico-node
Here is how the exampel workflow would look like for the snap workaround:
# install
sudo snap install dss --channel 0.1/stable
dss setup-env | sudo bash -x
# interact
dss list-notebooks
dss create-notebook kimonas --image abs:123 --gpu
# cleanup
dss cleanup-env | sudo bash -x
sudo snap unintstall dss --purge
# upgrade
sudo snap refresh dss --channel 0.2/stable
dss update-env | sudo bash -x
Usefull links for building the snap:
Why it needs to get done
For shipping the the DSS we want to run shell/python script to setup DSS.
What needs to get done
shell script/python file needs to be executed on
When is the task considered done
We know how to execute shell script/python script on snap install (if it is possible).