Commit Graph

781 Commits

Author SHA1 Message Date
Andrew Rynhard
e305acac20 feat: add standardized command runner
This adds a command runner function that can be used everywhere we need
to exec a binary. It adds addtional logic around error handling that
will allow for viewing errors in the case of a failed command.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-17 03:38:36 -07:00
Brad Beam
a68cac0a94 chore: Retry reread partition table if EBUSY
Should help make it more robust

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-17 03:27:13 -07:00
Brad Beam
0dc5551510 docs: Add Azure docs
Add getting started guide for Azure.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-16 14:19:47 -07:00
Brad Beam
cf64847772 refactor(proxyd): Update multilisteners to use error chan.
This cleans up the multiple listener implementation.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-16 12:21:02 -05:00
Brad Beam
801db9b9b9 chore: Add log message for userdata backoff.
This should make it clearer when the download failed what is going on.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-16 10:02:24 -07:00
Andrew Rynhard
6940aaf233 fix: verify installation definition
This fixes the possibility of panicing on a nil pointer by running the
verification steps earlier.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-16 09:58:12 -07:00
Andrew Rynhard
1c7e86ce5c fix: name the serde functions appropriately
This fixes the names of the Serde functions to be descriptive of what
they are actually doing. The serialize and deserialize ideas were
flipped.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-16 09:48:13 -07:00
Brad Beam
76a9c15044 feat: Add gRPC server for ntp
Part of the API refactor; this introduces a gRPC server for ntp.
This allows the ability to query node time and check time against
specific ntp servers.

This refactor also moves the ntp functionality into a sub package for
better project organization.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-16 09:46:43 -07:00
Spencer Smith
9d759df9bd chore: move to smaller azure instance type
This PR will save us a little dinero over the course of running e2e
builds in azure. It's only a couple cents per hour difference, but will
shave off a fair amount over the course of a month.

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-08-16 09:46:17 -07:00
Brad Beam
46c283b6c9 chore: Disable rate limited kmessage
This should allow for better troubleshooting during early boot/startup

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-16 09:36:52 -07:00
Brad Beam
6745e6b3bc fix(gpt): Fix partition naming to be >8 characters
There was a bug in the offset calculation for the last field (offset at 72 instead of 128 )
that caused a truncation of the partition name field to only allow for 8 characters/16 bytes
( utf-16 = 2bytes/character ). This last field isnt part of the gpt spec, so we are dropping it

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-16 11:09:37 -05:00
Brad Beam
70a478895f feat(proxyd): Add gRPC server
Part of the API refactor; this introduces a gRPC server for proxyd
to expose some of the internal state.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-15 16:35:03 -05:00
Andrew Rynhard
a116145c1b feat: rename DATA partition to EPHEMERAL
This changes the data partition name to something more appropriate. We
chose ephemeral to make it very clear that the disk should not be used
for application data.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-15 08:00:22 -07:00
Andrew Rynhard
92452ab981 chore: remove sonobuoy spinner
This is only slowing down the build since we use a remote DB for drone.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-15 05:15:20 -07:00
Brad Beam
249acda74a feat: Allow hostname to be specified in userdata
This sets up the ability to define hostname via userdata. I dont expect
this will get used publicly much, but provides a mechanism to convey
the hostname from various sources internally.

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-14 22:41:27 -05:00
Andrew Rynhard
48109e9757 chore: apply manifests when init node is ready
If we wait for all masters to check in before applying the PSP, we run
the risk of kube-proxy failing to start for a long period of time.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-14 20:28:34 -07:00
Andrew Rynhard
15408963ac chore: update tools image
This image upgrades golang to v1.12.8 to address security
vulnerabilities.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-14 19:07:52 -07:00
Andrew Rynhard
09693a26c9 chore: update go modules to use Kubernetes v1.16.0-alpha.3
This is not ideal, but it works. We essentially need to start using
replace statements in order to pull in the modules we need.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-14 15:34:09 -07:00
Andrew Rynhard
582298ac0b feat: upgrade Linux to v5.2.8
Updates the kernel image to pull the kernel from.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-14 12:07:10 -07:00
Andrew Rynhard
f18ecca50c chore: use go runner in sonobuoy
This is the recommended fix for waiting on conformance results. Sonobuoy
is returning early even though the --wait flag is specified.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-13 22:26:03 -07:00
Spencer Smith
57d22ef1bb chore: enable floating IP creation in e2e tests
This PR will edit the manifests for e2e so that we can take advantage of https://github.com/talos-systems/cluster-api-provider-talos/pull/47

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-08-13 15:23:28 -07:00
Seán C. McCord
c5aef55f89 chore: add kernel parameters doc for bare-metal
Initial doc for kernel parameters.
2019-08-13 04:59:45 -07:00
Andrew Rynhard
caa0354fe9 chore: fix drone clone
In order to use promotion against pull requests to trigger things like
E2E, we need to update the default clone logic. The issue is that a
promotion is assumed to be ran against a build that has been merged. In
our case, we need to promote builds that are not necessarily merged.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-12 20:33:29 -07:00
Andrew Rynhard
1956504bd4 chore: fix default pipeline
This prevents the default pipeline from running on releases. It also
ensures that the push step is executed on a release.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-12 17:45:26 -07:00
Andrew Rynhard
e8355f07a0 chore: fix release pipeline
We should only use the "tag" event and remove the promotion event. It
seems like we can't have both.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-12 17:24:12 -07:00
Andrew Rynhard
8726cdb772 chore: prepare release v0.2.0-alpha.6
This is the official v0.2.0-alpha.6 release.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-12 16:04:14 -07:00
Andrew Rynhard
a420b85b07 chore: run unique E2E tests
In order to run more than one instance of E2E testing at a time, we need
to ensure that all resources are unique to the run.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-12 14:14:08 -07:00
Andrew Rynhard
57db8a77b7 chore: exclude promotion event
We need to exclude the promotion event in a number of places.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-12 11:43:38 -07:00
Seán C McCord
ae77d6e053 fix: format IPv6 host entries properly
This reworks a bunch of the formatting for the userdata generation to
output a cleaner talos config when using IPv6 masters and `osctl config
generate`.

Please note that this changes the scope of concern for master indexing,
keeping `osctl` blissfully unaware of the master-reference chaining.
All it does is report the index of the master it is trying to generate.
The generator itself handles the reference chaining.

Fixes #916, fixes #917, and fixes #918

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-12 11:35:38 -07:00
Andrew Rynhard
142500ce3e fix(proxyd): print bootstrap backend dial errors
This prints any error that occurs when dialing the bootstrap backend.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-11 15:12:09 -07:00
Seán C McCord
fd76d90028 fix(proxyd): do not pre-bracket IPv6 backend addrs
Fixes #996

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-11 15:00:22 -07:00
Andrew Rynhard
ad79e8dfcf feat: remove the machine config on reset
This wil remove the machine config on a reset so that a new machine
configwill be downloaded and used on a reboot.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-11 12:51:55 -07:00
Andrew Rynhard
ac54a3cb86 chore: add ability to promote to a release
Although the GitHub release plug requires a tag and will fail on a
promotion, this is still useful as it will allow us to mimic a release
before we tag.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-11 11:51:53 -07:00
Andrew Rynhard
2ee769d19e chore: add image test step
Instead of building platform specific images in the default pipeline, we
should build just one image as part of our basic testing to make sure
installations work as expected.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-11 10:51:33 -07:00
Andrew Rynhard
c34ce3a4ed chore: reenable AMI publishing
This was removed during the refactor of our Drone file.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-11 10:07:57 -07:00
Andrew Rynhard
817380bad6 chore: refactor the Jsonnet file
This change improves the drone jsonnet file by making it more DRY and
structuring it in a way that makes it much easier to follow.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-11 09:23:30 -07:00
Seán C McCord
63cfd8a405 fix(proxyd): wrap Dial addresses
Handle IPv6 addresses in proxyd frontend.

Fixes #988

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-10 23:00:28 -07:00
Seán C McCord
7691bb060c fix: enable IPv6 forwarding
Fixes #985

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-10 22:39:56 -07:00
Seán C McCord
5210bf489f fix: enclose address in brackets gRPC client
When talking to an IPv6 address for a gRPC server, enclose the IPv6
address in brackets.

Also fixes backwards implementation of IPv4/IPv6 test.

Fixes #983

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-10 19:02:39 -07:00
Seán C McCord
d0ff28a8c7 fix: enclose server address is bracks if IPv6
Fixes #980

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-10 17:42:17 -07:00
Seán C McCord
6d22744eca fix: store PartitionName when on NVMe disk
Fixes #978

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2019-08-10 17:10:01 -07:00
Andrew Rynhard
620efe52ef chore: fix push step dependencies
We should wait until basic integration is done.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-10 03:52:29 -07:00
Andrey Smirnov
ae54f7e40d fix: stalls in local Docker cluster boot
Problem was triggered by udevd trigger, root cause is not clear, but
workaround is to disable it for container mode.

Implement CPU/mem limits for `osctl cluster create`, apply defaults,
bump defaults for cicd.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-08-10 13:31:47 +03:00
Andrew Rynhard
aadbad44f0 docs: add project layout standards
This document describes our official layout standards. It serves as a
guide for contributors to help them in organizing code and placing
packages into the correct locations.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-09 23:16:08 -07:00
Andrew Rynhard
b965239672 chore: fix clone logic
This is another attempt at fixing the clone logic to make it work when
building the master branch.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-09 23:04:43 -07:00
Andrew Rynhard
217b7e2f9d chore: fix broken clone
This fixes and issue with cloning the master branch caused by git
refusing to fetch into the current branch.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-09 22:44:54 -07:00
Andrew Rynhard
8786916fd0 chore: build drone YAML via jsonnet
This PR aims to DRY the drone config file by using Jsonnet to generate
it.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-09 22:30:37 -07:00
Andrew Rynhard
449c14c391 chore: remove GitHub action workflow
We are starting to see 403 suddenly when conform is ran is a GitHub
action. This PR removes the action.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-08-09 22:27:03 -07:00
Brad Beam
e60a57e186 chore: Fix up adhoc e2e tests
- Wait a little after cluster comes up
- Change interaction with CONFORMANCE variable to work around
  set -eou pipefail restrictions
- Set sonobouy runner version to latest to work with alpha
  version

Signed-off-by: Brad Beam <brad.beam@talos-systems.com>
2019-08-09 13:55:14 -05:00
Andrey Smirnov
2227d1f6b6 chore: add race-enabled test run
As Go race detector doesn't work under libmuscl, use stock glibc-based
golang container.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-08-09 17:12:34 +03:00