forked from ungleich-public/cdist
Merge branch 'master' into notifications
This commit is contained in:
commit
d00947711d
250 changed files with 4447 additions and 1653 deletions
BIN
docs/dev/logs/2012-09-03.dep-ideas.xoj
Normal file
BIN
docs/dev/logs/2012-09-03.dep-ideas.xoj
Normal file
Binary file not shown.
BIN
docs/dev/logs/2012-11-02.cdist-vs-centralised-development.xoj
Normal file
BIN
docs/dev/logs/2012-11-02.cdist-vs-centralised-development.xoj
Normal file
Binary file not shown.
282
docs/dev/logs/2012-11-15.cdist-sexy-interaction.svg
Normal file
282
docs/dev/logs/2012-11-15.cdist-sexy-interaction.svg
Normal file
|
|
@ -0,0 +1,282 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1052.3622"
|
||||
height="744.09448"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="cdist-sexy-actions.svg"
|
||||
inkscape:export-filename="/home/users/nico/cdist-sexy-actions.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.62488877"
|
||||
inkscape:cx="526.18109"
|
||||
inkscape:cy="410.90353"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
objecttolerance="20"
|
||||
guidetolerance="20"
|
||||
inkscape:window-width="1436"
|
||||
inkscape:window-height="861"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="0"
|
||||
gridtolerance="10" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-308.2677)">
|
||||
<g
|
||||
id="g3791"
|
||||
transform="translate(-65.448375,393.5891)">
|
||||
<rect
|
||||
y="167.46855"
|
||||
x="222.23357"
|
||||
height="88.893425"
|
||||
width="173.74623"
|
||||
id="rect2985"
|
||||
style="fill:#cdff13;fill-opacity:0.90416715;stroke:none" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3755"
|
||||
y="228.0777"
|
||||
x="260.61935"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="228.0777"
|
||||
x="260.61935"
|
||||
id="tspan3757"
|
||||
sodipodi:role="line">cdist</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g3802"
|
||||
transform="translate(-88.702304,-97.993841)">
|
||||
<rect
|
||||
y="519.00165"
|
||||
x="109.09647"
|
||||
height="90.913727"
|
||||
width="452.54834"
|
||||
id="rect3796"
|
||||
style="fill:#008000;fill-opacity:0.90416715;stroke:none" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3798"
|
||||
y="575.57019"
|
||||
x="171.72594"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="575.57019"
|
||||
x="171.72594"
|
||||
id="tspan3800"
|
||||
sodipodi:role="line">configures hosts</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g3791-5"
|
||||
transform="translate(258.6201,492.81494)">
|
||||
<g
|
||||
id="g3834"
|
||||
transform="translate(204.05081,-98.994949)">
|
||||
<rect
|
||||
style="fill:#cdff13;fill-opacity:0.90416715;stroke:none"
|
||||
id="rect2985-2"
|
||||
width="173.74623"
|
||||
height="88.893425"
|
||||
x="222.23357"
|
||||
y="167.46855" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="264.65994"
|
||||
y="224.03709"
|
||||
id="text3755-9"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3757-2"
|
||||
x="264.65994"
|
||||
y="224.03709">sexy</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g3802-3"
|
||||
transform="translate(436.48671,-101.85286)">
|
||||
<g
|
||||
id="g3866">
|
||||
<rect
|
||||
style="fill:#008000;fill-opacity:0.90416715;stroke:none"
|
||||
id="rect3796-9"
|
||||
width="452.54834"
|
||||
height="90.913727"
|
||||
x="109.09647"
|
||||
y="519.00165" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="143.44167"
|
||||
y="573.54987"
|
||||
id="text3798-6"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3800-5"
|
||||
x="143.44167"
|
||||
y="573.54987">manages inventory</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g3802-9"
|
||||
transform="matrix(0.96624748,0,0,1,-134.02038,188.43537)">
|
||||
<g
|
||||
id="g3980"
|
||||
transform="translate(112.6206,22.403987)">
|
||||
<rect
|
||||
style="fill:#822a0e;fill-opacity:1;stroke:none"
|
||||
id="rect3796-1"
|
||||
width="319.27777"
|
||||
height="146.92369"
|
||||
x="115.72122"
|
||||
y="536.6048" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="269.50381"
|
||||
y="592.71771"
|
||||
id="text3798-3"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3800-6"
|
||||
x="269.50381"
|
||||
y="592.71771">installs hosts</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="275.871"
|
||||
y="642.71771"
|
||||
id="tspan3968">(missing) </tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 330.53142,605.54234 354.37306,0.15493"
|
||||
id="path3924"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#g3791"
|
||||
inkscape:connection-start-point="d4"
|
||||
inkscape:connection-end="#g3791-5"
|
||||
inkscape:connection-end-point="d4" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:27.59350204px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="447.33084"
|
||||
y="637.85706"
|
||||
id="text3926"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3928"
|
||||
x="447.33084"
|
||||
y="637.85706">interact</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 244.62052,561.05765 1.06374,-49.13612"
|
||||
id="path3930"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#g3791"
|
||||
inkscape:connection-start-point="d4"
|
||||
inkscape:connection-end="#g3802"
|
||||
inkscape:connection-end-point="d4" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
d="m 243.08193,649.95108 -1.26428,97.49307"
|
||||
id="path3932"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#g3791"
|
||||
inkscape:connection-start-point="d4"
|
||||
inkscape:connection-end="#g3802-9"
|
||||
inkscape:connection-end-point="d4" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 771.80236,561.28854 0.0297,-53.22603"
|
||||
id="path3934"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#g3791-5"
|
||||
inkscape:connection-start-point="d4"
|
||||
inkscape:connection-end="#g3802-3"
|
||||
inkscape:connection-end-point="d4" />
|
||||
<g
|
||||
id="g3802-9-7"
|
||||
transform="matrix(0.96624748,0,0,1,323.63894,252.66181)">
|
||||
<g
|
||||
id="g3900-3"
|
||||
transform="matrix(1.0748862,0,0,0.96932859,-4.8574514,97.533037)">
|
||||
<g
|
||||
id="g3970"
|
||||
transform="translate(58.55042,-102.35709)">
|
||||
<rect
|
||||
y="519.00165"
|
||||
x="158.40208"
|
||||
height="144.96896"
|
||||
width="431.08368"
|
||||
id="rect3796-1-1"
|
||||
style="fill:#822a0e;fill-opacity:1;stroke:none" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text3798-3-7"
|
||||
y="576.61359"
|
||||
x="374.46384"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="576.61359"
|
||||
x="374.46384"
|
||||
id="tspan3800-6-3"
|
||||
sodipodi:role="line">visualises inventory</tspan><tspan
|
||||
id="tspan3966"
|
||||
y="626.61359"
|
||||
x="380.83102"
|
||||
sodipodi:role="line">(missing) </tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 771.03726,650.18197 -1.54888,92.98943"
|
||||
id="path3986"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:connection-start="#g3791-5"
|
||||
inkscape:connection-start-point="d4"
|
||||
inkscape:connection-end="#g3802-9-7"
|
||||
inkscape:connection-end-point="d4" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
BIN
docs/dev/logs/2013-01-03.dependencies-visualised.xoj
Normal file
BIN
docs/dev/logs/2013-01-03.dependencies-visualised.xoj
Normal file
Binary file not shown.
|
|
@ -0,0 +1,34 @@
|
|||
Traceback (most recent call last):
|
||||
File "/home/users/nico/p/cdist/cdist/bin/../scripts/cdist", line 230, in <module>
|
||||
commandline()
|
||||
File "/home/users/nico/p/cdist/cdist/bin/../scripts/cdist", line 104, in commandline
|
||||
args.func(args)
|
||||
File "/home/users/nico/p/cdist/cdist/bin/../scripts/cdist", line 107, in config
|
||||
configinstall(args, mode=cdist.config.Config)
|
||||
File "/home/users/nico/p/cdist/cdist/bin/../scripts/cdist", line 143, in configinstall
|
||||
configinstall_onehost(host, args, mode, parallel=False)
|
||||
File "/home/users/nico/p/cdist/cdist/bin/../scripts/cdist", line 180, in configinstall_onehost
|
||||
c.deploy_and_cleanup()
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/config_install.py", line 74, in deploy_and_cleanup
|
||||
self.deploy_to()
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/config_install.py", line 68, in deploy_to
|
||||
self.stage_prepare()
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/config_install.py", line 91, in stage_prepare
|
||||
self.context.local.type_path):
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/core/cdist_object.py", line 80, in list_objects
|
||||
yield cls(cdist.core.CdistType(type_base_path, type_name), object_base_path, object_id=object_id)
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/core/cdist_object.py", line 65, in __init__
|
||||
self.validate_object_id()
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/core/cdist_object.py", line 130, in validate_object_id
|
||||
(self.cdist_type.name, self.parameters))
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/util/fsproperty.py", line 210, in __get__
|
||||
return self._get_attribute(instance, owner)
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/util/fsproperty.py", line 202, in _get_attribute
|
||||
path = self._get_path(instance)
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/util/fsproperty.py", line 190, in _get_path
|
||||
path = path(instance)
|
||||
File "/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist/core/cdist_object.py", line 192, in <lambda>
|
||||
parameters = fsproperty.DirectoryDictProperty(lambda obj: os.path.join(obj.base_path, obj.parameter_path))
|
||||
AttributeError: 'CdistObject' object has no attribute 'parameter_path'
|
||||
[22:37] brief:~%
|
||||
|
||||
15
docs/dev/logs/2013-02-05.weird-notsingleton-type-error
Normal file
15
docs/dev/logs/2013-02-05.weird-notsingleton-type-error
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
Hard to find the source bug/problem:
|
||||
|
||||
DEBUG: solr.petspremium.de: (emulator) __file//etc/solr/solr.xml: Finished __file/etc/solr/solr.xml/.cdist {'mode': '0644', 'source': '/home/users/nico/.tmp/tmpn27s24/out/conf/type/__petspremium_solr/files/solr/solr.xml'}
|
||||
+ for file in '$(find . -type f | sed '\''s,^./,,'\'')'
|
||||
+ dfile=/etc/solr/web.xml
|
||||
+ reqdir=/etc/solr
|
||||
+ require=__directory/etc/solr
|
||||
+ __file /etc/solr/web.xml --source /home/users/nico/.tmp/tmpn27s24/out/conf/type/__petspremium_solr/files/solr/web.xml --mode 0644
|
||||
DEBUG: solr.petspremium.de: (emulator): /home/users/nico/.tmp/tmpn27s24/out/bin/__file: Namespace(mode='0644', object_id=['/etc/solr/web.xml'], source='/home/users/nico/.tmp/tmpn27s24/out/conf/type/__petspremium_solr/files/solr/web.xml')
|
||||
DEBUG: solr.petspremium.de: (emulator) __file//etc/solr/web.xml: Recording requirement: __directory/etc/solr
|
||||
DEBUG: solr.petspremium.de: (emulator) __file//etc/solr/web.xml: Finished __file/etc/solr/web.xml/.cdist {'source': '/home/users/nico/.tmp/tmpn27s24/out/conf/type/__petspremium_solr/files/solr/web.xml', 'mode': '0644'}
|
||||
ERROR: solr.petspremium.de: Type __directory requires object id (is not a singleton type)
|
||||
INFO: Total processing time for 1 host(s): 9.756716251373291
|
||||
ERROR: Failed to deploy to the following hosts: solr.petspremium.de
|
||||
30
docs/dev/logs/2013-04-03.dependency-discussion
Normal file
30
docs/dev/logs/2013-04-03.dependency-discussion
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
Steven, Nico
|
||||
|
||||
Discussion raised due to proposal from Arkaitz Jimenez
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Proposal changes back to cdist behaviour as of 2011 (see commit 61b7b68).
|
||||
|
||||
Change would introduce:
|
||||
|
||||
- no direct stage based running
|
||||
- stages only in object (not globally)
|
||||
- cannot build full dependency list before beginning
|
||||
- Thus wildcard requirements (require="__file/*") don't work anymore
|
||||
|
||||
Accepting this or similar approaches means:
|
||||
|
||||
- Drop wildcard requirements (is undocumented anyway)
|
||||
- Type execution is closed (again)
|
||||
|
||||
Furthermore/other points:
|
||||
|
||||
- Change cdist to continue run as long as possible
|
||||
- Don't stop if an object fails
|
||||
- Record failure, print at the end (and exit non zero)
|
||||
|
||||
- Logging
|
||||
- Catch output of manifest, gencode, code, do not display directly
|
||||
- Print at the end
|
||||
- Prefix with hostname as usual!
|
||||
BIN
docs/dev/logs/2013-04-08.execution-graph.xoj
Normal file
BIN
docs/dev/logs/2013-04-08.execution-graph.xoj
Normal file
Binary file not shown.
77
docs/dev/logs/2013-04-10.discussion
Normal file
77
docs/dev/logs/2013-04-10.discussion
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
Steven, Nico (ETH office)
|
||||
|
||||
- Try out patch for dependency resolver changing from [nico]
|
||||
- Add tests
|
||||
- Cleanup code:
|
||||
- remove all old resolver parts (including tests!)
|
||||
- remve wildcard matching pattern code
|
||||
|
||||
- Cache: [nobody]
|
||||
- Should cache be usable by types?
|
||||
- Should all run outputs be stored?
|
||||
- Different caches for install and config
|
||||
|
||||
- Replace fsproperties with cconfig [steven]
|
||||
|
||||
- Maybe support "rerun from previous version (cache)"? [nobody]
|
||||
- need to include initial manifest(s!)
|
||||
- copy/link types
|
||||
- save remote-{exec,copy} parameters (copy or save argument list)
|
||||
|
||||
- cdist replay / oldconfig ?
|
||||
|
||||
- Support diffing two configurations [nobody]
|
||||
- cdist diff ?
|
||||
|
||||
- Nested Types [both]
|
||||
- Motivation:
|
||||
- Put everything related into one directory
|
||||
- Have a look at it when Arkaitz pushes out pull request
|
||||
- Implementations:
|
||||
|
||||
1) Arkaitz
|
||||
|
||||
Folder structure Call Object
|
||||
__package/ __package abc __package/abc
|
||||
__package/type/pkg __package.pkg abc __package.pkg/abc
|
||||
__package/type/pkg/type/green __package.pkg.green abc __package.pkg.green/abc
|
||||
|
||||
...
|
||||
|
||||
__package.pkg __package.pkg abc __package.pkg/abc
|
||||
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
=> Need to forbid types with "." in the name!
|
||||
|
||||
2) Steven (earlier version)
|
||||
|
||||
Folder structure Call Object
|
||||
__package/.type __package abc __package/abc
|
||||
__package/pkg/.type __package.pkg abc __package.pkg/abc
|
||||
__package/pkg/green/.type __package.pkg.green abc __package.pkg.green/abc
|
||||
|
||||
- Clashes:
|
||||
- if __<type>.<name> and __<type> and subtype <name> exist both (in both implementations)
|
||||
|
||||
- Install [nobody]
|
||||
- Merge into master?
|
||||
- Needs some cleanups
|
||||
|
||||
- PreOS [nobody]
|
||||
- cdist preos / preos-generate
|
||||
--output=<dir-or-filename>
|
||||
--arch=[i386|amd64|arm??]
|
||||
--type=[usb, cdrom/iso, floppy, pxe]
|
||||
--other-params (?)
|
||||
|
||||
- Maybe implement using cdist config indirectly and a type __preos
|
||||
|
||||
- Can be:
|
||||
- Internally only (devs)
|
||||
- Usable by end users
|
||||
|
||||
- Requirements:
|
||||
- git
|
||||
- buildchain
|
||||
- toolchain for target arch
|
||||
- ...
|
||||
44
docs/dev/logs/2013-04-12.execution-order
Normal file
44
docs/dev/logs/2013-04-12.execution-order
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
Old:
|
||||
|
||||
- global explores (all)
|
||||
- initial manifest
|
||||
- for each object
|
||||
execute type explorers
|
||||
execute manifest
|
||||
|
||||
continue until all objects (including newly created)
|
||||
have their type explorers/manifests run
|
||||
- build dependency tree
|
||||
- for each object
|
||||
execute gencode-*
|
||||
execute code-*
|
||||
|
||||
New:
|
||||
- run all global explorers
|
||||
- run initial manifest
|
||||
creates zero or more cdist_objects
|
||||
- for each cdist_object
|
||||
if not cdist_object.has_unfullfilled_requirements:
|
||||
execute type explorers
|
||||
execute manifest
|
||||
may create new objects, resulting in autorequirements
|
||||
|
||||
# Gained requirements during manifest run
|
||||
if object.has_auto_requirements():
|
||||
continue
|
||||
|
||||
cdist_object.execute gencode-*
|
||||
cdist_object.execute code-*
|
||||
|
||||
|
||||
Requirements / Test cases for requirments / resolver:
|
||||
|
||||
- omnipotence
|
||||
-
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ERROR: localhost: The following objects could not be resolved: __cdistmarker/singleton requires autorequires ; __directory/etc/sudoers.d requires autorequires ; __file/etc/sudoers.d/nico requires __directory/etc/sudoers.d autorequires ; __file/etc/motd requires autorequires ; __package_pacman/atop requires autorequires ; __package_pacman/screen requires autorequires ; __package_pacman/strace requires autorequires ; __package_pacman/vim requires autorequires ; __package_pacman/zsh requires autorequires ; __package_pacman/lftp requires autorequires ; __package_pacman/nmap requires autorequires ; __package_pacman/ntp requires autorequires ; __package_pacman/rsync requires autorequires ; __package_pacman/rtorrent requires autorequires ; __package_pacman/wget requires autorequires ; __package_pacman/nload requires autorequires ; __package_pacman/iftop requires autorequires ; __package_pacman/mosh requires autorequires ; __package_pacman/git requires autorequires ; __package_pacman/mercurial requires autorequires ; __package_pacman/netcat requires autorequires ; __package_pacman/python-virtualenv requires autorequires ; __package_pacman/wireshark-cli requires autorequires ; __package_pacman/sudo requires autorequires
|
||||
INFO: Total processing time for 1 host(s): 32.30426597595215
|
||||
ERROR: Failed to deploy to the following hosts: localhost
|
||||
|
||||
340
docs/dev/logs/2013-05-04.ssh
Normal file
340
docs/dev/logs/2013-05-04.ssh
Normal file
|
|
@ -0,0 +1,340 @@
|
|||
- analysis of ssh connections for callback
|
||||
SSH_CLIENT='::1 38502 22'
|
||||
SSH_CONNECTION='::1 38502 ::1 22'
|
||||
|
||||
-> callback possible to source host
|
||||
|
||||
|
||||
|
||||
[ target host ] <--------------|
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| trigger | configuration
|
||||
| |
|
||||
v |
|
||||
[ configuration host ] ----|
|
||||
|
||||
|
||||
- dynamic port allocation for tunneling
|
||||
|
||||
[1:37] bento:~% ssh -R 0:localhost:22 localhost
|
||||
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
|
||||
Allocated port 53161 for remote forward to localhost:22
|
||||
|
||||
SSH_AUTH_SOCK=/tmp/ssh-zDCWbUVcUK/agent.30749
|
||||
SSH_CLIENT='::1 38587 22'
|
||||
SSH_CONNECTION='::1 38587 ::1 22'
|
||||
SSH_TTY=/dev/pts/21
|
||||
|
||||
|
||||
- ssh_config:
|
||||
DynamicForward
|
||||
LocalForward
|
||||
RemoteForward
|
||||
|
||||
- testing
|
||||
|
||||
[1:52] bento:cdist% netstat -anp | grep 56844
|
||||
(Not all processes could be identified, non-owned process info
|
||||
will not be shown, you would have to be root to see it all.)
|
||||
tcp 0 0 127.0.0.1:56844 0.0.0.0:* LISTEN -
|
||||
tcp6 0 0 ::1:56844 :::* LISTEN -
|
||||
[1:53] bento:cdist%
|
||||
|
||||
|
||||
[1:48] bento:~% ssh -R 0:localhost:22 localhost
|
||||
Allocated port 56844 for remote forward to localhost:22
|
||||
...
|
||||
|
||||
- chatting
|
||||
|
||||
01:42 -!- Irssi: Join to #openssh was synced in 0 secs
|
||||
01:42 < telmich> good evening
|
||||
01:43 < telmich> I am trying to make use of remote port forwarding using dynamic port
|
||||
allocation (port=0) -- I am wondering if there is an easy way to
|
||||
access the port number on the remote side easily?
|
||||
01:44 < telmich> background for this question is: I'd like to allow various clients to
|
||||
login to a configuration server, which then configures the clients by
|
||||
using the tunnel the client provides for the server to ssh back into
|
||||
02:07 < BasketCase> telmich: afaik you need to use a tool like ss/netstat/lsof to see what port it has open
|
||||
|
||||
- ssh debug
|
||||
|
||||
[11:37] bento:~% ssh -R 0:localhost:22 localhost
|
||||
Allocated port 33562 for remote forward to localhost:22
|
||||
|
||||
.. . .x+=:. s
|
||||
dF @88> z` ^% :8
|
||||
'88bu. %8P . <k .88
|
||||
. '*88888bu . .@8Ned8" :888ooo
|
||||
.udR88N ^"*8888N .@88u .@^%8888" -*8888888
|
||||
<888'888k beWE "888L ''888E` x88: `)8b. 8888
|
||||
9888 'Y" 888E 888E 888E 8888N=*8888 8888
|
||||
9888 888E 888E 888E %8" R88 8888
|
||||
9888 888E 888F 888E @8Wou 9% .8888Lu=
|
||||
?8888u../ .888N..888 888& .888888P` ^%888*
|
||||
"8888P' `"888*"" R888" ` ^"F 'Y"
|
||||
"P' "" ""
|
||||
|
||||
Welcome to a cdist automated system!
|
||||
|
||||
Last login: Sat May 4 01:52:46 2013 from localhost.localdomain
|
||||
debug1: PAM: reinitializing credentials
|
||||
debug1: permanently_set_uid: 0/0
|
||||
Environment:
|
||||
USER=root
|
||||
LOGNAME=root
|
||||
HOME=/root
|
||||
PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
MAIL=/var/spool/mail/root
|
||||
SHELL=/bin/bash
|
||||
SSH_CLIENT=::1 57848 22
|
||||
SSH_CONNECTION=::1 57848 ::1 22
|
||||
SSH_TTY=/dev/pts/32
|
||||
TERM=rxvt-unicode
|
||||
XDG_SESSION_ID=1
|
||||
XDG_RUNTIME_DIR=/run/user/1000
|
||||
XDG_SEAT=seat0
|
||||
XDG_VTNR=1
|
||||
SSH_AUTH_SOCK=/tmp/ssh-6j0elukLHA/agent.17260
|
||||
[root@bento ~]#
|
||||
[root@bento nico]# /usr/sbin/sshd -D -d
|
||||
debug1: sshd version OpenSSH_6.2, OpenSSL 1.0.1e 11 Feb 2013
|
||||
debug1: read PEM private key done: type RSA
|
||||
debug1: private host key: #0 type 1 RSA
|
||||
debug1: read PEM private key done: type DSA
|
||||
debug1: private host key: #1 type 2 DSA
|
||||
debug1: read PEM private key done: type ECDSA
|
||||
debug1: private host key: #2 type 3 ECDSA
|
||||
debug1: rexec_argv[0]='/usr/sbin/sshd'
|
||||
debug1: rexec_argv[1]='-D'
|
||||
debug1: rexec_argv[2]='-d'
|
||||
Set /proc/self/oom_score_adj from 0 to -1000
|
||||
debug1: Bind to port 22 on 0.0.0.0.
|
||||
Server listening on 0.0.0.0 port 22.
|
||||
debug1: Bind to port 22 on ::.
|
||||
Server listening on :: port 22.
|
||||
debug1: Server will not fork when running in debugging mode.
|
||||
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
|
||||
debug1: inetd sockets after dupping: 3, 3
|
||||
Connection from ::1 port 57848
|
||||
debug1: Client protocol version 2.0; client software version OpenSSH_6.2
|
||||
debug1: match: OpenSSH_6.2 pat OpenSSH*
|
||||
debug1: Enabling compatibility mode for protocol 2.0
|
||||
debug1: Local version string SSH-2.0-OpenSSH_6.2
|
||||
debug1: permanently_set_uid: 99/99 [preauth]
|
||||
debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth]
|
||||
debug1: SSH2_MSG_KEXINIT sent [preauth]
|
||||
debug1: SSH2_MSG_KEXINIT received [preauth]
|
||||
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com zlib@openssh.com [preauth]
|
||||
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com zlib@openssh.com [preauth]
|
||||
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
|
||||
debug1: SSH2_MSG_NEWKEYS sent [preauth]
|
||||
debug1: expecting SSH2_MSG_NEWKEYS [preauth]
|
||||
debug1: SSH2_MSG_NEWKEYS received [preauth]
|
||||
debug1: KEX done [preauth]
|
||||
debug1: userauth-request for user root service ssh-connection method none [preauth]
|
||||
debug1: attempt 0 failures 0 [preauth]
|
||||
debug1: PAM: initializing for "root"
|
||||
debug1: PAM: setting PAM_RHOST to "localhost.localdomain"
|
||||
debug1: PAM: setting PAM_TTY to "ssh"
|
||||
debug1: userauth-request for user root service ssh-connection method publickey [preauth]
|
||||
debug1: attempt 1 failures 0 [preauth]
|
||||
debug1: test whether pkalg/pkblob are acceptable [preauth]
|
||||
debug1: temporarily_use_uid: 0/0 (e=0/0)
|
||||
debug1: trying public key file /root/.ssh/authorized_keys
|
||||
debug1: fd 4 clearing O_NONBLOCK
|
||||
debug1: matching key found: file /root/.ssh/authorized_keys, line 2
|
||||
Found matching RSA key: 2e:1b:3f:10:01:1d:21:6c:6c:1e:3d:a9:33:ba:3c:f7
|
||||
debug1: restore_uid: 0/0
|
||||
Postponed publickey for root from ::1 port 57848 ssh2 [preauth]
|
||||
debug1: userauth-request for user root service ssh-connection method publickey [preauth]
|
||||
debug1: attempt 2 failures 0 [preauth]
|
||||
debug1: temporarily_use_uid: 0/0 (e=0/0)
|
||||
debug1: trying public key file /root/.ssh/authorized_keys
|
||||
debug1: fd 4 clearing O_NONBLOCK
|
||||
debug1: matching key found: file /root/.ssh/authorized_keys, line 2
|
||||
Found matching RSA key: 2e:1b:3f:10:01:1d:21:6c:6c:1e:3d:a9:33:ba:3c:f7
|
||||
debug1: restore_uid: 0/0
|
||||
debug1: ssh_rsa_verify: signature correct
|
||||
debug1: do_pam_account: called
|
||||
Accepted publickey for root from ::1 port 57848 ssh2
|
||||
debug1: monitor_child_preauth: root has been authenticated by privileged process
|
||||
debug1: Enabling compression at level 6. [preauth]
|
||||
debug1: monitor_read_log: child log fd closed
|
||||
debug1: PAM: establishing credentials
|
||||
debug1: Entering interactive session for SSH2.
|
||||
debug1: server_init_dispatch_20
|
||||
debug1: server_input_global_request: rtype tcpip-forward want_reply 1
|
||||
debug1: server_input_global_request: tcpip-forward listen localhost port 0
|
||||
debug1: Local forwarding listening on ::1 port 0.
|
||||
debug1: Allocated listen port 33562
|
||||
debug1: channel 0: new [port listener]
|
||||
debug1: Local forwarding listening on 127.0.0.1 port 33562.
|
||||
debug1: channel 1: new [port listener]
|
||||
debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384
|
||||
debug1: input_session_request
|
||||
debug1: channel 2: new [server-session]
|
||||
debug1: session_new: session 0
|
||||
debug1: session_open: channel 2
|
||||
debug1: session_open: session 0: link with channel 2
|
||||
debug1: server_input_channel_open: confirm session
|
||||
debug1: server_input_global_request: rtype no-more-sessions@openssh.com want_reply 0
|
||||
debug1: server_input_channel_req: channel 2 request auth-agent-req@openssh.com reply 0
|
||||
debug1: session_by_channel: session 0 channel 2
|
||||
debug1: session_input_channel_req: session 0 req auth-agent-req@openssh.com
|
||||
debug1: temporarily_use_uid: 0/0 (e=0/0)
|
||||
debug1: restore_uid: 0/0
|
||||
debug1: channel 3: new [auth socket]
|
||||
debug1: server_input_channel_req: channel 2 request pty-req reply 1
|
||||
debug1: session_by_channel: session 0 channel 2
|
||||
debug1: session_input_channel_req: session 0 req pty-req
|
||||
debug1: Allocating pty.
|
||||
debug1: session_pty_req: session 0 alloc /dev/pts/32
|
||||
debug1: server_input_channel_req: channel 2 request shell reply 1
|
||||
debug1: session_by_channel: session 0 channel 2
|
||||
debug1: session_input_channel_req: session 0 req shell
|
||||
debug1: Setting controlling tty using TIOCSCTTY.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
debug1: server_input_global_request: rtype tcpip-forward want_reply 1
|
||||
debug1: server_input_global_request: tcpip-forward listen localhost port 0
|
||||
debug1: Local forwarding listening on ::1 port 0.
|
||||
debug1: Allocated listen port 33562
|
||||
debug1: channel 0: new [port listener]
|
||||
debug1: Local forwarding listening on 127.0.0.1 port 33562.
|
||||
|
||||
[11:49] bento:openssh-6.2p1% grep "Allocated listen port" -r .
|
||||
./channels.c: debug("Allocated listen port %d",
|
||||
[11:49] bento:openssh-6.2p1%
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
[11:54] bento:~% ssh -R 0:localhost:22 -R 0:192.168.1.1:33 localhost
|
||||
Allocated port 48392 for remote forward to localhost:22
|
||||
Allocated port 37515 for remote forward to 192.168.1.1:33
|
||||
|
||||
|
||||
|
||||
|
||||
debug1: server_input_global_request: rtype tcpip-forward want_reply 1
|
||||
debug1: server_input_global_request: tcpip-forward listen localhost port 0
|
||||
debug1: Local forwarding listening on ::1 port 0.
|
||||
debug1: Allocated listen port 48392
|
||||
debug1: channel 0: new [port listener]
|
||||
debug1: Local forwarding listening on 127.0.0.1 port 48392.
|
||||
debug1: channel 1: new [port listener]
|
||||
debug1: server_input_global_request: rtype tcpip-forward want_reply 1
|
||||
debug1: server_input_global_request: tcpip-forward listen localhost port 0
|
||||
debug1: Local forwarding listening on ::1 port 0.
|
||||
debug1: Allocated listen port 37515
|
||||
debug1: channel 2: new [port listener]
|
||||
debug1: Local forwarding listening on 127.0.0.1 port 37515.
|
||||
debug1: channel 3: new [port listener]
|
||||
debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384
|
||||
debug1: input_session_request
|
||||
debug1: channel 4: new [server-session]
|
||||
debug1: session_new: session 0
|
||||
debug1: session_open: channel 4
|
||||
debug1: session_open: session 0: link with channel 4
|
||||
|
||||
debug1: Local forwarding listening on ::1 port 5555.
|
||||
debug1: channel 0: new [port listener]
|
||||
debug1: Local forwarding listening on 127.0.0.1 port 5555.
|
||||
debug1: channel 1: new [port listener]
|
||||
debug1: server_input_global_request: rtype tcpip-forward want_reply 1
|
||||
debug1: server_input_global_request: tcpip-forward listen localhost port 4444
|
||||
debug1: Local forwarding listening on ::1 port 4444.
|
||||
debug1: channel 2: new [port listener]
|
||||
debug1: Local forwarding listening on 127.0.0.1 port 4444.
|
||||
debug1: channel 3: new [port listener]
|
||||
debug1: server_input_channel_open: ctype session rchan 0 win 1048576 max 16384
|
||||
debug1: input_session_request
|
||||
debug1: channel 4: new [server-session]
|
||||
debug1: session_new: session 0
|
||||
debug1: session_open: channel 4
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
[12:06] bento:openssh-6.2p1% grep SSH_CONNECTION -r *
|
||||
audit-bsm.c: case SSH_CONNECTION_CLOSE:
|
||||
audit.c: {SSH_CONNECTION_CLOSE, "CONNECTION_CLOSE"},
|
||||
audit.c: {SSH_CONNECTION_ABANDON, "CONNECTION_ABANDON"},
|
||||
audit.h: SSH_CONNECTION_CLOSE, /* closed after attempting auth or session */
|
||||
audit.h: SSH_CONNECTION_ABANDON, /* closed without completing auth */
|
||||
audit-linux.c: case SSH_CONNECTION_CLOSE:
|
||||
monitor.c: case SSH_CONNECTION_CLOSE:
|
||||
regress/proxy-connect.sh: SSH_CONNECTION=`${SSH} -$p -F $OBJ/ssh_proxy 999.999.999.999 'echo $SSH_CONNECTION'`
|
||||
regress/proxy-connect.sh: if [ "$SSH_CONNECTION" != "UNKNOWN 65535 UNKNOWN 65535" ]; then
|
||||
regress/proxy-connect.sh: fail "bad SSH_CONNECTION"
|
||||
session.c: child_set_env(&env, &envsize, "SSH_CONNECTION", buf);
|
||||
sftp-server.c: if ((cp = getenv("SSH_CONNECTION")) != NULL) {
|
||||
sftp-server.c: error("Malformed SSH_CONNECTION variable: \"%s\"",
|
||||
sftp-server.c: getenv("SSH_CONNECTION"));
|
||||
ssh.0: SSH_CONNECTION Identifies the client and server ends of the
|
||||
ssh.1:.It Ev SSH_CONNECTION
|
||||
sshd.c: PRIVSEP(audit_event(SSH_CONNECTION_CLOSE));
|
||||
sshd.c: audit_event(SSH_CONNECTION_ABANDON);
|
||||
[12:06] bento:openssh-6.2p1%
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
debug1: Remote connections from LOCALHOST:5555 forwarded to local address localhost:22
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
[12:42] bento:openssh-6.2p1% grep tcpip-forward *
|
||||
channels.c: packet_put_cstring("tcpip-forward");
|
||||
channels.c: packet_put_cstring("cancel-tcpip-forward");
|
||||
Binary file channels.o matches
|
||||
grep: contrib: Is a directory
|
||||
Binary file libssh.a matches
|
||||
grep: openbsd-compat: Is a directory
|
||||
grep: regress: Is a directory
|
||||
grep: scard: Is a directory
|
||||
serverloop.c: if (strcmp(rtype, "tcpip-forward") == 0) {
|
||||
serverloop.c: debug("server_input_global_request: tcpip-forward listen %s port %d",
|
||||
serverloop.c: } else if (strcmp(rtype, "cancel-tcpip-forward") == 0) {
|
||||
serverloop.c: debug("%s: cancel-tcpip-forward addr %s port %d", __func__,
|
||||
Binary file serverloop.o matches
|
||||
Binary file ssh matches
|
||||
Binary file sshd matches
|
||||
Binary file ssh-keyscan matches
|
||||
Binary file ssh-keysign matches
|
||||
[12:42] bento:openssh-6.2p1%
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Channel information for (remote) forwarding:
|
||||
|
||||
c = channel_new("port listener", type, sock, sock, -1,
|
||||
CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT,
|
||||
0, "port listener", 1);
|
||||
c->path = xstrdup(host);
|
||||
c->host_port = port_to_connect;
|
||||
c->listening_addr = addr == NULL ? NULL : xstrdup(addr);
|
||||
if (listen_port == 0 && allocated_listen_port != NULL &&
|
||||
!(datafellows & SSH_BUG_DYNAMIC_RPORT))
|
||||
c->listening_port = *allocated_listen_port;
|
||||
else
|
||||
c->listening_port = listen_port;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Code handling remote forwarding in the client:
|
||||
- ssh_init_forwarding
|
||||
- channel_request_remote_forwarding
|
||||
Sends hostname + port for ssh1 only - not send in ssh2
|
||||
|
||||
Code handling forwarding / listening in the server:
|
||||
|
||||
- channel_new: creates channels, 2 per listener (ipv4/ipv6)
|
||||
- channels_alloc contains number of channels
|
||||
- server_input_global_request
|
||||
Reads only listen port, not hostname/port to connect to
|
||||
- channel_setup_remote_fwd_listener
|
||||
- channel_setup_remote_fwd_listener
|
||||
|
||||
Code handling environment variables:
|
||||
|
||||
- child_set_env
|
||||
1236 child_set_env(&env, &envsize, "SSH_CONNECTION", buf);
|
||||
|
||||
40
docs/dev/logs/2013-05-17.ssh-callback-socat
Normal file
40
docs/dev/logs/2013-05-17.ssh-callback-socat
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
|
||||
start ssh
|
||||
to controlhost,
|
||||
bind other side to
|
||||
localhost:22
|
||||
|
||||
|
||||
targethost ------> ssh ------> controlhost
|
||||
|
|
||||
|
|
||||
socat: connect stdin/stdout to ?
|
||||
start cdist with port information
|
||||
added
|
||||
|
||||
|
||||
Use
|
||||
|
||||
socat
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
TCP:<host>:<port>
|
||||
Connects to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specifi‐
|
||||
cation, name resolution, or option pf.
|
||||
Option groups: FD,SOCKET,IP4,IP6,TCP,RETRY
|
||||
Useful options: crnl, bind, pf, connect-timeout, tos, mtudiscover, mss, nodelay, nonblock, sourceport, retry,
|
||||
readbytes
|
||||
See also: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT
|
||||
|
||||
forever
|
||||
--------------------------------------------------------------------------------
|
||||
[root@nico-dev-vm-snr01 yum.repos.d]# ps aux | grep socat
|
||||
nico 25035 0.0 0.0 41640 1524 ? Ss 13:27 0:00 socat - TCP-LISTEN:1234
|
||||
root 25037 0.0 0.0 103240 836 pts/1 S+ 13:27 0:00 grep socat
|
||||
[root@nico-dev-vm-snr01 yum.repos.d]#
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
38
docs/dev/logs/2013-07-12.release
Normal file
38
docs/dev/logs/2013-07-12.release
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
- setup release date in docs/changelog to today manually
|
||||
|
||||
- checkout master branch
|
||||
[
|
||||
x check if date is correct in docs/changelog
|
||||
x ensure all unittests work
|
||||
- requires (wrong/outdated) versionfile!
|
||||
x compile manpages
|
||||
x compile speeches
|
||||
]
|
||||
[
|
||||
x add manpages to website repo
|
||||
x add speeches to website repo
|
||||
x rsync cdist docs to website repo & add to website repo
|
||||
x create blog entry & add to website repo
|
||||
]
|
||||
x upload website
|
||||
x fix latest link for manpages
|
||||
x send mail to mailinglist -> also requires git tag & git release
|
||||
x should also require web-release including blog!
|
||||
|
||||
- create PKGBUILD for archlinux release
|
||||
|
||||
x create git tag / read description
|
||||
t if necessary create version branch
|
||||
x change to version branch and merge tag!
|
||||
x update git repos
|
||||
x update website from repo
|
||||
x create release on freecode
|
||||
|
||||
x create versionfile
|
||||
x make pypi release
|
||||
x make archlinux release
|
||||
|
||||
manual last steps:
|
||||
|
||||
- announce on linkedin
|
||||
- announce on twitter
|
||||
56
docs/dev/logs/2013-07-25.source-error-does-not-stop-cdist
Normal file
56
docs/dev/logs/2013-07-25.source-error-does-not-stop-cdist
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
Symptom:
|
||||
running something in a manifest and that fails does not exist
|
||||
the cdist run
|
||||
|
||||
Analysis:
|
||||
Find out what the shell does:
|
||||
|
||||
[23:56] bento:testshell% cat a.sh
|
||||
# source something that fails
|
||||
. b.sh
|
||||
[23:57] bento:testshell% cat b.sh
|
||||
nosuchcommand
|
||||
[23:57] bento:testshell% sh -e a.sh
|
||||
a.sh: 2: .: b.sh: not found
|
||||
[23:57] bento:testshell% echo $?
|
||||
2
|
||||
|
||||
-> exit 2 -> looks good
|
||||
|
||||
|
||||
Find out what the python does:
|
||||
|
||||
[23:57] bento:testshell% python3
|
||||
Python 3.3.2 (default, May 21 2013, 15:40:45)
|
||||
[GCC 4.8.0 20130502 (prerelease)] on linux
|
||||
Type "help", "copyright", "credits" or "license" for more information.
|
||||
>>> import subprocess
|
||||
>>> subprocess.check_call(["/bin/sh", "-e", "a.sh"])
|
||||
a.sh: 2: .: b.sh: not found
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "/usr/lib/python3.3/subprocess.py", line 544, in check_call
|
||||
raise CalledProcessError(retcode, cmd)
|
||||
subprocess.CalledProcessError: Command '['/bin/sh', '-e', 'a.sh']' returned non-zero exit status 2
|
||||
>>>
|
||||
|
||||
|
||||
Conclusion:
|
||||
Manifests that execute (!) other shell scripts does
|
||||
not necessarily give the -e flag to the other script
|
||||
-> called script can have failures, but exit 0
|
||||
if something the last thing executed does exit 0!
|
||||
|
||||
Solution:
|
||||
Instead of doing stuff like
|
||||
"$__manifest/special"
|
||||
|
||||
use
|
||||
sh -e "$__manifest/special"
|
||||
|
||||
or source the script:
|
||||
. "$__manifest/special"
|
||||
|
||||
(runs the script in the same namespace/process as everything in the
|
||||
calling script)
|
||||
|
||||
2
docs/dev/logs/2013-08-07.shell
Normal file
2
docs/dev/logs/2013-08-07.shell
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
What about having a cdist shell to have a shell with all available types?
|
||||
Let's give it a try!
|
||||
28
docs/dev/logs/2013-08-12.release
Normal file
28
docs/dev/logs/2013-08-12.release
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
- already on 2.3.0-1 during release
|
||||
- user bug: there should be no changes / commits during a release process
|
||||
|
||||
hard linking docs/man/man7/cdist-type__user.7 -> cdist-2.3.0-1-g8192c2c/docs/man/man7
|
||||
hard linking docs/man/man7/cdist-type__user.html -> cdist-2.3.0-1-g8192c2c/docs/man/man7
|
||||
hard linking docs/man/man7/cdist-type__user_groups.7 -> cdist-2.3.0-1-g8192c2c/docs/man/man7
|
||||
hard linking docs/man/man7/cdist-type__user_groups.html -> cdist-2.3.0-1-g8192c2c/docs/man/man7
|
||||
hard linking scripts/cdist -> cdist-2.3.0-1-g8192c2c/scripts
|
||||
creating dist
|
||||
Creating tar archive
|
||||
removing 'cdist-2.3.0-1-g8192c2c' (and everything under it)
|
||||
running upload
|
||||
Submitting dist/cdist-2.3.0-1-g8192c2c.tar.gz to http://pypi.python.org/pypi
|
||||
Server response (200): OK
|
||||
touch .lock-pypi
|
||||
./PKGBUILD.in 2.3.0
|
||||
==> Retrieving sources...
|
||||
-> Downloading cdist-2.3.0.tar.gz...
|
||||
% Total % Received % Xferd Average Speed Time Time Time Current
|
||||
Dload Upload Total Spent Left Speed
|
||||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
|
||||
curl: (22) The requested URL returned error: 404 Not Found
|
||||
==> ERROR: Failure while downloading cdist-2.3.0.tar.gz
|
||||
Aborting...
|
||||
make: *** [PKGBUILD] Error 1
|
||||
[12:38] bento:cdist%
|
||||
|
||||
17
docs/dev/logs/2013-08-18.cache-enhancement
Normal file
17
docs/dev/logs/2013-08-18.cache-enhancement
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
- always save cache = outdir
|
||||
- even if run aborts (for debugging)
|
||||
- add a state flag
|
||||
- save cache in a date based directory
|
||||
- also add support for a per-host pidfile
|
||||
- allow user to specify cache dir - to give
|
||||
full flexibility
|
||||
- drop context - it is a very small unecessary wrapper
|
||||
- maye introduce cdist.log instead!
|
||||
- replace out_path with out_base
|
||||
- directory under which all the subdirectories are
|
||||
created
|
||||
-> by default ~/.cdist/run
|
||||
-> out_base_path
|
||||
- drop support for deprecated environment variables
|
||||
__cdist_out_dir
|
||||
__cdist_remote_out_dir
|
||||
5
docs/dev/logs/2013-08-28.release
Normal file
5
docs/dev/logs/2013-08-28.release
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
- release process releases pypi from something
|
||||
that is git describe based, not changelog based...
|
||||
|
||||
- git describe should equal changelog, but may be
|
||||
inconsistent due to branch merging!
|
||||
34
docs/dev/logs/2013-09-05.test-cp
Normal file
34
docs/dev/logs/2013-09-05.test-cp
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
Test copy copys symlinks - making real files would be better
|
||||
|
||||
Test how to use cp:
|
||||
|
||||
[12:54] bento:~% cd test
|
||||
[12:54] bento:test% ln -s /etc/passwd
|
||||
[12:54] bento:test% cd ..
|
||||
[12:54] bento:~% cp -r test test2
|
||||
[12:54] bento:~% ls -lh test2/
|
||||
total 4.0K
|
||||
lrwxrwxrwx 1 nico nico 11 Sep 5 12:54 passwd -> /etc/passwd
|
||||
[12:54] bento:~% rm -rf test2/
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
[12:54] bento:~% ls -lh test2/
|
||||
total 4.0K
|
||||
lrwxrwxrwx 1 nico nico 11 Sep 5 12:54 passwd -> /etc/passwd
|
||||
[12:54] bento:~% rm -rf test2/
|
||||
[12:54] bento:~% cp -r --dereference test test2
|
||||
[12:56] bento:~% ls -l test2/
|
||||
total 4
|
||||
-rw------- 1 nico nico 960 Sep 5 12:56 passwd
|
||||
[12:56] bento:~%
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
[13:04] bento:cdist% git describe
|
||||
2.3.2
|
||||
[13:09] bento:cdist% vi MANIFEST.in
|
||||
[13:09] bento:cdist% vi MANIFEST
|
||||
[13:09] bento:cdist% vi setup.py
|
||||
[13:09] bento:cdist% cat cdist/version.py
|
||||
VERSION = "2.3.1-34-g7acf041"
|
||||
[13:10] bento:cdist%
|
||||
|
||||
13
docs/dev/logs/2013-10-03.ossawards/infos
Normal file
13
docs/dev/logs/2013-10-03.ossawards/infos
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Required for the ossawards until 2013-10-06:
|
||||
- all source code
|
||||
- licenses GPLv3
|
||||
- installation instructions,
|
||||
- On Linux do the following:
|
||||
- pip install
|
||||
-
|
||||
- necessary documents and
|
||||
- a demo video onto our web hard.
|
||||
- installation
|
||||
- cdist via cdist
|
||||
- presentation
|
||||
- build from existing ones (?)
|
||||
6
docs/dev/logs/2013-10-29.__line
Normal file
6
docs/dev/logs/2013-10-29.__line
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
- fix handling of fixed strings
|
||||
- ensure special characters are not interpreted
|
||||
[12:18] bento:~% cat /etc/bash.bashrc
|
||||
cat: /etc/bash.bashrc: Permission denied
|
||||
[12:19] bento:~%
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue