diff --git a/examples/complete/HostSystem.yaml b/examples/complete/HostSystem.yaml index 77e089d5..51e137d7 100644 --- a/examples/complete/HostSystem.yaml +++ b/examples/complete/HostSystem.yaml @@ -37,44 +37,127 @@ data: kubernetes: kubectl: gcr.io/google_containers/hyperkube-amd64:v1.11.6 packages: - repositories: - - deb http://apt.dockerproject.org/repo ubuntu-xenial main - keys: - - |- - -----BEGIN PGP PUBLIC KEY BLOCK----- + common: + repositories: + - deb http://apt.dockerproject.org/repo ubuntu-xenial main + keys: + - |- + -----BEGIN PGP PUBLIC KEY BLOCK----- - mQINBFWln24BEADrBl5p99uKh8+rpvqJ48u4eTtjeXAWbslJotmC/CakbNSqOb9o - ddfzRvGVeJVERt/Q/mlvEqgnyTQy+e6oEYN2Y2kqXceUhXagThnqCoxcEJ3+KM4R - mYdoe/BJ/J/6rHOjq7Omk24z2qB3RU1uAv57iY5VGw5p45uZB4C4pNNsBJXoCvPn - TGAs/7IrekFZDDgVraPx/hdiwopQ8NltSfZCyu/jPpWFK28TR8yfVlzYFwibj5WK - dHM7ZTqlA1tHIG+agyPf3Rae0jPMsHR6q+arXVwMccyOi+ULU0z8mHUJ3iEMIrpT - X+80KaN/ZjibfsBOCjcfiJSB/acn4nxQQgNZigna32velafhQivsNREFeJpzENiG - HOoyC6qVeOgKrRiKxzymj0FIMLru/iFF5pSWcBQB7PYlt8J0G80lAcPr6VCiN+4c - NKv03SdvA69dCOj79PuO9IIvQsJXsSq96HB+TeEmmL+xSdpGtGdCJHHM1fDeCqkZ - hT+RtBGQL2SEdWjxbF43oQopocT8cHvyX6Zaltn0svoGs+wX3Z/H6/8P5anog43U - 65c0A+64Jj00rNDr8j31izhtQMRo892kGeQAaaxg4Pz6HnS7hRC+cOMHUU4HA7iM - zHrouAdYeTZeZEQOA7SxtCME9ZnGwe2grxPXh/U/80WJGkzLFNcTKdv+rwARAQAB - tDdEb2NrZXIgUmVsZWFzZSBUb29sIChyZWxlYXNlZG9ja2VyKSA8ZG9ja2VyQGRv - Y2tlci5jb20+iQI4BBMBAgAiBQJVpZ9uAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIe - AQIXgAAKCRD3YiFXLFJgnbRfEAC9Uai7Rv20QIDlDogRzd+Vebg4ahyoUdj0CH+n - Ak40RIoq6G26u1e+sdgjpCa8jF6vrx+smpgd1HeJdmpahUX0XN3X9f9qU9oj9A4I - 1WDalRWJh+tP5WNv2ySy6AwcP9QnjuBMRTnTK27pk1sEMg9oJHK5p+ts8hlSC4Sl - uyMKH5NMVy9c+A9yqq9NF6M6d6/ehKfBFFLG9BX+XLBATvf1ZemGVHQusCQebTGv - 0C0V9yqtdPdRWVIEhHxyNHATaVYOafTj/EF0lDxLl6zDT6trRV5n9F1VCEh4Aal8 - L5MxVPcIZVO7NHT2EkQgn8CvWjV3oKl2GopZF8V4XdJRl90U/WDv/6cmfI08GkzD - YBHhS8ULWRFwGKobsSTyIvnbk4NtKdnTGyTJCQ8+6i52s+C54PiNgfj2ieNn6oOR - 7d+bNCcG1CdOYY+ZXVOcsjl73UYvtJrO0Rl/NpYERkZ5d/tzw4jZ6FCXgggA/Zxc - jk6Y1ZvIm8Mt8wLRFH9Nww+FVsCtaCXJLP8DlJLASMD9rl5QS9Ku3u7ZNrr5HWXP - HXITX660jglyshch6CWeiUATqjIAzkEQom/kEnOrvJAtkypRJ59vYQOedZ1sFVEL - MXg2UCkD/FwojfnVtjzYaTCeGwFQeqzHmM241iuOmBYPeyTY5veF49aBJA1gEJOQ - TvBR8Q== - =Fm3p - -----END PGP PUBLIC KEY BLOCK----- - additional: - - ceph-common - - curl - - jq - required: - docker: docker-engine - socat: socat + mQINBFWln24BEADrBl5p99uKh8+rpvqJ48u4eTtjeXAWbslJotmC/CakbNSqOb9o + ddfzRvGVeJVERt/Q/mlvEqgnyTQy+e6oEYN2Y2kqXceUhXagThnqCoxcEJ3+KM4R + mYdoe/BJ/J/6rHOjq7Omk24z2qB3RU1uAv57iY5VGw5p45uZB4C4pNNsBJXoCvPn + TGAs/7IrekFZDDgVraPx/hdiwopQ8NltSfZCyu/jPpWFK28TR8yfVlzYFwibj5WK + dHM7ZTqlA1tHIG+agyPf3Rae0jPMsHR6q+arXVwMccyOi+ULU0z8mHUJ3iEMIrpT + X+80KaN/ZjibfsBOCjcfiJSB/acn4nxQQgNZigna32velafhQivsNREFeJpzENiG + HOoyC6qVeOgKrRiKxzymj0FIMLru/iFF5pSWcBQB7PYlt8J0G80lAcPr6VCiN+4c + NKv03SdvA69dCOj79PuO9IIvQsJXsSq96HB+TeEmmL+xSdpGtGdCJHHM1fDeCqkZ + hT+RtBGQL2SEdWjxbF43oQopocT8cHvyX6Zaltn0svoGs+wX3Z/H6/8P5anog43U + 65c0A+64Jj00rNDr8j31izhtQMRo892kGeQAaaxg4Pz6HnS7hRC+cOMHUU4HA7iM + zHrouAdYeTZeZEQOA7SxtCME9ZnGwe2grxPXh/U/80WJGkzLFNcTKdv+rwARAQAB + tDdEb2NrZXIgUmVsZWFzZSBUb29sIChyZWxlYXNlZG9ja2VyKSA8ZG9ja2VyQGRv + Y2tlci5jb20+iQI4BBMBAgAiBQJVpZ9uAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIe + AQIXgAAKCRD3YiFXLFJgnbRfEAC9Uai7Rv20QIDlDogRzd+Vebg4ahyoUdj0CH+n + Ak40RIoq6G26u1e+sdgjpCa8jF6vrx+smpgd1HeJdmpahUX0XN3X9f9qU9oj9A4I + 1WDalRWJh+tP5WNv2ySy6AwcP9QnjuBMRTnTK27pk1sEMg9oJHK5p+ts8hlSC4Sl + uyMKH5NMVy9c+A9yqq9NF6M6d6/ehKfBFFLG9BX+XLBATvf1ZemGVHQusCQebTGv + 0C0V9yqtdPdRWVIEhHxyNHATaVYOafTj/EF0lDxLl6zDT6trRV5n9F1VCEh4Aal8 + L5MxVPcIZVO7NHT2EkQgn8CvWjV3oKl2GopZF8V4XdJRl90U/WDv/6cmfI08GkzD + YBHhS8ULWRFwGKobsSTyIvnbk4NtKdnTGyTJCQ8+6i52s+C54PiNgfj2ieNn6oOR + 7d+bNCcG1CdOYY+ZXVOcsjl73UYvtJrO0Rl/NpYERkZ5d/tzw4jZ6FCXgggA/Zxc + jk6Y1ZvIm8Mt8wLRFH9Nww+FVsCtaCXJLP8DlJLASMD9rl5QS9Ku3u7ZNrr5HWXP + HXITX660jglyshch6CWeiUATqjIAzkEQom/kEnOrvJAtkypRJ59vYQOedZ1sFVEL + MXg2UCkD/FwojfnVtjzYaTCeGwFQeqzHmM241iuOmBYPeyTY5veF49aBJA1gEJOQ + TvBR8Q== + =Fm3p + -----END PGP PUBLIC KEY BLOCK----- + additional: + - ceph-common + - curl + - jq + required: + docker: docker-engine + socat: socat + genesis: + repositories: + - deb http://apt.dockerproject.org/repo ubuntu-xenial main + keys: + - |- + -----BEGIN PGP PUBLIC KEY BLOCK----- + + mQINBFWln24BEADrBl5p99uKh8+rpvqJ48u4eTtjeXAWbslJotmC/CakbNSqOb9o + ddfzRvGVeJVERt/Q/mlvEqgnyTQy+e6oEYN2Y2kqXceUhXagThnqCoxcEJ3+KM4R + mYdoe/BJ/J/6rHOjq7Omk24z2qB3RU1uAv57iY5VGw5p45uZB4C4pNNsBJXoCvPn + TGAs/7IrekFZDDgVraPx/hdiwopQ8NltSfZCyu/jPpWFK28TR8yfVlzYFwibj5WK + dHM7ZTqlA1tHIG+agyPf3Rae0jPMsHR6q+arXVwMccyOi+ULU0z8mHUJ3iEMIrpT + X+80KaN/ZjibfsBOCjcfiJSB/acn4nxQQgNZigna32velafhQivsNREFeJpzENiG + HOoyC6qVeOgKrRiKxzymj0FIMLru/iFF5pSWcBQB7PYlt8J0G80lAcPr6VCiN+4c + NKv03SdvA69dCOj79PuO9IIvQsJXsSq96HB+TeEmmL+xSdpGtGdCJHHM1fDeCqkZ + hT+RtBGQL2SEdWjxbF43oQopocT8cHvyX6Zaltn0svoGs+wX3Z/H6/8P5anog43U + 65c0A+64Jj00rNDr8j31izhtQMRo892kGeQAaaxg4Pz6HnS7hRC+cOMHUU4HA7iM + zHrouAdYeTZeZEQOA7SxtCME9ZnGwe2grxPXh/U/80WJGkzLFNcTKdv+rwARAQAB + tDdEb2NrZXIgUmVsZWFzZSBUb29sIChyZWxlYXNlZG9ja2VyKSA8ZG9ja2VyQGRv + Y2tlci5jb20+iQI4BBMBAgAiBQJVpZ9uAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIe + AQIXgAAKCRD3YiFXLFJgnbRfEAC9Uai7Rv20QIDlDogRzd+Vebg4ahyoUdj0CH+n + Ak40RIoq6G26u1e+sdgjpCa8jF6vrx+smpgd1HeJdmpahUX0XN3X9f9qU9oj9A4I + 1WDalRWJh+tP5WNv2ySy6AwcP9QnjuBMRTnTK27pk1sEMg9oJHK5p+ts8hlSC4Sl + uyMKH5NMVy9c+A9yqq9NF6M6d6/ehKfBFFLG9BX+XLBATvf1ZemGVHQusCQebTGv + 0C0V9yqtdPdRWVIEhHxyNHATaVYOafTj/EF0lDxLl6zDT6trRV5n9F1VCEh4Aal8 + L5MxVPcIZVO7NHT2EkQgn8CvWjV3oKl2GopZF8V4XdJRl90U/WDv/6cmfI08GkzD + YBHhS8ULWRFwGKobsSTyIvnbk4NtKdnTGyTJCQ8+6i52s+C54PiNgfj2ieNn6oOR + 7d+bNCcG1CdOYY+ZXVOcsjl73UYvtJrO0Rl/NpYERkZ5d/tzw4jZ6FCXgggA/Zxc + jk6Y1ZvIm8Mt8wLRFH9Nww+FVsCtaCXJLP8DlJLASMD9rl5QS9Ku3u7ZNrr5HWXP + HXITX660jglyshch6CWeiUATqjIAzkEQom/kEnOrvJAtkypRJ59vYQOedZ1sFVEL + MXg2UCkD/FwojfnVtjzYaTCeGwFQeqzHmM241iuOmBYPeyTY5veF49aBJA1gEJOQ + TvBR8Q== + =Fm3p + -----END PGP PUBLIC KEY BLOCK----- + additional: + - ceph-common + - curl + - jq + required: + docker: docker-engine + socat: socat + join: + repositories: + - deb http://apt.dockerproject.org/repo ubuntu-xenial main + keys: + - |- + -----BEGIN PGP PUBLIC KEY BLOCK----- + + mQINBFWln24BEADrBl5p99uKh8+rpvqJ48u4eTtjeXAWbslJotmC/CakbNSqOb9o + ddfzRvGVeJVERt/Q/mlvEqgnyTQy+e6oEYN2Y2kqXceUhXagThnqCoxcEJ3+KM4R + mYdoe/BJ/J/6rHOjq7Omk24z2qB3RU1uAv57iY5VGw5p45uZB4C4pNNsBJXoCvPn + TGAs/7IrekFZDDgVraPx/hdiwopQ8NltSfZCyu/jPpWFK28TR8yfVlzYFwibj5WK + dHM7ZTqlA1tHIG+agyPf3Rae0jPMsHR6q+arXVwMccyOi+ULU0z8mHUJ3iEMIrpT + X+80KaN/ZjibfsBOCjcfiJSB/acn4nxQQgNZigna32velafhQivsNREFeJpzENiG + HOoyC6qVeOgKrRiKxzymj0FIMLru/iFF5pSWcBQB7PYlt8J0G80lAcPr6VCiN+4c + NKv03SdvA69dCOj79PuO9IIvQsJXsSq96HB+TeEmmL+xSdpGtGdCJHHM1fDeCqkZ + hT+RtBGQL2SEdWjxbF43oQopocT8cHvyX6Zaltn0svoGs+wX3Z/H6/8P5anog43U + 65c0A+64Jj00rNDr8j31izhtQMRo892kGeQAaaxg4Pz6HnS7hRC+cOMHUU4HA7iM + zHrouAdYeTZeZEQOA7SxtCME9ZnGwe2grxPXh/U/80WJGkzLFNcTKdv+rwARAQAB + tDdEb2NrZXIgUmVsZWFzZSBUb29sIChyZWxlYXNlZG9ja2VyKSA8ZG9ja2VyQGRv + Y2tlci5jb20+iQI4BBMBAgAiBQJVpZ9uAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIe + AQIXgAAKCRD3YiFXLFJgnbRfEAC9Uai7Rv20QIDlDogRzd+Vebg4ahyoUdj0CH+n + Ak40RIoq6G26u1e+sdgjpCa8jF6vrx+smpgd1HeJdmpahUX0XN3X9f9qU9oj9A4I + 1WDalRWJh+tP5WNv2ySy6AwcP9QnjuBMRTnTK27pk1sEMg9oJHK5p+ts8hlSC4Sl + uyMKH5NMVy9c+A9yqq9NF6M6d6/ehKfBFFLG9BX+XLBATvf1ZemGVHQusCQebTGv + 0C0V9yqtdPdRWVIEhHxyNHATaVYOafTj/EF0lDxLl6zDT6trRV5n9F1VCEh4Aal8 + L5MxVPcIZVO7NHT2EkQgn8CvWjV3oKl2GopZF8V4XdJRl90U/WDv/6cmfI08GkzD + YBHhS8ULWRFwGKobsSTyIvnbk4NtKdnTGyTJCQ8+6i52s+C54PiNgfj2ieNn6oOR + 7d+bNCcG1CdOYY+ZXVOcsjl73UYvtJrO0Rl/NpYERkZ5d/tzw4jZ6FCXgggA/Zxc + jk6Y1ZvIm8Mt8wLRFH9Nww+FVsCtaCXJLP8DlJLASMD9rl5QS9Ku3u7ZNrr5HWXP + HXITX660jglyshch6CWeiUATqjIAzkEQom/kEnOrvJAtkypRJ59vYQOedZ1sFVEL + MXg2UCkD/FwojfnVtjzYaTCeGwFQeqzHmM241iuOmBYPeyTY5veF49aBJA1gEJOQ + TvBR8Q== + =Fm3p + -----END PGP PUBLIC KEY BLOCK----- + additional: + - ceph-common + - curl + - jq + required: + docker: docker-engine + socat: socat ... diff --git a/promenade/builder.py b/promenade/builder.py index ff5cd6c2..64ad3cb4 100644 --- a/promenade/builder.py +++ b/promenade/builder.py @@ -81,10 +81,11 @@ class Builder: def build_genesis_script(self): LOG.info('Building genesis script') + genesis_roles = ['common', 'genesis'] sub_config = self.config.extract_genesis_config() tarball = renderer.build_tarball_from_roles( config=sub_config, - roles=['common', 'genesis'], + roles=genesis_roles, file_specs=self.file_cache.values()) (encrypted_tarball, decrypt_setup_command, decrypt_command, @@ -98,7 +99,8 @@ class Builder: 'decrypt_setup_command': decrypt_setup_command, 'decrypt_teardown_command': decrypt_teardown_command, 'encrypted_tarball': encrypted_tarball, - }) + }, + roles=genesis_roles) def _build_genesis_validate_script(self): sub_config = self.config.extract_genesis_config() @@ -118,13 +120,14 @@ class Builder: validate_script) def build_node_script(self, node_name): + build_roles = ['common', 'join'] sub_config = self.config.extract_node_config(node_name) file_spec_paths = [ f['path'] for f in self.config.get_path('HostSystem:files', []) ] file_specs = [self.file_cache[p] for p in file_spec_paths] tarball = renderer.build_tarball_from_roles( - config=sub_config, roles=['common', 'join'], file_specs=file_specs) + config=sub_config, roles=build_roles, file_specs=file_specs) (encrypted_tarball, decrypt_setup_command, decrypt_command, decrypt_teardown_command) = _encrypt_node(sub_config, tarball) @@ -137,7 +140,8 @@ class Builder: 'decrypt_setup_command': decrypt_setup_command, 'decrypt_teardown_command': decrypt_teardown_command, 'encrypted_tarball': encrypted_tarball, - }) + }, + roles=build_roles) def _build_node_validate_script(self, node_name): sub_config = self.config.extract_node_config(node_name) diff --git a/promenade/renderer.py b/promenade/renderer.py index 676e8f2f..8328b623 100644 --- a/promenade/renderer.py +++ b/promenade/renderer.py @@ -82,10 +82,13 @@ def render_template_into_bundler(*, bundler, config, destination_path, bundler.add(path=destination_path, data=data, mode=mode) -def render_template(config, *, template, context=None): +def render_template(config, *, template, context=None, roles=None): if context is None: context = {} + if roles is None: + roles = {} + template_contents = pkg_resources.resource_string( 'promenade', os.path.join('templates', template)) @@ -93,7 +96,7 @@ def render_template(config, *, template, context=None): template_obj = env.from_string(template_contents.decode('utf-8')) try: - return template_obj.render(config=config, **context) + return template_obj.render(config=config, roles=roles, **context) except jinja2.exceptions.TemplateRuntimeError as e: LOG.exception('Error rendering template (%s)' % template) raise exceptions.TemplateRenderException( diff --git a/promenade/schemas/HostSystem.yaml b/promenade/schemas/HostSystem.yaml index 1a32f809..538eb849 100644 --- a/promenade/schemas/HostSystem.yaml +++ b/promenade/schemas/HostSystem.yaml @@ -115,36 +115,104 @@ data: packages: type: object - properties: - additional: - type: array - items: - $ref: '#/definitions/package' - keys: - type: array - items: - $ref: '#/definitions/public_key' + common: + type: object + properties: + additional: + type: array + items: + $ref: '#/definitions/package' + keys: + type: array + items: + $ref: '#/definitions/public_key' + + required: + type: object + properties: + docker: + $ref: '#/definitions/package' + socat: + $ref: '#/definitions/package' + required: + - docker + - socat + additionalProperties: false + + repositories: + type: array + items: + $ref: '#/definitions/apt_source_line' required: - type: object - properties: - docker: - $ref: '#/definitions/package' - socat: + - required + additionalProperties: false + + genesis: + type: object + properties: + additional: + type: array + items: $ref: '#/definitions/package' + keys: + type: array + items: + $ref: '#/definitions/public_key' + required: - - docker - - socat - additionalProperties: false + type: object + properties: + docker: + $ref: '#/definitions/package' + socat: + $ref: '#/definitions/package' + required: + - docker + - socat + additionalProperties: false - repositories: - type: array - items: - $ref: '#/definitions/apt_source_line' + repositories: + type: array + items: + $ref: '#/definitions/apt_source_line' - required: - - required - additionalProperties: false + required: + - required + additionalProperties: false + + join: + type: object + properties: + additional: + type: array + items: + $ref: '#/definitions/package' + keys: + type: array + items: + $ref: '#/definitions/public_key' + + required: + type: object + properties: + docker: + $ref: '#/definitions/package' + socat: + $ref: '#/definitions/package' + required: + - docker + - socat + additionalProperties: false + + repositories: + type: array + items: + $ref: '#/definitions/apt_source_line' + + required: + - required + additionalProperties: false validation: type: object diff --git a/promenade/templates/include/up.sh b/promenade/templates/include/up.sh index 613291df..e07d44cc 100644 --- a/promenade/templates/include/up.sh +++ b/promenade/templates/include/up.sh @@ -32,11 +32,13 @@ set +x log log === Adding APT Keys=== set -x -{%- for key in config.get_path('HostSystem:packages.keys', []) %} +{% for role in roles %} +{%- for key in config.get_path('HostSystem:packages.' + role + '.keys', []) %} apt-key add - <<"ENDKEY" {{ key }} ENDKEY {%- endfor %} +{%- endfor %} # Disable swap # @@ -79,24 +81,28 @@ while true; do fi done -end=$(($(date +%s) + 600)) -while true; do - if ! DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - {%- for package in config['HostSystem:packages.additional'] | default([]) %} - {{ package }} \ - {%- endfor %} - {{ config['HostSystem:packages.required.docker'] }} \ - {{ config['HostSystem:packages.required.socat'] }}; then - now=$(date +%s) - if [[ ${now} -gt ${end} ]]; then - log Failed to install apt packages. - exit 1 - fi - sleep 10 - else - break - fi -done +{% for role in roles %} + {%- if config['HostSystem:packages.' + role + '.repositories'] is defined %} + end=$(($(date +%s) + 600)) + while true; do + if ! DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + {%- for package in config['HostSystem:packages.' + role + '.additional'] | default([]) %} + {{ package }} \ + {%- endfor %} + {{ config['HostSystem:packages.' + role + '.required.docker'] }} \ + {{ config['HostSystem:packages.' + role + '.required.socat'] }}; then + now=$(date +%s) + if [[ ${now} -gt ${end} ]]; then + log Failed to install apt packages. + exit 1 + fi + sleep 10 + else + break + fi + done + {%- endif %} +{% endfor %} # Start core processes # diff --git a/promenade/templates/roles/common/etc/apt/sources.list.d/promenade-sources.list b/promenade/templates/roles/common/etc/apt/sources.list.d/promenade-sources.list index e2df07d6..178219dd 100644 --- a/promenade/templates/roles/common/etc/apt/sources.list.d/promenade-sources.list +++ b/promenade/templates/roles/common/etc/apt/sources.list.d/promenade-sources.list @@ -1,3 +1,3 @@ -{%- for repo in config.get_path('HostSystem:packages.repositories', []) %} +{%- for repo in config.get_path('HostSystem:packages.common.repositories', []) %} {{ repo }} {%- endfor %} diff --git a/promenade/templates/roles/genesis/etc/apt/sources.list.d/promenade-genesis-sources.list b/promenade/templates/roles/genesis/etc/apt/sources.list.d/promenade-genesis-sources.list new file mode 100644 index 00000000..a69d2c4b --- /dev/null +++ b/promenade/templates/roles/genesis/etc/apt/sources.list.d/promenade-genesis-sources.list @@ -0,0 +1,3 @@ +{%- for repo in config.get_path('HostSystem:packages.genesis.repositories', []) %} +{{ repo }} +{%- endfor %} diff --git a/promenade/templates/roles/join/etc/apt/sources.list.d/promenade-join-sources.list b/promenade/templates/roles/join/etc/apt/sources.list.d/promenade-join-sources.list new file mode 100644 index 00000000..e0c4fc21 --- /dev/null +++ b/promenade/templates/roles/join/etc/apt/sources.list.d/promenade-join-sources.list @@ -0,0 +1,3 @@ +{%- for repo in config.get_path('HostSystem:packages.join.repositories', []) %} +{{ repo }} +{%- endfor %} diff --git a/tools/cleanup.sh b/tools/cleanup.sh index 0c06dc47..0ea24105 100755 --- a/tools/cleanup.sh +++ b/tools/cleanup.sh @@ -10,6 +10,8 @@ log () { TO_RM=( "/etc/apt/apt.conf.d/20-proxy.conf" "/etc/apt/sources.list.d/promenade-sources.list" + "/etc/apt/sources.list.d/promenade-genesis-sources.list" + "/etc/apt/sources.list.d/promenade-join-sources.list" "/etc/cni" "/etc/coredns" "/etc/docker/daemon.json"