Add searchlight listener and api services
searchlight-api and searchlight-listener allows to use searchlight service. Change-Id: Idc37e788436299f2ff08956e960d51e66236b9b9
This commit is contained in:
parent
24f1cc784f
commit
6e1933b47e
|
@ -0,0 +1,4 @@
|
||||||
|
FROM {{ image_spec("searchlight-base") }}
|
||||||
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
USER searchlight
|
|
@ -0,0 +1,11 @@
|
||||||
|
FROM {{ image_spec("openstack-base") }}
|
||||||
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
{{ copy_sources("openstack/searchlight", "/searchlight") }}
|
||||||
|
|
||||||
|
RUN useradd --user-group -G microservices searchlight \
|
||||||
|
&& /var/lib/microservices/venv/bin/pip install --upgrade /searchlight \
|
||||||
|
&& mkdir -p /var/lib/searchlight /etc/searchlight \
|
||||||
|
&& cp -r /searchlight/etc/* /etc/searchlight/ \
|
||||||
|
&& chown -R searchlight:searchlight /etc/searchlight /var/lib/searchlight \
|
||||||
|
&& rm -r /searchlight
|
|
@ -0,0 +1,4 @@
|
||||||
|
FROM {{ image_spec("searchlight-base") }}
|
||||||
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
USER searchlight
|
|
@ -0,0 +1,22 @@
|
||||||
|
configs:
|
||||||
|
searchlight:
|
||||||
|
api_port:
|
||||||
|
cont: 9393
|
||||||
|
ingress: search
|
||||||
|
debug: false
|
||||||
|
user: searchlight
|
||||||
|
password: password
|
||||||
|
notification_driver: messagingv2
|
||||||
|
services:
|
||||||
|
# enable only services from fuel-ccp/etc/topology-example.yaml by default
|
||||||
|
nova: true
|
||||||
|
neutron: true
|
||||||
|
glance: true
|
||||||
|
cinder: false
|
||||||
|
# do not enable this service until it has no ccp plugin
|
||||||
|
swift: false
|
||||||
|
|
||||||
|
sources:
|
||||||
|
openstack/searchlight:
|
||||||
|
git_url: https://git.openstack.org/openstack/searchlight.git
|
||||||
|
git_ref: stable/newton
|
|
@ -0,0 +1,97 @@
|
||||||
|
[DEFAULT]
|
||||||
|
use_syslog = false
|
||||||
|
use_stderr = true
|
||||||
|
debug = {{ searchlight.debug }}
|
||||||
|
transport_url = rabbit://{{ rabbitmq.user }}:{{ rabbitmq.password }}@{{ address("rabbitmq") }}:{{ rabbitmq.port.cont }}/
|
||||||
|
|
||||||
|
[api]
|
||||||
|
bind_port = {{ searchlight.api_port.cont }}
|
||||||
|
bind_host = {{ network_topology["private"]["address"] }}
|
||||||
|
|
||||||
|
[service_credentials]
|
||||||
|
auth_plugin = password
|
||||||
|
username = {{ searchlight.user }}
|
||||||
|
password = {{ searchlight.password }}
|
||||||
|
tenant_name = service
|
||||||
|
os_region_name = RegionOne
|
||||||
|
auth_uri = {{ address('keystone', keystone.public_port, with_scheme=True) }}
|
||||||
|
auth_url = {{ address('keystone', keystone.admin_port, with_scheme=True) }}
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
auth_uri = {{ address('keystone', keystone.public_port, with_scheme=True) }}
|
||||||
|
auth_url = {{ address('keystone', keystone.admin_port, with_scheme=True) }}
|
||||||
|
auth_type = password
|
||||||
|
project_domain_id = default
|
||||||
|
user_domain_id = default
|
||||||
|
project_name = service
|
||||||
|
username = {{ searchlight.user }}
|
||||||
|
password = {{ searchlight.password }}
|
||||||
|
memcached_servers = {{ address("memcached", memcached.port) }}
|
||||||
|
|
||||||
|
[paste_deploy]
|
||||||
|
flavor = keystone
|
||||||
|
|
||||||
|
[oslo_concurrency]
|
||||||
|
lock_path = /var/lib/searchlight/temp
|
||||||
|
|
||||||
|
[listener]
|
||||||
|
notifications_pool = searchlight
|
||||||
|
|
||||||
|
[resource_plugin]
|
||||||
|
resource_group_name = searchlight
|
||||||
|
|
||||||
|
[service_credentials:nova]
|
||||||
|
compute_api_version = 2.1
|
||||||
|
|
||||||
|
[resource_plugin:os_nova_server]
|
||||||
|
enabled = {{ searchlight.services.nova }}
|
||||||
|
admin_only_fields = OS-EXT-SRV*,OS-EXT-STS:vm_state
|
||||||
|
|
||||||
|
[resource_plugin:os_nova_hypervisor]
|
||||||
|
enabled = {{ searchlight.services.nova }}
|
||||||
|
|
||||||
|
[resource_plugin:os_nova_flavor]
|
||||||
|
enabled = {{ searchlight.services.nova }}
|
||||||
|
|
||||||
|
[resource_plugin:os_nova_servergroup]
|
||||||
|
enabled = {{ searchlight.services.nova }}
|
||||||
|
|
||||||
|
[resource_plugin:os_glance_image]
|
||||||
|
enabled = {{ searchlight.services.glance }}
|
||||||
|
|
||||||
|
[resource_plugin:os_glance_metadef]
|
||||||
|
enabled = {{ searchlight.services.glance }}
|
||||||
|
|
||||||
|
[resource_plugin:os_cinder_volume]
|
||||||
|
enabled = {{ searchlight.services.cinder }}
|
||||||
|
|
||||||
|
[resource_plugin:os_cinder_snapshot]
|
||||||
|
enabled = {{ searchlight.services.cinder }}
|
||||||
|
|
||||||
|
[resource_plugin:os_neutron_net]
|
||||||
|
enabled = {{ searchlight.services.neutron }}
|
||||||
|
admin_only_fields=admin_state_up,status
|
||||||
|
|
||||||
|
[resource_plugin:os_neutron_port]
|
||||||
|
enabled = {{ searchlight.services.neutron }}
|
||||||
|
|
||||||
|
[resource_plugin:os_neutron_security_group]
|
||||||
|
enabled = {{ searchlight.services.neutron }}
|
||||||
|
|
||||||
|
[resource_plugin:os_designate_zone]
|
||||||
|
enabled = false
|
||||||
|
|
||||||
|
[resource_plugin:os_designate_recordset]
|
||||||
|
enabled = false
|
||||||
|
|
||||||
|
[resource_plugin:os_swift_account]
|
||||||
|
enabled = {{ searchlight.services.swift }}
|
||||||
|
|
||||||
|
[resource_plugin:os_swift_container]
|
||||||
|
enabled = {{ searchlight.services.swift }}
|
||||||
|
|
||||||
|
[resource_plugin:os_swift_object]
|
||||||
|
enabled = {{ searchlight.services.swift }}
|
||||||
|
|
||||||
|
[elasticsearch]
|
||||||
|
hosts = {{ address('elasticsearch', elasticsearch.port, with_scheme=True) }}
|
|
@ -0,0 +1,75 @@
|
||||||
|
dsl_version: 0.1.0
|
||||||
|
service:
|
||||||
|
name: searchlight-api
|
||||||
|
ports:
|
||||||
|
- {{ searchlight.api_port }}
|
||||||
|
containers:
|
||||||
|
- name: searchlight-api
|
||||||
|
image: searchlight-api
|
||||||
|
# TODO(prazumovsky): add probes
|
||||||
|
pre:
|
||||||
|
- name: searchlight-elasticsearch-sync
|
||||||
|
dependencies:
|
||||||
|
- elasticsearch
|
||||||
|
# {% if searchlight.services.nova %}
|
||||||
|
- nova-api
|
||||||
|
# {% endif %}
|
||||||
|
# {% if searchlight.services.glance %}
|
||||||
|
- glance-api
|
||||||
|
# {% endif %}
|
||||||
|
# {% if searchlight.services.neutron %}
|
||||||
|
- neutron-server
|
||||||
|
# {% endif %}
|
||||||
|
# {% if searchlight.services.cinder %}
|
||||||
|
- cinder-api
|
||||||
|
# {% endif %}
|
||||||
|
files:
|
||||||
|
- searchlight-conf
|
||||||
|
type: local
|
||||||
|
command: searchlight-manage --config-file /etc/searchlight/searchlight.conf index sync --force
|
||||||
|
- name: searchlight-user-create
|
||||||
|
dependencies:
|
||||||
|
- keystone-create-project
|
||||||
|
type: single
|
||||||
|
command: openstack user create --domain default --password {{ searchlight.password }} {{ searchlight.user }}
|
||||||
|
|
||||||
|
- name: searchlight-admin-role-add
|
||||||
|
dependencies:
|
||||||
|
- searchlight-user-create
|
||||||
|
type: single
|
||||||
|
command: openstack role add --project service --user {{ searchlight.user }} admin
|
||||||
|
|
||||||
|
- name: searchlight-service-create
|
||||||
|
dependencies:
|
||||||
|
- keystone-create-project
|
||||||
|
type: single
|
||||||
|
command: openstack service create --name searchlight --description "Searchlight Service" search
|
||||||
|
|
||||||
|
- name: searchlight-public-endpoint-create
|
||||||
|
dependencies:
|
||||||
|
- searchlight-service-create
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne search public {{ address('searchlight-api', searchlight.api_port, external=True, with_scheme=True) }}
|
||||||
|
|
||||||
|
- name: searchlight-internal-endpoint-create
|
||||||
|
dependencies:
|
||||||
|
- searchlight-service-create
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne search internal {{ address('searchlight-api', searchlight.api_port, with_scheme=True) }}
|
||||||
|
|
||||||
|
- name: searchlight-admin-endpoint-create
|
||||||
|
dependencies:
|
||||||
|
- searchlight-service-create
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne search admin {{ address('searchlight-api', searchlight.api_port, with_scheme=True) }}
|
||||||
|
daemon:
|
||||||
|
dependencies:
|
||||||
|
- rabbitmq
|
||||||
|
files:
|
||||||
|
- searchlight-conf
|
||||||
|
command: searchlight-api --config-file /etc/searchlight/searchlight.conf
|
||||||
|
|
||||||
|
files:
|
||||||
|
searchlight-conf:
|
||||||
|
path: /etc/searchlight/searchlight.conf
|
||||||
|
content: searchlight.conf.j2
|
|
@ -0,0 +1,23 @@
|
||||||
|
dsl_version: 0.1.0
|
||||||
|
service:
|
||||||
|
name: searchlight-listener
|
||||||
|
containers:
|
||||||
|
- name: searchlight-listener
|
||||||
|
image: searchlight-listener
|
||||||
|
# TODO(prazumovsky): add probes
|
||||||
|
probes:
|
||||||
|
readiness: "true"
|
||||||
|
liveness:
|
||||||
|
command: "true"
|
||||||
|
type: "exec"
|
||||||
|
daemon:
|
||||||
|
dependencies:
|
||||||
|
- searchlight-api
|
||||||
|
files:
|
||||||
|
- searchlight-conf
|
||||||
|
command: searchlight-listener --config-file /etc/searchlight/searchlight.conf
|
||||||
|
|
||||||
|
files:
|
||||||
|
searchlight-conf:
|
||||||
|
path: /etc/searchlight/searchlight.conf
|
||||||
|
content: searchlight.conf.j2
|
Loading…
Reference in New Issue