Add radosgw service
Change-Id: Iefcebfe55544331b379f4ee1c4001ec33f539a28
This commit is contained in:
parent
e1f92a1da7
commit
6473bbfc8e
69
.gitignore
vendored
Normal file
69
.gitignore
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
*.py[cod]
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Packages
|
||||||
|
*.egg
|
||||||
|
*.egg-info
|
||||||
|
dist
|
||||||
|
build
|
||||||
|
.eggs
|
||||||
|
eggs
|
||||||
|
parts
|
||||||
|
bin
|
||||||
|
var
|
||||||
|
sdist
|
||||||
|
develop-eggs
|
||||||
|
.installed.cfg
|
||||||
|
lib
|
||||||
|
lib64
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
.coverage
|
||||||
|
cover
|
||||||
|
.tox
|
||||||
|
nosetests.xml
|
||||||
|
.testrepository
|
||||||
|
.venv
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Mr Developer
|
||||||
|
.mr.developer.cfg
|
||||||
|
.project
|
||||||
|
.pydevproject
|
||||||
|
|
||||||
|
# Complexity
|
||||||
|
output/*.html
|
||||||
|
output/*/index.html
|
||||||
|
|
||||||
|
# Sphinx
|
||||||
|
doc/build
|
||||||
|
|
||||||
|
# oslo-config-generator
|
||||||
|
etc/*.sample
|
||||||
|
|
||||||
|
# pbr generates these
|
||||||
|
AUTHORS
|
||||||
|
ChangeLog
|
||||||
|
|
||||||
|
# Editors
|
||||||
|
*~
|
||||||
|
.*.swp
|
||||||
|
.*sw?
|
||||||
|
|
||||||
|
# Vagrant
|
||||||
|
.vagrant
|
||||||
|
vagrant/Vagrantfile.custom
|
||||||
|
vagrant/vagrantkey*
|
||||||
|
|
||||||
|
# generated openrc
|
||||||
|
openrc
|
||||||
|
|
||||||
|
# tests
|
||||||
|
tests/.cache/*
|
10
docker/radosgw/Dockerfile.j2
Normal file
10
docker/radosgw/Dockerfile.j2
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM {{ image_spec("openstack-base") }}
|
||||||
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
COPY sources.list.debian /etc/apt/sources.list.d/ceph.list
|
||||||
|
RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 460F3994 \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends radosgw \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& mkdir -p /var/lib/ceph/radosgw/ceph-rgw
|
||||||
|
|
1
docker/radosgw/sources.list.debian
Normal file
1
docker/radosgw/sources.list.debian
Normal file
@ -0,0 +1 @@
|
|||||||
|
deb http://eu.ceph.com/debian-jewel jessie main
|
3
service/files/ceph.client.radosgw.keyring.j2
Normal file
3
service/files/ceph.client.radosgw.keyring.j2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[client.radosgw.gateway]
|
||||||
|
key = {{ radosgw.key }}
|
||||||
|
|
27
service/files/ceph.conf.j2
Normal file
27
service/files/ceph.conf.j2
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
[global]
|
||||||
|
fsid = {{ ceph.fsid }}
|
||||||
|
mon_host = {{ ceph.mon_host }}
|
||||||
|
auth_cluster_required = cephx
|
||||||
|
auth_service_required = cephx
|
||||||
|
auth_client_required = cephx
|
||||||
|
debug_rgw = 20
|
||||||
|
|
||||||
|
[client.radosgw.gateway]
|
||||||
|
keyring = /var/lib/ceph/radosgw/ceph-rgw/keyring
|
||||||
|
rgw socket path = /tmp/radosgw.sock
|
||||||
|
log file = /var/log/ceph/ceph-rgw-{{ namespace }}.log
|
||||||
|
rgw data = /var/lib/ceph/radosgw/ceph-rgw
|
||||||
|
rgw frontends = civetweb port={{ radosgw.port }} num_threads=50
|
||||||
|
|
||||||
|
rgw keystone api version = 3
|
||||||
|
rgw keystone admin domain = default
|
||||||
|
rgw keystone admin project = admin
|
||||||
|
rgw keystone url = http://{{ address('keystone') }}:{{ keystone.admin_port }}
|
||||||
|
rgw keystone accepted roles = Member, _member_, admin
|
||||||
|
rgw keystone revocation interval = 900
|
||||||
|
rgw s3 auth use keystone = true
|
||||||
|
#nss db path = /var/lib/ceph/radosgw/ceph-rgw.ccp/nss
|
||||||
|
rgw keystone verify ssl = false
|
||||||
|
rgw keystone admin user = admin
|
||||||
|
rgw keystone admin password = password
|
||||||
|
|
7
service/files/defaults.yaml
Normal file
7
service/files/defaults.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
configs:
|
||||||
|
ceph:
|
||||||
|
fsid: "Changeme"
|
||||||
|
mon_host: "Changeme"
|
||||||
|
radosgw:
|
||||||
|
port: 7480
|
||||||
|
key: "Changeme"
|
50
service/radosgw.yaml
Normal file
50
service/radosgw.yaml
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
service:
|
||||||
|
name: radosgw
|
||||||
|
ports:
|
||||||
|
- {{ radosgw.port }}
|
||||||
|
containers:
|
||||||
|
- name: radosgw
|
||||||
|
image: radosgw
|
||||||
|
probes:
|
||||||
|
readiness: "true"
|
||||||
|
liveness: "true"
|
||||||
|
pre:
|
||||||
|
- name: radosgw-create-swift-service
|
||||||
|
type: single
|
||||||
|
command: openstack service create --name swift --description "Swift Service" object-store
|
||||||
|
dependencies:
|
||||||
|
- keystone
|
||||||
|
- name: radosgw-create-swift-public-endpoint
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne swift public
|
||||||
|
"http://{{ address('radosgw') }}:{{ radosgw.port }}/swift/v1"
|
||||||
|
dependencies:
|
||||||
|
- radosgw-create-swift-service
|
||||||
|
- name: radosgw-create-swift-admin-endpoint
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne swift admin
|
||||||
|
"http://{{ address('radosgw') }}:{{ radosgw.port }}/swift/v1"
|
||||||
|
dependencies:
|
||||||
|
- radosgw-create-swift-service
|
||||||
|
- name: radosgw-create-swift-internal-endpoint
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne swift internal
|
||||||
|
"http://{{ address('radosgw') }}:{{ radosgw.port }}/swift/v1"
|
||||||
|
dependencies:
|
||||||
|
- radosgw-create-swift-service
|
||||||
|
daemon:
|
||||||
|
command: radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway -d
|
||||||
|
files:
|
||||||
|
- ceph-conf
|
||||||
|
- radosgw-ceph-key
|
||||||
|
- radosgw-keyring
|
||||||
|
files:
|
||||||
|
ceph-conf:
|
||||||
|
path: /etc/ceph/ceph.conf
|
||||||
|
content: ceph.conf.j2
|
||||||
|
radosgw-ceph-key:
|
||||||
|
path: /etc/ceph/ceph.client.radosgw.keyring
|
||||||
|
content: ceph.client.radosgw.keyring.j2
|
||||||
|
radosgw-keyring:
|
||||||
|
path: /var/lib/ceph/radosgw/ceph-rgw/keyring
|
||||||
|
content: ceph.client.radosgw.keyring.j2
|
5
tools/yamllint.sh
Executable file
5
tools/yamllint.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
workdir=$(dirname $0)
|
||||||
|
yamllint -c $workdir/yamllint.yaml $(find . -not -path '*/\.*' -type f -name '*.yaml')
|
21
tools/yamllint.yaml
Normal file
21
tools/yamllint.yaml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
extends: default
|
||||||
|
|
||||||
|
rules:
|
||||||
|
braces:
|
||||||
|
max-spaces-inside: 1
|
||||||
|
comments:
|
||||||
|
level: error
|
||||||
|
comments-indentation:
|
||||||
|
level: warning
|
||||||
|
document-end:
|
||||||
|
present: no
|
||||||
|
document-start:
|
||||||
|
level: error
|
||||||
|
present: no
|
||||||
|
empty-lines:
|
||||||
|
max: 1
|
||||||
|
max-start: 0
|
||||||
|
max-end: 0
|
||||||
|
line-length:
|
||||||
|
level: warning
|
||||||
|
max: 120
|
17
tox.ini
Normal file
17
tox.ini
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[tox]
|
||||||
|
minversion = 1.6
|
||||||
|
envlist = linters,bashate
|
||||||
|
skipsdist = True
|
||||||
|
|
||||||
|
[testenv:linters]
|
||||||
|
deps = yamllint
|
||||||
|
commands =
|
||||||
|
{toxinidir}/tools/yamllint.sh
|
||||||
|
|
||||||
|
[testenv:bashate]
|
||||||
|
deps = bashate>=0.2
|
||||||
|
whitelist_externals = bash
|
||||||
|
commands = bash -c "find {toxinidir} -type f -name '*.sh' -not -path '*/.tox/*' -print0 | xargs -0 bashate -v"
|
||||||
|
|
||||||
|
[testenv:venv]
|
||||||
|
commands = {posargs}
|
Loading…
Reference in New Issue
Block a user