5081 Commits

Author SHA1 Message Date
4446f61504 Add Python3 victoria unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for victoria.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Id9ddd06758e69a8397c052da7df653b8ab71d339
2020-04-30 08:04:30 +00:00
1f69856e5f Update master for stable/ussuri
Add file to the reno documentation build to show release notes for
stable/ussuri.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/ussuri.

Change-Id: I8fea742e6abb069713dedcea62c230903cb1ff99
Sem-Ver: feature
2020-04-30 08:03:53 +00:00
Zuul
07103112a1 Merge "[k8s] Build helm-client containers v2.16.6 and v3.2.0" 2020-04-29 11:48:55 +00:00
Bharat Kunwar
8a35cba25c [k8s] Build helm-client containers v2.16.6 and v3.2.0
Use buster-slim base image which is the latest stable [0].

[0] https://www.debian.org/releases/index.en.html

Story: 2007514
Task: 39525

Change-Id: I1ff8224cf064b7138f8868b2ac17710014f1e988
2020-04-29 10:10:21 +00:00
Zuul
d695846427 Merge "[ci] Use magnum-tempest-plugin-tests-api" 2020-04-29 10:02:44 +00:00
Zuul
ac2208a8ea Merge "Scrape traefik and autoscaler metrics" 2020-04-29 08:23:16 +00:00
Zuul
1260c8185b Merge "[k8s] Expose autoscaler prometheus metrics" 2020-04-29 08:21:50 +00:00
Zuul
6ad146a42b Merge "Use ensure-* roles" 2020-04-29 08:19:40 +00:00
Zuul
bed8de450b Merge "[ci] Use Fedora CoreOS image for devstack plugin" 2020-04-29 07:56:37 +00:00
Zuul
a485e8a81e Merge "k8s: Use the same kubectl version as API" 2020-04-28 23:48:48 +00:00
Zuul
7b9e074ee9 Merge "k8s: Add admin.conf kubeconfig" 2020-04-27 23:29:15 +00:00
Zuul
e87b6e632e Merge "[k8s] Fix no IP address in api_address" 2020-04-27 07:44:13 +00:00
Spyros Trigazis
b0de93d629 hca: Add hostname command
hostname is 28k and has no dependencies.
Add it as a convenient command.

Change-Id: I979431e849d208d257731b275d716dbffdb0845f
Signed-off-by: Spyros Trigazis <spyridon.trigazis@cern.ch>
2020-04-24 19:12:54 +02:00
Spyros Trigazis
40f40b7772 k8s: Use the same kubectl version as API
In the heat-agent we use kubectl to install
several deployments, it is better if we use
matching versions of kubectl and apiserver
to minimize errors. Additionally, the
heat-agent won't need kubectl anymore.

story: 2007591
task: 39536

Change-Id: If8f6d84efc70606ac0d888c084c82d8c7eff54f8
Signed-off-by: Spyros Trigazis <strigazi@gmail.com>
2020-04-24 17:11:13 +00:00
Spyros Trigazis
5b10eb7001 k8s: Add admin.conf kubeconfig
A proper kubeconfig is required since 1.18 [0],
instead of talking to apiserver's default
insecure port :8080.

[0] https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.18.md#kubectl

story: 2007591
task: 39535

Change-Id: I15ef91bbec20a8037d47902225eabb3082579705
Signed-off-by: Spyros Trigazis <strigazi@gmail.com>
2020-04-23 12:42:19 +00:00
Spyros Trigazis
3e7924ffda Deploy traefik from the heat-agent
Use kubectl from the heat agent to apply the
traefik deployment. Current behaviour was to
create a systemd unit to send the manifests
to the API.

This way we will have only one way for applying
manifests to the API.

This change is triggered to adddress the kubectl
change [0] that is not using 127.0.0.1:8080 as
the default kubernetes API.

[0] https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.18.md#kubectl

story: 2005286
task: 39522

Change-Id: I8982bd4ec2ab69f35938970d604c16ac5e62e1fa
Signed-off-by: Spyros Trigazis <spyridon.trigazis@cern.ch>
2020-04-22 14:32:08 +00:00
Diogo Guerra
2ca71f4bc9 Scrape traefik and autoscaler metrics
* Scrape metrics from traefik proxy
* Scrape metrics from cluster autoscaler

task: 37574
story: 2006765

Change-Id: Iae2217647783d12bb6bdb58331caeba2183ca2f9
Signed-off-by: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch>
2020-04-22 13:54:13 +02:00
Diogo Guerra
4cb8837d21 [k8s] Expose autoscaler prometheus metrics
Expose autoscaler prometheus metrics on pod
port/portName name metrics (8085).

task: 37574
story: 2006765

Change-Id: Ieedd0f60625eb5a5ce50a3b4e7344cae37c377bf
Signed-off-by: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch>
2020-04-22 12:46:39 +02:00
Feilong Wang
5dfb0d94c0 [k8s] Fix no IP address in api_address
This is a corner case that when floating_ip_enabled=False,
master_lb_enabled=True,master_lb_floating_ip_enabled=False in
cluster template, but setting floating_ip_enabled=True when
creating the cluster. The current logic is not correct which
resulted in missing IP address in the api_address of cluster.

Task: 39519
Story: 2007586

Change-Id: I5e2ca270c4f4e2c48d067cd5b8f6609c037cb6e5
2020-04-22 21:58:28 +12:00
Bharat Kunwar
76502dd57d [ci] Use magnum-tempest-plugin-tests-api
This commit drops magnum-functional-api (which uses legacy-dsvm-base due
to be removed in the V cycle) in favour of
magnum-tempest-plugin-tests-api defined in the magnum-tempest-plugins
repo (which uses the new devstack-tempest job recommended for running
Tempest tests in Zuul v3) for API Tempest tests.

Story: 2007561
Task: 39443

Depends-On: https://review.opendev.org/#/c/721077/

Change-Id: I91446f8773ecec1286c9913c3fff688bd8d9a087
2020-04-21 19:52:32 +00:00
Bharat Kunwar
9fedb8fe43 [ci] Use Fedora CoreOS image for devstack plugin
Story: 2007561
Task: 39478

Depends-on: https://review.opendev.org/#/c/721213/

Change-Id: I05caa60fd0180e20003f876fd439b6f421e50ff3
2020-04-21 19:52:14 +00:00
Zuul
69225341a8 Merge "Fix ServerAddressOutputMapping for private clusters" 2020-04-21 12:30:20 +00:00
Zuul
8ceafffd26 Merge "Ussuri contributor docs community goal" 2020-04-21 09:39:20 +00:00
Feilong Wang
9494a35b8d Ussuri contributor docs community goal
Task: 38534
Story: 2007236

Change-Id: Idda1799b3d00b9e0b2b85f1fa5cb5455abe7b1f2
2020-04-21 00:42:46 +00:00
Zuul
7c4fb32189 Merge "[k8s] Introduce helm_client_tag label." 2020-04-19 22:16:06 +00:00
Zuul
74bfcca3b9 Merge "[k8s-fcos] Bump up default versions to v1.18.x" 2020-04-19 01:12:20 +00:00
Bharat Kunwar
e8ef675a98 [k8s-fcos] Bump up default versions to v1.18.x
- kube_tag: v1.18.2
- autoscaler_tag: v1.18.1
- cloud_provider_tag: v1.18.0
- cinder_csi_plugin_tag: v1.18.0
- k8s_keystone_auth_tag: v1.18.0
- magnum_auto_healer_tag: v1.18.0
- octavia_ingress_controller_tag: v1.18.0

Story: 2005380
Task: 39442

Change-Id: I027629d02a798f510e00e098a45a04e8f78b844e
2020-04-17 13:18:05 +00:00
Diogo Guerra
06659759f1 [k8s] Introduce helm_client_tag label.
Added label helm_client_tag to allow user to specify helm client
container version.

Task: 39294
Story: 2007514

Change-Id: I5d1cf238511951ac4a1849ca66b74dc747865391
Signed-off-by: Diogo Guerra <diogo.filipe.tomas.guerra@cern.ch>
2020-04-17 12:52:08 +00:00
Zuul
dc01c99c70 Merge "fcos-kubelet: Add rpc-statd dependency" 2020-04-17 10:50:50 +00:00
Zuul
8768888b0e Merge "[k8s] Support updating k8s cluster health status" 2020-04-17 10:50:45 +00:00
Zuul
44257fa7a9 Merge "[k8s] Expose traefik prometheus metrics" 2020-04-17 09:57:41 +00:00
Xinliang Liu
6a37621732 Remove nodeSelector for flannel DaemonSet
According to upstream kube-flannel.yml PR[1], node-selector introduced
is because flannel image doesn't support multiarch manifestes. Which
means that it can't specify flannel:version-arch images in the same
daemonset for every arch platform. To make every arch platform can
deploy flannel upstream add one daemonset with nodeSelector per arch.

But in magnum flannel image tag is configurable via label, thus every
arch platform can use one daemonset to deploy by specify corresponding
flannel image tag. So nodeSelector is unnecessary here.

[1]: https://github.com/coreos/flannel/pull/989

Change-Id: I97e78e8d77973e03eeff598b212287945ca00190
Task: 39453
Story: 2007026
2020-04-17 03:22:12 +00:00
Zuul
1aa3959883 Merge "Build new autoscaler containers" 2020-04-16 09:00:56 +00:00
Diogo Guerra
0732251db3 [k8s] Expose traefik prometheus metrics
Task: 37572
Story: 2006765

Change-Id: I7d93093008eb4754ee7c11251716795b24cecdf1
2020-04-15 13:05:34 +00:00
Bharat Kunwar
0e58e267d1 Fix ServerAddressOutputMapping for private clusters
Following changes were introduced in Train release:

- Allow setting network, subnet and FIP when creating cluster
  (I11579ff6b83d133c71c2cbf49ee4b20996dfb918)
- ng-7: Adapt parameter and output mappings
  (I45cf765977c7f5a92f28ae12c469b98435763163)

The first change allowed setting cluster.floating_ip_enabled but the
second change introduced ServerAddressOutputMapping conditional on
cluster_template.floating_ip_enabled which leads to an edge case where
if floating_ip_enabled is overriden to False when a cluster is created
when it is True in the cluster_template scope, we see this error in the
conductor logs: ValueError: Field `node_addresses[0]' cannot be None and
the cluster remains forever stuck in CREATE_IN_PROGRESS status despite
Heat reaching CREATE_COMPLETE. This commit addresses this issue by
correctly referring to the cluster.floating_ip_enabled.

Change-Id: Ic83f625178786d4750a66dd6dd6db35c05bc0272
Story: 2007550
Task: 39401
2020-04-15 08:07:56 +00:00
Spyros Trigazis
1ea8db948c fcos-kubelet: Add rpc-statd dependency
To mount nfs volumes with the embedded volume
pkg [0], rpc-statd is required and should be
started by mount.nfs. When running kubelet
in a chroot this fails. With atomic containers
it used to work.

[0] https://github.com/kubernetes/kubernetes/tree/master/pkg/volume/nfs

story: 2005201
task: 39403

Change-Id: Ib64efe7ecbe9a24e86fa9d9a35a4d90c0e8bbf2e
Signed-off-by: Spyros Trigazis <strigazi@gmail.com>
2020-04-14 15:02:41 +00:00
Bharat Kunwar
39ccad9cc4 Build new autoscaler containers
Versions: 1.16.5, 1.17.2 and 1.18.1

Story: 2007465
Task: 39152

Change-Id: Ie70e5ba38799c3da17ec9a34f6990f8c2d853732
2020-04-14 09:05:00 +00:00
vass
c09b7dede5 Use ensure-* roles
The install-* roles in zuul-jobs have been renamed to ensure-*, follow
the rename.

Change-Id: Ie42c76f3659f4944435b2227dfea9e11c0607587
2020-04-12 10:45:14 +02:00
Zuul
01629398c6 Merge "fix: Open udp port 53 on master to support CoreDNS" 2020-04-10 00:25:12 +00:00
Zuul
3b9f06726d Merge "Add selinux_mode label" 2020-04-10 00:09:32 +00:00
Bharat Kunwar
2723d20af1 fix: Open udp port 53 on master to support CoreDNS
In Icc4aa1f61f3b3937e5d9cc35dbe01c63c18ba3cd, we only opened tcp port 53
but services running on workers are unable to talk to CoreDNS service
running on master nodes when using Calico v3.13.1 without also opening
udp port 53. This patch addresses this issue.

Task: 39347
Story: 2007256

Change-Id: Ied4196e6f1ddcb131492b48fb57ff0ba9063bbf4
2020-04-09 21:56:09 +00:00
Feilong Wang
63e80c3108 [k8s] Support updating k8s cluster health status
The original design of k8s cluster health status is allowing
the health status being updated by Magnum control plane. However,
it doesn't work when the cluster is private. This patch supports
updating the k8s cluster health status via the Magnum cluster
update API by a 3rd party service so that a controller (e.g.
magnum-auto-healer) running inside the k8s cluster can call
the Magnum update API to update the cluster health status.

Task: 38583
Story: 2007242

Change-Id: Ie7189d328c4038403576b0324e7b0e8a9b305a5e
2020-04-09 16:59:26 +12:00
Zuul
598e7dd3dd Merge "Cleanup py27 support" 2020-04-07 06:41:02 +00:00
Spyros Trigazis
dd4b79263f Support calico v3.3.6
For backwards compatibility support calico
v3.3.6 as well. The control flow is managed
in the heat templates.

Story: 2007256
task: 39280

Change-Id: Id61dbdaf09cde35fdd532e3fff216934c1ef4dff
Signed-off-by: Spyros Trigazis <spyridon.trigazis@cern.ch>
2020-04-06 13:19:46 +00:00
Andreas Jaeger
7ad3ef18c0 Cleanup py27 support
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
  know about the requirement
- Remove obsolete sections from setup.cfg:
  * Wheel is not needed for python 3 only repo
- Update classifiers
- Update requirements, no need for python_version anymore

Change-Id: I705a40cb3a19e16641a2b9de6891ab72fe2b98f0
2020-04-05 09:45:17 +02:00
Zuul
0fffdd1956 Merge "fcos: Upgrade default flannel_tag to v0.12.0-amd64" 2020-04-01 10:45:09 +00:00
Zuul
3f7aaccc15 Merge "fcos: Upgrade etcd to v3.4.6, use quay.io/coreos/etcd" 2020-04-01 10:06:31 +00:00
Zuul
7dc2270a05 Merge "Update hacking for Python3" 2020-04-01 09:52:05 +00:00
Bharat Kunwar
4a1c6eb17c fcos: Upgrade default flannel_tag to v0.12.0-amd64
Additionally, update the docs related to flannel.

Story: 2007476
Task: 39185

Change-Id: I2cdaeb4a26818bbd65e6409da34abf5555026fa5
2020-04-01 08:40:21 +00:00
Bharat Kunwar
d3984dd4c2 fcos: Upgrade etcd to v3.4.6, use quay.io/coreos/etcd
The tags on quay.io/coreos/etcd follow the same format as
https://github.com/etcd-io/etcd/releases compared to k8s.gcr.io which
modifies the canonical version tag by dropping the "v" prefix.

Story: 2007475
Task: 39184

Change-Id: If44eb55a68c13f8e1706242c099578ed1f264d62
2020-04-01 08:21:17 +00:00