diff --git a/rhel/automake.mk b/rhel/automake.mk index 661975ea96..3e71f5d80d 100644 --- a/rhel/automake.mk +++ b/rhel/automake.mk @@ -13,6 +13,8 @@ EXTRA_DIST += \ rhel/ovn-fedora.spec.in \ rhel/usr_lib_systemd_system_ovn-controller.service \ rhel/usr_lib_systemd_system_ovn-controller-vtep.service \ + rhel/usr_lib_systemd_system_ovn-ic.service \ + rhel/usr_lib_systemd_system_ovn-ic-db.service \ rhel/usr_lib_systemd_system_ovn-northd.service \ rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \ rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \ diff --git a/rhel/ovn-fedora.spec.in b/rhel/ovn-fedora.spec.in index 6b11ef3e89..6716dd0d22 100644 --- a/rhel/ovn-fedora.spec.in +++ b/rhel/ovn-fedora.spec.in @@ -161,7 +161,7 @@ install -p -D -m 0644 \ rhel/usr_share_ovn_scripts_systemd_sysconfig.template \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/ovn -for service in ovn-controller ovn-controller-vtep ovn-northd; do +for service in ovn-controller ovn-controller-vtep ovn-northd ovn-ic ovn-ic-db; do install -p -D -m 0644 \ rhel/usr_lib_systemd_system_${service}.service \ $RPM_BUILD_ROOT%{_unitdir}/${service}.service @@ -256,7 +256,7 @@ if [ $1 -eq 1 ] ; then if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then # ovn-controller-vtep service is running which means old # openvswitch-ovn-vtep is installed and it will be cleaned up. So - # start ovn-controller-vtep service when posttrans host is called. + # start ovn-controller-vtep service when posttrans vtep is called. touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep fi fi @@ -272,6 +272,26 @@ fi fi %endif +%if 0%{?systemd_preun:1} + %systemd_preun ovn-ic.service +%else + if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable ovn-ic.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-ic.service >/dev/null 2>&1 || : + fi +%endif + +%if 0%{?systemd_preun:1} + %systemd_preun ovn-ic-db.service +%else + if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable ovn-ic-db.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-ic-db.service >/dev/null 2>&1 || : + fi +%endif + %preun host %if 0%{?systemd_preun:1} %systemd_preun ovn-controller.service @@ -312,6 +332,24 @@ fi fi %endif +%if 0%{?systemd_post:1} + %systemd_post ovn-ic.service +%else + # Package install, not upgrade + if [ $1 -eq 1 ]; then + /bin/systemctl daemon-reload >dev/null || : + fi +%endif + +%if 0%{?systemd_post:1} + %systemd_post ovn-ic-db.service +%else + # Package install, not upgrade + if [ $1 -eq 1 ]; then + /bin/systemctl daemon-reload >dev/null || : + fi +%endif + %post host %if 0%{?systemd_post:1} %systemd_post ovn-controller.service @@ -345,6 +383,22 @@ fi fi %endif +%if 0%{?systemd_postun_with_restart:1} + %systemd_postun_with_restart ovn-ic.service +%else + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + if [ "$1" -ge "1" ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart ovn-ic.service >/dev/null 2>&1 || : + fi +%endif + +%if 0%{?systemd_postun:1} + %systemd_postun ovn-ic-db.service +%else + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +%endif + %postun host %if 0%{?systemd_postun_with_restart:1} %systemd_postun_with_restart ovn-controller.service @@ -439,6 +493,8 @@ fi %config %{_datadir}/ovn/ovn-sb.ovsschema %config %{_datadir}/ovn/ovn-ic-nb.ovsschema %config %{_datadir}/ovn/ovn-ic-sb.ovsschema +%{_unitdir}/ovn-ic.service +%{_unitdir}/ovn-ic-db.service %{_unitdir}/ovn-northd.service %{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml @@ -454,5 +510,8 @@ fi %{_unitdir}/ovn-controller-vtep.service %changelog +* Mon Feb 1 2021 Vladislav Odintsov +- Added ovn-ic, ovn-ic-db systemd-units. + * Thu Dec 20 2018 Numan Siddique - OVS/OVN split. diff --git a/rhel/usr_lib_systemd_system_ovn-ic-db.service b/rhel/usr_lib_systemd_system_ovn-ic-db.service new file mode 100644 index 0000000000..04173d9a37 --- /dev/null +++ b/rhel/usr_lib_systemd_system_ovn-ic-db.service @@ -0,0 +1,32 @@ +# See ovn-ic(8) for details about ovn-ic. +# +# To customize the ovn-ic-db service, you may create a configuration file +# in the /etc/systemd/system/ovn-ic-db.d/ directory. For example, to specify +# additional options to be passed to the "ovn-ctl start_ic_ovsdb" command, you +# could place the following contents in +# /etc/systemd/system/ovn-ic-db.d/local.conf: +# +# [System] +# Environment="OVN_IC_DB_OPTS=--db-ic-nb-create-insecure-remote=yes --db-ic-sb-create-insecure-remote=yes" +# +# Alternatively, you may specify environment variables in the file /etc/sysconfig/ovn-ic-db: +# +# OVN_IC_DB_OPTS="--db-ic-nb-create-insecure-remote=yes --db-ic-sb-create-insecure-remote=yes" + +[Unit] +Description=OVN global (IC) northbound and southbound OVSDB servers +After=syslog.target + +[Service] +Type=oneshot +RemainAfterExit=yes +Environment=OVN_RUNDIR=%t/ovn OVN_DBDIR=/var/lib/ovn +EnvironmentFile=-/etc/sysconfig/ovn +EnvironmentFile=-/etc/sysconfig/ovn-ic-db +ExecStartPre=-/usr/bin/chown -R ${OVN_USER_ID} ${OVN_DBDIR} +ExecStart=/usr/share/ovn/scripts/ovn-ctl \ + --ovn-user=${OVN_USER_ID} start_ic_ovsdb $OVN_IC_DB_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_ovsdb + +[Install] +WantedBy=multi-user.target diff --git a/rhel/usr_lib_systemd_system_ovn-ic.service b/rhel/usr_lib_systemd_system_ovn-ic.service new file mode 100644 index 0000000000..2507a11e40 --- /dev/null +++ b/rhel/usr_lib_systemd_system_ovn-ic.service @@ -0,0 +1,31 @@ +# See ovn-ic(8) for details about ovn-ic. +# +# To customize the ovn-ic service, you may create a configuration file +# in the /etc/systemd/system/ovn-ic.d/ directory. For example, to specify +# additional options to be passed to the "ovn-ctl start_ic" command, you +# could place the following contents in +# /etc/systemd/system/ovn-ic.d/local.conf: +# +# [System] +# Environment="OVN_IC_OPTS=--db-ic-nb-sock=/usr/local/var/run/ovn/ovn_ic_nb_db.sock --db-ic-sb-sock=/usr/local/var/run/ovn/ovn_ic_sb_db.sock" +# +# Alternatively, you may specify environment variables in the file /etc/sysconfig/ovn-ic: +# +# OVN_IC_OPTS="--db-ic-nb-sock=/usr/local/var/run/ovn/ovn_ic_nb_db.sock --db-ic-sb-sock=/usr/local/var/run/ovn/ovn_ic_sb_db.sock" + +[Unit] +Description=OVN ic management daemon +After=syslog.target + +[Service] +Type=oneshot +RemainAfterExit=yes +Environment=OVN_RUNDIR=%t/ovn OVN_DBDIR=/var/lib/ovn +EnvironmentFile=-/etc/sysconfig/ovn +EnvironmentFile=-/etc/sysconfig/ovn-ic +ExecStart=/usr/share/ovn/scripts/ovn-ctl \ + --ovn-user=${OVN_USER_ID} start_ic $OVN_IC_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic + +[Install] +WantedBy=multi-user.target