Commit Graph

4912 Commits

Author SHA1 Message Date
OpenShift Merge Robot 4d0f426e23
Merge pull request #2189 from cgwalters/release
Release 2020.6
2020-09-03 14:41:11 -04:00
Colin Walters 4d6e8f2b99 Post-release version bump 2020-09-03 18:00:27 +00:00
Colin Walters 5d2183f63e Release 2020.6
Let's get the /var mount fix out at least.
2020-09-03 18:00:03 +00:00
OpenShift Merge Robot 75376bae4c
Merge pull request #2186 from jlebon/pr/etc-rw
Fix read-only /etc when using sysroot=readonly and a separate /var mount
2020-08-28 14:52:24 -04:00
Jonathan Lebon 8408f8913b ci: Temporarily import kola test from jlebon's FCOS fork
That test will not make it into the fedora-coreos-config repo until the
libostree fix gets percolated down. PR is:

https://github.com/coreos/fedora-coreos-config/pull/586

But we want to make sure that the fix does work and that we don't
regress on it. So manually fetch it for now.
2020-08-28 14:16:46 -04:00
Jonathan Lebon a7a751b69f ostree-remount: Remount /etc rw if needed
When we remount `/sysroot` as read-only, we also make `/etc` read-only.
This is usually OK because we then remount `/var` read-write, which also
flips `/etc` back to read-write... unless `/var` is a separate
filesystem and not a bind-mount to the stateroot `/var`.

Fix this by just remounting `/etc` read-write in the read-only sysroot
case.

Eventually, I think we should rework this to set everything up the way
we want from the initramfs (#2115). This would also eliminate the window
during which `/etc` is read-only while `ostree-remount` runs.
2020-08-28 14:16:46 -04:00
Jonathan Lebon b3c7b059ea ostree-prepare-root: Fix /etc bind mount
We were bind-mounting the initramfs' `/etc` (to itself) instead of the
target deployment `/etc` (to itself). Since we're already `chdir`'ed
into it, we can just drop the leading slash.
2020-08-28 14:16:29 -04:00
OpenShift Merge Robot 22b3883aa4
Merge pull request #2184 from fkrull/docs-tags-fixes
Add some missing GI tags
2020-08-26 17:45:28 -04:00
Felix Krull f4d0b17080 lib: mark out parameters as out parameters 2020-08-26 22:32:47 +02:00
Felix Krull d5b8929017 lib: add some missing version tags 2020-08-26 22:32:47 +02:00
OpenShift Merge Robot 657b6a882d
Merge pull request #2183 from cgwalters/sh-inline-crates
tests/inst: Update to published sh-inline crate
2020-08-26 15:04:24 -04:00
Colin Walters ef55c2c981 tests/inst: Update to published sh-inline crate
And I made a few more API tweaks, such as supporting `Path`
objects directly and also not needing e.g. `commit = commit`, see

- cfa7c71126
- 679bce4cc7
2020-08-26 17:00:19 +00:00
OpenShift Merge Robot 27413afbff
Merge pull request #2181 from cgwalters/port-sh-inline
tests/inst: Port to new sh-inline repo
2020-08-26 11:01:52 -04:00
OpenShift Merge Robot af881d7476
Merge pull request #2182 from mbilker/arch-linux
Fix mkinitcpio with newer systemd versions
2020-08-26 08:42:37 -04:00
Matt Bilker dac2ad288f Fix mkinitcpio with newer systemd versions
- Fixes systemd failing to determine if `/sysroot` is valid because of
  `/etc/os-release` not being available yet.

- Related: #1759
2020-08-25 18:12:55 -04:00
Colin Walters 33e2d34ea5 tests/inst: Port to new sh-inline repo
I cleaned up my fork of commandspec (see git log) and am
planning to publish to crates.  Port to the new API in prep
for that.
2020-08-25 22:06:13 +00:00
OpenShift Merge Robot a85fb4fea1
Merge pull request #2180 from jlebon/pr/devel-build
configure.ac: Set is_release_build=no
2020-08-24 15:05:20 -04:00
Jonathan Lebon 0a6a41a63d configure.ac: Set is_release_build=no
We missed this during the post-release version bump.
2020-08-24 14:17:35 -04:00
OpenShift Merge Robot 2596a718ce
Merge pull request #2179 from cgwalters/ioctl-fix
linuxfsutil: Pass int to ioctl, not long
2020-08-21 20:13:51 -04:00
OpenShift Merge Robot 9850ec9cc6
Merge pull request #2178 from cgwalters/ioctl-test
tests: Check the immutable bit
2020-08-21 14:40:21 -04:00
Colin Walters 06ed04a816 linuxfsutil: Pass int to ioctl, not long
Otherwise it will fail on big-endian architectures like s390x.
Ref https://bugzilla.redhat.com/show_bug.cgi?id=1867601
2020-08-21 17:41:32 +00:00
Colin Walters cc1b70d921 tests: Check the immutable bit
See https://bugzilla.redhat.com/show_bug.cgi?id=1867601

We really want an upstream test for this, even if (to my knowledge)
nothing is running ostree's upstream CI on !x86_64.
2020-08-21 17:39:39 +00:00
OpenShift Merge Robot 41b455b1b0
Merge pull request #2177 from smcv/systemd-no-syslog
boot: Replace deprecated StandardOutput=syslog with journal, etc.
2020-08-21 14:57:29 +02:00
Simon McVittie d3fadf14b7 boot: Replace deprecated StandardOutput=syslog with journal, etc.
systemd deprecated this in v246.

Resolves: #2169
Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-08-21 09:58:05 +01:00
OpenShift Merge Robot c61ff03304
Merge pull request #2175 from cgwalters/coverity-2020.5
Two small Coverity fixes
2020-08-19 16:46:49 +02:00
OpenShift Merge Robot 56f00586dd
Merge pull request #2176 from cgwalters/pin-str
admin/pin: Enforce that index is a number
2020-08-19 15:45:40 +02:00
Colin Walters 22a445c189 admin/pin: Enforce that index is a number
Validate that we're parsing a number; we want to guard
against typos.

Closes: https://github.com/ostreedev/ostree/issues/2171
2020-08-19 13:11:55 +00:00
Colin Walters 95a7512622 prepare-root: Remove unused variable
Should quiet Coverity.
2020-08-18 23:35:38 +00:00
Colin Walters 1eab48363b pull: Assign idle_src variable before calling unref()
This should pacify Coverity, and also just "reads" better too.
2020-08-18 23:34:57 +00:00
OpenShift Merge Robot 199562fc14
Merge pull request #2149 from stb-tester/boot-self-symlink
sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot
2020-08-19 01:08:30 +02:00
OpenShift Merge Robot b92f240e72
Merge pull request #2174 from cgwalters/bump-self
tests/inst: Bump to latest ostree and gtk-rs
2020-08-18 23:08:36 +02:00
Colin Walters 9f8c3f4400 tests/inst: Bump to latest ostree and gtk-rs
Updating our tests to the latest ostree crate is so deliciously
circular.
2020-08-18 18:00:19 +00:00
OpenShift Merge Robot fa9942c7ad
Merge pull request #2173 from cgwalters/release
Release 2020.5
2020-08-18 19:11:02 +02:00
Colin Walters b67f029d76 Post-release version bump 2020-08-18 15:55:47 +00:00
Colin Walters 8715989df3 Release 2020.5
Mainly to get https://github.com/ostreedev/ostree/pull/2160 out.
2020-08-18 15:55:21 +00:00
OpenShift Merge Robot 364556b8ae
Merge pull request #2172 from jlebon/pr/add-initrds-prep
Miscellaneous patches split out of #2155
2020-08-17 17:59:18 +02:00
OpenShift Merge Robot 543610bdd2
Merge pull request #2127 from cgwalters/destructive-rs
tests/inst: Add destructive test framework
2020-08-17 17:15:29 +02:00
Colin Walters 1101c02c2a tests/inst: Add destructive test framework
This adds infrastructure to the Rust test suite for destructive
tests, and adds a new `transactionality` test which runs
rpm-ostree in a loop (along with `ostree-finalize-staged`) and
repeatedly uses either `kill -9`, `reboot` and  `reboot -ff`.

The main goal here is to flush out any "logic errors".

So far I've validated that this passes a lot of cycles
using
```
$ kola run --qemu-image=fastbuild-fedora-coreos-ostree-qemu.qcow2 ext.ostree.destructive-rs.transactionality --debug --multiply 8 --parallel 4
```
a number of times.
2020-08-17 14:34:04 +00:00
Jonathan Lebon 10a68cd26b lib/deploy: Clarify comment re. staging API
Don't mention deprecation in the description for
`ostree_sysroot_deploy_tree` since there are legitimate use cases for it
(e.g. to create the first deployment via `ostree admin deploy`).

Instead, make the comment clearly redirect to the staging API when
booted into the sysroot.
2020-08-17 09:48:57 -04:00
Jonathan Lebon 5de3a9759f lib/deploy: Drop unneccessary function arg 2020-08-17 09:48:57 -04:00
Jonathan Lebon e4fb7d3bb1 lib/cleanup: Drop unnecessary GEqualFunc cast 2020-08-17 09:48:57 -04:00
Jonathan Lebon 74bd136286 lib/deploy: Simplify deployment creation
Minor cleanup; we were declaring a superfluous variable.
2020-08-17 09:48:57 -04:00
Jonathan Lebon 61c544df1b lib/deploy: Avoid shadowing variable
There's already a `boot_relpath` variable in the outside scope.
2020-08-17 09:48:57 -04:00
Jonathan Lebon 52a6224606 lib/deploy: Clean up kargs override handling
Tighten up how we handle kargs here so it's more clear. When we call
`sysroot_finalize_deployment`, any karg overrides have already been set
on the bootconfig object of the deployment. So re-setting it here is
redundant and confusing.
2020-08-17 09:48:57 -04:00
OpenShift Merge Robot 83bb09ae33
Merge pull request #2170 from jprvita/for-upstream
dracut: Create reproducible images
2020-08-16 22:25:20 +02:00
João Paulo Rechi Vita 7cf1fb38b0 dracut: Create reproducible images
Without reproducible images, a rebuild of the initrd will create a
different image file (due to things like creation time of the files in
the cpio archive) even if the actual contents in it are exactly the
same, adding an unnecessary download during updates.

Adding 'reproducible=yes' avoids this and creates the same image files
for the same content.
2020-08-13 08:32:18 -07:00
OpenShift Merge Robot ab95c0264c
Merge pull request #2168 from arithx/ci_pxe_offline
ci: add pxe-offline-install testiso scenario
2020-08-13 16:43:38 +02:00
Stephen Lowrie 82c0b4a8b8 ci: add pxe-offline-install testiso scenario 2020-08-11 00:02:12 -05:00
OpenShift Merge Robot 012af18ceb
Merge pull request #2103 from cgwalters/underlay-live
Add "transient" unlock
2020-08-07 17:29:31 -04:00
Colin Walters f2773c1b55 Add "transient" unlock
I was thinking a bit more recently about the "live" changes
stuff https://github.com/coreos/rpm-ostree/issues/639
(particularly since https://github.com/coreos/rpm-ostree/pull/2060 )
and I realized reading the last debates in that issue that
there's really a much simpler solution; do exactly the same
thing we do for `ostree admin unlock`, except mount it read-only
by default.

Then, anything that wants to modify it does the same thing
libostree does for `/sysroot` and `/boot` as of recently; create
a new mount namespace and do the modifications there.

The advantages of this are numerous.  First, we already have
all of the code, it's basically just plumbing through a new
entry in the state enumeration and passing `MS_RDONLY` into
the `mount()` system call.

"live" changes here also naturally don't persist, unlike what
we are currently doing in rpm-ostree.
2020-08-07 18:57:56 +00:00