Commit Graph

49 Commits

Author SHA1 Message Date
Thorsten Klein
f8f17caf78
[Cleanup] Types, ready-log-messages & closing connections (#818)
- new special internal role `initServer` used only to determine the correct ready-log-message
- ready-log-messages now looked up by role and new `Intent` type (cluster-create/cluster-start/node-create/node-start), as especially for the init server there are different log messages indicating that we can proceed with the next step
- moving types around:
	- K3s env vars now under .../types/k3s/env.go
	- defaults now under .../types/defaults.go
	- ...
- improved waiting for log messages
	- not checking the whole log again and again in a loop
	- follow log with a single reader (and retry in case we see a fatal error, meaning that the K3s container will restart -> backoff after 10 tries)
	- BREAKING: new `*runtimeTypes.NodeLogsOpts` parameter in GetNodeLogs
2021-10-27 12:56:04 +02:00
iwilltry42
7073a8fad7 migrate to module rancher/k3d/v5 2021-09-07 08:58:57 +02:00
Thorsten Klein
7ba71ad66c
[Feature] CreateNode: add token and network flags and allow remote cluster (#734)
- `--cluster` flag parsed for `https://` prefix and node creation treated differently accordingly
- new `--network` string array flag to add the node to multiple networks (primary network when adding to a remote cluster)
- new `--token` flag to provide the cluster token
2021-09-07 07:31:18 +02:00
iwilltry42
9efe980789 overall: make error handling and error logs a bit more streamlined 2021-08-31 09:33:39 +02:00
Mateusz Urbanek
917c19eae5
feat(logging): using new package containing logrus.Logger instead of global scope logrus (closes #583) (#699, @Shanduur) 2021-08-18 12:22:44 +02:00
Thorsten Klein
77aa76d7f2
[FEATURE] add ability to add ports to an existing loadbalancer (#615) 2021-07-09 10:46:16 +02:00
ejose19
bfead49c46
[Enhancement] Refactoring: normalize label flags (k3s node & runtime) (#598, @ejose19) 2021-07-09 10:46:16 +02:00
iwilltry42
34aac579d2
runtimes/docker: use getDockerClient function everywhere so all functions can work via e.g. ssh 2021-06-04 07:43:06 +02:00
iwilltry42
6c94d7db3d
overall/license: update to year range -2021 2021-05-21 13:07:59 +02:00
iwilltry42
ac96c9c448
simplify log outputs and increase timeout for tests 2021-02-05 16:08:32 +01:00
iwilltry42
b5c055f436
less loggigng 2021-02-04 19:07:38 +01:00
iwilltry42
746cbcd131
node: add start time field and use it when waiting for log messages 2021-02-04 19:07:38 +01:00
Erik Kristensen
63d54842c0
[Feature] Support docker over ssh (#324, @ekristen & @inercia) 2021-02-04 17:54:49 +01:00
Thorsten Klein
185ffcd34f
[Enhancement] clusterDelete: proper node and network handling (#437)
This comes with several fixes/improvements

- only consider containers that have the default object label (app=k3d)
- handle network deletion
  - check if there are other k3d containers connected
  - if there are only registries, disconnect them
  - if there are non-registry nodes, leave everything as it is
  - if there are any containers connected, that are not automatically
  disconnected, log a warning and continue
2021-01-07 11:32:30 +01:00
iwilltry42
b36c49aac2
import image: add additional exception handling to avoid nil pointer exceptions 2021-01-05 08:35:20 +01:00
Thorsten Klein
ecc025b35e
[Feature] Registry for v4 & Restructure Cluster Creation (#334) 2020-12-09 15:59:20 +01:00
iwilltry42
d7b25ac6ab
v3 -> v4 2020-12-04 13:45:57 +01:00
iwilltry42
b5eeda74d6
execInNode: check if we have a response before trying to access the reader in case of error to avoid nil pointer exceptions 2020-10-26 13:39:29 +01:00
iwilltry42
425b9b709e
execInNode: do not read logreader too early, because that clears it for other read processes 2020-10-19 14:36:49 +02:00
iwilltry42
dcef0b1946
runtime/docker/node: logreader must not be nil
Check for nil when trying to return exec process log reader.
Fixes #377
2020-10-15 07:28:30 +02:00
iwilltry42
c27410ea32
createCluster: Fix getHostIP edge cases
- sometimes, the exec process returns a non-zero exit code but still has
logs which are helpful for us
- sometimes everything fails and we should gracefully handle this
2020-10-07 11:02:46 +02:00
iwilltry42
11cc797922
overall/logging: new trace log level
- new root flag '--trace' with precedence over '--verbose'
- some new trace logs
- migrated some debug logs to trace logs to reduce debug verbosity
2020-10-07 08:58:03 +02:00
iwilltry42
972c004930
add entry for host.k3d.internal to /etc/hosts in the node containers 2020-09-29 15:20:43 +02:00
iwilltry42
1285fb90c4
overall: add node status field 2020-08-12 11:14:18 +02:00
iwilltry42
76d90478f5
Go Module: use v3 for go module compatibility 2020-06-18 07:58:36 +02:00
iwilltry42
3cd1a05b91
Maintenance: move all labels to constants and fix log formatting issues 2020-06-12 19:00:01 +02:00
iwilltry42
dbb24f4e1c
loadImages: accept mixed runtimeImage and tarball args
- loads images from tarballs and runtime
- only tries to do something if respective lists are not empty
- only creates tools node if it's not present yet
- uses new tools image to remove tarballs after process
2020-06-04 11:55:40 +02:00
iwilltry42
477fe8b395
Merge branch 'master' of github.com:rancher/k3d into enhancement/use-context 2020-06-02 19:26:20 +02:00
iwilltry42
16f01f5fc9
runtime/getNode: do not return nil
- fixes: #253
2020-05-29 13:34:11 +02:00
iwilltry42
4710f65b85
Merge branch 'master' of github.com:rancher/k3d into enhancement/use-context 2020-05-29 11:42:47 +02:00
iwilltry42
99f5a6884a
getNodeLogs: accept time.Time parameter
- fixes startCluster's --wait/--timeout functionality
--> now doesn't check all the logs (e.g. from previous run)
----> no more false positives when checking for a specifc log message
only in the current run
2020-05-29 11:21:12 +02:00
iwilltry42
f6c312256e
add names to error messages 2020-05-26 15:12:34 +02:00
iwilltry42
ba431c6235
Merge branch 'master' of github.com:rancher/k3d into enhancement/use-context 2020-05-26 14:49:45 +02:00
iwilltry42
434cf8e91d
overall: pass context from top to bottom 2020-05-26 14:47:21 +02:00
iwilltry42
21fd427d8a
maintenance: cleanup debug logs 2020-05-26 14:14:55 +02:00
iwilltry42
c061104b53
createNode: copy as many details as possible from existing
- we now use the full containerJSON details when getting a node
- we now use as many details as possible to copy k3d settings from an
existing node when adding a new node to a running cluster
2020-05-11 08:42:44 +02:00
iwilltry42
7744c52ec7
overall: always defer close docker client connections 2020-04-27 18:27:33 +02:00
iwilltry42
3b77ecd6dd
getLogs: return error if container is not in running state to avoid long unnecessary wait 2020-04-26 17:17:14 +02:00
iwilltry42
b32e116a67
add comment 2020-04-24 15:00:04 +02:00
iwilltry42
5121ef80a5
create/start/stop cluster: fix how Master-LoadBalancer is treated
- always include the k3d.role label and use LoadBalancerRole for
masterlb
- start masterlb last when starting a stopped cluster so it won't fail
2020-04-22 13:18:26 +02:00
iwilltry42
bc49f197d9
cleanup and prepare for push to rancher/k3d 2020-01-05 21:16:31 +01:00
iwilltry42
11b937a910 implement load images command 2019-12-04 14:54:58 +01:00
iwilltry42
ff98343420 extend 2019-11-20 22:52:48 +01:00
iwilltry42
536b543cc2 implement get nodes 2019-11-13 14:58:59 +01:00
iwilltry42
098fe0803c implement start/stop for nodes and clusters 2019-11-13 13:43:56 +01:00
iwilltry42
8450604182 start implementing getkubeconfig 2019-10-17 07:59:56 +02:00
iwilltry42
7063d62508 initial implementation of 'get clusters' 2019-10-15 18:57:54 +02:00
iwilltry42
84cdfac7cb introduce node roles 2019-10-10 15:02:56 +02:00
iwilltry42
03eaba037f restructure docker runtime pkg 2019-10-10 12:30:48 +02:00