71 Commits

Author SHA1 Message Date
Pete Birley
486274bc94 Nova: Move Neutron credentials to endpoints in values.yaml
This PS moves the neutron credentials from the config section
of the values.yaml to the endpoints section, seperating them from
the service configuration.

Change-Id: I548148449f56e4eea92669ad8e98e3eff1ca7b27
2017-09-29 02:51:00 +00:00
Steve Wilkerson
ca0cb858a7 Add support for nova vm migration
Adds ability to perform vm migrations

Change-Id: Iba10582346379f624e6a409f4f3018eead3aa7f6
2017-09-22 15:36:42 -05:00
Pete Birley
e3a6a4166d Nova: remove oslo-genconfig
This PS removes the modified oslo-genconfig from nova.

Partially implements: blueprint remove-pregenerated-config-templates

Change-Id: I65575ba5d78429b9c1a3984c76aa26757d5fd6e2
2017-09-21 14:52:04 -05:00
Jenkins
ff94785f81 Merge "Remove some unused declarations" 2017-09-06 21:28:41 +00:00
Chris Wedgwood
0754f6f19a Remove some unused declarations
Change-Id: I10239c43c7dde2fe30a0ddbb290229c84b23e7a6
2017-09-06 16:55:18 +00:00
Pete Birley
b120667031 Endpoint lookups: fix typo in overrides
This PS fixes a typo in the endpoint lookup function and input.

Change-Id: I6ff6d68bf82e1e1f70438a7017f4e1a6df7f59a7
2017-09-06 11:15:54 -05:00
Artur Korzeniewski
ca05f7ac3c Neutron and OVS: add full name to ovs and lb daemonsets
Add neutron prefix to lb-agent and ovs-agent.
Rename ovs-db and ovs-vswitchd to openvswitch-db and openvswitch-vswitchd.

Change-Id: Iad69b0c00d17e59a9f0eb66003e4512ccaeab128
2017-09-04 13:58:59 +02:00
Pete Birley
bede94c835 Endpoint lookup namespace and fqdn support
This PS adds namespace and fqdn support to endpoint lookup functions,
it also permits over-riding of the puplic endpoint for ingress.

Change-Id: Ib61c5c00a214d75fe85fbffe9080c2ae88bd8cb9
2017-08-31 19:06:33 +00:00
Pete Birley
0252ca776e Nova: Move Libvirt into its own chart
This PS moves libvirt into its own chart - decoupling it from nova,
both making it easier to deploy and use seperately and permitting
use of other compute backends.

Partially implements: blueprint split-nova-and-neutron-infra

Change-Id: I06237157244c3cdb5503eafa01229d061b1614f0
2017-08-29 23:50:08 -05:00
Jenkins
38cc836bab Merge "Neutron: add linuxbridge daemonset and config script" 2017-08-29 13:43:21 +00:00
Artur Korzeniewski
aaedb4a150 Neutron: add linuxbridge daemonset and config script
Adding daemonset for Linux bridge. Using node selector
"linuxbridge enabled".

network.backend added in neutron/values.yaml to support scenario for
different SDNs using the same networking software, like OVS is used
for reference Neutron L2 agent, ODL, OVN and SONA. The other option for
network.backend can be linuxbridge and calico.
network.backend impacts configuration of DHCP, L3 and metadata agents.
Those agents are dependent on ovsdb_connection flag (officially it is
placed in openvswitch_agent.ini file).

Added daemonset_lb_agent flag in manifests section. Currently
OVS and LinuxBridge L2 agents can be turned on/off to be deployed.
OVS L2 agent and OVS as a network virtualization SW can be deployed
independently.

Removed conf.neutron.default.neutron.interface_driver, since it was not
used anywhere.

Marked places in neutron/values.yaml where changes are needed in order
to use linuxbridge for:
- neutron.conf interface_driver
- ML2 mechanism driver
- dhcp and l3 agents interface_driver

Added example of neutron values overrides in:
tools/overrides/mvp/neutron-linuxbridge.yaml

Change-Id: I7cdcfaa9a73af392a0d45f7df29b7b3ae3cc4c76
Implements: blueprint support-linux-bridge-on-neutron
2017-08-29 11:51:42 +02:00
Pete Birley
ceb30e8cc7 Jobs: Consoloate on heat-engine for admin jobs where possible.
This ps moves to use a container sultaible for use as the heat engine
for all possible admin jobs - it is lighter than the kolla-toolbox image
and makes it easy to swap out to other image sets. This is as the heat
engine container should contain the openstack client (with all required
libs for the cloud) and the oslo_db supporting libs required by the db
management jobs, as well as the oslo_messaging libs required for future
rabbitmq management expansion.

Change-Id: I5451c15c8fb49c85b4f254cc60156420bee2efea
2017-08-29 04:34:26 +00:00
Pete Birley
05ab27bff9 Nova: Make policy fully configurable via helm values
This PS moves the nova policy.yaml to be fully driven by gotpl,
allowing full configuration without editing the template.

Change-Id: I0af8693df8b54486e2ba3dbe9eaca8d718d7d022
2017-08-28 10:18:16 -05:00
Pete Birley
54599a8fb6 Security: Container user and rootwrap for nova
This PS adds user control for the service user and rootwrap for
the Nova chart.

Change-Id: I3012e2e83e5a44c7093049b68b3d89d4c2c1ed26
2017-08-28 14:49:43 +00:00
Pete Birley
0251c099ba Nova: Support Cinder Volume Attachement using Ceph Backend
This PS enables cinder volume attachment for nova when used with ceph.

Change-Id: I9772f38fb3a1a9af26bd92ee18a651d3372de64c
2017-08-25 14:07:34 -05:00
Jenkins
d04e69c438 Merge "Enable keystonemiddleware cache encryption" 2017-08-25 01:56:10 +00:00
Pete Birley
1fd7f66783 Helm-Toolkit: Configmap templater
This PS adds a configmap teplater helper to helm-toolkit. It makes it
simpler to write consistent charts that supports over-riding of all
values.

Change-Id: I9a587999859ea02802485eb25a3f0ebec8c712a8
2017-08-23 08:06:38 -05:00
Jenkins
89a0c1f8f7 Merge "Nova: Break out NoVNC assets from the proxy process" 2017-08-22 22:38:42 +00:00
Pete Birley
2114e907bf Nova: Break out NoVNC assets from the proxy process
This PS seperates the NoVNC assets from the container serving the
NoVNC Proxy process - meaning images other than kolla or those
built from disto packages can be used without modification.

Change-Id: I8b363db9d4166ae2d5e85d135e488402ffb14f41
2017-08-21 00:13:44 +00:00
Dae Seong Kim
aacd11e361 Add Tempest script in helm test framework
Now, openstack-helm support "helm test" function, and It execute rally
container.
Rally also can test Tempest itself, so this fix will be add tempest
test in rally container.

Change-Id: I2c2f684f6583f2a3d9c7279a3d85cb242934e90e
Implements: blueprint add-tempest-in-helm-test
2017-08-16 16:56:10 +09:00
Tin Lam
c35f08c4fa Enable keystonemiddleware cache encryption
This patch set enables keystonemiddleware memcache encryption by providing a
random string key into the service configuration file, and setting the
memcache_security_strategy as ENCRYPT.

Change-Id: Ia030f5414308a29096c644bae70047a323eaffde
2017-08-15 22:47:55 -05:00
Pete Birley
0c75f1ab9c Update DNS policy for pods in host network namespace
This PS updates the DNS policy for pods that run in the hosts network
namespace.

Change-Id: I5ff11985459c967e5248d1ce9f62ebfc578e3afb
2017-08-10 16:43:20 -05:00
Pete Birley
35601e2bd3 Charts: make manifests optional for all OpenStack elements
This PS allows the rendering of manifests to be controlled. It enables
both increased control over deployment when required but also makes
development of a feature easier to target.

Change-Id: I1716e8ee23fe5c53f935bd739ea283bc4a2a9963
2017-08-07 14:59:48 -05:00
Pete Birley
8f9945f6fd Nova: Update bootstrap job
This PS updates the nova boostrap job, both bringing it inline with
other services and also adding the default flavours from Mitaka.
By setting the m1.tiny size to match the upstream it is expected
that the majority of gate failures will be solved - as many of the
VMs in nodepool do not have 20GB of free space on the rootfs.

Change-Id: I767795015422a1b326a6f34b5a3f50bf41a0ca4b
2017-07-29 23:51:47 -05:00
Pete Birley
f30cbcf108 Update pod affinity to allow customisation
This PS updates the pod affinity function to allow customisation by
operators at the point of deployment.

Change-Id: I8b7b2f584e990e068051d9a6d5cc7b1e1adb5aa5
2017-07-28 15:02:47 +00:00
Pete Birley
cbae720d1d Values: Move mounts to pod key
This PS moves the mounts key to be under the pod key in the values.
It brings further consolation of related configuration params to be
nested under common keys across all charts.

Change-Id: If9963e4f8b438847e2fcad3bdd8c0d71ca9ecdd8
2017-07-14 10:44:35 -05:00
Pete Birley
4d066332a7 Values: Move replicas to pod key
This PS move s the replicas key to be under the pod key in the values.
It brings further consolation of related configuration params to be
nested under common keys across all charts.

Change-Id: I420b06debd0a62ba5d83497be43ff6c49c49d339
2017-07-13 23:08:08 -05:00
Pete Birley
20527cb57c Move k8s pod params under common key
This PS moves K8s pod params under a common key.

Change-Id: Ib4e72e82a4f1540fa800c39d0dcc91b286d96c93
2017-07-11 23:28:47 +00:00
Pete Birley
ac06f49849 Unify and normalise K8s Resources and Upgrade Strategy
This PS unifies and normalises Kubernetes resource allocation and
update strategy across all OpenStack-Helm elements.

Change-Id: Ia41fc453cb5191fa447ca6e1aa0f5b431c939dc8
2017-07-06 17:48:16 +00:00
Pete Birley
c221fa5248 Secret and endpoint standardisation.
This PS moves keystone credentials to the endpoints section within
the values.yaml, and also adds a 'secrets' key, allowing standardiation
of secrets and credential management across OpenStack-Helm.

Change-Id: I86a21e625afd822379ac11351603b2c606a3769f
2017-07-05 12:22:04 -05:00
Jawon Choo
478dae3943 add novncproxy deployment on nova chart
This PS adds a novncproxy deployment on nova chart and fixes a bug
about keystone memcached configration.

Change-Id: I44a8571e7da2dc4a431631e6e3a96b16e7242fd3
Closes-Bug: #1698033
Implements: blueprint add-novncproxy
2017-07-05 18:03:30 +09:00
Jenkins
6231dde5c1 Merge "Introduce rolling updates for daemonsets" 2017-07-04 22:17:06 +00:00
Steve Wilkerson
d58059aa7a Introduce rolling updates for daemonsets
Kubernetes 1.6 introduced the ability to declare an update
strategy for daemonsets. As weve made >1.6 a requirement, we
should adopt the ability to update our daemonsets just as we do
with deployments. This brings the daemonset templates in our
charts in line with other patterns developed.

Change-Id: I317560b24d65274b69bec2df4f6225f1255b7ae6
2017-06-29 15:52:52 -05:00
Pete Birley
c0cf2337a2 Ingress controller for public endpoints
This PS provides the framework for Ingress controller based access to
public APIs.

Services covered:
 * Barbican
 * Cinder
 * Glance
 * Heat
 * Horizon
 * Keystone
 * Magnum
 * Mistral
 * Neutron
 * Nova
 * Senlin

Change-Id: I82d55f6ca41859ebed3312ec7d95b353df09e772
Implements: blueprint api-ingress
External-Tracking-Id: OSH-58, OSH-62
2017-06-28 17:37:10 -05:00
Pete Birley
8ef5d94674 Refactor Ceph secret generation
This PS refactors the ceph chart and secret generation process.
The updated chart replaces the existing "bootstrap" chart.
Additionally, Ceph manifests and deployment guides were modified
accordingly.

Change-Id: I6f5bb88fc0f40cfee8865d9dab83859d765e7537
Co-Authored-By: Larry Rensing <lr699s@att.com>
2017-06-27 13:42:03 -05:00
Pete Birley
d69f021e32 Nova: Helm test functionaility using Rally
This PS adds 'helm test' functionality using Rally to Nova

Change-Id: Ie53c42636b58e36c22a9260c67a7981183d741d3
Partial-Implements: blueprint implement-helm-test-for-charts
External-Tracking-Id: OSH-89
2017-06-22 19:00:41 -05:00
Jenkins
e983684c53 Merge "[Nova] Use helm values to set libvirt logging/debugging" 2017-06-22 01:10:45 +00:00
Pete Birley
a7503a7d3f Kubernetes Entrypoint: Lookup service names for dependency checks
The existing entrypoint logic used static names to reolve dependencies.
This prevented the service names, and thus the hostnames of services
being altered. This PS resolves that issue by looking up the service name
from the endpoints specified in the values for a chart.

Partial-Implements: blueprint enhance-entrypoint-dependency-checking
External-Tracking-Id: OSH-21
Change-Id: Ib49490f332f8cd88e98c50d9335dfd314a170936
2017-06-20 08:51:36 -05:00
Chris Wedgwood
c8c1a818b4 [Nova] Use helm values to set libvirt logging/debugging
Use chart values to set control logging.  Reduce the default logging
to warnings and errors.

Change-Id: I52b3c65513a0f3b9de02eff2b1c76ffcb7c1fba2
2017-06-20 05:30:52 +00:00
Pete Birley
c5100307a6 Nova: Add policy.yaml to pods and correct values.yaml
The policy.yaml was not mounted into pods in Nova, or its location
specified correctly in the default values, this PS resolves that.

Change-Id: Ie4d1b8414f626ac4b5fdc232644d5e8a3a99d8bb
2017-06-18 21:57:36 -05:00
Darla Ahlert
c394d22112 Add Graceful Termination to all existing charts
This commit adds graceful termination to all existing charts.
It also adds a setting in the values.yaml file for clarity and
the ability to override if wished.

Change-Id: I42025e4be86d248be467c1d2f0980f864c4d440e
2017-06-05 12:38:26 -05:00
Pete Birley
5e193580ed Pod Disruption Budget: Set default to 0
With pod disruption budget set it is not possible to drain nodes
and perform other expected operations. This PS changes the default
value to 0, restoring the typically expected operation of pods.

Change-Id: I43ef35638c98caee2cf567487173399157000ada
2017-05-31 06:11:58 -05:00
Mark Burnett
de20cbb15d Use the standard Dockerhub MariaDB image
Addresses consistency issues that appear with autoincrement fields in
the existing chart, as demonstrated in [1].  It should allow automatic
recovery of 2 out of the 3 (default) cluster members.

It does not address automatic recovery of a complete shutdown of all
cluster nodes.

[1] https://review.openstack.org/#/c/465977/

Change-Id: I84c86e1862f03a6d381bf219b821ea3636049f0b
2017-05-25 08:56:35 -05:00
rwellum
ee3a370948 Rearranging Nova values to the same order as heat or glance.
The correct order is: 1. Replicas, 2. Lables 3. Images

Change-Id: Ib76dcfc9ad14890f42ad6624817ddb16f1ed16c7
2017-05-24 09:43:52 -04:00
Chris Wedgwood
afb3ba1caa Fix internalURL used by Cinder
Change-Id: I2b2b28bb253206e58e3440f08b0cfe401c714627
2017-05-24 00:21:33 +00:00
Larry Rensing
60aedd9748 Adding pod disruption budget for nova
This PS adds a default pod disruption budget for nova-api-osapi
and nova-api-metadata to ensure at least one replica of each pod
is running.

Change-Id: I5ab626f24b899ed34240731bfe075be1df7228c5
2017-05-18 17:28:39 +00:00
Pete Birley
1ba6ec05b6 Nova: Update volume mount params
This commit update the volume mounts in pods to ensure:
 * Config files and scripts are mounted readonly
 * volume mounts added for bootstrap job

Co-Authored-By: Larry Rensing <lr699s@att.com>

Change-Id: I1e89419858c0f72b705ad9b7968ec01bfaab5740
2017-04-28 19:06:19 +00:00
Artur Korzeniewski
0e25aa5719 Nova chart: libvirt connection uri typo
Correction of libvirt uri, since it contained "connecton" not "connection".

Change-Id: I57d7c3f6b9fd43562cfb7fa9a5cc59e1bdfa8a29
2017-04-24 15:52:21 +02:00
Artur Korzeniewski
1a62ad8bc7 Nova chart: fix nova->neutron API communication
Removing domain_name from nova.conf in neutron section. domain_name and
project_name cannot be declared in the same section in the same time
for keystone auth.
Otherwise the exception is raised:
AuthorizationFailure: Authentication cannot be scoped to multiple targets.
Pick one of: project, domain, trust or unscoped

Change-Id: I55072d3662a9bfeb76725e5f0b4612b68e980605
2017-04-21 15:39:46 +02:00
Pete Birley
72b906882f Move Nova images to Kolla
This PS moves Nova to Kolla produced and published images:
 * This is part of a larger effort to move to a single image source
 * Stackenetes Newton images do not run with the systemd cgroup driver
   in my testing.

Change-Id: I10fff6e9f2977104726c8a2f34090a86e524b661
2017-04-12 18:07:45 -05:00