You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For system packs, and for any images in st2.packs.images, we copy packs and virtualenvs into /opt/stackstorm.
Before #199, the packs volumes were always emptyDir, so using /bin/cp -aR was just fine.
In #160 (comment), it was noted that the st2packs image does not have rsync so we have continued with /bin/cp even though rsync could be a bit better.
After #199, the underlying volume's filesystem might not support preserving ownership, timestamps or other attributes, as reported in #238. In #238, the NFS exports were setup with root_squash which prevented ownership preservation. Debugging that was quite annoying.
So, it would be better to handle different filesystems more gracefully. If we can preserve ownership and file permissions, great. But we should only fail if the file contents do not get copied. We might also need to fail if executable files are not executable after copy.
rsync is probably the best tool to do this -> We need to add it to the st2packs image.
But, we do not want to force everyone to rebuild their st2packs images, especially if they are not and do not intend to use the new st2.packs.volumes feature. So, if rsync is not available, we need to fall back to using cp.
cognifloyd
changed the title
Make packs/virtualenv file copy more robust
Make packs/virtualenv file copy more robust (use rsync w/ fallback to cp)
Jan 28, 2023
For system packs, and for any images in
st2.packs.images
, we copy packs and virtualenvs into /opt/stackstorm.Before #199, the packs volumes were always
emptyDir
, so using/bin/cp -aR
was just fine.In #160 (comment), it was noted that the
st2packs
image does not haversync
so we have continued with/bin/cp
even though rsync could be a bit better.After #199, the underlying volume's filesystem might not support preserving ownership, timestamps or other attributes, as reported in #238. In #238, the NFS exports were setup with
root_squash
which prevented ownership preservation. Debugging that was quite annoying.So, it would be better to handle different filesystems more gracefully. If we can preserve ownership and file permissions, great. But we should only fail if the file contents do not get copied. We might also need to fail if executable files are not executable after copy.
rsync
is probably the best tool to do this -> We need to add it to thest2packs
image.But, we do not want to force everyone to rebuild their
st2packs
images, especially if they are not and do not intend to use the newst2.packs.volumes
feature. So, ifrsync
is not available, we need to fall back to usingcp
.See comments:
st2packs
st2packs
We should probably do this before prod/GA to have minimal impact on GA adopters.
rsync
tost2packs
image Install rsync in st2packs images st2packs-dockerfiles#26The text was updated successfully, but these errors were encountered: