summaryrefslogtreecommitdiff
path: root/tickets/684f7a6e98404f8eb9600f0c0fff4bdf/Maildir/new/1544883672.M140170P26433Q1.koom
blob: 90bf3547b62a7ca96368bc2fece932ad9214709b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Return-Path: <ick-discuss-bounces@ick.liw.fi>
X-Original-To: distix@pieni.net
Delivered-To: distix@pieni.net
Received: from yaffle.pepperfish.net (yaffle.pepperfish.net [88.99.213.221])
	by pieni.net (Postfix) with ESMTPS id 87451406BF
	for <distix@pieni.net>; Sat, 15 Dec 2018 14:20:45 +0000 (UTC)
Received: from platypus.pepperfish.net (unknown [10.112.101.20])
	by yaffle.pepperfish.net (Postfix) with ESMTP id 6CA5741924
	for <distix@pieni.net>; Sat, 15 Dec 2018 14:20:45 +0000 (GMT)
Received: from ip6-localhost.nat ([::1] helo=platypus.pepperfish.net)
	by platypus.pepperfish.net with esmtp (Exim 4.80 #2 (Debian))
	id 1gYAo9-0001JV-CL; Sat, 15 Dec 2018 14:20:45 +0000
Received: from koom.pieni.net ([88.99.190.206] helo=pieni.net)
 by platypus.pepperfish.net with esmtpsa (Exim 4.80 #2 (Debian))
 id 1gYAo8-0001JK-UM
 for <ick-discuss@ick.liw.fi>; Sat, 15 Dec 2018 14:20:45 +0000
Received: from exolobe1.liw.fi (unknown [194.157.43.230])
 by pieni.net (Postfix) with ESMTPSA id 63D31406BF
 for <ick-discuss@ick.liw.fi>; Sat, 15 Dec 2018 14:20:44 +0000 (UTC)
Received: from exolobe1.liw.fi (localhost [127.0.0.1])
 by exolobe1.liw.fi (Postfix) with ESMTPS id DEAB111F9AF
 for <ick-discuss@ick.liw.fi>; Sat, 15 Dec 2018 16:20:43 +0200 (EET)
Date: Sat, 15 Dec 2018 16:20:42 +0200
From: Lars Wirzenius <liw@liw.fi>
To: ick-discuss@ick.liw.fi
Message-ID: <20181215142042.GJ2810@exolobe1.liw.fi>
MIME-Version: 1.0
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Pepperfish-Transaction: d12a-266a-29a4-8613
X-Pepperfish-Transaction-By: platypus
Subject: Migrating to a new Ick: tooling
X-BeenThere: ick-discuss@ick.liw.fi
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: discussions about the ick CI system <ick-discuss-ick.liw.fi>
List-Unsubscribe: <https://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/ick-discuss-ick.liw.fi>,
 <mailto:ick-discuss-request@ick.liw.fi?subject=unsubscribe>
List-Archive: <http://listmaster.pepperfish.net/pipermail/ick-discuss-ick.liw.fi>
List-Post: <mailto:ick-discuss@ick.liw.fi>
List-Help: <mailto:ick-discuss-request@ick.liw.fi?subject=help>
List-Subscribe: <https://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/ick-discuss-ick.liw.fi>,
 <mailto:ick-discuss-request@ick.liw.fi?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============4745465680387889264=="
Mime-version: 1.0
Sender: ick-discuss-bounces@ick.liw.fi
Errors-To: ick-discuss-bounces@ick.liw.fi


--===============4745465680387889264==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="pWOmaDnDlrCGjNh4"
Content-Disposition: inline


--pWOmaDnDlrCGjNh4
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Consider this scenario: you are using an Ick instance and have some
projects and pipelines configured, and have run a number of builds,
and have some artifacts. You'd like to move all of that to a new
instance. You might want to move because of cost, or better
reliability, or because you want to start using a new version of Ick.

The last one is relevant to me, as I'm contemplating changing how Ick
stores data and to use Muck for that in the future. This will be
necessity requires setting up a new instance and moving all data to
that. (I'm not willing to consider migrating an existing Ick instance
in place to use Muck. There's too much risk of that going wrong.)

The basic approach I'm thinking is to have icktool be able to dump all
data from an Ick instance to a file, and then "undump" from that file
to another Ick instance. This will also give users a way to backup and
restore their Ick data.

The commands would be something like:

    icktool dump > dump.yaml
    icktool undump < dump.yaml

The data in an Ick instance is:

* projects
* pipelines
* information about builds and their logs
* artifacts

Projects and pipelines are reasonably easy, and can already be done
with the current controller API. The only niggle will be setting
ownerships of resources, and that's something that isn't even relevant
yet, and will have to wait until Muck is used, because there isn't any
ownership yet.

Builds and build logs are tricky: currently the controller API does
not allow creating such resources. I'm not sure if it's worth allowing
migration of that.

Artifacts can be handled with the current API, but are not nearly as
important as projects and pipelines.

To keep things simple, I'm thinking that we should start with just
projects and pipelines, and see how it goes. We can add the rest
later, if and when needed.

My immediate need is to have something to allow me to replace the
current Ick demo instance, and my personal instance, with a new
version that uses Muck to data managed by the controller. For this,
projects and pipelines should be enough.

Thus, for the next iteration, I am suggesting we implement "icktool
dump" to produce a YAML file in a format that "icktool make-it-so" can
read. Thus "make-it-so" is the implementation of the "undump" sketched
above.

Opinions?

--=20
I want to build worthwhile things that might last. --joeyh

--pWOmaDnDlrCGjNh4
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEETNTnrewG6wEE1EJ3bC+mFux6IDEFAlwVDbkACgkQbC+mFux6
IDHUgRAAipG/YSjRur8sA/JdxmKV8Q/UXpFeyAvrSFd98nmz6k28SMA+28JMz4n4
ry35F1rsT2Ur9RvrNW5srFFaHWiv74mdd396btaT56Hcx0B16OSnclRfb2CsdS4H
MOMOcopRCwSDOuLbMV14XH84UcZmgQn/zZUuS21npcGy9xOQujl7GlWWdmTOb2wX
wyeCQmPCSQDt13NtKPw7gyDKDcPTFwEwR1ohUE1QvxVZKFgvMj6qBPI84HSQJ17y
oU6KPCK+38hWg4qpUaGkJllSLLthAN6fRTHmYIhyjLcYDNYj8XAr8cYyyMLBfG+z
eEOJ+mAU5ZVkpQz31IYJ2z8bUsy7MDNZ7QBe6M3Ewj+G9W1y2I4dOtI2aP/be65M
7dE9HoUGVUEAtxd3TbglSfOcE/JvAxpDrPoeWdGO25MFE1WbYofdHtuk7F/9gqq/
NtJ/vGZNvw7xkx1sclZMI0w9VfmnDJVIKXBIfycDgE0YLjnTOjSBv7wTwofHZkEy
+hqogFxY+MiEWIFjxNMlgRPWfjaptmATY8UJfKJ2JqwwsI5rBLx0STBwBH0rxd6c
RDa7rKo5LA6JNR91CrmAqyd3m1p6gHM6H0UnINbalrPMt6XrKTtF310v17s/N2QV
wUNqDdTjapvZwqmNGY4TzVzq+5xQz68pTzpo2e27i6/RLOIer/c=
=Q9Yt
-----END PGP SIGNATURE-----

--pWOmaDnDlrCGjNh4--


--===============4745465680387889264==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ick-discuss mailing list
ick-discuss@ick.liw.fi
https://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/ick-discuss-ick.liw.fi

--===============4745465680387889264==--