28 Commits

Author SHA1 Message Date
Mark Goddard
de00bf491d Simplify handler conditionals
Currently, we have a lot of logic for checking if a handler should run,
depending on whether config files have changed and whether the
container configuration has changed. As rm_work pointed out during
the recent haproxy refactor, these conditionals are typically
unnecessary - we can rely on Ansible's handler notification system
to only trigger handlers when they need to run. This removes a lot
of error prone code.

This patch removes conditional handler logic for all services. It is
important to ensure that we no longer trigger handlers when unnecessary,
because without these checks in place it will trigger a restart of the
containers.

Implements: blueprint simplify-handlers

Change-Id: I4f1aa03e9a9faaf8aecd556dfeafdb834042e4cd
2019-06-27 15:57:19 +00:00
Mark Goddard
b123bf6621 Use become for all docker tasks
Many tasks that use Docker have become specified already, but
not all. This change ensures all tasks that use the following
modules have become:

* kolla_docker
* kolla_ceph_keyring
* kolla_toolbox
* kolla_container_facts

It also adds become for 'command' tasks that use docker CLI.

Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
2019-06-06 19:04:58 +01:00
Eduardo Gonzalez
1a682fab28 Support stop specific containers
With this change, an operator may be able to stop a
service container without stopping all services in a host.
This change is the starting point to start
fast-forward upgrades support.
In next changes new flags will be introducced to disable
stop dataplane services during upgrades.

Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef
Implements: blueprint support-stop-containers
2018-11-26 08:07:01 +00:00
Adam Harwell
f1c8136556 Refactor haproxy config (split by service) V2.0
Having all services in one giant haproxy file makes altering
configuration for a service both painful and dangerous. Each service
should be configured with a simple set of variables and rendered with a
single unified template.

Available are two new templates:

* haproxy_single_service_listen.cfg.j2: close to the original style, but
only one service per file
* haproxy_single_service_split.cfg.j2: using the newer haproxy syntax
for separated frontend and backend

For now the default will be the single listen block, for ease of
transition.

Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
2018-09-26 03:30:38 -07:00
Zuul
3e45b2cbec Merge "Use include_tasks instead of include" 2018-07-27 08:16:08 +00:00
Jeffrey Zhang
b51eeed89e Use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ic9d71e1865d1c728890625aeddf424a5734c0a8a
2018-07-25 23:57:22 +08:00
Lakshmi Prasanna Goutham Pratapa
9f0db30fd1 Apply Resource-Constraints to all services.
This commit is the final commit to apply resource-constraints
to all OpenStack services.

Depends-on: I39004f54281f97d53dfa4b1dbcf248650ad6f186
Change-Id: I072d69be9698be54775cb0ae286ea2b6ed78776c
Implements: blueprint resource-constraints
2018-07-23 19:07:05 +05:30
Sylvain Baubeau
d0f85e3fe5 Skydive: Update Keystone and Neutron configuration
Skydive recently splitted the OpenStack configuration:
one for the authentication - on the analyzer - 'auth.keystone'
and an other one for the Neutron probe on the agent
'agent.topology.neutron'.

Change-Id: Idce277d30f01e7a36499b1aee24c54779c54a807
2018-07-03 16:29:28 +02:00
Ha Manh Dong
30be04ea91 Specify 'become' for all tasks that use kolla_docker module
Add become to all tasks that use the module "kolla_docker"

Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10
Partial-Implements: blueprint ansible-specific-task-become
2018-06-08 12:39:24 +00:00
Jeffrey Zhang
c567055176 Fix ansible warning
- rename action and serial to kolla_ansible and kolla_serial
- use become instead of "sudo <command>" in shell
- Remove quota for failed_when and changed_when in rabbitmq tasks

Change-Id: I78cb60168aaa40bb6439198283546b7faf33917c
Implements: blueprint migrate-to-ansible-2-2-0
2018-05-11 02:54:02 +00:00
Eduardo Gonzalez
ea1a1dee0d Verify YAML syntax in gates
This patchset implements yamllint test to all *.yml
files.

Also fixes syntax errors to make jobs to pass.

Change-Id: I3186adf9835b4d0cada272d156b17d1bc9c2b799
2018-03-26 17:56:22 +02:00
Duong Ha-Quang
9965cc46ff Specify 'become' for only neccesary tasks (all other roles)
Add become to only neccesary tasks in roles:

- aodh
- barbican
- bifrost
- ceilometer
- ceph
- chrony
- cinder
- cloudkitty
- collectd
- congress
- designate
- elasticsearch
- etcd
- freezer
- gnocchi
- grafana
- influxdb
- ironic
- iscsi
- karbor
- kibana
- kuryr
- magnum
- manila
- mistral
- mongodb
- multipathd
- murano
- octavia
- panko
- qdrouterd
- rally
- sahara
- searchlight
- senlin
- skydive
- solum
- swift
- swift
- tacker
- telegraf
- tempest
- trove
- vmtp
- watcher
- zun

Change-Id: I6e32d94d4172dd96d09d8609e8a5221ab5586a31
Partial-Implements: blueprint ansible-specific-task-become
2018-03-12 09:37:43 +07:00
Zuul
6092391357 Merge "Skydive: Fix endpoint for keystone (analyser)" 2018-03-11 03:49:00 +00:00
Kevin TIBI
2c8160b17d Skydive: Fix endpoint for keystone (analyser)
Skydive need to use internal endpoint
for join keystone like other service.

Change-Id: I6fd76a035ab316f21d483a28a25bfb94c9ed6b95
Closes-Bug: #1747401
2018-03-09 18:06:33 +01:00
Sylvain Baubeau
84724b5462 Fix skydive agent openvswitch configuration
Change-Id: I1f721a3e9ad3d1a937e05f1d0d53c810b9f2ac39
2018-02-28 15:34:51 +01:00
Kevin TIBI
48b5696bad Fix cluster mode for skydive
If we use multiple skydive analyzers, we need to add this configuration.
Works with one node.

Change-Id: I9b52bf184e269d314e2af2ac80dc45557e3533af
2018-02-06 17:09:47 +01:00
Kevin TIBI
3ddf4d673f Skydive: Fix endpoint for keystone
Skydive need to use internal endpoint for join keystone like other service.

Change-Id: I1f9c5a6d61547c81524c9c04fec48ed720033867
Closes-Bug: #1745949
2018-01-30 07:14:34 +00:00
Zuul
cb888267a9 Merge "skydive: add check task" 2017-12-15 03:05:35 +00:00
Mathieu Rohon
2a7dc48883 skydive: add check task
Change-Id: Ia776017b8e33ef7acf65e603bd87720a620eabf0
2017-12-12 16:05:37 +01:00
Eduardo Gonzalez
bba8c8af43 Add ovs flows to skydive
Skydive does not receive information about ovs flows
Fixed some other issue:
- Add logic to use skydive with odl
- Useless config folder.
- Missing auth parm in analyzer conf.
- Set internal endpoint for connection to keystone.
- Remove stderr which consumes a lot of disk space in the host.

Change-Id: I4f7287f7453a6c5b6b8d77d746281b175d421bed
Closes-Bug: #1711336
2017-10-17 12:53:20 +00:00
Jeffrey Zhang
78c498e786 Using folder rather than file when map files into container
when mapping file from host to container, if the file doesn't exist, it
will become a folder. So map folder rather than file.

Change-Id: I053ff11d32948711c0e4c3241f56d1f6210348ac
Closes-Bug: #1720189
2017-10-14 03:03:22 +00:00
zhuzeyu
5f2d3214fe Modify the conf in skydive
The flowtable_expire, flowtable_update and flowtable_agent_ratio
are no longer use in skydive
Now it uses flow.expire and flow.update

Closes-Bug: #1714900
Change-Id: I4f7724be87997fe9e62e53e3141419709fd4efaf
2017-09-04 17:19:03 +08:00
Jenkins
8d179f7f43 Merge "Skydive: allow access to netns for skydive agents" 2017-08-21 08:19:50 +00:00
Mathieu Rohon
dff4c6b328 Skydive: allow access to netns for skydive agents
This access is now mandatory for skydive.
It allows to add netns info to the topology, and to
attach interfaces to their netns if needed.

Closes-Bug: #1710627
Change-Id: I41cc1fd0fdeae0757a2c4e3e310ec6375da0b8cf
2017-08-17 22:01:52 +02:00
Mathieu Rohon
ae4ab21157 Skydive: enable logging in file
Change-Id: I24f040b686b4dd24b26fc5c5fc5bd5e7ef8a4e70
Depends-on: I464cb4700ca143c1dbac3c20f7402ddb8cda7ce7
2017-08-07 11:11:41 +02:00
Bertrand Lallau
4c04d067f9 Fix skydive analyzer "etcd" config
When an external Etcd server is used, config is generated like following:

etcd:
  client_timeout: 100
  embeded: no
  servers:
    - http://10.200.200.10:2379

"embeded" config has wrong spelling, the good one is "embedded".
Hence default config is used (yes), and external Etcd server is not used.

Closes-Bug: #1697614
Change-Id: I59ac990b0b865c926b53f829bdfea186fc1e10b1
2017-07-04 14:40:30 +02:00
Bertrand Lallau
1463cd0b94 Fix Skydive analyser 'graph' config section
Like elasticsearch is already deployed by Kolla-ansible it can be used
to store Graph events.

Closes-Bug: #1697638

Change-Id: I1f33e044d33c21516cb3bf8c6fd5bb0745b843c1
2017-06-28 15:54:52 +00:00
Mathieu Rohon
43900bc8b6 Add skydive service
This patch introduces the ansible materials to deploy
the skydive service, that can be used to monitor and
troubleshoot networking in an openstack deployment.

Implements: blueprint skydive-service

Co-Authored-By: Nicolas Bouron <nicolas.bouron@gmail.com>
Signed-off-by: Mathieu Rohon <mathieu.rohon@gmail.com>

Change-Id: I53051a1b0c85380416288e17040a398b6efb62c0
2017-06-06 09:09:10 +02:00