Adding go code to templater to support generation of strings
based on the regular expression passed.
Closes: #438
Change-Id: Ife0c4f8d5dd8032408875c73ba098919470be9e9
This introduces airshipctl integration with image-builder [0], which
replaces the existing isogen tool for ephemeral ISO generation.
The airshipctl isogen executor has been updated for building ephemeral
ISOs using the image-builder container. The ability for user-declared
filenames for cloud-init user data and network data was removed, since
the user's only interest is in supplying the relevant overrides, not in
transparent naming coordination with the image-builder container. A new
object is added to the document package to identify the document kind,
label, and key to retrieve data from since this is pattern we will
reuse elsewhere.
Progress flag removed as requsted. Progress is reported directly by the
image-builder container.
Isogen debug flag removed in favor of using log.DebugEnabled()
[0] https://review.opendev.org/#/c/730777/
Depends-On: https://review.opendev.org/c/airship/images/+/730777/
Change-Id: I545004feaf2116f8ffb29faf6f7f7f5fcfe24fff
In current setup, we rely on executor to perform render operation,
however there are many usecases, when we want to have a simple
`kustomize build` performed against document entrypoint in phase.
Now this will be a default behaviour and if a user would like
executor to perform rendering to actually understand what it's
doing, he will be able to specify --executor boolean flag.
Relates-To: #403
Change-Id: I181830f9814ff48a19ba0a1284e89900187bc7d8
Having an executor within container package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.
Change-Id: Ibd07c2ba46d1971604bdbd9e5e360759bb68a659
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
Having an executor within applier package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.
Change-Id: I68d909489b691e4fb7129446ef9a3fb085f8683c
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
Having an executor within isogen package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.
Change-Id: I2154c0af6c28f47abb2448863332766260106759
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
Having an executor within clusterctl.client package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.
Change-Id: Ib0a6072a393e68885d9ef911aa2894a0de055668
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #374
We should follow black-box pattern in unit test, so they should be
performed in a separate package. This patch fixes it for isogen
package.
Change-Id: I60a22213e943eaa85ce75979071897c42308e1ae
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
Currently MockDocument implementation located under pkg/bootstrap/isogen
package, which is not relevant for it and makes it impossible to import
in other test packages. Also _test.go filename is not proper one for
this source file since it doesn't contain any unit tests inside.
Change-Id: I9b3f28df653637701f5d6fca4376da5a22f39658
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
Currently mockContainer implementation is located under
pkg/bootstrap/isogen and it's not possible to import it from
other packages. This patch moves it to appropriate new package
under testutil.
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To : #432
Change-Id: I36510e8e065434de597e7316dfbe51da0825d343
This commit fixes the minor comment message on pkg/cluster/clustermap/map.go
file and not related to any issue.
Change-Id: Ie92a7c09ada8b0983631cbcd0cd82622c068fc5b
This patch set includes the methods supporting the bootstrap
container feature, which will be used by the BootConfiguration
executor, as part of "phase run" implementation.
The methods under command.go file are responsible for creating the
bootstrap container, monitor its state, etc.
Change-Id: I3f6b1a0bb7c7be7ac29487d09ae2ccd5e9f4bd87
The implementation is inspired by pkg/remote module, and evolves
it to be built on top of document bundles as well as makes it
more command line oriented by adding RunOperation method.
Change-Id: If95a007986eb61c977c1ddbe5a94cfbeefeac225
Relates-To: #397
Relates-To: #362
Relates-To: #359
These methods will be used instead of calling their direct
analogs in the code in order to have more consistency.
Change-Id: Ie2eaf03b1fbd049ed5788f1a769a332ef863494b
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #415
In order to widely use filesystem interface in airshipctl
there is need to move it to separate package to avoid
importing unnecessary dependencies from document
package and, as a consequence, possible cyclic dependencies.
* filesystem moved from document/fs to pkg/fs
Change-Id: I3b6298462f03db43594a9fa26bf23ab7687c5589
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #415