[AIR-97] Adding initinfra subcommand

Command will deploy initial inftrastructure that is identified by
airshipctl document module, bundle interface, documents will be fitered
based on label and annotation, which will indicate that it belongs to
initial infrastructure.

After the documents are identified, they will be labeled
indicating that these resources are deployed by initinfra, if flag
`prune` is specified, resources that have initinfra annotation and
deployedBy initinfra label, but are not part of the documents supplied
by bundle interface will be deleted. If user wants to avoid pruning of
some resources he can remove label deployBy manually from the kubernetes
resources that should not prunned.

Change-Id: I143835291d449be420bfcb2944ba7eaec37c3411
This commit is contained in:
Kostiantyn Kalynovskyi
2020-02-25 09:38:40 -06:00
parent 8cf0247086
commit e1bc8ee07d
16 changed files with 498 additions and 5 deletions

View File

@@ -9,4 +9,11 @@ spec:
bootMACAddress: 00:3b:8b:0c:ec:8b
bmc:
address: redfish+http://localhost:8000/redfish/v1/Systems/air-ephemeral
credentialsName: master-0-bmc-secret
credentialsName: master-0-bmc-secret
status:
provisioning:
# we need this status to make sure, that the host is not going to be
# reprovisioned by the ephemeral baremetal operator.
# when we have more flexible labeling system in place, we will not
# deliver this document to ephemeral cluster
state: externally provisioned