From 37d4c782104d90d8743c424699a0bca65bdd7615 Mon Sep 17 00:00:00 2001 From: Pete Vander Giessen Date: Thu, 11 Oct 2018 12:40:54 -0400 Subject: [PATCH] Cinder (#6) Added cinder services. --- snap/etc/cinder/cinder.conf | 3 ++ snap/snap-openstack.yaml | 54 ++++++++++++++++++++- snap/templates/cinder-api.ini.j2 | 11 +++++ snap/templates/cinder-nginx.conf.j2 | 10 ++++ snap/templates/cinder-snap.conf.j2 | 10 ++++ snapcraft.yaml | 74 ++++++++++++++++++++++++++++- 6 files changed, 159 insertions(+), 3 deletions(-) create mode 100644 snap/etc/cinder/cinder.conf create mode 100644 snap/templates/cinder-api.ini.j2 create mode 100644 snap/templates/cinder-nginx.conf.j2 create mode 100644 snap/templates/cinder-snap.conf.j2 diff --git a/snap/etc/cinder/cinder.conf b/snap/etc/cinder/cinder.conf new file mode 100644 index 0000000..ea4f7f4 --- /dev/null +++ b/snap/etc/cinder/cinder.conf @@ -0,0 +1,3 @@ +# Snap distribution defaults - do not change, override in $SNAP_COMMON/etc/cinder.conf.d +[database] +max_retries = -1 diff --git a/snap/snap-openstack.yaml b/snap/snap-openstack.yaml index fecb6c9..33c6c65 100644 --- a/snap/snap-openstack.yaml +++ b/snap/snap-openstack.yaml @@ -1,6 +1,7 @@ setup: dirs: - "{snap_common}/etc/keystone/keystone.conf.d" + - "{snap_common}/etc/cinder/cinder.conf.d" - "{snap_common}/etc/nova/nova.conf.d" - "{snap_common}/etc/neutron/neutron.conf.d" - "{snap_common}/etc/neutron/plugins/ml2" @@ -23,7 +24,9 @@ setup: nginx.conf.j2: "{snap_common}/etc/nginx/snap/nginx.conf" nova-snap.conf.j2: "{snap_common}/etc/nova/nova.conf.d/nova-snap.conf" nova-nginx.conf.j2: "{snap_common}/etc/nginx/snap/sites-enabled/nova.conf" - glance-snap.conf.j2: "{snap_common}/etc/glance/glance.conf.d/glance-snap.conf" + glance-snap.conf.j2: "{snap_common}/etc/glance/glance.conf.d/glance-snap.conf" + cinder-nginx.conf.j2: "{snap_common}/etc/nginx/snap/sites-enabled/cinder.conf" + cinder-snap.conf.j2: "{snap_common}/etc/cinder/cinder.conf.d/cinder-snap.conf" entry_points: keystone-manage: binary: "{snap}/bin/keystone-manage" @@ -158,3 +161,52 @@ entry_points: config-dirs: - "{snap_common}/etc/glance/glance.conf.d" log-file: "{snap_common}/log/glance-api.log" + cinder-backup: + binary: "{snap}/bin/cinder-backup" + config-files: + - "{snap}/etc/cinder/cinder.conf" + config-files-override: + - "{snap_common}/etc/cinder/cinder.conf" + config-dirs: + - "{snap_common}/etc/cinder/cinder.conf.d" + log-file: "{snap_common}/log/cinder-backup.log" + cinder-manage: + binary: "{snap}/bin/cinder-manage" + config-files: + - "{snap}/etc/cinder/cinder.conf" + config-files-override: + - "{snap_common}/etc/cinder/cinder.conf" + config-dirs: + - "{snap_common}/etc/cinder/cinder.conf.d" + cinder-scheduler: + binary: "{snap}/bin/cinder-scheduler" + config-files: + - "{snap}/etc/cinder/cinder.conf" + config-files-override: + - "{snap_common}/etc/cinder/cinder.conf" + config-dirs: + - "{snap_common}/etc/cinder/cinder.conf.d" + log-file: "{snap_common}/log/cinder-scheduler.log" + cinder-volume: + binary: "{snap}/bin/cinder-volume" + config-files: + - "{snap}/etc/cinder/cinder.conf" + config-files-override: + - "{snap_common}/etc/cinder/cinder.conf" + config-dirs: + - "{snap_common}/etc/cinder/cinder.conf.d" + log-file: "{snap_common}/log/cinder-volume.log" + cinder-uwsgi: + type: uwsgi + uwsgi-dir: "{snap_common}/etc/uwsgi/snap" + uwsgi-dir-override: "{snap_common}/etc/uwsgi" + uwsgi-log: "{snap_common}/log/uwsgi.log" + config-files: + - "{snap}/etc/cinder/cinder.conf" + config-files-override: + - "{snap_common}/etc/cinder/cinder.conf" + config-dirs: + - "{snap_common}/etc/cinder/cinder.conf.d" + log-file: "{snap_common}/log/cinder-api.log" + templates: + cinder-api.ini.j2: "{snap_common}/etc/uwsgi/snap/cinder-api.ini" diff --git a/snap/templates/cinder-api.ini.j2 b/snap/templates/cinder-api.ini.j2 new file mode 100644 index 0000000..99af8f5 --- /dev/null +++ b/snap/templates/cinder-api.ini.j2 @@ -0,0 +1,11 @@ +[uwsgi] +wsgi-file = {{ snap }}/bin/cinder-wsgi +uwsgi-socket = {{ snap_common }}/run/cinder-api.sock +buffer-size = 65535 +master = true +enable-threads = true +processes = 4 +thunder-lock = true +lazy-apps = true +home = {{ snap }}/usr +pyargv = {{ pyargv }} diff --git a/snap/templates/cinder-nginx.conf.j2 b/snap/templates/cinder-nginx.conf.j2 new file mode 100644 index 0000000..47e6c7f --- /dev/null +++ b/snap/templates/cinder-nginx.conf.j2 @@ -0,0 +1,10 @@ +server { + listen 8776; + access_log {{ snap_common }}/log/nginx-access.log; + error_log {{ snap_common }}/log/nginx-error.log; + location / { + include {{ snap }}/usr/conf/uwsgi_params; + uwsgi_param SCRIPT_NAME ''; + uwsgi_pass unix://{{ snap_common }}/run/cinder-api.sock; + } +} diff --git a/snap/templates/cinder-snap.conf.j2 b/snap/templates/cinder-snap.conf.j2 new file mode 100644 index 0000000..0b75ba5 --- /dev/null +++ b/snap/templates/cinder-snap.conf.j2 @@ -0,0 +1,10 @@ +[DEFAULT] +# Set state path to writable directory +state_path = {{ snap_common }}/lib + +# Set volume configuration file storage directory +volumes_dir = {{ snap_common }}/lib/volumes + +[oslo_concurrency] +# Oslo Concurrency lock path +lock_path = {{ snap_common }}/lock diff --git a/snapcraft.yaml b/snapcraft.yaml index 3fcd3aa..81fc3a4 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -191,6 +191,32 @@ apps: plugs: - network-bind + # Cinder + cinder-uwsgi: + command: snap-openstack cinder-uwsgi + daemon: simple + plugs: + - network-bind + cinder-backup: + command: snap-openstack cinder-backup + daemon: simple + plugs: + - network + cinder-manage: + command: snap-openstack cinder-manage + plugs: + - network + cinder-scheduler: + command: snap-openstack cinder-scheduler + daemon: simple + plugs: + - network + cinder-volume: + command: snap-openstack cinder-volume + daemon: simple + plugs: + - network + parts: # Keystone keystone: @@ -380,7 +406,7 @@ parts: # Openstack Shared Parts templates: - after: [keystone, nova, neutron, openvswitch] + after: [keystone, nova, neutron, openvswitch, cinder] plugin: dump source: snap @@ -609,5 +635,49 @@ parts: override-build: | ./configure --prefix=$SNAPCRAFT_PART_INSTALL make - make test make install + + # Cinder + lvm2: + source: http://www.sourceware.org/pub/lvm2/releases/LVM2.2.02.172.tgz + plugin: autotools + configflags: + - --with-confdir=/var/snap/common/etc/ + - --with-default-system-dir=/var/snap/common/etc/ + build-attributes: [no-patchelf] + cinder: + after: [keystone] + plugin: python + python-version: python2 + source: http://tarballs.openstack.org/cinder/cinder-stable-rocky.tar.gz + python-packages: + - python-memcached + - pymysql + - uwsgi + - git+https://github.com/openstack/snap.openstack#egg=snap.openstack + constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt + build-packages: + - gcc + - libffi-dev + - libssl-dev + - libxml2-dev + - libxslt1-dev + cinder-config: + after: [cinder] + plugin: dump + source: http://tarballs.openstack.org/cinder/cinder-stable-rocky.tar.gz + organize: + etc/*.conf: etc/cinder/ + etc/*.ini: etc/cinder/ + etc/*.json: etc/cinder/ + etc/*.templates: etc/cinder/ + filesets: + etc: + - etc/cinder/*.conf + - etc/cinder/*.ini + - etc/cinder/*.json + - etc/cinder/*.templates + stage: [$etc] + prime: [$etc] + +