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 | build: Composing into /home/mbruzek/workspace/charms
build: Destination charm directory: /home/mbruzek/workspace/charms/trusty/kubernetes
build: {
"INTERFACE_PATH": "/home/mbruzek/workspace/interfaces",
"JUJU_REPOSITORY": "/home/mbruzek/workspace/charms",
"LAYER_PATH": "/home/mbruzek/workspace/layers",
"_charm": ".",
"_charm_metadata": {
"description": "Kubernetes is an open-source platform for deplying, scaling, and operations\nof appliation containers across a cluster of hosts. Kubernetes is portable\nin that it works with public, private, and hybrid clouds. Extensible through\na pluggable infrastructure. Self healing in that it will automatically\nrestart and place containers on healthy nodes if a node ever goes away.\n",
"maintainers": [
"Matthew Bruzek <matthew.bruzek@canonical.com>",
"Charles Butler <charles.butler@canonical.com>"
],
"name": "kubernetes",
"requires": {
"etcd": {
"interface": "etcd"
}
},
"subordinate": false,
"summary": "Kubernetes is an application container orchestration platform.",
"tags": [
"infrastructure"
]
},
"_name": "kubernetes",
"_top_layer": null,
"config": "BuildConfig({'_tactics': [], 'configured': False})",
"deps": "/home/mbruzek/workspace/charms/deps",
"description": false,
"force": false,
"hide_metrics": false,
"interface_service": "http://interfaces.juju.solutions",
"log_level": "DEBUG",
"no_local_layers": false,
"output_dir": "/home/mbruzek/workspace/charms",
"repo": "/home/mbruzek/workspace/charms/trusty",
"report": false,
"series": "trusty",
"target_dir": "/home/mbruzek/workspace/charms/trusty/kubernetes"
}
build: Please add a `repo` key to your layer.yaml, e.g. repo: git@github.com:mbruzek/layer-k8s
charmtools.fetchers: git clone https://github.com/juju-solutions/layer-basic.git /home/mbruzek/workspace/charms/deps/layer/tmpdoivUo: Cloning into '/home/mbruzek/workspace/charms/deps/layer/tmpdoivUo'...
charmtools.fetchers: git clone https://github.com/chuckbutler/flannel-layer /home/mbruzek/workspace/charms/deps/layer/tmpt3DzzG: Cloning into '/home/mbruzek/workspace/charms/deps/layer/tmpt3DzzG'...
charmtools.fetchers: git clone https://github.com/chuckbutler/interface-etcd /home/mbruzek/workspace/charms/deps/interface/tmpyytzd3: Cloning into '/home/mbruzek/workspace/charms/deps/interface/tmpyytzd3'...
build: Processing layer: layer:docker
build: Processing layer: layer:basic
Traceback (most recent call last):
File "/usr/bin/charm-build", line 9, in <module>
load_entry_point('charm-tools==2.1.2', 'console_scripts', 'charm-build')()
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 673, in main
build()
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 516, in __call__
self.generate()
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 467, in generate
self.formulate_plan(layers)
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 408, in formulate_plan
self.plan = self.plan_layers(layers, output_files)
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 324, in plan_layers
output_files=output_files))
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 320, in <genexpr>
list(e for e in utils.walk(layer.directory,
File "/usr/lib/python2.7/dist-packages/charmtools/utils.py", line 348, in walk
yield (entry, fn(entry, **kwargs))
File "/usr/lib/python2.7/dist-packages/charmtools/build/__init__.py", line 296, in build_tactics
tactic = current.combine(existing)
File "/usr/lib/python2.7/dist-packages/charmtools/build/tactics.py", line 470, in combine
super(MetadataYAML, self).combine(existing)
File "/usr/lib/python2.7/dist-packages/charmtools/build/tactics.py", line 285, in combine
existing.read()
File "/usr/lib/python2.7/dist-packages/charmtools/build/tactics.py", line 465, in read
super(MetadataYAML, self).read()
File "/usr/lib/python2.7/dist-packages/charmtools/build/tactics.py", line 280, in read
self.data = self.load(self.entity.open()) or {}
File "/usr/lib/python2.7/dist-packages/charmtools/build/tactics.py", line 323, in load
return yaml.load(fn, Loader=yaml.RoundTripLoader)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/main.py", line 75, in load
return loader.get_single_data()
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/constructor.py", line 59, in get_single_data
node = self.get_single_node()
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 48, in get_single_node
document = self.compose_document()
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 68, in compose_document
node = self.compose_node(None, None)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 99, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 158, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 99, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 158, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 99, in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 158, in compose_mapping_node
item_value = self.compose_node(node, item_key)
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/composer.py", line 77, in compose_node
if self.check_event(AliasEvent):
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/parser_.py", line 120, in check_event
self.current_event = self.state()
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/parser_.py", line 520, in parse_block_mapping_value
token = self.get_token()
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/scanner.py", line 1577, in get_token
while self.need_more_tokens():
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/scanner.py", line 165, in need_more_tokens
self.stale_possible_simple_keys()
File "/usr/local/lib/python2.7/dist-packages/ruamel/yaml/scanner.py", line 309, in stale_possible_simple_keys
"could not find expected ':'", self.get_mark())
ruamel.yaml.scanner.ScannerError: while scanning a simple key
in "/home/mbruzek/workspace/layers/docker/metadata.yaml", line 21, column 1
could not find expected ':'
in "/home/mbruzek/workspace/layers/docker/metadata.yaml", line 22, column 12
|