"configs" section added to "services" group.
services:
some_service:
service_def: ads
configs:
asd: dsa
If you are mapping some service to some another service,
configs will be inherited as well.
Change-Id: Id64c0bf816a639c0b3dee96e5a72fcf964f9f731
New config section introduced:
services:
keystone-db:
service_def: mariadb
keystone:
service_def: keystone
mapping:
database: keystone-db
Defined services can be used in topology definition.
In this example keystone-db service will be created from mariadb
definition and keystone will use it instead of mariadb.
Change-Id: I274826648390b844d240b7ae545c40264f662452
To support multiple instances of the same service we should
be able to manage their dependencies separately
Change-Id: I3d1951537e49f56ae01b69c0eeef853dcde3b8b9
- Update address function to use "tls" config option and set scheme to 'https'.
Also we check, that service is in list of services, which support TLS.
- Add nginx repo to defaults, because it will be used as a proxy
service.
- Add Runtime error with suggestion to use extra options on cleanup,
when 'tls' is enabled.
Current patch requires patch in fuel-ccp-nginx repository.
Change-Id: I65002b7ff9cfa2faf9d5bce470334aae95334d00
Depends-On: I0660cc3ca2723bc06871b61f859adfed42c0d807
Since k8s 1.5 the keys of configmaps does not allow
the underscore and some others symbols.
So, we cant use the file names as keys like:
file_name.j2 : <file content>
Easy way to fix it is just remove non-(alph/dig)
symbols from file names:
filenamej2 : <file content>
and in a volume definition explicitly set
the filenames using the "path" field:
configMap:
name: exports
items:
- key: filenamej2
path: file_name.j2 <--------
Change-Id: I784f8190147d5a03c0127a2e79805ce78714defe
This patch adds support of actions on existing ccp deployment.
For example actions can run tempest, rotation fernet tokens and so on.
Documentation will be added in another patchset.
Change-Id: If45f1bfb823f2182b0e79ca269c6b0e95066d053
An exception support allows to use some kind of template-level
validation. Its may be helpful for openstack services configs
files templates.
Usage:
{% raise_exception("exception message") %}
Change-Id: I0494b7db9f6dfdd1c49edb65667aef7e62890ddc
Make possible sharing and using of common parts of configs
like keystone, db, messaging, etc as jinja templates (e.g.
via macros) located at 'exports' directories of related
repositories.
Example of usage:
-------------------------------------------------
share rabbitmq configuration as macros:
-------------------------------------------------
# file fuel-ccp-rabbitmq/exports/messaging.j2
{% macro oslo_config() -%}
[DEFAULT]
transport_url=rabbit://{{ rabbitmq.user }}
[oslo_messaging_rabbit]
rabbit_ha_queues = true
{%- endmacro %}
-------------------------------------------------
use it in nova.conf.j2:
-------------------------------------------------
# file fuel-ccp-nova/service/files/nova.conf.j2
[upgrade_levels]
compute = auto
{{ messaging.oslo_config() }} <-----------
[wsgi]
api_paste_config = /etc/nova/api-paste.ini
-------------------------------------------------
During 'ccp deploy' the following occurs:
- loading templates files from /exports/ dirs of avaliable repositories.
- push files to k8s as ConfigMap with name 'exports'.
- adding a container volume '/etc/ccp/macros' with the ConfigMap content
- implicitly adding jinja imports of these templates files to all config
files from /fuel-ccp-xxx/service/* to make possible macros usage.
Change-Id: I4858d62a9713e90c09300f75e01e06a31d3ac0ae
Depends-On: I429656b7eaf6312ee2d27ccaf0cb8802a234e871
This is needed for ODL integration, where we need to set
a manager for OVS in OVS containers in the form of
tcp:<odl_ip_address>:<tcp_port>
Change-Id: I0a2919458770929b922148ce70100b0d71a16d14
This option will be used in `address` function and will be
added to internal urls, so that default address will be
changed: service.ccp -> service.ccp.cluster.local
Change-Id: Iaa7e1172120506e284a0ae7b3c4539af411c8535
* scheme can be added with with_scheme=True flag
* ingress port will be added to the end of the address
Change-Id: I94efeea5a8a0acb67781d3e5a50b0c99601f7b4e
This command will print list of Ingress domains
that need to be resolved in order to make Ingress work
Change-Id: Ie7599d2833fb34facdc66f008fe615a03abd2f33
The patch fix handling attributes usage of a undefined variable like:
{{ messaging.osconfig() }}
{{ messaging.servers[5] }}
Without the patch the cases above will be failed with exception like this:
AttributeError: 'str' object has no attribute '__call__'
because at any action on undefined variable the _fail_with_undefined_error
of SilentUndefined class returns empty string.
Change-Id: Ifa75ccef9bad7aeca13aeccb2470b38b03c1c139
DaemonSet objects will be replaced with Deployment objects,
but one-pod-per-node rule will be provided with pod
antiaffinity and replicas will be set to number of matched
nodes.
Change-Id: Ieb8ac38e8d4426dd66668dbee303592137ce7fa0
We need to run multiple memcached instances for scale and performance
and the best approach for doing it is to support PetSets.
Change-Id: I42c9f82508ed7f42df01b467f45531b67b52b054
* ingress support added
port:
cont: 123
ingress: test
* two config params added:
configs:
ingress:
enable: False
domain: external
Ingress will be disabled by default
Change-Id: Ic621af6930f078eea17fd83fce26b42cd32ecf01
Replace them with storing data from components centrally in global CONF
and using it all over the place.
This allows to centrally control how configs are handled, i.e. if we
decide to not use defaults anymore, we can just remove
load_component_defaults from cli module.
Change-Id: Id58bb43a7a9cbb367719ba59484bf3121ec68379
* "address" function was added to jinja env.
This function takes service name as a parameter and
returns address of the service (<service_name>.<namespace>
currently)
* k8s namespace added to "globals" configmap
Change-Id: I163857fa0c671e21725d7276540f5fbba09619d2
"bool" filter doesn't work when boolean value is provided
and we don't really want to convert strings to bool. We should
explicitly define bool values and validate them with schema
Change-Id: Iff71cfc3c900f1a91368b0318933133997948a62
* Deployment will be updated only if service-related configuration
was changed
* SilentUndefined handler to ignore undefined variables of jinja
templates was added
Change-Id: Iad384ee447268cba44cbfacba81118ec44ca31c3