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
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
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
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
This commit is the final commit to apply resource-constraints
to all OpenStack services.
Depends-on: I39004f54281f97d53dfa4b1dbcf248650ad6f186
Change-Id: I072d69be9698be54775cb0ae286ea2b6ed78776c
Implements: blueprint resource-constraints
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
Add become to all tasks that use the module "kolla_docker"
Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10
Partial-Implements: blueprint ansible-specific-task-become
- 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
This patchset implements yamllint test to all *.yml
files.
Also fixes syntax errors to make jobs to pass.
Change-Id: I3186adf9835b4d0cada272d156b17d1bc9c2b799
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
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
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
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
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
Like elasticsearch is already deployed by Kolla-ansible it can be used
to store Graph events.
Closes-Bug: #1697638
Change-Id: I1f33e044d33c21516cb3bf8c6fd5bb0745b843c1
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