109 Commits

Author SHA1 Message Date
Spencer Smith
38dfddbab3 feat: break up osctl cluster create and basic/e2e tests
This PR will break cluster create apart from the other steps in
integration tests. It will allow us to run the cluster create, then use
it for parallel e2e builds in different cloud environments.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-08-01 10:55:24 -04:00
Andrey Smirnov
3024c26a55 chore: update dockerfile/buildkit versions
New buildkit release: https://github.com/moby/buildkit/releases/tag/v0.6.0

New release was published for buildkit's dockerfile:
https://github.com/moby/buildkit/releases/tag/dockerfile%2F1.1.2-experimental,
so we can stick to release version now.

These releases include fixes/implementation for `RUN --security=insecure`.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-08-01 01:05:42 +03:00
Andrew Rynhard
12486ef0e2 chore: remove rootfs output param
This removes the `--output` flag from the rootfs target. With the output
specified it was outputting the file directory structure to the build
directory.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-29 20:26:54 -07:00
Andrew Rynhard
e63c882b89 refactor: split machined into phases
This change aims to standardize the boot process. It introduces the
concept of a phase, which is comprised of tasks. Phases are ran in serial and
the tasks that make up a phase are ran concurrently.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-29 12:40:03 -07:00
Andrew Rynhard
0ec17e4169 feat: run rootfs from squashfs
This change moves the rootfs to a squashfs image.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-25 08:38:31 -07:00
Andrey Smirnov
8c59adb9dc chore: allow to run tests only for specified packages
This allows to do `make test TESTPKGS=./internal/app/machined`.

Also update Dockerfile slug as
https://github.com/moby/buildkit/pull/1081 was merged into master.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-07-23 22:17:22 +03:00
Andrew Rynhard
6fa7c1fcbd chore: compress Azure image
The image needs to be compressed in order to publish it to GitHub.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-22 14:48:24 -07:00
Andrew Rynhard
32961efbe0 chore: remove the raw disk after Azure build
The raw disk causes the release to fail.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-22 14:20:50 -07:00
Spencer Smith
089890f36b chore: setup gce for e2e builds
This PR will provide a basis for running e2e tests on GCE several times
a day. We'll need to add a cron event to the drone repo once merged.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-07-22 12:46:02 -04:00
Andrey Smirnov
7df9ef049c chore: repair 'make all'
Target 'binaries' was referencing non-existent `Dockerfile` target, so
any `make all` failed.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-07-19 08:12:23 -07:00
Andrey Smirnov
9f9acf1f05 chore: run tests in the buildkit itself
This relies on two PRs to the buildkit:

* https://github.com/moby/buildkit/pull/1081
* https://github.com/moby/buildkit/pull/1085

Sysfs fix was merged to upstream, so updated tag, while using
`Dockerfile` slug I can switch to dockerfile2llb with support for
`--security=insecure`.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-07-19 07:53:49 -07:00
Andrew Rynhard
8e8aae98dd feat: add machined
This commit splits our current init into init and machined.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-16 13:12:21 -07:00
Brad Beam
7adef1ea62 feat(init): Add azure as a supported platform
Update initramfs to interact with azure endpoints for userdata.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-07-16 12:59:53 -07:00
Andrew Rynhard
1e9548d149 feat: use new pkgs for initramfs and rootfs
This brings in the newly compiled libraries and binaries from our new
pkg builds.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-15 10:32:29 -07:00
Andrew Rynhard
666f04fdbc feat: update kernel
This kernel update brings in:

- modules support
- BPF support
- Azure support

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-10 20:19:59 -07:00
Andrey Smirnov
82fe5b55e5 chore: make unit-tests use isolated instances of containerd
This makes test launch their own isolated instance of containerd with
its own root/state directories and listening socket address. Each test
brings this instance up/down on its own.

Add options to override containerd address in the code (used only in the
tests).

Enable parallel go test runs once again.

P.S. I wish I could share that 'SetupSuite' phase across the tests, but
afaik there's no way in Go to share `_test.go` code across packages. If
we put it as normal package, this might pull in test dependencies (like
`testify`) into production code, which I don't like.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-07-10 19:46:32 +03:00
Andrew Rynhard
50eb51938c chore: prevent duplicate build of test container
This change removes the test-container step, and consolidates it to only a
test step. This prevents the build of the test container being done
twice.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-06 11:29:18 -07:00
Brad Beam
c1ec77ef42 feat: Use individual component steps for drone
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-07-05 23:11:40 -07:00
Spencer Smith
ff9934cfe2 chore: update toolchain version and output created config files
Decided to combine two very small changes (which I'm now grumpy at myself for doing).

First, we'll update the toolchain image versions to allow for the use of a new containerd and runc. Also updated go.mod and go.sum to make use of newer containerd version. Closes #743 and #744.

Second, I added the bit of logic to osctl config generate to determine the working directory and let the user know that we created the various yaml files there. Closes #760.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-07-05 17:59:25 -04:00
Andrey Smirnov
077ea451b5
chore: use 'fast' gitmeta (#836)
See PR https://github.com/talos-systems/gitmeta/pull/10,
https://github.com/talos-systems/gitmeta/pull/12

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-07-04 23:46:55 +03:00
Andrew Rynhard
d82444a42d
chore: revert #816 (#829)
This reverts commit 11f8392e53986da6c124037ffab06064ec04aedd.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-04 08:43:34 -07:00
Andrew Rynhard
11f8392e53
chore: fix GCE image creation (#816)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-03 18:06:47 -07:00
Spencer Smith
c29e5aec93
chore: publish gce images with releases (#809)
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-07-02 10:47:22 -04:00
Andrew Rynhard
85afe4f828
feat: use eudev for udevd (#780)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-06-25 19:25:57 -07:00
Andrew Rynhard
ebc725afa6
feat: add support for upgrading init nodes (#761)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-06-24 15:25:32 -07:00
Andrew Rynhard
99cb06d9c7
chore: update floating IPs for E2E test (#762)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-06-21 23:05:17 -07:00
Spencer Smith
26e14f08eb chore: bump k8s version in makefile (#758)
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-06-21 21:47:55 -07:00
Spencer Smith
e01bc3be05
chore: update toolchain images (#754)
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-06-21 16:24:23 -04:00
Spencer Smith
4ba12fecd8
feat(ci): enable nightly e2e tests (#716)
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-06-17 12:36:48 -04:00
Brad Beam
8a5acff119
fix: Add gitmeta as dependency for push (#718)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-06-05 16:01:46 -05:00
Andrew Rynhard
ecfa945fc8
chore: download official gitmeta to BINDIR (#717)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-06-05 11:44:15 -07:00
Spencer Smith
16530db722
fix: don't set BUILDKIT_CACHE to empty string in Makefile (#705)
Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-06-03 13:59:39 -04:00
Andrew Rynhard
f95f8f87a4
feat: upgrade Kubernetes to v1.15.0-beta.1 (#696)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-30 18:56:30 -07:00
Andrew Rynhard
4bdcccfd00
fix: add libressl to rootfs (#659)
This library is required by socat.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-15 19:09:27 -07:00
Andrew Rynhard
18a1536b01
feat: use osctl in installer (#654)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-15 16:14:30 -07:00
Andrey Smirnov
4bf649f14c chore: workaround flaky tests (#651)
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-05-13 15:00:59 -07:00
Andrew Rynhard
3c52f5e686
feat: add support for UEFI (#642)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-12 10:11:33 -07:00
Andrew Rynhard
86e24601b1
chore: publish AMIs on tags (#633)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-09 13:04:41 -07:00
Andrew Rynhard
f0e162a7f5
refactor: move osinstall into osctl (#629)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-09 08:49:32 -07:00
Andrew Rynhard
21c0b05af6
feat: upgrade Linux to v4.19.40 (#630)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-09 06:29:22 -07:00
Andrew Rynhard
08789a0b8c
feat: update toolchain (#628)
This toolchain brings in:
- Linux v4.19.40
- Musl v1.1.22
- Golang v1.12.5
- Protobuf v3.7.1
- Golang-protobuf v1.3.1

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-09 05:36:13 -07:00
Andrew Rynhard
67a8343590
chore: build iso image (#616)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-05 13:13:01 -07:00
Andrew Rynhard
00eb0658aa
feat: add support for ISO based installations (#606)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-05-02 21:30:06 -07:00
Andrew Rynhard
aba66b41e6
chore: add make target for building AMIs (#602)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-30 10:21:51 -07:00
Andrew Rynhard
0df1d9ca70
feat(init): run udevd as a container (#601)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-30 08:48:48 -07:00
Andrew Rynhard
6e555c4559
feat(osctl): expose osd and api server ports on master-1 (#592)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-29 11:51:39 -07:00
Brad Beam
7a8acebbe2 chore: Make buildkit cache OS dependent (#595)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-04-29 11:08:01 -07:00
Brad Beam
e0122908a8
chore(ci): Update buildkit v0.5 (#594)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-04-29 11:25:04 -05:00
Andrew Rynhard
9b4fec0fa8
feat(osctl): add ability to create docker based clusters (#584)
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-04-28 12:06:03 -07:00
Brad Beam
a5161e575e
chore: Update kernel image (#564)
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-04-24 09:55:44 -05:00