This commit uplifts cluster-api go package to 0.3.10
In new version we are now allowed to skip var subsitution completely
that is why TestAdditionalVariableSubstitutionRepoClient is changed
to relfect that.
Also some of the cluster-api constructor functions has been changed,
and we are changing our factory injection methods as well.
Change-Id: I24aa849271eb7109eb4f7d53a352ea3bb20a21a5
Change introduces evolution of airshipctl document plugins which
are compatible to the new approach for kustomize plugins.
Change-Id: I422110ba523b97c8a80a0b82cb43b70a4ee8e558
Relates-To: #322
If no name or label filter specified baremetal operation will
be performed against all nodes with baremetalhost kind. Also,
baremeral cmd code was refactored and combined, which allowed
to remove duplicated code and slighlty improve test coverage
by reducing the number of untestable lines.
Change-Id: Ieadafdb9f55b995d4b47aeff1dc7233325f3191c
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #361
Closes: #361
Sometimes unit test for showProgress function fails if progress bar
was not finished before refreshing event occurs, so progress bar
prints to io.Writer its intermediate state (which is normal since
in regular terminal the output everytime overwrites by carriage
return), so expected and actual output become different. This PS
changes the concept of testing this function and adds the error
tracking of showProgress execution. Some other minor changes included.
Change-Id: I78b4fa9674d4412fa83c1e9320b686923cbe8084
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
The test makes sure that correct error is returned when bundle
factory fails, and increases test coverage of executor() function
Change-Id: Ibfc5d8ea1941a5d4d304a8afaedc5c89efe7c398
This patch provides the ability to show progress bar using
container logs (ubuntu/debian based only).
Change-Id: I86eebe4d368d81c4685fb27ca31b86cbb3dea08d
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #278
Currently we don't test document pull step by rewriting
manifest_directory variable as current source path, which
makes a mess in target_path, manifest_path and related paths
(concatenation of target_path+manifest_path won't return
an existing and proper location). This patch organizes
mentioned variables and enables document pull step which
starts working properly. The latest repo state used as
git source for this command.
Change-Id: I5abce73877441c7529f2f77add79cf410e2226d8
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
This patch moves all cluster status functionality from
cmd level to pkg level as well as unit tests, making code
cleaner and improving actual test coverage.
Change-Id: Ia811887b684b2129ca30dd90b5afc72e726271ff
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
This allows to avoid nil pointers when working with unmarshaled
objects, that may be missing some fields.
Next step would be to revisit why pointers are used in such obj
as Clusterctl and ImageConfiguration
Change-Id: I99a711529a53943ef1b0cb1ebb4d240f2482fac8
Currently, we observe non-readable artefacts in the beginning of each
log line from docker container because log stream prints logs in
multiplexed way and first 8 bytes is actually a header by default. This
patch fixes this issue by using TTY mode (in this case output data
is copied directly from the container output stream, no extra
multiplexing or headers)[1].
[1] https://godoc.org/github.com/docker/docker/client#Client.ContainerLogs
Change-Id: I26f1588936be736a124b9c77ed712ac4376f03a2
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Command phase run will be used instead, so phase apply became no
longer needed.
Change-Id: I8bdbd6bcad7efbb03632978d8952700fc39d55ba
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Note this commit doesn't refactor remote package, it is only created
to shift from using CurrentContextEntryPoint function, which would
in turn allow us to refactor config package and get rid of cluster
types in airship config.
Relates-To: #349
Relates-To: #246
Relates-To: #265
Change-Id: I1c941c8ade3497b9911fb126465aa85c25567431
Data structure representing plugin configurations should be a part of
airshipctl API module. Plugin implementations will reside in document
package.
Change-Id: Id2e359b747a16a5573052cfb05c1148d346db508
Relates-To: #322
All of these entities are no longer required and should be deleted.
Change-Id: Id4776efe668265df6961a38ce984b8ac37b27097
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
testutil.InitConfig writes sample configs to files,
and if we just check that these files exist after
calling PersistConfig function, then don't test anything.
We have to change config file paths before calling PersistConfig
and then we can check if these files exist.
Change-Id: Ibaee17a57a86251f7016bb57b2d8bd9976cefac0
This change adds the ability to use substring substitution to inject
numeric source values into string targets. This is required for our
networking catalogue, since a numeric k8s API port needs to be inserted into
numeric and (sub)string targets in different phases.
Co-Authored-By: Ian Howell <ian.howell0@gmail.com>
Change-Id: I24beb46a2bda4e118406129a0a922b0c56142c76