diff options
author | Jiri Stransky <jistr@redhat.com> | 2015-04-30 19:37:32 +0200 |
---|---|---|
committer | Jiri Stransky <jistr@redhat.com> | 2015-05-04 15:47:58 +0200 |
commit | 91e80992d4f44b004dfc152dc4a12bbdba005c7a (patch) | |
tree | d5803f7ed328af71c6d4404a5c76c5b09a9fbebf | |
parent | 9ffe4ebb871d4267ce9f31cad77ee1f2db0080ac (diff) |
Firstboot rsync for development purposes
Could be used to e.g. make changes to the puppet modules on the fly
without the need to rebuild images. Documented in the template
description.
Change-Id: I6a1fef20d4f4afa4bedac5ea520949697793f0ed
-rw-r--r-- | firstboot/userdata_dev_rsync.yaml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/firstboot/userdata_dev_rsync.yaml b/firstboot/userdata_dev_rsync.yaml new file mode 100644 index 00000000..7dc7bd4d --- /dev/null +++ b/firstboot/userdata_dev_rsync.yaml @@ -0,0 +1,49 @@ +heat_template_version: 2014-10-16 + +description: > + This is first boot configuration for development purposes. It allows + overriding contents of the deployed images via rsync before + configuration (e.g. Puppet) starts, speeding up the feedback loop + between making a change and seeing it applied. + + To prepare the host, put something like this to /etc/rsyncd.conf: + + [overcloudsync] + path = /root/overcloudsync + comment = overcloud pre-puppet customizations + + Then run `rsync --daemon`. + +parameters: + dev_rsync_host: + type: string + default: 192.168.122.1 + description: Host to sync contents from via rsync + dev_rsync_module: + type: string + default: overcloudsync + description: Name of the module defined in rsyncd.conf on rsync_host + +resources: + userdata: + type: OS::Heat::MultipartMime + properties: + parts: + - config: {get_resource: rsync_config} + subtype: 'x-shellscript' + + rsync_config: + type: OS::Heat::SoftwareConfig + properties: + config: + str_replace: + template: | + #!/bin/bash + rsync -avr rsync://RSYNC_HOST/RSYNC_MODULE / + params: + RSYNC_HOST: {get_param: dev_rsync_host} + RSYNC_MODULE: {get_param: dev_rsync_module} + +outputs: + OS::stack_id: + value: {get_resource: userdata} |