From d269341de2093f34b7e37464a5bd8c960a5f7467 Mon Sep 17 00:00:00 2001 From: Andy Ning Date: Tue, 15 Jan 2019 16:15:21 -0500 Subject: [PATCH] Keystone DB sync - service build instructions This update contains the build instructions for the newly introduced DB record synchronization service. This new service provides REST APIs to read/write/update identity database. The REST APIs is intended to be used internally by DC Orchestrator to synchronize identity resources between central cloud and subclouds. (cherry picked from commit e628cc02d0dc8573f5dd59893a5c080a653063b4) Conflicts: openstack/distributedcloud/centos/distributedcloud.spec Story: 2002842 Task: 22787 Depends-On: https://review.opendev.org/#/c/655727 Change-Id: Iebb0dc0d26c2b4088889946d48bb15ca94cab252 Signed-off-by: Andy Ning --- centos_iso_image.inc | 1 + .../distributedcloud/centos/build_srpm.data | 2 +- .../centos/distributedcloud.spec | 78 +++++++++++++++---- .../centos/files/dcdbsync-api.service | 12 +++ .../centos/files/dcdbsync.conf | 1 + .../centos/files/dcmanager.conf | 1 + .../distributedcloud/centos/files/dcorch.conf | 1 + 7 files changed, 78 insertions(+), 18 deletions(-) create mode 100644 openstack/distributedcloud/centos/files/dcdbsync-api.service create mode 100644 openstack/distributedcloud/centos/files/dcdbsync.conf create mode 100644 openstack/distributedcloud/centos/files/dcmanager.conf create mode 100644 openstack/distributedcloud/centos/files/dcorch.conf diff --git a/centos_iso_image.inc b/centos_iso_image.inc index 1bfc36e4..5a6f80d4 100644 --- a/centos_iso_image.inc +++ b/centos_iso_image.inc @@ -46,6 +46,7 @@ openstack-keystone # distributedcloud distributedcloud-dcmanager distributedcloud-dcorch +distributedcloud-dcdbsync # distributedcloud-client distributedcloud-client-dcmanagerclient diff --git a/openstack/distributedcloud/centos/build_srpm.data b/openstack/distributedcloud/centos/build_srpm.data index c5e5809c..91d9aa18 100644 --- a/openstack/distributedcloud/centos/build_srpm.data +++ b/openstack/distributedcloud/centos/build_srpm.data @@ -3,4 +3,4 @@ SRC_DIR="$CGCS_BASE/git/distributedcloud" COPY_LIST="$FILES_BASE/*" TIS_BASE_SRCREV=e82c7b43362bceb8d4ae9d121d023e42268204db -TIS_PATCH_VER=GITREVCOUNT+8 +TIS_PATCH_VER=GITREVCOUNT+9 diff --git a/openstack/distributedcloud/centos/distributedcloud.spec b/openstack/distributedcloud/centos/distributedcloud.spec index 21c75cc5..7d92db45 100644 --- a/openstack/distributedcloud/centos/distributedcloud.spec +++ b/openstack/distributedcloud/centos/distributedcloud.spec @@ -23,6 +23,10 @@ Source4: dcorch-engine.service Source5: dcorch-sysinv-api-proxy.service Source6: dcorch-snmp.service Source7: dcorch-identity-api-proxy.service +Source8: dcdbsync-api.service +Source9: dcmanager.conf +Source10: dcorch.conf +Source11: dcdbsync.conf BuildArch: noarch @@ -75,11 +79,17 @@ Distributed Cloud Manager %package dcorch Summary: DC Orchestrator # TODO(John): should we add Requires lines? -Requires: openstack-ras +Requires: openstack-ras %description dcorch Distributed Cloud Orchestrator +%package dcdbsync +Summary: DC DCorch DBsync Agent + +%description dcdbsync +Distributed Cloud DCorch DBsync Agent + %prep %autosetup -n %{pypi_name}-%{version} @@ -95,44 +105,58 @@ export PBR_VERSION=%{version} # oslo-config-generator doesn't skip heat's entry points. PYTHONPATH=. oslo-config-generator --config-file=./dcmanager/config-generator.conf PYTHONPATH=. oslo-config-generator --config-file=./dcorch/config-generator.conf +PYTHONPATH=. oslo-config-generator --config-file=./dcdbsync/config-generator.conf %install export PBR_VERSION=%{version} %{__python2} setup.py install -O1 --skip-build --root %{buildroot} \ --single-version-externally-managed -mkdir -p $RPM_BUILD_ROOT/wheels +install -d $RPM_BUILD_ROOT/wheels install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/ -mkdir -p %{buildroot}/var/log/dcmanager -mkdir -p %{buildroot}/var/cache/dcmanager -mkdir -p %{buildroot}/var/run/dcmanager -mkdir -p %{buildroot}/etc/dcmanager/ +install -d -m 755 %{buildroot}%{_tmpfilesdir} +install -d -m 755 %{buildroot}/var/log/dcmanager +install -d -m 755 %{buildroot}/var/cache/dcmanager +install -d -m 755 %{buildroot}%{_sysconfdir}/dcmanager/ # install systemd unit files install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/dcmanager-api.service install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/dcmanager-manager.service +install -p -D -m 644 %{SOURCE9} %{buildroot}%{_tmpfilesdir} # install default config files -cd %{_builddir}/%{pypi_name}-%{version} && oslo-config-generator --config-file ./dcmanager/config-generator.conf --output-file %{_builddir}/%{pypi_name}-%{version}/etc/dcmanager/dcmanager.conf.sample -install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}/etc/dcmanager/dcmanager.conf.sample %{buildroot}%{_sysconfdir}/dcmanager/dcmanager.conf +cd %{_builddir}/%{pypi_name}-%{version} && oslo-config-generator --config-file ./dcmanager/config-generator.conf --output-file %{_builddir}/%{pypi_name}-%{version}%{_sysconfdir}/dcmanager/dcmanager.conf.sample +install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}%{_sysconfdir}/dcmanager/dcmanager.conf.sample %{buildroot}%{_sysconfdir}/dcmanager/dcmanager.conf -mkdir -p %{buildroot}/var/log/dcorch -mkdir -p %{buildroot}/var/cache/dcorch -mkdir -p %{buildroot}/var/run/dcorch -mkdir -p %{buildroot}/etc/dcorch/ +install -d -m 755 %{buildroot}/var/log/dcorch +install -d -m 755 %{buildroot}/var/cache/dcorch +install -d -m 755 %{buildroot}%{_sysconfdir}/dcorch/ # install systemd unit files install -p -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/dcorch-api.service install -p -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/dcorch-engine.service install -p -D -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/dcorch-sysinv-api-proxy.service install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/dcorch-snmp.service install -p -D -m 644 %{SOURCE7} %{buildroot}%{_unitdir}/dcorch-identity-api-proxy.service +install -p -D -m 644 %{SOURCE10} %{buildroot}%{_tmpfilesdir} # install ocf scripts install -d -m 755 ${RPM_BUILD_ROOT}/usr/lib/ocf/resource.d/openstack install -p -D -m 755 ocf/* ${RPM_BUILD_ROOT}/usr/lib/ocf/resource.d/openstack/ # install default config files -cd %{_builddir}/%{pypi_name}-%{version} && oslo-config-generator --config-file ./dcorch/config-generator.conf --output-file %{_builddir}/%{pypi_name}-%{version}/etc/dcorch/dcorch.conf.sample -install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}/etc/dcorch/dcorch.conf.sample %{buildroot}%{_sysconfdir}/dcorch/dcorch.conf +cd %{_builddir}/%{pypi_name}-%{version} && oslo-config-generator --config-file ./dcorch/config-generator.conf --output-file %{_builddir}/%{pypi_name}-%{version}%{_sysconfdir}/dcorch/dcorch.conf.sample +install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}%{_sysconfdir}/dcorch/dcorch.conf.sample %{buildroot}%{_sysconfdir}/dcorch/dcorch.conf + +# dc dbsync agent +install -d -m 755 %{buildroot}/var/log/dcdbsync +install -d -m 755 %{buildroot}/var/cache/dcdbsync +install -d -m 755 %{buildroot}%{_sysconfdir}/dcdbsync/ +# install systemd unit files +install -p -D -m 644 %{SOURCE8} %{buildroot}%{_unitdir}/dcdbsync-api.service +install -p -D -m 644 %{SOURCE11} %{buildroot}%{_tmpfilesdir} +# install default config files +cd %{_builddir}/%{pypi_name}-%{version} && oslo-config-generator --config-file ./dcdbsync/config-generator.conf --output-file %{_builddir}/%{pypi_name}-%{version}%{_sysconfdir}/dcdbsync/dcdbsync.conf.sample +install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}%{_sysconfdir}/dcdbsync/dcdbsync.conf.sample %{buildroot}%{_sysconfdir}/dcdbsync/dcdbsync.conf + %files dcmanager %license LICENSE @@ -144,11 +168,14 @@ install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}/etc/dcorch/dcorch.conf %{_bindir}/dcmanager-manager %{_unitdir}/dcmanager-manager.service %{_bindir}/dcmanager-manage +%{_tmpfilesdir}/dcmanager.conf %dir %attr(0755,root,root) %{_localstatedir}/log/dcmanager -%dir %attr(0755,root,root) %{_localstatedir}/run/dcmanager %dir %attr(0755,root,root) %{_localstatedir}/cache/dcmanager %dir %attr(0755,root,root) %{_sysconfdir}/dcmanager %config(noreplace) %attr(-, root, root) %{_sysconfdir}/dcmanager/dcmanager.conf +%dir %attr(0755,root,root) /usr/lib/ocf/resource.d/openstack +%defattr(-,root,root,-) +/usr/lib/ocf/resource.d/openstack/dcmanager-* %files dcorch @@ -166,14 +193,31 @@ install -p -D -m 640 %{_builddir}/%{pypi_name}-%{version}/etc/dcorch/dcorch.conf %{_bindir}/dcorch-manage %{_bindir}/dcorch-snmp %{_unitdir}/dcorch-snmp.service +%{_tmpfilesdir}/dcorch.conf %dir %attr(0755,root,root) %{_localstatedir}/log/dcorch -%dir %attr(0755,root,root) %{_localstatedir}/run/dcorch %dir %attr(0755,root,root) %{_localstatedir}/cache/dcorch %dir %attr(0755,root,root) %{_sysconfdir}/dcorch %config(noreplace) %attr(-, dcorch, dcorch) %{_sysconfdir}/dcorch/dcorch.conf %dir %attr(0755,root,root) /usr/lib/ocf/resource.d/openstack %defattr(-,root,root,-) -/usr/lib/ocf/resource.d/openstack/* +/usr/lib/ocf/resource.d/openstack/dcorch-* + + +%files dcdbsync +%license LICENSE +%{python2_sitelib}/dcdbsync* +%{python2_sitelib}/distributedcloud-*.egg-info +%exclude %{python2_sitelib}/dcdbsync/tests +%{_bindir}/dcdbsync-api +%{_unitdir}/dcdbsync-api.service +%{_tmpfilesdir}/dcdbsync.conf +%dir %attr(0755,root,root) %{_localstatedir}/log/dcdbsync +%dir %attr(0755,root,root) %{_localstatedir}/cache/dcdbsync +%dir %attr(0755,root,root) %{_sysconfdir}/dcdbsync +%config(noreplace) %attr(-, root, root) %{_sysconfdir}/dcdbsync/dcdbsync.conf +%dir %attr(0755,root,root) /usr/lib/ocf/resource.d/openstack +%defattr(-,root,root,-) +/usr/lib/ocf/resource.d/openstack/dcdbsync-* %pre dcorch getent group dcorch >/dev/null || groupadd -r --gid 173 dcorch diff --git a/openstack/distributedcloud/centos/files/dcdbsync-api.service b/openstack/distributedcloud/centos/files/dcdbsync-api.service new file mode 100644 index 00000000..019f1d3a --- /dev/null +++ b/openstack/distributedcloud/centos/files/dcdbsync-api.service @@ -0,0 +1,12 @@ +[Unit] +Description=DC DBsync Agent API Service +After=syslog.target network.target postgresql.service + +[Service] +Type=simple +User=root +ExecStart=/usr/bin/dcdbsync-api --config-file /etc/dcdbsync/dcdbsync.conf +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/openstack/distributedcloud/centos/files/dcdbsync.conf b/openstack/distributedcloud/centos/files/dcdbsync.conf new file mode 100644 index 00000000..912d122a --- /dev/null +++ b/openstack/distributedcloud/centos/files/dcdbsync.conf @@ -0,0 +1 @@ +d /var/run/dcdbsync 0755 root root - diff --git a/openstack/distributedcloud/centos/files/dcmanager.conf b/openstack/distributedcloud/centos/files/dcmanager.conf new file mode 100644 index 00000000..87d3fa73 --- /dev/null +++ b/openstack/distributedcloud/centos/files/dcmanager.conf @@ -0,0 +1 @@ +d /var/run/dcmanager 0755 root root - diff --git a/openstack/distributedcloud/centos/files/dcorch.conf b/openstack/distributedcloud/centos/files/dcorch.conf new file mode 100644 index 00000000..7cfc9e23 --- /dev/null +++ b/openstack/distributedcloud/centos/files/dcorch.conf @@ -0,0 +1 @@ +d /var/run/dcorch 0755 root root -