20 months agoIngress Nginx Integration 60/12460/4 master
nauman [Sun, 20 Feb 2022 23:15:27 +0000 (23:15 +0000)]
Ingress Nginx Integration

setup ingress using node-port & reverse proxy

Change-Id: I4d1241616ebc07f5d9f09da7871282c96cd41062

21 months agoEiffel installation using easy2use 96/12296/4
nauman [Tue, 8 Feb 2022 06:23:01 +0000 (06:23 +0000)]
Eiffel installation using easy2use

basic eiffel installation
added new eiffel deploy scenario

Deploy-Scenario: k8-calico-eiffel

Change-Id: I053821d935ae3c727a5dab0e8be3660a000a9e84

21 months agoFix to solve the ovs-cni installation issue in ENO Scenario 83/12183/2
Rafael Montero Herrera [Thu, 27 Jan 2022 11:31:37 +0000 (11:31 +0000)]
Fix to solve the ovs-cni installation issue in ENO Scenario

Deploy-Scenario: k8-eno-ovs

Signed-off-by: Rafael Montero Herrera <>
Change-Id: I221650eae5b7d9dc33a226687c106e07d9cf7046

22 months agoSpinnaker deployment 56/11956/11
nauman [Mon, 10 Jan 2022 18:46:05 +0000 (18:46 +0000)]
Spinnaker deployment

spinnaker deployment using halyard cli
minio chart install & deployment
update calico-spinnaker scenario

Deploy-Scenario: k8-calico-spinnaker
Change-Id: If399108c581bd7d5558edad5df4d681ae8f008f5

23 months agopackage v2 ubuntu image 41/11841/1
nauman [Fri, 17 Dec 2021 18:12:06 +0000 (18:12 +0000)]
package v2 ubuntu image

offline deployment should use v2 image
v2 image has partitioning utils

Change-Id: I9ae9a49e5571dbea90d0e4f6376ab3facab16c0a

23 months agok8s version 1.19.11 01/11301/9
nauman [Tue, 16 Nov 2021 12:06:32 +0000 (12:06 +0000)]
k8s version 1.19.11

change k8s verion 1.19.11
supporting kubespray verion 2.16
k8s 1.19.11 is required by onap istanbul
update helm to 3.5.4

Depends-On: If212fba441ed53f7a95185a6103f2f1c48cbcd74
Change-Id: Id59f5e83cdc6efb8b8795122e599af772ca659ae

2 years agosupport for partitioning and update rook version to 1.6.0 42/11142/9
nauman [Tue, 9 Nov 2021 08:02:29 +0000 (08:02 +0000)]
support for partitioning and update rook version to 1.6.0

update rook version to 1.6.0
update rook crds
change rook device filter pattern to support single disk partitioning
increase wait timeout for rook/ceph pods

Change-Id: I0fe371b7b44957bfa24b0fa3c2a67f58c5efa934

2 years agoUse tagged versions for the dependent projects of ENO 94/10694/1
Rafael Montero Herrera [Thu, 7 Oct 2021 12:20:30 +0000 (12:20 +0000)]
Use tagged versions for the dependent projects of ENO

Deploy-Scenario: k8-eno-ovs

Signed-off-by: Rafael Montero Herrera <>
Change-Id: If6ca213ec0762a04561f5eb288909b40fb02ac41

2 years agoAdded support for External Network Operator (ENO) Scenario 90/9890/6
Rafael Montero Herrera [Fri, 13 Aug 2021 13:31:52 +0000 (13:31 +0000)]
Added support for External Network Operator (ENO) Scenario

This contribution aims to provide an automated environment for the
deployment of the ENO, including all the required components that
ENO needs to function properly.

Signed-off-by: Rafael Montero Herrera <>
Change-Id: I44d15bcc29ca7499f739e6eab8e53fb09365a590

2 years agoceph: disable dashboard 55/8855/2
Cian Johnston [Wed, 19 May 2021 08:35:43 +0000 (08:35 +0000)]
ceph: disable dashboard

Change-Id: I436761c4e14da72af87bd102d3146944c63b9f96
Signed-off-by: Cian Johnston <>
2 years agoceph: configuration fixes 92/8492/5
Cian Johnston [Fri, 23 Apr 2021 09:42:06 +0000 (09:42 +0000)]
ceph: configuration fixes

* Wire through deviceFilter properly
* Expose rook configuration knobs via env vars

Change-Id: Idfdb2d229f542ea73835f41b1ea574a3f72b8023
Signed-off-by: Cian Johnston <>
2 years agoUpdate rook-ceph kubernetes deployment 25/8425/1
Cian Johnston [Tue, 23 Mar 2021 14:38:12 +0000 (14:38 +0000)]
Update rook-ceph kubernetes deployment

* Upgrade rook to v1.5.9 (and update associated CRDs)
* Upgrade ceph to latest release
* Add taints and tolerations to separate rook-ceph workloads
  from other workloads to work around RBD+XFS hangup bug
* Use a separate volume for Ceph block storage

Signed-off-by: Cian Johnston <>
Change-Id: I3a634204ab63183adb137d9c07bf026b16ec2fcf
Signed-off-by: Cian Johnston <>
2 years agoChanges for Helm v3 compatibility: 81/7781/2
Cian Johnston [Wed, 3 Mar 2021 10:15:37 +0000 (10:15 +0000)]
Changes for Helm v3 compatibility:

 * Helm v3 complains if kubeconfig is world-readable. Setting permissions
   on /root/.kube/config to keep it happy.
 * Add local helm repos in prometheus/spinnaker install tasks
 * Pinning openshift due to regression in kubernetes client

Signed-off-by: Cian Johnston <>
Change-Id: Ie0dc3d9c7af4eda5a4d56461f9e3e4341ea7a12c

2 years agoAdd k8-calico-dualstack and k8-multus-dualstack scenarios 55/7155/9
Cian Johnston [Thu, 14 Jan 2021 09:59:07 +0000 (09:59 +0000)]
Add k8-calico-dualstack and k8-multus-dualstack scenarios

This commit adds two self-contained scenarios that support the following:
  * Assigning both IPv4 and IPv6 addresses to pods using the Calico CNI
    (kubernetes_version >= v1.16)
  * Setting both IPv4 and IPv6 kubelet addresses
    (kubernetes_version >= v1.20)

One of these scenarios installs the Calico CNI only, and the other
installs the Multus CNI with Calico as the backing CNI.

*** NOTE: this depends on upstream features incompatible with k8s < 1.18. ***
    DO NOT MERGE with 1.15, 1.16, or 1.17.

Deploy-Scenario: k8-calico-dualstack
Change-Id: I5b9e21f6e0b5aaff276c8e86c19d5ae75d0c4569
Signed-off-by: Cian Johnston <>
2 years agobuild helm version to match kubespray > 2.15 64/7464/1
Cian Johnston [Wed, 10 Feb 2021 09:09:09 +0000 (09:09 +0000)]
build helm version to match kubespray > 2.15

Signed-off-by: Cian Johnston <>
Change-Id: I14eef23eaf95b5dc917ac2ca26a069932b58cbb8
Depends-On: I592ec75bfeb76444d21216652e308120c3c3ef8a

2 years agocontainers: export all images in one file 15/7415/6
Cian Johnston [Thu, 4 Feb 2021 14:51:58 +0000 (14:51 +0000)]
containers: export all images in one file

This change modifies how images are exported before packaging.
Previously, each image was exported as a separate file, which
causes duplication of layers in common between images. Now, all
images are exported as one file, allowing deduplication of image
layers and significant on-disk space savings.

NOTE: the docker-registry image is exported separately for the
sake of engine.

Change-Id: I95a0597590ada9c32c8b9449d6f58b321168c2f8
Signed-off-by: Cian Johnston <>
2 years agocontainers: check item.container before pull/save 78/7378/1
Cian Johnston [Wed, 3 Feb 2021 11:43:22 +0000 (11:43 +0000)]
containers: check item.container before pull/save

In later versions of Kubespray, certain items (such as Helm) are
no longer fetched as a container. This change checks that the
download manifest in Kubespray specifies that the item in question
is meant to be treated as a container before pulling and saving.

Signed-off-by: Cian Johnston <>
Change-Id: Iedbfb6f020c4d89e050f1fa83209634affe3ebab

2 years agoUpdate Helm to version 3.3.4 06/7306/8
Cian Johnston [Tue, 26 Jan 2021 11:26:32 +0000 (11:26 +0000)]
Update Helm to version 3.3.4

 * helm_version -> v3.3.4
 * required changes to Helm CLI invocations

Change-Id: I4816a6da5da50d039d5cf77717d8d33797ff0d6e
Signed-off-by: Cian Johnston <>
2 years agobugfix: update references to helm stable repo 51/6951/2
Cian Johnston [Thu, 7 Jan 2021 13:12:17 +0000 (13:12 +0000)]
bugfix: update references to helm stable repo

Depends-On: If025c222db2aa3dcc9be4d18ce79eb3f8bdbc672
Signed-off-by: Cian Johnston <>
Change-Id: Ia5a929ef07429aab6dd61006ae7c87579c04983d

3 years agoDistribute dependencies 64/6164/8
Fatih Degirmenci [Mon, 5 Oct 2020 09:36:12 +0000 (09:36 +0000)]
Distribute dependencies

This change moves the dependencies required for Kubernetes stack to
stack itself, making sure we deal with the dependencies required for
it and no other stack.

This is achieved by
- moving operating system dependencies from engine core bindep.txt into
stack bindep.txt
- moving python dependencies from engine core requirements.txt into
stack requirements.txt
- taking script in use so engine core executes this script
from the stack

The benefits of this approach
- ability to control dependencies directly within the stack without
impacting other stacks and engine core
- package dependencies required for the stack itself and not everything
- allow identifying engine core dependencies so they can be made part of
stack packaging, enabling stacks to stop using leftovers of an earlier
deployment done for a different stack
- pave the way for multi distro support since some stacks may support
more than one distro and that support can be introduced and maintained
within corresponding stack
- deferred processing of dependencies allow to engine become functioning
faster than how it is know. also, the overall deployment time will be
shortened a bit with the help of this due to dealing with dependencies
based on stack

Depends-On: I713d0e333bc4a01c92e6aa6ae1a4e6f3d9efe2ad
Change-Id: I9508275fe581cea15af3c9e7dfa0b3342370460b

3 years agoPackage busybox container image for ceph workaround 99/5599/4
Fatih Degirmenci [Fri, 31 Jul 2020 21:15:57 +0000 (21:15 +0000)]
Package busybox container image for ceph workaround

Busybox image is not packaged for offline deployments, causing
pod to fail coming up as the image is not available in local
docker registry. Adding image to list of images to pull and
package. Busybox repo in the install template is also updated
in order to get rid of duplicated path and adjust it based on
the path it gets on local registry.

Warning  Failed     118s (x4 over 3m56s)        kubelet, master0   Failed to pull image "engine.local/library/busybox/library/busybox:1.32.0": rpc error: code = Unknown desc = Error response from daemon: manifest for engine.local/library/busybox/library/busybox:1.32.0 not found

Change-Id: Ibc173049c1bae5676dde2a686bd6092761dc645d

3 years agoMerge "Add Shared Storage as optional"
Fatih Degirmenci [Tue, 28 Jul 2020 17:37:21 +0000 (17:37 +0000)]
Merge "Add Shared Storage as optional"

3 years agoAdd workaround for tunnel connectivity 36/5536/3
afenner [Mon, 27 Jul 2020 13:53:19 +0000 (14:53 +0100)]
Add workaround for tunnel connectivity

This patch creates a DeamonSet (pod on each node) that pings all the ipip tunnels of all the other nodes.
It should be removed once we find why the tunnels aren't open without pinging

Signed-off-by: afenner <>
Change-Id: Ic4e8241aa2a014daa0d299186d07615ee79030a2
Signed-off-by: afenner <>
3 years agoAdd Shared Storage as optional 92/5492/4
Ignacio Pascual [Wed, 22 Jul 2020 13:57:51 +0000 (15:57 +0200)]
Add Shared Storage as optional

In some setups there will be no shared storage configured.
The current playbooks will always create a cephfs Storage Class,
this change will make it optional and controlled from a variable.

Change-Id: I70a57e50cd0ecdc4ac300d46e1d269ebcb90a5aa

3 years agoBump kubernetes to v1.18.5 97/5397/5
Fatih Degirmenci [Mon, 13 Jul 2020 15:18:29 +0000 (15:18 +0000)]
Bump kubernetes to v1.18.5

The container image, flannel_cni, is removed in upstream Kubespray
download role so we remove it as well.

Depends-On: Ie8be93ba62dc90229f54bd618c982aeaf4bdaafb
Change-Id: I7bc9f42fd5bb6a29d4dd16d9e56228dde58fd498

3 years agobugfix: Set git folder for recording repo shas
Fatih Degirmenci [Sat, 11 Jul 2020 22:11:08 +0000 (22:11 +0000)]
bugfix: Set git folder for recording repo shas

Change-Id: I38aa63be3becc39e4dc0673c90779944e8cd8820

3 years agoKeep tarball and release properties for release 70/5370/3
Fatih Degirmenci [Sat, 11 Jul 2020 12:55:52 +0000 (12:55 +0000)]
Keep tarball and release properties for release

The installer file created by the package role can not be scanned by
JFrog XRAY due to it being an incompatible artifact type. In order for
the artifact to be scanned, it needs to be in one of the supported

This change updates package role to keep the tarball if the packaging
is run by release job in order to make scanning of artifacts possible.

In addition to keeping the tarball around, release job records release
metadata in file. This file is needed to be included
in tarball and installer file in order to make the traceability better.

Please note that both of these operations take effect if the release
metadata file /tmp/ exists. This file is only created
by release job on Jenkins and does not exist for manual builds so there
is not change for manual packaging.

Change-Id: I3189806fc7a45b63328dc7236c94119f2ee9e295

3 years agoIntroduce stack setup script 33/5333/2
Fatih Degirmenci [Thu, 9 Jul 2020 07:33:47 +0000 (07:33 +0000)]
Introduce stack setup script

This change introduces script which will do setup
for the stack itself such as setting the default scenario if not
specified by the user and more importantly installing the dependencies.

Further changes will be sent, moving dependencies to stacks and
installations of those into stack setup script.

Depends-On: I6b9d27edd2016594b197a368b8ed393e98beef7f
Change-Id: I7892fa217a7db5c0c7b84a1b57aa6f311ee14cc6

3 years agoControl docker version within stack 98/5298/2
Fatih Degirmenci [Tue, 7 Jul 2020 06:48:24 +0000 (06:48 +0000)]
Control docker version within stack

Docker version was originally controlled within engine repository
but it is more appropriate to control it within the stack as the
version requirements could be different across the stacks. See the
dependent change for how it was controlled before.

Depends-On: Id5f2c72e35bba4d5ab413f7b19119330540f5674
Change-Id: I2720d6b6ddcde0f742f527e3f86b3085f13aaeda

3 years agoMove pre, postinstall, scenario, and apps to stack 58/5158/4
Fatih Degirmenci [Wed, 24 Jun 2020 13:22:44 +0000 (13:22 +0000)]
Move pre, postinstall, scenario, and apps to stack

Preinstall, postinstall, scenario, and apps are specific
to stack composition and more appropriate to locate them
within the stacks themselves rather than the installers.
This makes it possible for different stacks to configure
target deployment according to their needs and use the
installer without thinking about potential effects the
changes could cause on other stacks that may be using the
same installer.

An example to this is Kubernetes and ONAP stacks and the
CEPH configuration. Both stacks use Kubespray but the
configuration of Kubernetes differs between them. By moving
the pre/post/scenario/app configuration into stacks
themselves, they become independent from each other as
much as possible.

Please note that once this change goes in, the dependent
change needs to be verified and submitted in order to
conclude the transition.

Change-Id: I24d7e9546034b385565708f528ed9caddf03ae26

3 years agoCreate engine kubernetes stack 16/4816/5
Fatih Degirmenci [Tue, 19 May 2020 08:13:26 +0000 (08:13 +0000)]
Create engine kubernetes stack

This change creates kubernetes stack for engine in order to package,
deploy, and test stacks independently from engine core.

The main feature this enables is the ability to develop stacks
in their own repository with proper versioning and branching no
matter how the tools (provisioner and installer) are developed.
The stack simply selects versions of the tools (could be branches)
and the rest is done accordingly.

The role package which was previously located under
infra/installer/kubespray is moved into this repository in order to
handle what to package within the stack since some of the artifacts
we package do not belong to installer but to the stack itself.

Change-Id: I760d4d904544dad768525e999ebe53e156464111

3 years agoSet up repository 04/4604/2
Fatih Degirmenci [Fri, 1 May 2020 06:28:45 +0000 (06:28 +0000)]
Set up repository

Change-Id: Ia4bc2dd99a5ec808af1be471ce32ad8a1021b68c

3 years agoInitial empty repository
Fatih Degirmenci [Sun, 26 Apr 2020 22:18:27 +0000 (22:18 +0000)]
Initial empty repository