In developing a container for 389 this has shown a small number of remaining lib389 changes that are required. This is an umbrella ticket for this. This includes:
"In developing a container for 389" <--- what does that mean?
To me containers are systemd light-weight namespace containers which arguably are the only "container" solution that upstreams should be focusing working on ( because you get immediate out of the box support for that on roughly 200 systemd based linux distribution out there) but to you "containers" might be some code bloat like docker so you ( and everyone in the project ) need refrain themselves from using the generic term "container" because it means different things to different people because there are so many container solution out there.
Every reference, every documentation etc. needs to refer to the exact container solution in question so when 389ds project speaks of containers it speaks of what exactly?
@johannbg It means it making a container image for 389. IE this set of changes allows us to work properly inside of docker/other by granting a set of wrappers that make ds work in a stateless manner that a container run time provides.
Metadata Update from @firstyear: - Custom field origin adjusted to None - Custom field reviewstatus adjusted to None
https://pagure.io/389-ds-base/pull-request/50202
dscreate is broken.
dscreate
File "/usr/local/lib/python3.7/site-packages/lib389/instance/setup.py", line 150, in _validate_ds_2_config slapd_options = Slapd2Base(self.log, self.containerised) TypeError: __init__() takes 2 positional arguments but 3 were given
I've put the fix to https://pagure.io/389-ds-base/pull-request/50264
What is the status of this issue? Is there more work to do?
Honestly, I think this is actually just in need of some final testing of a dockerfile, but I think it's good to go?
Metadata Update from @mreynolds: - Issue set to the milestone: 1.4.1
The dockerfile I am using for testing currently, with #50311 and #50335
# Build Container FROM alpine ARG VERSION=1.4.1.2 RUN apk add --no-cache autoconf automake libtool pkgconfig build-base cracklib-dev linux-pam-dev libevent-dev nspr-dev nss-dev openldap-dev db-dev icu-dev net-snmp-dev krb5-dev pcre-dev cmocka-dev python3 python3-dev rsync RUN pip3 install argparse_manpage argcomplete python-ldap six python-dateutil RUN wget https://pagure.io/389-ds-base/archive/389-ds-base-${VERSION}/389-ds-base-389-ds-base-${VERSION}.tar.gz RUN tar xf 389-ds-base-389-ds-base-${VERSION}.tar.gz WORKDIR /389-ds-base-389-ds-base-${VERSION} COPY alpine-build.patch . RUN patch -p1 < alpine-build.patch RUN autoreconf -fiv && ./configure --enable-cmocka --prefix=/usr --sysconfdir=/etc --localstatedir=/var && make && make lib389 RUN make check && DESTDIR=/out make install && cd src/lib389 && python3 setup.py install --skip-build --root=/out # Runtime container FROM alpine RUN apk add --no-cache python3 libldap nss nss-tools nspr krb5 pcre cracklib ca-certificates libevent icu linux-pam RUN adduser -D -h /var/run/dirsrv dirsrv COPY --from=0 /usr/lib/python3.6/site-packages/ /usr/lib/python3.6/site-packages/ COPY --from=0 /out / EXPOSE 3389 3636 RUN mkdir -p /data/config && \ mkdir -p /data/ssca && \ ln -s /data/config /etc/dirsrv/slapd-localhost && \ ln -s /data/ssca /etc/dirsrv/ssca && \ chown -R dirsrv /data VOLUME /data USER dirsrv CMD ["/usr/sbin/dscontainer", "-r"]
@codehotter Hey there, really happy to see you are interested to get this building in a container.
Most of my intent for these changes was to get this building on OpenSUSE, but also happy to see it being added to alpine too. Thanks!
@firstyear - can this be closed?
Yep, I think we really are there now :)
Metadata Update from @firstyear: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/3256
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: fixed)
Login to comment on this ticket.