File tree 4 files changed +66
-61
lines changed
4 files changed +66
-61
lines changed Original file line number Diff line number Diff line change
1
+ # vim:set ft=dockerfile:
2
+ FROM debian:jessie
3
+
4
+ # explicitly set user/group IDs
5
+ RUN groupadd -r postgres --gid=999 && useradd -r -g postgres --uid=999 postgres
6
+
7
+ # make the "en_US.UTF-8" locale so postgres will be utf-8 enabled by default
8
+ RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
9
+ && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
10
+ ENV LANG en_US.utf8
11
+
12
+ # postgres build deps
13
+ RUN apt-get update && apt-get install -y \
14
+ git \
15
+ make \
16
+ gcc \
17
+ gdb \
18
+ libreadline-dev \
19
+ bison \
20
+ flex \
21
+ zlib1g-dev \
22
+ && rm -rf /var/lib/apt/lists/*
23
+
24
+ RUN mkdir /pg && chown postgres:postgres /pg
25
+ USER postgres
26
+ ENV CFLAGS -O0
27
+ WORKDIR /pg
28
+
29
+ RUN cd /pg && \
30
+ git clone https://github.com/postgrespro/postgres_cluster.git --depth 1 && \
31
+ cd /pg/postgres_cluster && \
32
+ ./configure --enable-cassert --enable-debug --prefix=/pg/install && \
33
+ make -j 4 install
34
+
35
+ RUN mkdir /pg/data
36
+ ENV PATH /pg/install/bin:$PATH
37
+ ENV PGDATA /pg/data
38
+
39
+ # Here we can insert some ENV var to invalidate subsequent layers
40
+
41
+ RUN cd /pg/postgres_cluster/contrib/raftable && make install
42
+
43
+ RUN mkdir /pg/mmts
44
+ COPY ./ /pg/mmts/
45
+ RUN cd /pg/mmts && USE_PGXS=1 RAFTABLE_PATH=/pg/postgres_cluster/contrib/raftable make install
46
+
47
+ ENTRYPOINT ["/pg/mmts/tests2/docker-entrypoint.sh" ]
48
+
49
+ EXPOSE 5432
50
+ CMD ["postgres" ]
51
+
Original file line number Diff line number Diff line change 1
1
MODULE_big = multimaster
2
2
OBJS = multimaster.o raftable.o arbiter.o bytebuf.o bgwpool.o pglogical_output.o pglogical_proto.o pglogical_receiver.o pglogical_apply.o pglogical_hooks.o pglogical_config.o pglogical_relid_map.o ddd.o bkb.o spill.o
3
3
4
- override CPPFLAGS += -I../raftable
4
+ ifndef RAFTABLE_PATH
5
+ RAFTABLE_PATH = ../raftable
6
+ endif
7
+
8
+ override CPPFLAGS += -I$(RAFTABLE_PATH )
5
9
6
10
EXTRA_INSTALL = contrib/raftable contrib/mmts
7
11
@@ -33,3 +37,11 @@ check:
33
37
env DESTDIR=' $(abs_top_builddir)' /tmp_install make install
34
38
$(prove_check )
35
39
40
+ xcheck :
41
+ # pip install -r tests2/requirements.txt
42
+ docker build -t pgmmts .
43
+ cd tests2 && blockade up
44
+ sleep 10 # wait for mmts init
45
+ cd tests2 && python test_recovery.py || true
46
+ cd tests2 && blockade destroy
47
+
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -27,6 +27,8 @@ Vagrant.configure(2) do |config|
27
27
vb . memory = 2048
28
28
end
29
29
30
+ config . vm . synced_folder "../../.." , "/postgres_sources"
31
+
30
32
# there are obviously vagrant versions with a
31
33
# broken 'docker' provisioner that can be fixed
32
34
# by invoking an 'apt-get update' *before* docker itself
You can’t perform that action at this time.
0 commit comments