Commit Graph

124 Commits

Author SHA1 Message Date
Chris Wedgwood
6706735611 Spelling fixes
Change-Id: Iba49ab54f7df0fd73f78141f139a479c882c2216
2017-09-06 19:20:35 +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
37b099e320 Neutron: Move OpenVSwitch into its own chart
This PS moves OpenVSwitch into its own chart - decoupling it from neutron,
both making it easier to deploy and use seperately and permitting
use of other network backends.

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

Change-Id: Ifd637136b950ddf1ba1c26ce76c9bbdeafc232c3
2017-08-30 16:01:29 +00: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
7cfd182929 Security: Make policy fully configurable via helm values
This PS moves the policy.json to be fully driven by gotpl,
allowing full configuration without editing the template.

Nova and Cinder are addressed in the seperate patchsets:
 * https://review.openstack.org/#/c/498215/
 * https://review.openstack.org/#/c/498216/

Change-Id: Ia2be5fb4e460d41034fdadbbefc1e48d0869e023
2017-08-26 17:50:22 -05:00
Jenkins
85b6716c49 Merge "Fix for appending custom volumes" 2017-08-25 15:00:10 +00:00
Jenkins
d04e69c438 Merge "Enable keystonemiddleware cache encryption" 2017-08-25 01:56:10 +00:00
Mateusz Blaszkowski
fc9677f718 Fix for appending custom volumes
Before this change, there was no ability to append custom volume for
any of the services. The reason was a missing new line character, so
the templates were formatted like this:
- name: pod-shared
  mountPath: /tmp/pod-shared - mountPath: /tmp/test2
  name: test2

Apart from that, for some of the services (mostly job-bootstrap) invalid
indentation for custom volumes (and their mounts) was set.

Closes-Bug: 1712745
Change-Id: Ib57c76a34c0e28ad9e67ea47d1fc250b17711a42
Signed-off-by: Mateusz Blaszkowski <mateusz.blaszkowski@intel.com>
2017-08-24 06:24:47 -04:00
Pete Birley
4740486f63 Security: Container user and rootwrap for neutron
This PS adds user control for the service user and rootwrap for
the Neutron chart.

Change-Id: Ibefa3e76c9e64427e97cdcbb93a11d2b2125e171
2017-08-24 05:26:30 +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
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
ff8744a9b9 Licence: Remove licence header from rendered files
This PS removes the licence header from rendered output from tiller,
significantly reducing the configmap size of charts deployed to the
cluster.

Change-Id: I5d1b246f2068f3b83bf59ba79fe8b88bbc9a6161
2017-08-07 17:16:13 -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
8f8a80019a Jobs: Add labels to all jobs
This PS adds labels to all jobs in OpenStack-Helm, allowing them to be
found by label searches. This makes management of large clusters using
tools like Armada easier.

Change-Id: I49b2cb7a94fab96958f187ca11e2c2a0c80ff843
2017-08-05 20:17:12 +00: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
Jenkins
956cf735d1 Merge "Fix OVS tunnel interface grep" 2017-07-13 13:28:19 +00:00
Matt McEuen
6b917043c6 Fix OVS tunnel interface grep
Hardened the grep/awk that extracts the default interface for use
as the tunneling interface.  The command failed on multiple
Ubuntu machines as-was.

Change-Id: Ib7d0a8e55e67391d6cb7a58910cfc2ed617a4cbc
2017-07-12 22:52:29 -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
Jenkins
feabb5038c Merge "Fix file permission and readOnly flag" 2017-07-09 19:30:38 +00:00
Tin Lam
670a78bcbe Fix file permission and readOnly flag
This patchset enforces stricter file permission on *-etc configmap and
sets readOnly flag to true in a number of charts.

Change-Id: I233689a5d56dd1352e0d81997a94b4cdd6bed5d2
Signed-off-by: Tin Lam <tin@irrational.io>
2017-07-08 13:24:14 -05:00
Pete Birley
ab52a43425 Neutron: Add bootstrap job
This PS adds a bootstrap job to Neutron, in the same format as
Keystone and other services.

Change-Id: Ice724be9c8b20b27aaddf528f6cc0e848793c1c1
2017-07-07 04:36:05 +00:00
Pete Birley
fecac47b5a Cleanup: fix neutron db-job manifest and rally pod permissions.
This PS removes the duplicate command key in the Neutron DB-Job
manifest and corrects the rally pod permisions.

Change-Id: I97b9a9ab54609696ac763f3a319f6df78fe5d73c
2017-07-06 14:56:09 -05: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
Jenkins
2d7fe938c0 Merge "Fix MultiOpt options in gen-oslo-openstack-helm" 2017-07-05 13:46:14 +00:00
Jenkins
6231dde5c1 Merge "Introduce rolling updates for daemonsets" 2017-07-04 22:17:06 +00:00
Michał Dulko
3d732ce4d0 Enable oslo.cache for Neutron metadata agent
Neutron metadata agent can use oslo.cache to cache some requests to
neutron-server. As we have memcached already in place, we can enable
that feature. This commit does so.

Change-Id: I4ec1e7d22ed6bb54359dd5b6a80bc42222e59d00
2017-07-04 17:56:17 +02:00
Michał Dulko
9eaa08678c Fix MultiOpt options in gen-oslo-openstack-helm
gen-oslo-openstack-helm generated configuration file templates in
incorrect form, causing setting mulitple values in Values.yaml to
produce something like:

  foo=barfoo=baz

This commit fixes this in the generator and updates config file
templates to generate configs correctly:

  foo=bar
  foo=baz

Change-Id: Iea661dcf1710987b2e111d7141ba888f01c44a50
Closes-Bug: 1699581
2017-07-04 17:26:06 +02:00
Pete Birley
c5bbc97ab7 Soft pod anti-affinity for all pods
This PS adds soft anti-affinity to all pods in OS-H. By doing so
resiliancy is improved by attempting to ensure that pods are created
on seperate nodes.

Change-Id: I0c1092498f7a1e44218ef785ca3f73fa9f49819c
2017-07-03 14:15:40 -05: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
Chris Wedgwood
1633197fda Merge ovs 'ensure' logic into the caller
Rename ml2.ovs.auto_bridge_add to network.auto_bridge_add

Change-Id: Idf0e746df8b91cbbf89373d1516108ce2163083c
Co-Authored-By: Artur Korzeniewski <artur.korzeniewski@intel.com>
2017-06-26 15:51:44 +00:00
Pete Birley
be7ed2b5ab Remove some orphaned values in glance and neutron.
Some unused values were present in glance and neutron that were left
over from the early development of OSH this PS removes them.

Change-Id: I5dbbb1d6e1262e4c06dd6c083724fd213838e5b7
2017-06-23 04:38:13 +00:00
Pete Birley
653f7ed3e4 Neutron: Helm test functionaility using Rally
This PS adds 'helm test' functionality using Rally to Neutron

Change-Id: I6e89aca1870704368b4dc1f8ad93f8ba563002c1
Partial-Implements: blueprint implement-helm-test-for-charts
External-Tracking-Id: OSH-89
2017-06-22 15:51:27 -05:00
Jenkins
06b08eb714 Merge "Remove duplicate oslo_db entry in Neutron values" 2017-06-20 16:08:39 +00:00
Darla Ahlert
7ce9cbe3d2 Remove duplicate oslo_db entry in Neutron values
Change-Id: I9b0563cb304d6cd4bf0fbb1d4be3ccacf2ec2f46
2017-06-20 09:39:45 -05: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
Pete Birley
548f3f0854 Neutron: Move ovs-agent setup to init container
This PS moves the Neutron OVS agent setup to an init container.

Change-Id: Ib56e7f35cfc40ba617bd2f895d39efa8ef2849ea
2017-06-12 17:07:35 +00:00
Pete Birley
81aef1ecea Configmaps: set default mode of files in *-bin configmaps to +x
This PS sets the default modetype of mounts from *-bin configmaps
to 0555, and removes the then unnecessary commands from the manifests.

Change-Id: I93ce0facb06affdf362a58f8520e69ba94ea3034
2017-06-12 00:22:30 -05:00
Steve Wilkerson
161170bf96 Move init containers from annotation to official object
With 1.6, init containers are officially part of the kubernetes
API.  This changes the format of the helm template for the
entrypoint container from json to yaml, and updates the
charts accordingly.

Co-Authored-By: Pete Birley <pete@port.direct>

Change-Id: I569566ce4b031d107af2d38483040a26210bec45
2017-06-09 16:31:53 -05:00
Pete Birley
0df7427dc4 Refactor start scripts, to support graceful termination
This PS add Barbican support, and moves all potentially container
specific logic into the service start script from the api manifests.

Also fixes a permissions issue with the nova-api, which incorrectly
had the NET_ADMIN capability.

Change-Id: I18fc1ea5d7aa70ea7dabb829361a3da57e905100
2017-06-05 17:37:22 -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