14 months agoceph: disable dashboard 56/8856/2 1.15
Cian Johnston [Wed, 19 May 2021 08:35:43 +0000 (08:35 +0000)]
ceph: disable dashboard

Change-Id: I436761c4e14da72af87bd102d3146944c63b9f96
Signed-off-by: Cian Johnston <>
15 months agofixup! ceph: configuration fixes 33/8533/1
Cian Johnston [Wed, 28 Apr 2021 14:22:06 +0000 (14:22 +0000)]
fixup! ceph: configuration fixes

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

15 months agoceph: configuration fixes 93/8493/3
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 <>
15 months agoUpdate rook-ceph kubernetes deployment for k8s 1.15 50/8450/1
Cian Johnston [Tue, 23 Mar 2021 14:38:12 +0000 (14:38 +0000)]
Update rook-ceph kubernetes deployment for k8s 1.15

* Upgrade rook to v1.5.9 using CRDs specific to <v1.16
* 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

Change-Id: I3a634204ab63183adb137d9c07bf026b16ec2fcf
Signed-off-by: Cian Johnston <>
17 months agoPin openshift version to avoid regression in kubernetes client 47/7847/1
Cian Johnston [Wed, 3 Mar 2021 10:15:37 +0000 (10:15 +0000)]
Pin openshift version to avoid regression in kubernetes client

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

18 months agobugfix: update references to helm stable repo 94/6994/1
Cian Johnston [Thu, 7 Jan 2021 13:12:17 +0000 (13:12 +0000)]
bugfix: update references to helm stable repo

Signed-off-by: Cian Johnston <>
Change-Id: Ia374e8981cf83ec4da41ec23d38e5f181edbaa1a
Depends-On: Id5c03464b1ac526b3cd3e3fec3be5bd9185ea9cc

21 months agoDistribute dependencies 37/6237/2
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

2 years agoPackage busybox container image for ceph workaround 00/5600/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

2 years agoMerge "Add workaround for tunnel connectivity" into 1.15
Andrew Fenner [Fri, 31 Jul 2020 16:47:57 +0000 (16:47 +0000)]
Merge "Add workaround for tunnel connectivity" into 1.15

2 years agoAdd workaround for tunnel connectivity 43/5543/2
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 <>
2 years agoAdd Shared Storage as optional 44/5544/1
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

2 years agoKeep tarball and release properties for release 75/5375/1
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: I64a4d96207a1b8862440128ade87f93f03269e63

2 years agoIntroduce stack setup script 44/5344/1
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
(cherry picked from commit d7c1e7673b19be3c8ee33283762aba19a606b6cd)

2 years agoControl docker version within stack 28/5328/1
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
(cherry picked from commit bfdd3d8ef9d2aa002bab69ebd36f971df3918146)

2 years agoBring Kubernetes 1.15 50/5250/2
Fatih Degirmenci [Thu, 2 Jul 2020 08:34:05 +0000 (08:34 +0000)]
Bring Kubernetes 1.15

This change brings K8s 1.15 to Nordix. Some notes about
K8s 1.15 support of engine.
- The support is only included for the scenario k8-calico-nofeature.
- Deployment with the scenario k8-multus-plugins fails and
other scenarios are not tested since they may not be relevant
for us anymore. Due to this those scenarios have been removed from
1.15 branch.
- Installer, infra/installer/kubespray, 1.15 branch is tracked by
this branch.

An example command to deploy K8s 1.15 in online mode with the engine is.

- clone engine repo as usual
- cd engine/engine
- ./ -s kubernetes -b 1.15 -c k8-calico-nofeature \
    -p <path to pdf> -i <path to idf> -v

If you are deploying on OpenStack using Heat, you need to
- specify the location of openrc file
- pass heat environment file as pdf

An example command to package K8s 1.15 for offline deployment with the
engine is.

- clone engine repo as usual
- cd engine/engine
- ./ -s kubernetes -b 1.15 -v

Change-Id: Ic594b74780b6cdc309e36c24cea75e8e60863b2b

2 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

2 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

2 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

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