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