-
Notifications
You must be signed in to change notification settings - Fork 141
[merged] Various syscontainers fixes #497
[merged] Various syscontainers fixes #497
Conversation
# 1) Load it from libc. | ||
# 2) Run "sync --file-system", supported by coreutils sync. | ||
# 3) Use os.sync, available from Python 3.3. | ||
# 4) Run "sync". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Holy sync batman! Do we really need any strategy other than the libc one? Why wouldn't ctypes work everywhere?
BTW I think we really want syncfs
and not sync
because the latter doesn't actually report errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am using a fallback to sync
, since sync --file-system FILE
is a GNU extension that probably is not present on other implementations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm...ostree is pretty aggressive about using linux extensions although I could imagine some BSD port for the core filesystem bits. But we hard require linux for runc/bubblewrap, so I don't see an issue with hard requiring syncfs
to be available in libc either, right?
syncfs aside I scanned this and the high level looks sane to me. |
I have pushed a new version where I use only I have not used a fixup patch as I wanted to try out signed git commits and that wouldn't work with it |
fdff99a
to
233d8ad
Compare
Unfortunately, because Homu rewrites/rebases it conflicts with signed commits. |
233d8ad
to
337ffdc
Compare
@rhatdan are you fine with these changes? They fix a few outstanding issues |
@@ -306,6 +346,19 @@ def get_system_containers(self): | |||
ret.append(container) | |||
return ret | |||
|
|||
def delete_image(self, image): | |||
repo = self._get_ostree_repo() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer that this not return true/false, since it should really throw an exception on failure. And caller should not call if it is not an ostree image.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are you fine if I add an allow_no_image
parameter? I would like that the delete_image
does not need a time of check to time of use race condition, that can happen if another process deletes the same image between the time the caller check its existence and deletes it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am fine with catching the IMAGE DOES NOT EXIST and returning success. If the intent is to remove an object and the object does not exist, I consider that a success.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok thanks, I have pushed a new version which implements this (and removed the allow_no_image
parameter). We don't report the IMAGE DOES NOT EXIST anymore and attempt to delete the image from OSTree after checking there is one.
e104d01
to
15feab7
Compare
☔ The latest upstream changes (presumably 45c0902) made this pull request unmergeable. Please resolve the merge conflicts. |
15feab7
to
44c087c
Compare
rebased ⬆️ |
☔ The latest upstream changes (presumably #499) made this pull request unmergeable. Please resolve the merge conflicts. |
44c087c
to
36fe6ab
Compare
and rebased once again ⬆️ :) @rhatdan is there anything more that should be changed? |
📌 Commit 36fe6ab has been approved by |
A3TEmZ3rCcIY/YQWqo/k+h95fil4sQ8SXFQzzFkkXgsQ89zMVyZdR0hpOZd7SMoC IzNi+uCu3ctRNEZLAij2vXAIF1+UIobSoPcSUl9rQhi6qEUAftzAjico9yfgQ7rW AzCqf/LzOzq2ER3yRSsLOaorj6ACfqmFNn/EpPqO8AtAnhTSimvFJ0rJG/taGpcZ nAu/7o0CNojh1ikk5UlNv6ouPxGpfWLVusnDRVI6y9Ntfh+B3g/OPfRS+xKUO0pm i62Tqi8bFDT6nZ9E0YkLSoE5O60s5sea75G1DSZxVzUdEzhmw6O3n79i7eTFPHtx pBP2FINpojIj4b6vM6aUDCkUrcbwl3xMZ8wcY/zc5DirFrhklzlEqt5N6wyE2qyY i0PyLO/3ZbFNYKEbE0Hc+2mLI9TCSX+lzSHGsZLJ7Jqyu5Nv4r7k5uvuQQU0FUmd JJJwODJPUnenkYyaCxdWtzM9gyIY1Ybw8OO28Mg+VG5Z2JL35j523GH3+7ysHpc6 7O5KwVU25mWMafl4+dEiADmTIs875tQhs3OneeuP1i/1UQ7/SOqUFB91cw4swRM+ UxzAt1HnirPhpmDunoj1VHJN2bbYCB2OsaFWVp5jTV2OFh/V3inTSX5GaKrr0+sR 1jslwLWuep8+9+hWa+pb =0Nj6 -----END PGP SIGNATURE----- prune: always prune OSTree references 4abc3eb changed this to be done only when there are Docker images that are pruned as well. Change it back to the previous behavior. Closes: #496 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
Tf6TLf1SaIrycct426WWKTPXi4huKIpiI9XU/o3ykfJ0W7aIX4iMSmi8IXEz8pGz VIhy1L31F/vCjDIazKWw1GeJH/psKZ03Ijr7nUqyTut1+V/mIoHduCG/HiD+tKlA YGU753iBRpUlSKlTf/hIMEt17VD2lWYs13P4EzHB8RAy6PwjZCGUVlgn6NeHR9T7 r1IhvowY0w7SqAeVGLFYMkC7GWuS3E9WBa6ASWOc2ZivNuk+wVuq2Q6sXRJPEwpQ 3S4LIQY1CzHknNX7SVBp4DnAlb00KQ3oKDif1EDBn7D6S61wpuMCUVS0NLz7EhcC cK+NXAy58yCVEW0LR3Q7QTSXKp4FmJL05w4RHwzfzvawxYvVeCe7e62c6NYizf5c tuRLXPbXY/3uDMrtvggfwmdUeVNWzNqVG4SJGD0HO305IBP9WwFZn4DTfXlsuwPX tMkwXhf8bMzczXb/rPTBV3u4APLI3ccHragvtBWxIM2GnIuluBxd6twXJ1HA6py3 mBagyzkJGmVoP/+v3BzPRisim5b0T3VdVinUloMsG1XL/Elv7qFcsv3hE7q3m2Vm HaO5X32izmnhoq5ff9HZj9zWd8VmpAm4QAnUqLxWxMTjwBHcFLE3wKmBuDaN7Z1q gqJS5K+YMh1R3o21/Ux1 =Ipwq -----END PGP SIGNATURE----- syscontainers: use temporarily CLI ostree for checkouts This is required to process Docker whiteouts files in OSTree, which are not enabled by this patch. There is an issue in the way the RepoCheckoutOptions object is mapped by glib, as the C struct is using bit fields that are not supported by the introspection, so use the CLI version of OSTree for now. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
v1BI03pE251TSzi8oOqqTi6a65vB3Ly9k0uNvDtJd1clEINjbeBjPyS8YmmHhuiB DilctyQoa8p3b5Ld89jCjQHZQDuz+Th5rhNz/0T8bYfkNcfFxj1/MDXXp6zbWEu4 vzCGUcZRTl/NlFuL3jRgQQyLpqcsN9IfqlB/FdzJ5yTcswk9E2JIF1jhlYC/4ViM uenORlOlHYeyvvej31E7tW5PhRWvIhJ9iuabcUJ/2llBEMmZSe+yQyzr79lwQwub kzqCw8rGHk22ZXeBiKJhjmxeahjhAJ48kLyFbWWHKS2PoS3kXSqtP0usQHP/CrRv 9O8gsr52yKuX2F8AC+d7j6o2YeAxNn6L5PNLu0+HZxdo1y2bsu5pkOeyVnnB1Rkw E7EB8keAzGoS0yGMmdRf/wszCuJx3Hw4r76lKkgEq5vtnvV4LbZWWBEILZU4atwK cI0DeT8CITy6MVfBg4PfxdNkhDNub4Ib4V+TH0furyrkZtt8rae5F4345dqzkQ71 x8fwQnldFb8MwxKfgadcW4Z6arD/+ba793c8BW6AA5naXXDM2inNDR+BeKmVq8Ad egcufDXq/PmIQI/C4OV/tsXxfL3ZPD/IgWjYaK+nOVx9z4M2nzp+P2HY8v/kc7j0 w6eccMMfvV68NYNnV5Gd =rg33 -----END PGP SIGNATURE----- syscontainers: use syncfs for checkouts from OSTree By default OSTree uses `fsync' after each file is checked out. Disable `fsync' and use `syncfs' after every layer was checked out to the file system. Closes: #491 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
mI3fTo4Z5yDKHQ1zpVaqjMRuDxMe94uRhfii4RIQuXpeFj/f4n1TZ/j32mVk8EwB UszEe6Tx/nzFXoW7FD5gomf1zvlxYwPRxJGJ6lzeNdi5ShhoeUelD6qWibCK19DC cZSEAklCzwgF8WpSTK6ABSiffVTLiug5K7mK2bsYd2JcxaZmXv3VhiOW3Q+zxMT9 U/ocVoJRayr45Z/6UWUnxhwqIq9djFDMu9E4RootRZezp+eSBm5qE/iMFhYLTxMw hRtjlhE/jMM7ZAi/w3zFblvhjPfdra1Nv5TxVkCEc+3ruFKCpHKOiLiRd6YizDJX AZR7Z4+4poqA+9OrsEJ8z/r1DuF+XpxsFYxT+mnCnsLhkLsUPNka0thLTWh7cWy3 vf9zmbJCPwc+wrfoonlJphdX8FO6s2JkpOuCN/0eHLRHFc2UgaMY1Jwx2+DfLgkV 3ncUlNBw/zWYUvB3UiAYVFf+LarAIwrSGI0EMQez8OoXxU+llRn6Yx1fGsCg68/G uuCeIZgN760lqb6JCfRZQxYhmnWElQrw7b3GPgRNJ5GBL0zPE0VP47WUaW4bgS2D TNxeMIydshqOj6mAuQILzI5Yrn9+1wExGPiP8tUlJC+v02SA9BszRq6X0Q400Dzk MllAi/MhHJVu2TIjdGF0 =qCpS -----END PGP SIGNATURE----- syscontainers: do not leave broken symlink on uninstall Use `os.path.lexists' to verify its presence. Delete the symlink before the deployments, so that the container doesn't look installed while its being deleted. Closes: #495 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
lZN5mdin3VR+3IiBK0o2txmeiTAgI23gcOQjeGckauomZwHuagqrCRB7HF8GMOPa MHTdY7OeylEhdUzMm5ow8PdJb6N+l/EyZvY1VjrA6WNHNqxK7D4Fr15OoJrdhZnS ELi512pi8+1erLygqpyydQE4stbVx8KD1bVLpmxLZQ8qsSdOU1niFW1SFGl6R7Nm wsWUzRwhTrzLhoLB870OVxyDpnIWFSrIZlmYdS5ldXVU2qR3GWNqr1yiJoh0wDso 6sVhgcCg+PYxvBhoVYE4CNHdJ3pybH/Tmyyh0cskKy8qei9jMbHtKD8wuTFpMpoq tT4nuClsSIB6kP534IQ0+cqFemsO3dOCPs4RxW8q6YX30w+W7IF3GlX8ASlzDbcZ jmEVTPwzsYEbvNKel1AxGI/cDJE/5ejTxd70FD1lnEKLqBhAZi+OzhTRh6Vofy6V BJfDsvqwvMcCZ6NJeerLw+Ufy9vSdQopfRyd3momrKAkxnpHwSYSo+zzkiIjdlU/ DMA5DZ+O1DqezzaIKUfYziFsIOrlOuSfM/zhDRFkl3dYcjlI31H/SDGmjRfMtwl+ ArrYT9QPSVfcLWlPA7RelbXVm22+hWCQbz/Yl/Pi9jKZKrjm1O6/xmvEI2XNgu9H CdxWQp81tBkxMNjyivU4 =L9KB -----END PGP SIGNATURE----- ps: do not raise an error on crashed containers Do not stop processing containers when encountering a container which was not started up correctly, so that has not runc state. Also fixes a "the JSON object must be str, not 'bytes'" error with Python3. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
RXOrkMzFoex9IXtdspTPMnUFgp4/uauvDuYyVGVRs3kl0zB99Zw9JKjpivO+swss 5GWBTfNJaIbFYB3k9Fi+JZpY8utFhUGxMldjYFtgVRqmzKI6My4mbko2kQ3YYTEr I0B+2XzbnbdGwVukSBg1Zzo5KK0JqJY9ctWfRiwXDiqfR3BNSNf0bPz9G7BtiBBC tfYDbXrEYRSGnsNyDmtxF+VYvIAZJRKQhR3/kOSPjJHVSP9Rnakq/Oxl+B6tOtjE jJGGgGDGv+xJp/6MPzhD9rJEwnhVJbVloMOrIglrNWVLIdQpSgaelcfaVxd9/ejP 4APftwYadxW0zycaki6T8l5P5PgM6jH9aBqsPaIaiAuub9v3T2BTyqMkxrInwjVm a0dUr3bhshDW+5PqvmVHBlnHuM0LWvZ+E0RdpOxN/sY8ZiIEVBMz67vQhld7rd6y iovEZBA/No2I6BKlcn+gHpsv6Ev+X+h71PAPP33SMiM3Jg3DFlZL4IUTl/3EPYlA cVCXMksVNwPKNlIGoS6R2glrP6+WfYGt6zE2aZRkt3sdkZKLcVMjDSPICYt6M/u1 oH95FaXBEmsHEpLJPzXKVW9VDLUEdC+4WDbon3wd3bOTEmL9PzO42MIdyYILfn3i oZWqNETd6qDP6uQslAK8 =5FFQ -----END PGP SIGNATURE----- delete: support images from the OSTree repository Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
djKyBqDEP4/0k3eKy1rPkVs+veFXyzsRaL0pYNRpOfRLtp9O6eVky/xL3CDrIhgG g57sfQ1DB+WPWXuMJcmQk/tGIoRxTylyyVT+DsMKUCGwfCIgXDyu8KY7tkw8dwN2 r7663ErNMxQdN99dj9iy0pPFrC1tQV5YoThchImPcBwEJpP8q/3GM8Gy+Axxu1SW eCuzRo9IzBV6VNtpqHlEbRaZ05gzE4+tzeGP3ZrrPZ8n79UQmkfWgSlby5IejAsj jkPT8jdAPusLVAm/SzaGUqn22FnxVracCZN3nBrFC0zMhHVbhQkOlzHSdBb6l5Ap L22Mm0Ai1AfTa+h6UgRsFbfztjulIPrNO5j8TRbFdU6MWMmzxLL3JwzJbZvvwYA1 yuX1EnF0a7zInZUB9Coh5gZfBzScuhTVzX83NvaKayzx3PzvARosg6MmnhvUmV+x hBjjvWIbhQsPRycc8Z2HcYu6iaxfN2cRjP8THcy8b2QIZq80nroGTkcrEi9WGe6W aAwgKgDkvNXLJd2TszLc8mE52CMCpvL9WzpYg9Wn+ZdaABFAqhU9oubn36xppc79 1b7VQ/IRkY1J9ImhZBHMp0e2vRFBUxpo0QJJF5FbJ6bwozZAsB+TxG6CVE4K1mGO ZYzHoC9WcT62M8mJUPot =OREu -----END PGP SIGNATURE----- syscontainers: 'pull' always create the metadata commit If we had all the data layers, we would skip the creation of the metadata commit, so that the sequence: atomic images delete foo atomic images pull foo would not create the image foo to be again present in the repository, unless a prune would happen in between the two operations. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
CK1nAuVJer54y1qWuq19/Whnd21m2iiwyNDZLQ1YV5sGHX6zf/yoVAC1+IFprKcj mokPHagfulwHxrUHsP5ghieDFaBtSSu04n5yhE/+j0elFFxTJtBdVVG9pqizOtGd oZiRgEujCq7NaxiSgKwYgtzzpPS60KfIvOh2BlGFwTvLQI4AKpQdIH4WjEjIff6C wuSlFzYLs3ftgD/kgQF/s8ChU5lU4bjbM68d1jkhIqlfsj8/K7gq+cT+cNBrDVAe uf0szZgL2zw5UZzlAERdVhmXANPlSkM7uzQaeSBLMGIfSoEfpnOXCh3RF9NWEF14 k/9rWvAuWVRmpTqTsut47rcwZil8mHbcnKc1FWTXBkze5ygqA/yKO4S8X3vlFn/A VsZCBmjIGaBhUP3QUJGfmKCNSE4+FjO8sPf+/K8ZMo6AcVl3jRQ3utqzZht8mADR NzSV10j2kF2pMqkOAptbHaGw4AuvhoRSGcMkSBTmQgbJHInLy7KToOnn1gb/1DY6 PiMEsZzhLeW5i6PIn0Rz4mRpGzdIAk33iuwjTSKUkle/FRtCMzIH/5VgFxCtyWk7 G1lIlSVDWYTQSBqLy2XZuYLMNoYNIiCq242ElvttM7BT2LbTZeL2KqG/PqeeyGrW 4F/7ArMhGHNG80rB8VeV =ir0e -----END PGP SIGNATURE----- tests: write to file before using grep It avoids some random SIGPIPEs during the tests Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: rhatdan
💔 Test failed - status-atomicjenkins |
@rh-atomic-bot retry |
Do not stop processing containers when encountering a container which was not started up correctly, so that has not runc state. Also fixes a "the JSON object must be str, not 'bytes'" error with Python3. Signed-off-by: Giuseppe Scrivano <[email protected]>
Signed-off-by: Giuseppe Scrivano <[email protected]>
If we had all the data layers, we would skip the creation of the metadata commit, so that the sequence: atomic images delete foo atomic images pull foo would not create the image foo to be again present in the repository, unless a prune would happen in between the two operations. Signed-off-by: Giuseppe Scrivano <[email protected]>
It avoids some random SIGPIPEs during the tests Signed-off-by: Giuseppe Scrivano <[email protected]>
It breaks the tests suite This reverts commit 7fcd49e.
36fe6ab
to
0165fa5
Compare
@jlebon @cgwalters rebased again ⬆️ |
rooLwowNuHbfjNn+r+eo2C6cl91jUDcyOFlSuk1YNiH2INRams25Ap4a5u7vPkmN 6FiXjXjKHbFYLW7WryevJ5Ac22lfW7bRUM5cb3d3VcwVjvwxJj2BR27e/AxNJZSY V4h7DRl9948W+aFmbtkhBuAOIMttJ8jfwvMevSmNXnvWeW8WygfpPOrDVPg99By0 uNjL/OFR8Gl7zhTsVm5XMh7gxDPSSkYrObitG+6VL6Jtem9/dkiVtHshEQrF3S8W XgZXowJ1+6HXl9H3bX2zGB+n44dtNm10jxxqZhxOQIkNlVrkbP5CieveRNwra8Fl dJ76lLCA14OSLF8ZqrEalyQeqow7EexcW0ikdgHBqerL6rQ/5CRRMd/DpPfXKvkX MVT+7tPl9DVD21PDa7kRHGWkrhT0yjNF+NKAlE2fS8nmnHKV6FE0rnvq1Jfyxkva f4gXfv9WLS1cHHm7ba3ZaqSxv8zCn3QL4CtvzYKHrVXLhoQ2+TYmpVkiaiqffDKq gYcOnR1J12wcqxCIHmk55Kr+/pwJWvW6W4fQo3WauY1EYiD8Vd+Bfeq9Yge/0s5v 6KX4Wzf35+lNQ8hJ3TRszmxKMPGa3GdDvIrcCKF165o1CU42lNpg7T6Ema99vEg+ z7D+ZZ38jXIPtR1zLnef =JzHT -----END PGP SIGNATURE----- syscontainers: use temporarily CLI ostree for checkouts This is required to process Docker whiteouts files in OSTree, which are not enabled by this patch. There is an issue in the way the RepoCheckoutOptions object is mapped by glib, as the C struct is using bit fields that are not supported by the introspection, so use the CLI version of OSTree for now. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
JYf67DScCVjWe8tns7JqdT3Oa+XyQ3xTSLl6uzmQPEhfQfHozgDF+BoFKoo2GnzO ZGgPNGCKzEjcKYy8o/Q4mkk65s/VzyfmgeHwZyrzLxXkou2e24z67sXtV+094I4+ 3S0Gsqf/W0svelQHmTfZZKdPXWKRMOan6P1UJbY+6usU5PBJ5dJletIrY4eteGlJ goEAvjnD1cfHZY+4Alh6CcOu0X8meGzR5q1CMEFC7hQCH6nsDCPHFnzy86n5KSf8 s2sQwMXHiyNx1IwUUc0pljhJBQOPozrvkMPcyhBOHYGKO4ENT+qxdWpkWl0ldV5+ JeH3DydqZMVHcfLsL3KsV6/JSQW3JL30OyK6HC3hOuFTHlYMQp2hx5P4R0+XUX9O WK+fcOUZon1S0Q5sFYgqxyIWvM/7RQCCKVA8uAJOSuA4t5D160NiXhLblOJ59fjU JDpDeNveys98Sfinq8w/968GD5jejK6Wg1zGjLLoMVeLo6yfPOfqmtUvpHoC0N6H 9LIImVBOLqRPxYrUYo7rB5unWwevaL95yLtijp1x2m3VDgRFnEaCPt3xw9mrwN9I 8NO8CucfEI0ejlzKsvzowRN9G7Z7u4kq+TK761KAJ6W121wLqRhocNBozN/eFmbt I0gugpGWrbTrx/aXvaie =14hg -----END PGP SIGNATURE----- syscontainers: use syncfs for checkouts from OSTree By default OSTree uses `fsync' after each file is checked out. Disable `fsync' and use `syncfs' after every layer was checked out to the file system. Closes: #491 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
eHdqnMTRA0tvlZoGFiM0orGIGa1TKS4nWwuTfks6W4z9Ldh0qEowhHmbCzsS5M0c N9ToecgT7tlPJ8q3XO+0AyMjGZ65Wc61FKuboHH/IRiOSmlgqkwkAORtps7y+1p6 NkZ6Oml+lYXhmMIUmiHOool22zi9zv4DJutyj3gSIptbcvBMyOXOsIjRMcvU9Jrb bWgZtgfA1wJtAkABqTJAbA3NsZ5FbT2goGk4TI/lz4yqEI0urADGW/x3McGAA6td SIXePJvQEm1rLp0luYx5Ap6m78Sf7reUsFPbWt7iTsF8P80U1oyMQrW+iNeh3JDm WU3PJXSALyPKO+3Gjnh+swtJURU2pdGfqbmFmyqohjSshYBtRJ3mI81PjiE1Or+A F6q+LkTDTa/Am4UFaebJYBviNtkuLPSy1M8n7G9q9lebGX0KDcHfheAlKGBM+PrH hBqyL70Pk7YU968MKN47Z+TKwuai+hcu+rkA+JPF178iIy8Z4z5cTPVZ1KvCF/q4 smrL/zWaFsGTehEL8Xv5uVOBNPz8ziCR+n7c0TNPYU2VlabyNheNFBH57R8GqCQq ZU099W5RuDINGNcQFyA6jHnTbeDBXI4p9TGNO+yuFg8BivdZIP1aLi9aB+htJ71F nfL6weQb0O7E6PVG1orz =5ADz -----END PGP SIGNATURE----- syscontainers: do not leave broken symlink on uninstall Use `os.path.lexists' to verify its presence. Delete the symlink before the deployments, so that the container doesn't look installed while its being deleted. Closes: #495 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
5d9QOe0YLwkJfSEiBuGLrJ/ir7JwdrtfzbhlCizeq63FKQn1PhE2UnCUKcunoh/Y zSLz96X0gE647D+rEZpKQWFFKZGiJwapVbKlCC0TxLz5P/tPkmObjyPKGOSu2PC7 qb0Dnq0isqYXPFrLrjRH2/RFhlHLUpE9RjmDXAs6OFFiXtqQbNLiZdA715RYuzIC j6B/Spevuo1BBIqs/to4Mq2k099Td/kg85uspAuDp5MKOzqFHHAhojy303a0Wo0c ds/T31+CLoStFnrKMvfg7eN9kKf7w/N7p5MReoTn4mJLe1EmbUFswqdm0UQxAkxy nN/CUBlK6HLlmpSpBMTH7jVQyb/01T+scHyTUOSG0SSkv5ybWzp/waZxIPEPkRJl rDJLRf00nv8hh9cD+NV1oU1wtl28ix23UFyIK1qsond+sVygTX9/QFMCHty0J7rb hV0RWC5g43jIVA4l80lyzv3/HfFUblg0aQxbGtVQk9uyw/lZttuepv6WeCwWFOkA spfDCknHNDidtt844vABNrpSCqniqwokqkdxVgI5VGMweksnedCf3CJ+qRPcPIa2 WbwTWWuTG/CARcks8PrgzaorTKBYQUeko4qR91DF89ESbFGsjmvXTjRfZcoWO2eu UbYdSpvpCrCT6SF0nqhA =AxSh -----END PGP SIGNATURE----- ps: do not raise an error on crashed containers Do not stop processing containers when encountering a container which was not started up correctly, so that has not runc state. Also fixes a "the JSON object must be str, not 'bytes'" error with Python3. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
DhhPRwdholRaXs192P0FFFPmLjNGB2VZzsNRpWhhNMt27Bkt8ivkxlcFW8OJoCmE 3Fs/l9hAYgf5NvIUISIVNUxoN2vd5gIczgm5FH7ZNN4J4a3j9PX8dpzmz+kjzfUL ZZjhZdcfDnd/4rb4pDrZ248wprUlzLu0mLpm9qeUgnRZqSHfx1zvPu9VgIPMq+jK Bta7NVC4uVWv9tLd74KmTeGT/hfzbjfsmjutw+qdIsnp80xJ6jhvQx+VMhF6C/cN 4f4GTV5B0t1i0Jc1vrgyfqyqCN5XpqTS1dgp8Bx80Pa36Eok1JmzGw0gsgJ/tpEE TiZTVe83EGDF/esZy2KfpnvAqIjoBRm/SuDMOHhQ8RnTfOmqY1eV0hQ1ZsfKyDUs 6gHmYgOEv+EWUM0PqyZ3UfgbOjSS626u3JGPxBwVVdDbeeW3ptsST8FlEhB+6MXf +g0W8ho44NL7j/PN6c5mdIEIFvjwphQ8PCPKtGA2Uc489RMaHME1miMd4rl5hyBO ed5fKB4qp9DeC8VWIQEz0ALtj3u0UvSGYAXMlSlnvSnwl5tu8dw7xpGqiNJQEDni +FnBNuBwcn/6HsDDoBP6eeiMkA4uFUnsa50bJsUKiuTQM0DF7nc8Y6lrLVmK8Iur X0Q8d1mZ8psYHLzSh/bQ =blTC -----END PGP SIGNATURE----- delete: support images from the OSTree repository Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
jbCd42RJ8NNB9M/ubtz0xNgznUEfXRbdJAdgZa8v9926ooJzBNpjjvVCmOg9Eo1z Q33qUGaW8s93QOH9omJVF1C6wHkJubyGZCE+yC+AphO1EZVtaAqt0tcHmFFtMA8s b+1JdZdrqldKTmhJPlYFI2X4J/N5/ou7vA5SqTxF8GN8MoUS0+zuYxUKMdwJ0f8v 8XTngKcFHDApkAdlhNR7oCLsFLekmheMVDPKTU9QWFyB6oKsfyS9610heUIuLkBN Hy3JtpecPluGOSXFAkYRVSnXEBI3F9a0USOfx2YhFAl2T283gIaNCYFi+0yM9OIu rsr8BhaS2g5MqZD40gmcVlzoYxn5RUcBPvXiSM7PtADriWhuGsNYVNMSy4t0of75 V1/kezVoB+n3yMDj/+JzoN2Ki242ZNI1ZIbDP61TuGIyz2+epOiVhCFFxmhmKUHd JJt6oTgel9qhQal1qb0HnPZM0EddlPUtyiFRjScMTxzALl7oEAPZKZoj7bnyVdg7 TJPjKzxhn7ON+zJxkE7PwMFanuUvQTeSGyIKGmiFzpEAZSuln0E7NurCQEOnFvGZ mdunTsgDGxFvXikUxUcVA12vyzysAUKOEq20Nsxsax/CStOV1nASFV8nneei6XJt G+UE6nd3cQMxzOLYqaXA =aXZ4 -----END PGP SIGNATURE----- syscontainers: 'pull' always create the metadata commit If we had all the data layers, we would skip the creation of the metadata commit, so that the sequence: atomic images delete foo atomic images pull foo would not create the image foo to be again present in the repository, unless a prune would happen in between the two operations. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
6hullNIF7T05ZA5X1UyOWRiHxvN6g97jM5e9wGPYKvVgvEg655zgn+9S4SK4cerF Nce1hmsyZCPGtJ6JNC8LvJv732zfGOLt2VwZkcHmXOG8JEY5qYo8qa+4f7y/MwFK HhXttSNLi7kIkaiXiynob2jj2IZkfcNJWRJL7QDIyBceJlG/sD7xeDh80qUO5O4j KLOAHCQfdAcHO3ffK1YC57Z4vpibrJbbsOWmeBkT3YM7jGcPfAoGWUHfsMU348Kj 7a/NnYUw8xDqI/kdMZbefGckc3+dpFB2k1PJUVqafaOQil3z1eqh7LpZjnmB+Ejv i3iHaJEGBnpSbBlc9FsZk0RP70qtddFPefY1Z2xj//zVaiJoMq7BdglwBe6qZtTN 29bU+F0ClYEVRJ+bhqCKfjY7eAcFBAfxK0FI1TDWuBQgAPREshH7O9ozZBfL0bOa NyRMyqvn3Zq/e2rOc5AmSdlRkyxjgKyXQEM6Li7lvkbDzedMRCpPmt7A9eSfqgCg nQ33+CL8cuJk9NypcFTomzPeFxn4WA1wqjstS1YEkrISyNA290e5G5V8wnrw5yQS k80lUhtgd5mfFbl2QMshzCtVdm1f+p3QKhZh0Au596U99UQWA4iidbmXsVYSqq/8 YQNPmggAAU8ZHI8Psdxd =S/+v -----END PGP SIGNATURE----- tests: write to file before using grep It avoids some random SIGPIPEs during the tests Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: #497 Approved by: jlebon
gaYQToQv5ILtvl6kukQUP8msJs4JtTDULkW7fQYPwCtjhmFTbFAOFSnj0j3fnz/Q sm8YNA2kdrtWYnbFTCR5EwA+nYoajim8OwZlVb6ewutGHpMeK6n+p9OVaTI06qfE ZMpkJTZPzr0zT1/ysSf8SYmQMqgMOO5Z9t32jFZEpedRKNmjEjhL+aNTi2Z6XX6E UfFYUGxBjoxkkWWSgY1zu6S6/Lq5C1vae5i+GzZc70OT2qE2i+lM9EM2JDdbiGZq INBZKllYfbjoQE0gPsbWEghMmBMsx0vw04NVV184oCyTBhnaog5NyXmvmNgZocKU ftUEK862t9S2MCBSg4gN0jenbQD/uhBBpRsfZFXbBwCQgiGkPC+XppN+FPAf27Ag SoK4WWw4whgLvCK4CwuYD7XyWryWq6JHZPpqvuXjBIT1vIwmm4WBR3TG8Lx0/1Jj Izc2hO2v+7USWjEAioDKYI7Kpllvnsb2fvvpxcWBDi7Q21pYxWXNJWZHmRYNpEZ6 EYlmoAjoBEt1iomBfHMTuwKF0vUYM9EXZ+exkQXNnQ/lQXfRZODt4gZTKKNN9Exo 6XU6RT5tZozsheKS+v0xDPWjSnlORySs8s+XrKa0KNOjM87pedwQDJcSJ3WYh7C2 483/CSCFnGBW+bbhYGbI =tmNr -----END PGP SIGNATURE----- Revert "Migrate script should now work since we are after docker-1.10" It breaks the tests suite This reverts commit 7fcd49e. Closes: #497 Approved by: jlebon
☀️ Test successful - status-atomicjenkins |
4abc3eb changed this to be done only when there are Docker images that are pruned as well. Change it back to the previous behavior. Closes: projectatomic#496 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
This is required to process Docker whiteouts files in OSTree, which are not enabled by this patch. There is an issue in the way the RepoCheckoutOptions object is mapped by glib, as the C struct is using bit fields that are not supported by the introspection, so use the CLI version of OSTree for now. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
By default OSTree uses `fsync' after each file is checked out. Disable `fsync' and use `syncfs' after every layer was checked out to the file system. Closes: projectatomic#491 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
Use `os.path.lexists' to verify its presence. Delete the symlink before the deployments, so that the container doesn't look installed while its being deleted. Closes: projectatomic#495 Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
Do not stop processing containers when encountering a container which was not started up correctly, so that has not runc state. Also fixes a "the JSON object must be str, not 'bytes'" error with Python3. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
If we had all the data layers, we would skip the creation of the metadata commit, so that the sequence: atomic images delete foo atomic images pull foo would not create the image foo to be again present in the repository, unless a prune would happen in between the two operations. Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
It avoids some random SIGPIPEs during the tests Signed-off-by: Giuseppe Scrivano <[email protected]> Closes: projectatomic#497 Approved by: jlebon
It breaks the tests suite This reverts commit 7fcd49e. Closes: projectatomic#497 Approved by: jlebon
No description provided.