Now kubernetes image is 1.0.6 and written in so many file.
It is difficult to modify the parameter when we need to change
it.
The patch make the value united a variable.
Change-Id: Ic476ffc90e4379e5a978c96dcc0f745e8d7fddd8
Allow configuring Flannel with 3 different backends
Magnum deploys k8s/swarm over a dedicated neutron private network,
possibly using flannel. Flannel's `host-gw` backend gives the best
performance in this topopolgy (private layer2): no packet processing
overhead, no reduction to MTU, scales to many hosts as well as the
alternatives. The performance difference is significant, see bug for
performance numbers for the 3 backend options.
Note that part of this change involves relaxing the minion IP spoofing
rules to allow traffic from all dynamically-allocated flannel subnets.
This is morally equivalent to what we were doing previously with
encapsulation - only now neutron is able to see the inner IP header
directly.
This patch repurposes the label "flannel_use_vxlan" when the network
driver is flannel.
1. Rename the label flannel_use_vxlan to flannel_backend
2. Redefine the value of this label from "yes/no"
to "udp/vxlan/host-gw"
For example, to create a bay model with flannel as network driver:
--network-driver flannel --labels flannel_backend=host-gw
Other backend options are udp and vxlan.
Co-Authored-By: Ton Ngo <ton@us.ibm.com>
Partial-Bug: #1518605
Closes-Bug: #1516789
Change-Id: I6d2441664ad1baaca14d0e6ff4bcddbe75bee094
This patch follows the CoreOS guidance for kubernetes:
https://coreos.com/kubernetes/docs/latest/getting-started.html
CoreOS doesn't support multi-part mime user-data, so we cannot pack
multiple scripts into one (which we did in Atomic). The major work of
this patch is to wrap each cloud-init script with a systemd unit,
which will be executed one-by-one at the first boot.
Note that this patch only enable a basic CoreOS support. Advanced
features (i.e. TLS, Cinder volume, HA, external load balancing) are
not included. These features need to be ported from Atomic as a
future work.
Partially-Implements: blueprint coreos-k8s-bay
Change-Id: Ib6fe76718ac9b198e0aae57618d3edd98792f15d
1. kubelet can automatically register nodes, so we don't need to
register nodes.
2. When we remove a node from the cluster, the nova instance is
terminated. So the instance has no stop process to run unregister
script. Heat has a spec [1] to add stop deletion policy now. After
this function is merged, I will add unregister script back.
[1] https://review.openstack.org/#/c/243012/
Change-Id: I9b1ea0eda74f9bfba8b87c67c2bd063c62460336
Partial-Bug: #1511570
Rename heat-kubernetes to kubernetes, heat-mesos to mesos,
docker-swarm to swarm in templates. We use heat templates and
no other methods, so I think it is unnecessary to add heat before
coe. kubernetes, mesos, swarm are better than
heat-kubernetes, heat-mesos, docker-swarm.
Change-Id: I257b35c1c4ef55d3172095736f550f2c55c8d81f
Closes-Bug: #1514682
Kubernetes service provides the LoadBalancer feature
This is supported through an OpenStack plugin in Kubernetes code.
Enabling this feature requires configuring the cluster properly for
Kubernetes to interface with Neutron. Kubernetes backend will then
create the Neutron load balancer pool, members, VIP and monitor,
and manage the pool members as pods are added/removed from the
service.
This patch updates the CoreOS heat templates for host name and
network name that match what Kubernetes code expects.
The scripts used by these templates are in the patch for Fedora Atomic
which this patch has a dependency on.
Partially-Implements: blueprint external-lb
Change-Id: I9b927624968a463625f399e0fc5deec2c6173e5f
Seems jenkins default image API version is 2, image v2 version
not support use name as image-show. I tried latest devstack, it
calls v2 API. So in jenkins jobs let's use v1 version now.
In addition, specify the mountpoint parameter on VolumeAttachment
resource. Heat used to allow missing of this parameter but it is
not the case anymore.
Change-Id: I1ae1eb20b9552444f0242a72e958c139209bf1f6
Closes-Bug: #1491314
To easily identify differences between heat templates the templates
should be using the same style and layouts.
Implements: blueprint generate-heat-templates
Change-Id: I96101c0ce6991d145182ecafbcf70fae223f6851
Add a parameter 'minions_to_remove' that lists resources to be
removed on stack update. The value will be passed to removal_policy
of the 'kube_minions' resource group.
Change-Id: I65a9473789742fdf8d05deaa229a6b8e4a9884e3
Partially-Implements: blueprint magnum-smart-bay-scale-down
Also update CoreOS template to match external_network param.
heat-coe-templates: If3f629ecd8c3628818039d7d570874bd483a65f6
Change-Id: I5a381d9b83dfd975d8eff980ada2161a38f8157d
This patch will synchronize code with base kubeminion.yaml
heat-coe-templates: I12e963333ae49303f89456eccc7d5d6228675cdc
Closes-Bug: #1460232
Change-Id: I301491ef96ffc0899bcec6ad2a9a5419ee4d5e69
According to Heat documentation, AWS::CloudFormation::WaitCondition
timeout attribute should be a number but magnum templates use strings:
master_wait_condition:
type: "AWS::CloudFormation::WaitCondition"
properties:
Handle:
get_resource: master_wait_handle
Timeout: "6000"
This change replaces string timeouts ("6000") by number timeout (6000).
Change-Id: I2ad6825899dca551a152c101832c2d38c61a113e
Closes-Bug: #1437234
We are now putting all templates under magnum/templates , so the
original template for k8s should also be moved here.
Change-Id: I44924911705578c1f55fa87df83d0a9a800576b5
Closes-Bug: #1425964
Below are the changes added.
1. Added heat-templates for coreos(micro OS).
2. Removed whitespaces.
Implements part of bp introduce-coreos
Change-Id: Id519c6b32b8bcfcc6c152e68bb988268be308ece
These were the commits pulled from larsks github repo(s)
ef48d0 configure flannel via systemd unit
4e1b7a Merge pull request #11 from hongbin/replacement_policy
02ea53 Set port replacement_policy to AUTO
b06de8 call daemon-reload before starting services
c265dd fix json syntax problem
88a8bd configure cinder volume for docker storage
7ae6e5 default server_image wasn't useful
809d9b updated requirements in README
6595da integrate wait-for-flanneld into docker.service.yaml
cb51ae use flanneld sysconfig for etcd url
6cf8b9 added note re: vxlan backend issues on centos
18d9c6 make portal_net address range a parameter
343bde added license
efb341 add fix for docker/docker#9468
b235dc use less confusing name for flannel json config
08d873 make vxlan support conditional (+ doc updates)
daee9e permit kube api access via services
747d06 add a "minion" default user
b1c36c refactor config using software config support
0d981d use centos atomic host
538f7a remove get-image.sh
Change-Id: Ibd22a2805328ef76ad3996113b10e82cc1a16a9b
Closes-Bug: 1417642
In 20150106 IRC meeting, we decide to add two templates to magnum
for creating bays. One for virt and the other is for ironic.
larsks/heat-kubernetes is for virt and we can merge it first.
Change-Id: I9db19c006db9c9b725a562f532448d447761542f