175 Commits

Author SHA1 Message Date
Zuul
4be3ae03eb Merge "Azure provider integration - CAPZ Calico" 2020-12-02 18:56:37 +00:00
Sidney Shiba
3e3dadb8b7 Azure provider integration - CAPZ Calico
Azure does not currently suport Calico networking.
As a workaround, this patch set includes CAPZ Calico manifests that uses
VXLAN, instead.

The CAPZ Calico manifest are located under
manifest/function/cni/calico-capz.

Change-Id: Iadb2d5e10131e6a2df8cef49e2ec189ab948eeb9
2020-11-30 17:29:26 -06:00
Vladislav Kuzmin
258b81122e Add generic container executor
This executor based on kyaml.RunFns[1].
It allows to execute arbitrary container as RunFns function
and handle any input data as ExecutorBundle.
Be aware that runtimeutils.FunctionSpec used for version 0.4.1[2]
and it can be changed in the future. It means that yaml scheme
of executor can be changed during kyaml uplift.
This executor transforms executor yaml to RunFns function acceptable format.

[1] https://github.com/kubernetes-sigs/kustomize/blob/master/kyaml/runfn/runfn.go
[2] https://github.com/kubernetes-sigs/kustomize/blob/kyaml/v0.4.1/kyaml/fn/runtime/runtimeutil/functiontypes.go#L22

Change-Id: I9eb648783f1ed462d2b8359d9dc86320c4db2a83
Closes: #202
Closes: #369
2020-11-26 17:11:56 +04:00
Zuul
c18db07043 Merge "Azure provider integration - K8S-Control & Workers" 2020-11-23 18:41:40 +00:00
Zuul
7d52fa392f Merge "Azure provider integration - Phase Run support" 2020-11-23 18:33:02 +00:00
Zuul
d7a4c11a30 Merge "Azure provider integration - CAPZ v0.4.9" 2020-11-23 18:23:05 +00:00
Zuul
26fcff2509 Merge "Fix ephemeral disk mounting" 2020-11-23 17:01:20 +00:00
Sidney Shiba
b0eef10ca9 Azure provider integration - Phase Run support
This patch set includes the site specifig for Azure (az-test-site) that
contains the manifests and kustomization files needed to deploy a
Workload cluster on the Azure cloud platform.

This patch set uses the Azure CAPZ v0.4.9 for the Workload cluster
deployment.

Change-Id: Ie71630bf55edadfcc11527c04aea41aa2161bdbd
2020-11-19 13:42:04 -06:00
Sidney Shiba
14e01c9b70 Azure provider integration - K8S-Control & Workers
This patch set includes the manifest templates for the Workload cluster
deployment for CAPZ v0.4.9.

Also, added the new folder manifest/function/workers-capz and moved the
manifests for v0.4.8 under it, as well as for v0.4.9

Change-Id: Ie08b6e7092f90ac8ee533c574a26eaf9b6600c5c
2020-11-18 11:53:47 -06:00
Sidney Shiba
abb3a10032 Azure provider integration - CAPZ v0.4.9
This patchset includes the manifests for CAPZ version v0.4.9, which has
been added under airshipctl/manifests/function/capz/v0.4.9

Also added an entry in the clusterctl/clusterctl.yaml for CAPZ

Change-Id: I3a52257320af1f68ec2d8f4302e7176b73f227dd
2020-11-17 18:47:14 -06:00
Ratnopam Chakrabarti
58f9f99d83 openstack-test-site for capo
adjust openstack-test-site to execute the below phases
for openstack provider(capo)

  clusterctl-init-ephemeral
  controlplane-ephemeral
  clusterctl-init-target
  clusterctl-move
  workers-target

A detailed test run of the phases can be found in
https://hackmd.io/OheCGmq8RX64SPw2sF3qGQ

Change-Id: Id982273d28515eb3a44c39d869eaeb229923339c
2020-11-13 15:45:08 +00:00
Zuul
411bbf899a Merge "Align CAPO to use catalogue-driven versions" 2020-11-13 02:59:09 +00:00
Sirajudeen
b266e18fd4 Image override for cert-manager components
* Images added to clusterctl object like Providers
  So that repository and tag for one or all of the cert-manager
  components can be overriden using patch/replacement

clusterctl Documentation for Image Override:
  https://cluster-api.sigs.k8s.io/clusterctl/configuration.html#image-overrides

Change-Id: Id9de8d1967e49aeb3293f6802e51d66d598333ae
Closes: #350
2020-11-12 17:12:23 +00:00
Zuul
df3764b7ac Merge "Remove document plugin subcommand" 2020-11-12 03:03:33 +00:00
Ratnopam Chakrabarti
379c42a7b2 Align CAPO to use catalogue-driven versions
Update CAPO provider manifest to inherit clusterctl from
  functions and patch the infrastructure provider details
  Add capo versions in base-catalog

Change-Id: I8f1f59857dcbf163af01a5a766451e6579ded148
2020-11-11 15:18:40 +00:00
Zuul
7a404c6fa6 Merge "Incorporate HWCC in deployment gate." 2020-11-11 12:08:22 +00:00
Dmitry Ukov
9c69138990 Remove document plugin subcommand
This change finalises shift to new version of kustomize plugins

Change-Id: Ie47f42a9e2c4dc03fc4dca437020ad71a564d894
2020-11-11 14:59:14 +04:00
Zuul
9c9369088c Merge "Change image tags" 2020-11-11 05:57:40 +00:00
Matt McEuen
40ac9e35dd Fix ephemeral disk mounting
If a node has plenty (>16GB) of RAM, use a file-backed ext4 filesystem
for docker and ironic use.  Otherwise, docker is unable to mount
container filesystems on top of the root overlayfs.

This is a fix on top of:
https://review.opendev.org/#/c/749096

Change-Id: Ib688edc6189a0b46e4a668c27cb6a11aca9bb0df
Closes: #401
2020-11-10 19:19:07 -06:00
Rishabh Kumar Jain
a3aeb6cd00 docker-test-site for docker provider (capd)
*  adjust docker-test-site to execute the
below phases with docker provider

         clusterctl-init-ephemeral
         controlplane-ephemeral
         clusterctl-init-target
         clusterctl-move
         workers-target

Change-Id: I781189d9e1689237f8736e6d64a73014aed5b3c3
2020-11-10 21:43:37 +00:00
Sreejith Punnapuzha
c2e5cb13f2 Change image tags
* Change templater image tag from dev to latest
  * Change replacement-transformer image tag from dev to latest
  * Change Makefile to build images with tag latest

Change-Id: Iff074d6fe771cce48dae7190fbc69cc437138817
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
2020-11-10 12:23:25 -06:00
Rajat Sharma
854e25355b Incorporate HWCC in deployment gate.
Added sample HCC profiles and deployment script to apply profiles.

Change-Id: If8152a0afda142c40a53ddf9a4bd6866b435b0e5
Co-Authored-By: Rajat Sharma <rajatcu143@gmail.com>
Relates-To-Issue: #326
Depends-On: #738410
2020-11-10 16:12:28 +05:30
Zuul
c99ccb6f7b Merge "Fix Version Catalogue replacement for Clusterctl" 2020-11-09 18:50:49 +00:00
Sean Eagan
2ba6561854 Add helm-controller and source-controller
This adds functions for the helm-controller and source-controller from
Flux v2 [0]. The helm-controller depends on the source-controller and
so this includes a composite to wrap both. These components replace the
Helm Operator, which is now removed from the gating setup. The Helm Operator
function itself will be removed after a suitable migration period.

This also adds a format for Helm chart and Helm repository sourcing
to the versions catalog.

[0]: https://fluxcd.github.io/flux2

Closes: #372

Change-Id: I7287f1bb5b1ebd1dba9920cc0bed8c867720b4c1
Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
2020-11-06 09:52:16 +00:00
Zuul
eebd884b66 Merge "Kubeconfig should be site specific" 2020-11-06 02:40:27 +00:00
Matt McEuen
4810509fa3 Fix Version Catalogue replacement for Clusterctl
A previous patchset was intended to accomplish a two-part substitution of
container versions into CAPI components, to work around assumptions held
by clusterctl:
(versions catalogue) --[ReplacementTransformer]--> (Clusterctl YAML)
... then
(Clusterctl YAML) --[clusterctl library]--> (CAPI manifests)

However, only the second leg (the hard part) worked right; the first part
had gaps which are fixed by this change.

This also adds the CAPD container definitions to the Clusterctl variables.

Change-Id: Ifaca46f6dd3b87c28753cd49b52e62556ead52bd
Closes: https://github.com/airshipit/airshipctl/issues/389
2020-11-05 16:41:12 -06:00
Vladimir Kozhukalov
64e7694ebb Kubeconfig should be site specific
* Move kubeconfig from manifests/phases to the manifests/site
   directory.
 * Create site specific phases entry point that inherits
   global phases bundle

Change-Id: I0f2893928221760e46a05630de051dd4c46c7448
Relates-To: #356
2020-11-05 13:07:23 +03:00
Zuul
fb7e660343 Merge "Add phases for capo provider" 2020-11-03 17:57:54 +00:00
Zuul
931800e43f Merge "change target cluster name (capd)" 2020-11-03 01:56:31 +00:00
Rishabh Kumar Jain
012a4f27de change target cluster name (capd)
Change target cluster name for capd
provider from "dtc" to "target-cluster"

target cluster name changed at below entrypoints:

  - manifests/function/k8scontrol-capd
  - manifests/function/workers-capd
  - manifests/site/docker-test-site

Change-Id: I72adeaf80a0d098d18e4334b02511d9917fe77b2
2020-11-02 20:14:40 +00:00
Ratnopam Chakrabarti
05429073d1 Add phases for capo provider
Added support for phases

Change-Id: Ic567d59748df9015dd37e33e3139bd3e6905670c
2020-10-30 14:30:03 +00:00
Ratnopam Chakrabarti
646006986b Change target cluster name for capo
Change target cluster name for capo
provider from "ostgt" to "target-cluster"

target cluster name was changed at below entrypoints:

  - manifests/function/k8scontrol-capo
  - manifests/function/workers-capo
  - manifests/site/openstack-test-site

Change-Id: I36f115e4a5debfc9c0f7e47705c87de29cf14d80
2020-10-30 14:06:33 +00:00
Sirajudeen
8be1f1f6c2 CAPD specific metadata
* Created metadata specific to CAPD inheriting
  the global phases.

Change-Id: Ib3487f91a9385cc4c47012aac44d3f3253d541e5
2020-10-29 21:52:50 +00:00
Sirajudeen
7e79ef8fe0 Align CAPD to use catalogue-driven versions
* Update CAPD manifest to inherit the clusterctl from
  functions and patch just the difference which is the
  infrastructure providers.

Change-Id: I0702aa6127531792df17b5ff69a2dba2242d79ac
2020-10-29 13:52:04 +00:00
Kostiantyn Kalynovskyi
560370dfac Add missing annotation to plugin config docs
Currently gates are broken because of the missing annotations
related to the changes of how we now invoke kustomize plugins

Related-To: #382
Closes: #382

Change-Id: I055608e361b4ac2573cc118930092760cfffcceb
2020-10-28 21:45:35 -05:00
Zuul
ed1619d336 Merge "Proxy config for workers/workload" 2020-10-28 17:21:51 +00:00
Zuul
acc88c0e5a Merge "Use global certmanager for clusterctl" 2020-10-27 22:32:31 +00:00
Stanislav Egorov
88d676a567 Proxy config for workers/workload
New replacements provide ability to use proxy configuration for worker nodes
and workload deployment.

To use proxy the following env vars should be exported for the session when
running phases: HTTP_PROXY, HTTPS_PROXY and NO_PROXY

Make sure to define all of them, especially NO_PROXY. For example, without
adding cluster IP addresses the deployment will fail.

Change-Id: Id08126f77e0a9da31318f1a239c51a6c78a7c88e
2020-10-26 16:54:30 +00:00
Dmitry Ukov
96cbb045a4 Remove legacy code from ReplacementTransformer
Change-Id: Ia247ee15efd5f66b5e36cf49339474548d94765d
2020-10-23 14:27:55 +04:00
Zuul
0d036ba097 Merge "Deploy calico cni as a function in capo" 2020-10-22 21:19:21 +00:00
Zuul
14ae7e5129 Merge "Add CAPD config v0.3.11" 2020-10-22 18:19:00 +00:00
Zuul
16c349526f Merge "Add docEntryPointPrefix field to the metadata.yaml" 2020-10-22 18:18:58 +00:00
Rishabh Kumar Jain
4888c256f5 Add CAPD config v0.3.11
Adding manifests for CAPD config v0.3.11.

Change-Id: Icfe95b68ee613e8e642ad8a8383a2b0cda01821e
2020-10-22 16:17:04 +00:00
Ratnopam Chakrabarti
c7d8a71698 Deploy calico cni as a function in capo
Remove deploying calico as postkubeadm command
Added support to deploy calico cni as a function

Change-Id: I212c82eb46fcfa6834f8ec61b5496ecfa989e083
2020-10-22 13:17:03 +00:00
Vladimir Kozhukalov
a608d4c56d Add docEntryPointPrefix field to the metadata.yaml
* The phase.docEntryPointPrefix field in the metadata.yaml
   allows you to define a common part of the documentEntryPoint
   for all phases in the phase bundle.

   For example, let metadata.yaml be
   ---
   phase:
     path: manifests/phases
     docEntryPointPrefix: manifests/site/test-site

   and a phase be
   ---
   apiVersion: airshipit.org/v1alpha1
   kind: Phase
   metadata:
     name: initinfra-ephemeral
     clusterName: ephemeral-cluster
   config:
     executorRef:
       apiVersion: airshipit.org/v1alpha1
       kind: KubernetesApply
       name: kubernetes-apply
   documentEntryPoint: ephemeral/initinfra

   Then the documentEntryPoint for executor will be prepended with
   docEntryPointPrefix and the path to the executor bundle will be
   manifests/site/test-site/ephemeral/initinfra

Change-Id: I29ec14378790d95b66c3ff1fe6120bb200f91a50
Relates-To: #356
2020-10-22 13:29:05 +03:00
Sirajudeen
909d427610 Container build for Templater plugin
Change-Id: I53384561517070a0dca901ee263a5c1a1e55dffa
Relates-To: #341
2020-10-22 00:07:24 +00:00
Matt McEuen
910d296f6b Deduplicate airshipctl manifest networking
Deduplicate networking definitions inside of airshipctl functions,
and make the values driveable via a catalogue.

Changes:
* Removed BMO patches at site level; drive through catalogue instead.
* Added separate entrypoints for ephemeral & target site-level.
  catalogue/networking overrides. Ephemeral's kustomizes target's.
* Generalized the commonHostNetworking catalogue into a section in the
  overall networking catalogue.
* Cleaned up catalogue use in general.
* Got rid of some ill-formed Type-level phase definition.
  We should go back soon and define proper Type-level phases.

Change-Id: Iff96ccdcf7ebde4ae55e2b1a9d25dd1cdca0d2c8
Relates-To: https://github.com/airshipit/airshipctl/issues/315
2020-10-21 16:26:10 -05:00
Sirajudeen
813bdd3614 Use global certmanager for clusterctl
* Remove the duplicated certmanager across all the
  cluster components ( capi, capm3, cacpk, cbk, capd, capz)
  and use certmanager from functions ( global )

Change-Id: I9ee060a19ab8c9eb508bc3ddb848895478170b98
Closes: #350
2020-10-21 16:37:11 +00:00
Stanislav Egorov
71f04ed976 Proxy config for control plane
Along with the change to support proxy configuration for control plane
there is a change for replacement transformer to support arrays of strings.

The current implementation of cloud-init configuration for the control plane
based on KubeadmControlPlane object and uses an array of strings for commands.

Change-Id: Id0a49cc1a0fdbc392c7c7a56859b21737065b0d6
2020-10-20 21:38:18 -07:00
Zuul
d812b6c165 Merge "Introduce Replacement Transformer plugin container" 2020-10-19 18:51:49 +00:00