1030 Commits

Author SHA1 Message Date
Jeffrey Zhang
3d6344d800 Move the keystone_*_url variable from common role to group vars
keystone_*_url are cross role variables. They are used in multi roles.
Move them from the common role to the group vars

TrivialFix

Change-Id: If451823ed7612bfec7bc797ec9dd2597164c6804
2016-08-17 16:53:40 +08:00
Jenkins
c2e578b375 Merge "Add upgrade tasks for Ceilometer" 2016-08-14 14:08:03 +00:00
Ken Wronkiewicz
37b3c8c354 Keystone interface address and memcached override
Note: This should not result in any behavior changes in regular Kolla,
just Kolla-Kubernetes and only when you've overridden stuff in globals.yml

Allows override of interface address and memcached pools, so that
Kubernetes can do the right thing.

There are some significant architectural issues involved in
memcached pooling in the Kolla-kubernetes world.  Avoiding them right
now.

Current working Kolla-Kubernetes globals.yml file, assuming that your
memcached servers are available under the DNS alias "memcached":

api_interface_address: "0.0.0.0"

memcached_servers: "memcached"

keystone_database_address: "mariadb"
keystone_admin_url: "{{ admin_protocol }}://keystone-admin:{{ keystone_admin_port }}/v3"
keystone_internal_url: "{{ internal_protocol }}://keystone-public:{{ keystone_public_port }}/v3"
keystone_public_url: "{{ public_protocol }}://keystone-public:{{ keystone_public_port }}/v3"

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I5126f81da7b4d48001b87f73d58bbbfad658209c
Partially-implements: blueprint api-interface-bind-address-override
2016-08-11 05:33:56 -04:00
Ken Wronkiewicz
99a1662f61 Fix interface address for Neutron-server
Note: This should not result in any behavior changes in regular Kolla, just Kolla-Kubernetes and only when you've overridden stuff in globals.yml

Binds to the api_interface_address variable and uses the keystone and memcached facts we defined in earlier patches.

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I8610f4adaa557a21fedd05601e10f5c308fd7ce3
Partially-implements: blueprint api-interface-bind-address-override
2016-08-11 05:33:32 -04:00
Ken Wronkiewicz
cc4150292c Fix intf address for RabbitMQ and disable cluster for Kube
enable_rabbitmq_cluster is now a "yes" by default but you can set it
to "no" if you want to disable clustering under any circumstances.

The agreement made at OpenStack in Austin was that Kolla-Kubernetes
would concentrate on RabbitMQ and MariaDB without clustering but
with persistent storage and workload migration, then examine how to
do proper distributed functionality as the project progresses, so I
am just following what we'd already agreed upon.

First, it helps us deal with issues of version upgrades without
dealing with clustered version upgrades and the synchronization
thereof.

Second, it provides an alternative model for durability when used in
Kubernetes.  Understand that, if we disable RabbitMQ's clustering,
Kubernetes is still able to re-schedule the queue off of a failed node
in ways that Kolla-Ansible is not.  There are known issues with
RabbitMQ clustering, especially with auto-heal turned on.  For many
small-to-mid-sized clusters, it's going to provide for a better
operator experience to have the known potential for a 30 second blip
after RabbitMQ node failure than it is to have the known potential
for partition and data loss and/or manual operations after you've
turned off auto-heal.

Kolla-kubernetes has already turned off host networking for the
RabbitMQ pod; it's safe to set the interface address in the
Kubernetes context.

The question was asked why don't I just set the RabbitMQ cluster to be
a single instance.  It's unlikely that Kubernetes RabbitMQ with a
PetSet will be clustered in the same declaritive fashion as the
rabbitmq-clusterer plugin. Easier to just disable it and worry about
how to configure the kube-friendly clustered RabbitMQ at a later point
in time.  Furthermore, it's an entirely valid case for many OpenStack
control planes hosted atop Kolla-Kubernetes to accept the possibility
of a 30-60 second blip in lieu of the long and questionable history
of RabbitMQ clustering in production.

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I7f0cb22d29a418fce4af8d69f63739859173d746
Partially-implements: blueprint api-interface-bind-address-override
2016-08-10 09:40:54 -04:00
Jenkins
54c745fc36 Merge "Port with_ loop variable syntax to Ansbile 2" 2016-08-10 06:44:00 +00:00
Jenkins
b649bb7d4a Merge "Remove unused project_yaml parameter from role metadata files" 2016-08-10 05:50:31 +00:00
Jenkins
00c6fa87f7 Merge "Introduce a script to launch ovsdb-server process" 2016-08-10 02:17:55 +00:00
Serguei Bezverkhi
41ec75b567 Introduce a script to launch ovsdb-server process
The reason for introducing this script is to be able
to launch ovsdb-server and initialize it (create external bridge and plug
external interface) in one shot. It is applicable ONLY to Kubernetes environment
and it is required for Kubernetes DaemonSet usage. The behavior in classical
Kolla has not been changed.

TrivialFix

Change-Id: I54897cc2c0f2bcaaf0411822f3409bf96e92833d
2016-08-09 19:03:20 -04:00
Duong Ha-Quang
34975e291e Port with_ loop variable syntax to Ansbile 2
Migrate to full variable syntax in with_ loop
instead of bare variables for:
- ceph
- ceilometer
- glance
- heat
- horizon
- keystone
- mariadb
- memcached
- neutron
- nova
- rabbitmq

Change-Id: Ib925b4ecea47ac758a77739c9c7e140f06933b08
Partial-Implements: blueprint ansible2
2016-08-09 23:23:21 +07:00
Jenkins
88f0fb20dc Merge "Make Cinder access glance in round robin fashion" 2016-08-09 09:59:35 +00:00
Jenkins
0c87d4256a Merge "Fix inconsistencies in git url" 2016-08-09 09:57:04 +00:00
Jenkins
4b735e2bf2 Merge "Make the enable_isolated_metadata and force_metadata to yes in default" 2016-08-09 04:29:08 +00:00
Jenkins
661c6a059f Merge "Change cleanup to destroy as cleanup is a misnomer" 2016-08-09 02:35:43 +00:00
Duane DeCapite
6d45786d59 Change cleanup to destroy as cleanup is a misnomer
The cleanup command in the external API is a misnomer and should
be called destroy.

Change-Id: I083e80699e09bb24266ce1bf549772a5de92a49e
Closes-Bug: 1610364
2016-08-08 13:37:10 -04:00
Jenkins
aa5864fc40 Merge "Fix prechecks of a vip address" 2016-08-08 16:16:42 +00:00
Hiroki Ito
9c69d4b2e0 Fix prechecks of a vip address
In the case of a single node environment without haproxy, the var
"kolla_internal_vip_adress" in global.yml should be the ip address
of the host. However, the prechecks will fail, because this ip
address is used by the host node and is pingable.

This commit fixes the prechecks of a vip address properly.
When the var "enable_haproxy" is "no", this fix will skip prechecks
for a vip address.

Change-Id: I0b752f179d20f82e3d6331047ee0bd802ab99a4b
Closes-Bug: #1570935
2016-08-08 10:03:05 +09:00
Christian Berendt
823cb33aec Remove unused project_yaml parameter from role metadata files
TrivialFix

Change-Id: I7ff752fffe47e9571ea15acdad3edd4835f9e612
2016-08-07 22:18:17 +02:00
Jenkins
06c93471ae Merge "Simplify the Cinder LVM backend" 2016-08-06 18:18:19 +00:00
Robin Naundorf
a7c41a8893 Fix inconsistencies in git url
Github is just a mirror of the OpenStack git-repo.
Changed from Github to OpenStack git url wherever possible.

Change-Id: I7941ef86967de4efe7f23ff9fb11ec86c793901e
2016-08-06 14:21:23 +02:00
Jenkins
d692e4b6f9 Merge "Replace keystone's wsgi config with custom config" 2016-08-06 08:41:08 +00:00
Jenkins
aa1830eb0a Merge "Correct mistral-executor image name" 2016-08-05 07:25:38 +00:00
Jenkins
086cc02e90 Merge "Cleanup images as part of kolla-ansible cleanup" 2016-08-05 03:34:19 +00:00
Jenkins
05f381df6a Merge "Enable central logging without deploying elasticsearch/kibana" 2016-08-05 03:23:43 +00:00
Jenkins
6350b99fad Merge "Volume specification for ironic-api was invalid." 2016-08-04 16:44:11 +00:00
Will Rouesnel
391b069180 Volume specification for ironic-api was invalid.
This prevented deploying ironic-api using kolla.

Changing to a single entry list fixes the problem and allows the deploy to
succeed.

Closes-Bug: #1606702

Change-Id: I98c2b06ab08e3b8afcaeb712be377cb363220283
2016-08-05 00:00:14 +10:00
jackning
1c0ba85d54 Replace keystone's wsgi config with custom config
Ansible's template action supports replacing keystone's wsgi default
config with custom config, it should only add with_first_found param
to config.yml to support this.

Change-Id: Id66302802db9a57188067982ea697f16faa1d8eb
Closes-Bug: #1609655
2016-08-04 03:41:40 -04:00
ZhongShengping
b8657a831f Add upgrade tasks for Ceilometer
Change-Id: I195363ab543f21bc9ac7f0b92d474dc9668ecb7b
Closes-Bug: 1608519
2016-08-04 14:18:34 +08:00
MD NADEEM
76aeb503c8 Correct mistral-executor image name
TrivialFix

Change-Id: I24838b3487baa97d8a03bbde2ecdfb42c29ebb80
2016-08-04 03:54:38 +00:00
Christian Berendt
4cd95dbcc5 Enable central logging without deploying elasticsearch/kibana
This changed introduces 4 new parameters to be able to use an existing
elasticsearch service for central logging.

* elasticsearch_address - address of elasticsearch server
* elasticsearch_protocol - protocol (HTTP/HTTPS) used by elasticsearch server
* enable_elasticsearch - deploy elasticsearch container
* enable_kibana - deploy kibana container

Closes-bug: #1584861

Change-Id: Ia1ff9ae8b6d9929c3826da02693d1e2fc9ea2522
2016-08-03 21:59:51 +02:00
Jenkins
63d448fe2e Merge "External Ceph - Implementation Nova" 2016-08-03 15:29:36 +00:00
Paul Bourke
810b7e460b Cleanup images as part of kolla-ansible cleanup
TrivialFix

Change-Id: I88004f08c75e7d648a615e64d59ccf655b6a1a13
2016-08-03 09:58:24 +00:00
Ken Wronkiewicz
85db94e5b7 Glance interface address, memcached override, and glance override.
Note: This should not result in any behavior changes in regular Kolla, just
Kolla-Kubernetes and only when you've overridden stuff in globals.yml

Allows override of interface address, memcached pools, and glance registry
host so that Kubernetes can do the right thing.

There are some significant architectural issues involved in memcached pooling
in the Kolla-kubernetes world.  Avoiding them right now.

Current working with this Kolla-Kubernetes globals.yml file:

api_interface_address: "0.0.0.0"

memcached_servers: "memcached"

keystone_database_address: "mariadb"
keystone_admin_url: "http://keystone-admin:35357/v3"
keystone_internal_url: "http://keystone-public:5000/v3"
keystone_public_url: "http://keystone-public:5000/v3"
glance_registry_host: "glance-registry"

Two tings to note:
 * This depends on a kolla-kubernetes patch, so that it won't be merged
   until it's safe for glance to bind to 0.0.0.0.  It's OK to bind to
   0.0.0.0 in the Kubernetes world because the network fabric controls
   access.
 * In Kolla-Kubernetes, the global.yml file doesn't do var substitution
   so you have to be explicit about the URLs, otherwise Keystone will
   look like it was provisioned but it won't quite be provisioned right.

Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
Change-Id: Ic87566118a1d4f552748392ff394b9b121c91887
Partially-implements: blueprint api-interface-bind-address-override
Depends-On: I586ce1c6c3300254c4e2a398ff46645df576aeb0
2016-08-02 12:39:26 -04:00
Ken Wronkiewicz
a6d89f44e9 Horizon interface address and memcached override
Note: This should not result in any behavior changes in regular Kolla, just
Kolla-Kubernetes and only when you've overridden stuff in globals.yml

Allows override of interface address and memcached pools, so that Kubernetes
can do the right thing.

There are some significant architectural issues involved in memcached pooling
in the Kolla-kubernetes world.  Avoiding them right now.

Current working with this Kolla-Kubernetes globals.yml file:

api_interface_address: "0.0.0.0"

memcached_servers: "memcached"

keystone_database_address: "mariadb"
keystone_admin_url: "http://keystone-admin:35357/v3"
keystone_internal_url: "http://keystone-public:5000/v3"
keystone_public_url: "http://keystone-public:5000/v3"

Three tings to note:
 * In Kolla-Kubernetes, the service is not using net=host, so a
   0.0.0.0 interface address is totally OK.  That patch has been merged.
 * In Kolla-Kubernetes, the global.yml file doesn't do var substitution
   so you have to be explicit about the URLs, otherwise Keystone will
   look like it was provisioned but it won't quite be provisioned right.
 * In order to not duplicate tons of code, moved the keystone_admin_url /
   keystone_internal_url / keystone_public_url to the common defaults
   from the keystone defaults.

Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I586ce1c6c3300254c4e2a398ff46645df576aeb0
Partially-implements: blueprint api-interface-bind-address-override
2016-08-02 12:39:22 -04:00
Ken Wronkiewicz
492411f267 Fix interface address for memcached atop kubernetes
Change-Id: I0fdbef7c5a2bfc13e01c26d8107c7ad03881b520
Partially-implements: blueprint api-interface-bind-address-override
Depends-On: Ia0e4951c327be01b717aebb86ef4c3a4e7ed170e
2016-08-02 12:39:15 -04:00
Jenkins
5ce4de6b2b Merge "Change config for lbaas service_plugins" 2016-08-02 12:41:50 +00:00
Jenkins
6d6cf1dc4c Merge "Add empty upgrade.yml file to ceilometer role" 2016-08-01 12:59:02 +00:00
liyingjun
fc97ff1021 Change config for lbaas service_plugins
Lbaasv2 is used by default, we should change service_plugins for lbaas
from 'lbaas' to
'neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2'
as suggested in networking-guide:
http://docs.openstack.org/mitaka/networking-guide/adv-config-lbaas.html#configuring-lbaas-v2-with-an-agent

Change-Id: I49a24500403bd2717fcad49742830c6ceaaf210b
Closes-bug: #1608344
2016-08-01 11:48:01 +08:00
liyingjun
ae3d381de7 Fix undefined error for cinder template
openstack_service_worker should be openstack_service_workers

Change-Id: Id4fb54bc1d4363cfa056851d1a32ee56411e7ba8
Closes-bug: #1607482
2016-08-01 10:01:53 +08:00
Michal (inc0) Jastrzebski
5838bd0b3c Enable kolla k8s to override bind api bind address in genconfig
It's good if k8s reuses ansible templates, but we need to abstract all
ansible specific variables to achieve that.

- Implements ansible override variable api_interface_address.
- Adds api_interface_address setting and comments to globals.yml
- Makes changes to mariadb templates to accept this new setting.
- Disabled Galera when api_interface_address==0.0.0.0 in the
  case of Kubernetes.  Otherwise, mariadb fails to start.
- Tested with and without setting to ensure kolla genconfig output
  does not change when setting is disabled or undefined.

Change-Id: Ia0e4951c327be01b717aebb86ef4c3a4e7ed170e
Partially-implements: blueprint api-interface-bind-address-override
Co-authored-by: David Wang <dcwangmit01@gmail.com>
Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Co-authored-by: Kevin Fox <kevin@efox.cc>
2016-07-28 11:59:28 -04:00
Jenkins
c895034030 Merge "Use lbaas alias instead of the class name" 2016-07-28 11:38:27 +00:00
Mathias Ewald
ffafebf87c External Ceph - Implementation Nova
Introduced nova backend selection flag for Ceph and priority if
multiple backends are configured

Add mechanism to deploy arbitrary ceph.conf and keyring files into
nova-compute and nova-libvirt containers

Added documentation

Change-Id: Id010ca9cc2d914e5358ef79edeb600a28220dd4b
Implements: blueprint external-ceph
2016-07-27 20:25:00 +00:00
Jenkins
9aa0acb65b Merge "Consistent external Ceph configuration for Glance" 2016-07-27 19:28:13 +00:00
Jeffrey Zhang
3c3b0288b4 Use a lower number of the workers
Use a lower number of workers rather than the default value, which is
equal to the number of the cpu. Otherwise, in a multi cpu environment,
the number of the processes will very high.

In this PS, we use min(5, << number of cpu >>) as the default worker
count.

Closes-Bug: #1582254
Change-Id: I1c32cf0db794b43b8fb8be18f39190422ca5846f
2016-07-27 16:36:25 +08:00
Jeffrey Zhang
615b0ecb19 Make the enable_isolated_metadata and force_metadata to yes in default
The cloud-init will not work when those two value are no in a
none router environment

Closes-Bug: #1606756
Change-Id: I2436a8a512b3190605ba97c22b350ea0478b7a84
2016-07-27 03:28:15 +00:00
Jeffrey Zhang
5fe1676f72 Use the node_custom_config variable in the config.yml file
Fixed the ceilometer and neutron lbaas agent.

TrivialFix

Change-Id: Ie06826eb358e1a6487f96a978d8f191d79a0e054
2016-07-27 00:22:27 +08:00
Jenkins
27e7f4bc5d Merge "Allow custom configurations for ceilometer" 2016-07-26 16:02:25 +00:00
Jenkins
b2d69946c7 Merge "Pull tgtd image when need" 2016-07-25 12:01:36 +00:00
Jeffrey Zhang
1b0e701402 Simplify the Cinder LVM backend
Remove the unnecessary option in the  group_vars/all.yml file.

* removed some cinder.conf options like volume_backend_name,
  iscsi_helper, iscsi_protocol etc. these value can be configured by
  custom cinder.conf file, no need export as global variables.
* remove meaningless iscsi_ip_addess, which is not used in LVM driver
* force start iscsi relate when enable_cinder_backend_lvm is yes

TrivialFix
Change-Id: Ifcbfdad15e4d68bc5f20fc77e0315a09983ef022
2016-07-25 09:50:12 +08:00
Jeffrey Zhang
618d5d20cc Pull tgtd image when need
TrivialFix

Change-Id: Ib9812d5c4f26f87bba1f42d809caf6c9233aa8f2
2016-07-25 09:48:44 +08:00