New upstream release
Jonathan Carter
4 years ago
|
0 |
# 3.6.2
|
|
1 |
|
|
2 |
2019-07-25
|
|
3 |
|
|
4 |
* fixed `None` not being accepted as a file/directory mode
|
|
5 |
* fixed overriding resource name in k8s manifests
|
|
6 |
|
|
7 |
|
0 | 8 |
# 3.6.1
|
1 | 9 |
|
2 | 10 |
2019-03-12
|
0 | 0 |
# -*- coding: utf-8 -*-
|
1 | 1 |
from __future__ import unicode_literals
|
2 | 2 |
|
3 | |
VERSION = (3, 6, 1)
|
|
3 |
VERSION = (3, 6, 2)
|
4 | 4 |
VERSION_STRING = ".".join([str(v) for v in VERSION])
|
28 | 28 |
node = get_node(repo, args['node'], adhoc_nodes=args['adhoc_nodes'])
|
29 | 29 |
for line in graph_for_items(
|
30 | 30 |
node.name,
|
31 | |
prepare_dependencies(node.items, node.name, node.os, node.os_version),
|
|
31 |
prepare_dependencies(node.items, node.os, node.os_version),
|
32 | 32 |
cluster=args['cluster'],
|
33 | 33 |
concurrency=args['depends_concurrency'],
|
34 | 34 |
static=args['depends_static'],
|
24 | 24 |
if not node.items:
|
25 | 25 |
io.stdout(_("{x} {node} has no items").format(node=bold(node.name), x=yellow("!")))
|
26 | 26 |
continue
|
27 | |
item_queue = ItemTestQueue(node.items, node.name, node.os, node.os_version)
|
|
27 |
item_queue = ItemTestQueue(node.items, node.os, node.os_version)
|
28 | 28 |
while not QUIT_EVENT.is_set():
|
29 | 29 |
try:
|
30 | 30 |
item = item_queue.pop()
|
583 | 583 |
|
584 | 584 |
|
585 | 585 |
@io.job_wrapper(_("{} processing dependencies").format(bold("{1}")))
|
586 | |
def prepare_dependencies(items, node_name, node_os, node_os_version):
|
|
586 |
def prepare_dependencies(items, node_os, node_os_version):
|
587 | 587 |
"""
|
588 | 588 |
Performs all dependency preprocessing on a list of items.
|
589 | 589 |
"""
|
14 | 14 |
|
15 | 15 |
|
16 | 16 |
class BaseQueue(object):
|
17 | |
def __init__(self, items, node_name, node_os, node_os_version):
|
18 | |
self.items_with_deps = prepare_dependencies(items, node_name, node_os, node_os_version)
|
|
17 |
def __init__(self, items, node_os, node_os_version):
|
|
18 |
self.items_with_deps = prepare_dependencies(items, node_os, node_os_version)
|
19 | 19 |
self.items_without_deps = []
|
20 | 20 |
self._split()
|
21 | 21 |
self.pending_items = []
|
16 | 16 |
|
17 | 17 |
|
18 | 18 |
def validator_mode(item_id, value):
|
|
19 |
if value is None:
|
|
20 |
return
|
|
21 |
|
19 | 22 |
value = str(value)
|
20 | 23 |
if not value.isdigit():
|
21 | 24 |
raise BundleError(
|
130 | 130 |
'apiVersion': self.KUBERNETES_APIVERSION,
|
131 | 131 |
'kind': self.KIND,
|
132 | 132 |
'metadata': {
|
133 | |
'name': self.resource_name,
|
|
133 |
'name': self.name.split("/", 1)[-1],
|
134 | 134 |
},
|
135 | 135 |
},
|
136 | 136 |
user_manifest,
|
|
168 | 168 |
|
169 | 169 |
@property
|
170 | 170 |
def resource_name(self):
|
171 | |
return self.name.split("/", 1)[-1]
|
|
171 |
return self._manifest_dict['metadata']['name']
|
172 | 172 |
|
173 | 173 |
def sdict(self):
|
174 | 174 |
result = run_local(self._kubectl + ["get", "-o", "json", self.KIND, self.resource_name])
|
134 | 134 |
workers=1,
|
135 | 135 |
interactive=False,
|
136 | 136 |
):
|
137 | |
item_queue = ItemQueue(node.items, node.name, node.os, node.os_version)
|
|
137 |
item_queue = ItemQueue(node.items, node.os, node.os_version)
|
138 | 138 |
# the item queue might contain new generated items (canned actions,
|
139 | 139 |
# dummy items); adjust progress total accordingly
|
140 | 140 |
extra_items = len(item_queue.all_items) - len(node.items)
|
|
0 |
bundlewrap (3.6.2-1) unstable; urgency=medium
|
|
1 |
|
|
2 |
* New upstream release
|
|
3 |
|
|
4 |
-- Jonathan Carter <jcc@debian.org> Thu, 01 Aug 2019 09:45:18 +0000
|
|
5 |
|
0 | 6 |
bundlewrap (3.6.1-2) unstable; urgency=medium
|
1 | 7 |
|
2 | 8 |
* Initial source-only upload
|
39 | 39 |
<tr><td><a href="../../items/directory">directory</a></td><td><code>directories</code></td><td>Manages permissions and ownership for directories</td></tr>
|
40 | 40 |
<tr><td><a href="../../items/file">file</a></td><td><code>files</code></td><td>Manages contents, permissions, and ownership for files</td></tr>
|
41 | 41 |
<tr><td><a href="../../items/group">group</a></td><td><code>groups</code></td><td>Manages groups by wrapping <code>groupadd</code>, <code>groupmod</code> and <code>groupdel</code></td></tr>
|
42 | |
<tr><td><a href="../../items/k8s">k8s_*</a></td><td><code>k8s_*</code></td><td>Manages resources in Kubernetes clusters by wrapping <code>kuebctl</code></td></tr>
|
|
42 |
<tr><td><a href="../../items/k8s">k8s_*</a></td><td><code>k8s_*</code></td><td>Manages resources in Kubernetes clusters by wrapping <code>kubectl</code></td></tr>
|
43 | 43 |
<tr><td><a href="../../items/pkg_apt">pkg_apt</a></td><td><code>pkg_apt</code></td><td>Installs and removes packages with APT</td></tr>
|
44 | 44 |
<tr><td><a href="../../items/pkg_dnf">pkg_dnf</a></td><td><code>pkg_dnf</code></td><td>Installs and removes packages with dnf</td></tr>
|
45 | 45 |
<tr><td><a href="../../items/pkg_opkg">pkg_opkg</a></td><td><code>pkg_opkg</code></td><td>Installs and removes packages with opkg</td></tr>
|
16 | 16 |
|
17 | 17 |
setup(
|
18 | 18 |
name="bundlewrap",
|
19 | |
version="3.6.1",
|
|
19 |
version="3.6.2",
|
20 | 20 |
description="Config management with Python",
|
21 | 21 |
long_description=(
|
22 | 22 |
"By allowing for easy and low-overhead config management, BundleWrap fills the gap between complex deployments using Chef or Puppet and old school system administration over SSH.\n"
|