infra/stack/kubernetes.git
4 months agoPin openshift version to avoid regression in kubernetes client 50/7850/1 1.16
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 <cian.johnston@est.tech>
Change-Id: Id3b173e8ae31ed36f48282c1628cd753dfec62eb

6 months agobugfix: update references to helm stable repo 91/6991/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 <cian.johnston@est.tech>
Change-Id: Ic29d7756d74ee7289ce2e37af6f74ac0ebbf66be
Depends-On: Iefefd18e3b4abcc6b58955cb94f90765fad7bd46

9 months agoDistribute dependencies 41/6241/1
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 setup-stack.sh 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

11 months agoPackage busybox container image for ceph workaround 12/5612/1
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

11 months agoAdd workaround for tunnel connectivity 07/5607/1
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 <andrew.fenner@est.tech>
Change-Id: Ic4e8241aa2a014daa0d299186d07615ee79030a2
Signed-off-by: afenner <andrew.fenner@est.tech>
(cherry picked from commit b7924a953ce9f8769dfe1a3b1db65c92bf929275)

12 months agoAdd Shared Storage as optional 53/5553/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

12 months agoKeep tarball and release properties for release 73/5373/2
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
formats.

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 release.properties 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/release.properties 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

12 months agoIntroduce stack setup script 43/5343/1
Fatih Degirmenci [Thu, 9 Jul 2020 07:33:47 +0000 (07:33 +0000)]
Introduce stack setup script

This change introduces setup-stack.sh 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)

12 months agoControl docker version within stack 27/5327/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)

12 months agoBring Kubernetes 1.16 58/5258/1
Fatih Degirmenci [Thu, 2 Jul 2020 13:00:15 +0000 (13:00 +0000)]
Bring Kubernetes 1.16

This change brings K8s 1.16 to Nordix. Some notes about
K8s 1.16 support of engine.
- The support is only included for the scenario k8-calico-nofeature as
this is the only scenario we tested 1.16 with for the timebeing.
- Installer, infra/installer/kubespray, 1.16 branch is tracked by
this branch.

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

- clone engine repo as usual
- cd engine/engine
- ./deploy.sh -s kubernetes -b 1.16 -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.16 for offline deployment with the
engine is.

- clone engine repo as usual
- cd engine/engine
- ./package.sh -s kubernetes -b 1.16 -v

Change-Id: Icb0bc8542f6485fa53400474b2e755c76c143c5e

13 months 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.

https://gerrit.nordix.org/c/infra/installer/kubespray/+/5157

Change-Id: I24d7e9546034b385565708f528ed9caddf03ae26

13 months 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

14 months 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

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