diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst index d8ca34dc9..98c983745 100644 --- a/doc/source/configuration.rst +++ b/doc/source/configuration.rst @@ -315,6 +315,21 @@ Options The path of the default python interpreter. + .. attr:: dib-cmd + :type: string + :default: disk-image-create + + Configure the command called to create this disk image. By + default this just ``disk-image-create``; i.e. it will use the + first match in ``$PATH``. For example, you may want to override + this with a fully qualified path to an alternative executable if + a custom ``diskimage-builder`` is installed in another + virutalenv. + + .. note:: Any wrapping scripts or similar should consider that + the command-line or environment arguments to + ``disk-image-create`` are not considered an API and + may change. .. attr:: providers :type: list diff --git a/nodepool/builder.py b/nodepool/builder.py index c9152c22a..d4614a011 100755 --- a/nodepool/builder.py +++ b/nodepool/builder.py @@ -558,12 +558,11 @@ class CleanupWorker(BaseWorker): class BuildWorker(BaseWorker): def __init__(self, name, builder_id, config_path, secure_path, - interval, zk, dib_cmd): + interval, zk): super(BuildWorker, self).__init__(builder_id, config_path, secure_path, interval, zk) self.log = logging.getLogger("nodepool.builder.BuildWorker.%s" % name) self.name = 'BuildWorker.%s' % name - self.dib_cmd = dib_cmd def _getBuildLogRoot(self, name): log_dir = self._config.build_log_dir @@ -777,9 +776,13 @@ class BuildWorker(BaseWorker): if 'qcow2' in img_types: qemu_img_options = DEFAULT_QEMU_IMAGE_COMPAT_OPTIONS + # A bit of a hack, but useful for CI to pick up the + # fake-image-create relative to this file easily + dib_cmd = diskimage.dib_cmd.replace("%p", os.path.dirname(__file__)) + cmd = ('%s -x -t %s --checksum --no-tmpfs %s -o %s %s' % - (self.dib_cmd, img_types, qemu_img_options, filename, - img_elements)) + (dib_cmd, img_types, qemu_img_options, + filename, img_elements)) self._pruneBuildLogs(diskimage.name) log_fn = self._getBuildLog(diskimage.name, build_id) @@ -969,7 +972,6 @@ class BuildWorker(BaseWorker): self._checkForZooKeeperChanges(new_config) self._config = new_config - self._checkForScheduledImageUpdates() self._checkForManualBuildRequest() @@ -1236,7 +1238,7 @@ class NodePoolBuilder(object): log = logging.getLogger("nodepool.builder.NodePoolBuilder") def __init__(self, config_path, secure_path=None, - num_builders=1, num_uploaders=4, fake=False): + num_builders=1, num_uploaders=4): ''' Initialize the NodePoolBuilder object. @@ -1244,7 +1246,6 @@ class NodePoolBuilder(object): :param str secure_path: Path to secure configuration file. :param int num_builders: Number of build workers to start. :param int num_uploaders: Number of upload workers to start. - :param bool fake: Whether to fake the image builds. ''' self._config_path = config_path self._secure_path = secure_path @@ -1258,11 +1259,6 @@ class NodePoolBuilder(object): self.cleanup_interval = 60 self.build_interval = 10 self.upload_interval = 10 - if fake: - self.dib_cmd = os.path.join(os.path.dirname(__file__), '..', - 'nodepool/tests/fake-image-create') - else: - self.dib_cmd = 'disk-image-create' self.zk = None # This lock is needed because the run() method is started in a @@ -1329,7 +1325,7 @@ class NodePoolBuilder(object): for i in range(self._num_builders): w = BuildWorker(i, builder_id, self._config_path, self._secure_path, - self.build_interval, self.zk, self.dib_cmd) + self.build_interval, self.zk) w.start() self._build_workers.append(w) diff --git a/nodepool/cmd/builder.py b/nodepool/cmd/builder.py index e3b11d6fd..10579921c 100644 --- a/nodepool/cmd/builder.py +++ b/nodepool/cmd/builder.py @@ -42,9 +42,6 @@ class NodePoolBuilderApp(nodepool.cmd.NodepoolDaemonApp): parser.add_argument('--upload-workers', dest='upload_workers', default=4, help='number of upload workers', type=int) - parser.add_argument('--fake', action='store_true', - help='Do not actually run diskimage-builder ' - '(used for testing)') return parser def parse_args(self): @@ -57,8 +54,7 @@ class NodePoolBuilderApp(nodepool.cmd.NodepoolDaemonApp): self.config_file, secure_path=self.secure_file, num_builders=self.args.build_workers, - num_uploaders=self.args.upload_workers, - fake=self.args.fake) + num_uploaders=self.args.upload_workers) signal.signal(signal.SIGINT, self.sigint_handler) diff --git a/nodepool/cmd/config_validator.py b/nodepool/cmd/config_validator.py index ca9e04398..8a52a5a82 100644 --- a/nodepool/cmd/config_validator.py +++ b/nodepool/cmd/config_validator.py @@ -37,6 +37,7 @@ class ConfigValidator: diskimage = { 'name': str, + 'dib-cmd': str, 'pause': bool, 'elements': [str], 'formats': [str], diff --git a/nodepool/config.py b/nodepool/config.py index 799aa93ff..bb8b94075 100755 --- a/nodepool/config.py +++ b/nodepool/config.py @@ -107,6 +107,7 @@ class Config(ConfigValue): d.elements = u' '.join(diskimage['elements']) else: d.elements = '' + d.dib_cmd = str(diskimage.get('dib-cmd', 'disk-image-create')) # must be a string, as it's passed as env-var to # d-i-b, but might be untyped in the yaml and # interpreted as a number (e.g. "21" for fedora) @@ -175,6 +176,7 @@ class DiskImage(ConfigValue): def __init__(self): self.name = None self.elements = None + self.dib_path = None self.release = None self.rebuild_age = None self.env_vars = None @@ -188,6 +190,7 @@ class DiskImage(ConfigValue): if isinstance(other, DiskImage): return (other.name == self.name and other.elements == self.elements and + other.dib_path == self.dib_path and other.release == self.release and other.rebuild_age == self.rebuild_age and other.env_vars == self.env_vars and diff --git a/nodepool/tests/__init__.py b/nodepool/tests/__init__.py index 9569e1a06..c2f426e42 100644 --- a/nodepool/tests/__init__.py +++ b/nodepool/tests/__init__.py @@ -325,7 +325,6 @@ class BuilderFixture(fixtures.Fixture): self.builder.cleanup_interval = self.cleanup_interval self.builder.build_interval = .1 self.builder.upload_interval = .1 - self.builder.dib_cmd = 'nodepool/tests/fake-image-create' self.builder.start() self.addCleanup(self.cleanup) diff --git a/nodepool/tests/fixtures/disabled_provider.yaml b/nodepool/tests/fixtures/disabled_provider.yaml index 0136dc7fd..53c978ae1 100644 --- a/nodepool/tests/fixtures/disabled_provider.yaml +++ b/nodepool/tests/fixtures/disabled_provider.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/diskimage_build_timeout.yaml b/nodepool/tests/fixtures/diskimage_build_timeout.yaml index b133181f3..b730a9451 100644 --- a/nodepool/tests/fixtures/diskimage_build_timeout.yaml +++ b/nodepool/tests/fixtures/diskimage_build_timeout.yaml @@ -20,6 +20,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/ignore_provider_quota_false.yaml b/nodepool/tests/fixtures/ignore_provider_quota_false.yaml index dcf0d62a0..190a76abe 100644 --- a/nodepool/tests/fixtures/ignore_provider_quota_false.yaml +++ b/nodepool/tests/fixtures/ignore_provider_quota_false.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/ignore_provider_quota_true.yaml b/nodepool/tests/fixtures/ignore_provider_quota_true.yaml index 9f4947ae6..3a73c7857 100644 --- a/nodepool/tests/fixtures/ignore_provider_quota_true.yaml +++ b/nodepool/tests/fixtures/ignore_provider_quota_true.yaml @@ -42,6 +42,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/info_cmd_two_provider.yaml b/nodepool/tests/fixtures/info_cmd_two_provider.yaml index c8357b0ae..01a999792 100644 --- a/nodepool/tests/fixtures/info_cmd_two_provider.yaml +++ b/nodepool/tests/fixtures/info_cmd_two_provider.yaml @@ -50,6 +50,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/info_cmd_two_provider_remove.yaml b/nodepool/tests/fixtures/info_cmd_two_provider_remove.yaml index 10a60418e..786dbfd4f 100644 --- a/nodepool/tests/fixtures/info_cmd_two_provider_remove.yaml +++ b/nodepool/tests/fixtures/info_cmd_two_provider_remove.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/launcher_reg1.yaml b/nodepool/tests/fixtures/launcher_reg1.yaml index 6da5ccfe2..d2197c28f 100644 --- a/nodepool/tests/fixtures/launcher_reg1.yaml +++ b/nodepool/tests/fixtures/launcher_reg1.yaml @@ -43,6 +43,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/launcher_reg2.yaml b/nodepool/tests/fixtures/launcher_reg2.yaml index 451d8e3e0..6b1ce8673 100644 --- a/nodepool/tests/fixtures/launcher_reg2.yaml +++ b/nodepool/tests/fixtures/launcher_reg2.yaml @@ -47,6 +47,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/launcher_two_provider.yaml b/nodepool/tests/fixtures/launcher_two_provider.yaml index 734e8f2bd..9fabd0f5d 100644 --- a/nodepool/tests/fixtures/launcher_two_provider.yaml +++ b/nodepool/tests/fixtures/launcher_two_provider.yaml @@ -47,6 +47,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/launcher_two_provider_max_1.yaml b/nodepool/tests/fixtures/launcher_two_provider_max_1.yaml index 6a57137c8..6cce26dc3 100644 --- a/nodepool/tests/fixtures/launcher_two_provider_max_1.yaml +++ b/nodepool/tests/fixtures/launcher_two_provider_max_1.yaml @@ -57,6 +57,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/launcher_two_provider_remove.yaml b/nodepool/tests/fixtures/launcher_two_provider_remove.yaml index 10a60418e..786dbfd4f 100644 --- a/nodepool/tests/fixtures/launcher_two_provider_remove.yaml +++ b/nodepool/tests/fixtures/launcher_two_provider_remove.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/leaked_node.yaml b/nodepool/tests/fixtures/leaked_node.yaml index 10a60418e..786dbfd4f 100644 --- a/nodepool/tests/fixtures/leaked_node.yaml +++ b/nodepool/tests/fixtures/leaked_node.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/leaked_node_nodepool_id.yaml b/nodepool/tests/fixtures/leaked_node_nodepool_id.yaml index d212a34fc..5ec2c36e3 100644 --- a/nodepool/tests/fixtures/leaked_node_nodepool_id.yaml +++ b/nodepool/tests/fixtures/leaked_node_nodepool_id.yaml @@ -34,6 +34,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/multi_drivers.yaml b/nodepool/tests/fixtures/multi_drivers.yaml index 06a0d019b..95be64461 100644 --- a/nodepool/tests/fixtures/multi_drivers.yaml +++ b/nodepool/tests/fixtures/multi_drivers.yaml @@ -49,6 +49,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/multiple_pools.yaml b/nodepool/tests/fixtures/multiple_pools.yaml index e5f11debd..1a0e2df42 100644 --- a/nodepool/tests/fixtures/multiple_pools.yaml +++ b/nodepool/tests/fixtures/multiple_pools.yaml @@ -51,6 +51,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node-host-key-checking.yaml b/nodepool/tests/fixtures/node-host-key-checking.yaml index 6697ee4bc..bb0e5330d 100644 --- a/nodepool/tests/fixtures/node-host-key-checking.yaml +++ b/nodepool/tests/fixtures/node-host-key-checking.yaml @@ -61,6 +61,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node-network_cli.yaml b/nodepool/tests/fixtures/node-network_cli.yaml index fb2484c27..d2c7eeba4 100644 --- a/nodepool/tests/fixtures/node-network_cli.yaml +++ b/nodepool/tests/fixtures/node-network_cli.yaml @@ -46,6 +46,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node.yaml b/nodepool/tests/fixtures/node.yaml index 1e65f16bc..302c6d537 100644 --- a/nodepool/tests/fixtures/node.yaml +++ b/nodepool/tests/fixtures/node.yaml @@ -45,6 +45,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_auto_floating_ip.yaml b/nodepool/tests/fixtures/node_auto_floating_ip.yaml index fdfc77d1b..a0a062e3f 100644 --- a/nodepool/tests/fixtures/node_auto_floating_ip.yaml +++ b/nodepool/tests/fixtures/node_auto_floating_ip.yaml @@ -78,6 +78,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_az.yaml b/nodepool/tests/fixtures/node_az.yaml index 4743b5849..ce283301a 100644 --- a/nodepool/tests/fixtures/node_az.yaml +++ b/nodepool/tests/fixtures/node_az.yaml @@ -39,6 +39,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_az_change.yaml b/nodepool/tests/fixtures/node_az_change.yaml index 734248b87..d268175cd 100644 --- a/nodepool/tests/fixtures/node_az_change.yaml +++ b/nodepool/tests/fixtures/node_az_change.yaml @@ -37,6 +37,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_boot_from_volume.yaml b/nodepool/tests/fixtures/node_boot_from_volume.yaml index 254cf0a84..e932b5d37 100644 --- a/nodepool/tests/fixtures/node_boot_from_volume.yaml +++ b/nodepool/tests/fixtures/node_boot_from_volume.yaml @@ -42,6 +42,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_delete_error.yaml b/nodepool/tests/fixtures/node_delete_error.yaml index 1266e65e6..a5a76e479 100644 --- a/nodepool/tests/fixtures/node_delete_error.yaml +++ b/nodepool/tests/fixtures/node_delete_error.yaml @@ -42,6 +42,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_disabled_label.yaml b/nodepool/tests/fixtures/node_disabled_label.yaml index 8eab0706b..d51c5134f 100644 --- a/nodepool/tests/fixtures/node_disabled_label.yaml +++ b/nodepool/tests/fixtures/node_disabled_label.yaml @@ -37,6 +37,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_diskimage_fail.yaml b/nodepool/tests/fixtures/node_diskimage_fail.yaml index 0a84a8707..17550b548 100644 --- a/nodepool/tests/fixtures/node_diskimage_fail.yaml +++ b/nodepool/tests/fixtures/node_diskimage_fail.yaml @@ -37,6 +37,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: SHOULD_FAIL: 'true' TMPDIR: /opt/dib_tmp diff --git a/nodepool/tests/fixtures/node_diskimage_formats.yaml b/nodepool/tests/fixtures/node_diskimage_formats.yaml index 6ad141b05..ebd4ff356 100644 --- a/nodepool/tests/fixtures/node_diskimage_formats.yaml +++ b/nodepool/tests/fixtures/node_diskimage_formats.yaml @@ -49,6 +49,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache @@ -59,6 +60,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_diskimage_only.yaml b/nodepool/tests/fixtures/node_diskimage_only.yaml index 792fb5381..692042efa 100644 --- a/nodepool/tests/fixtures/node_diskimage_only.yaml +++ b/nodepool/tests/fixtures/node_diskimage_only.yaml @@ -19,6 +19,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache @@ -30,6 +31,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_diskimage_pause.yaml b/nodepool/tests/fixtures/node_diskimage_pause.yaml index db013c5cd..55a60394b 100644 --- a/nodepool/tests/fixtures/node_diskimage_pause.yaml +++ b/nodepool/tests/fixtures/node_diskimage_pause.yaml @@ -43,6 +43,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache @@ -53,6 +54,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_flavor_name.yaml b/nodepool/tests/fixtures/node_flavor_name.yaml index 8fb2c03d7..4260aba19 100644 --- a/nodepool/tests/fixtures/node_flavor_name.yaml +++ b/nodepool/tests/fixtures/node_flavor_name.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_image_upload_pause.yaml b/nodepool/tests/fixtures/node_image_upload_pause.yaml index 0b7569e05..6f60bb0d4 100644 --- a/nodepool/tests/fixtures/node_image_upload_pause.yaml +++ b/nodepool/tests/fixtures/node_image_upload_pause.yaml @@ -43,6 +43,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache @@ -53,6 +54,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_ipv6.yaml b/nodepool/tests/fixtures/node_ipv6.yaml index 3ece14f74..93f7ccb0e 100644 --- a/nodepool/tests/fixtures/node_ipv6.yaml +++ b/nodepool/tests/fixtures/node_ipv6.yaml @@ -57,6 +57,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_label_provider.yaml b/nodepool/tests/fixtures/node_label_provider.yaml index 8de7135bb..546dfc6b6 100644 --- a/nodepool/tests/fixtures/node_label_provider.yaml +++ b/nodepool/tests/fixtures/node_label_provider.yaml @@ -43,6 +43,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_launch_retry.yaml b/nodepool/tests/fixtures/node_launch_retry.yaml index 72d483bf8..e42186cfe 100644 --- a/nodepool/tests/fixtures/node_launch_retry.yaml +++ b/nodepool/tests/fixtures/node_launch_retry.yaml @@ -34,6 +34,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_lost_requests.yaml b/nodepool/tests/fixtures/node_lost_requests.yaml index b8168c558..7f75ab49d 100644 --- a/nodepool/tests/fixtures/node_lost_requests.yaml +++ b/nodepool/tests/fixtures/node_lost_requests.yaml @@ -35,6 +35,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_many_labels.yaml b/nodepool/tests/fixtures/node_many_labels.yaml index ec67e765a..8903bce15 100644 --- a/nodepool/tests/fixtures/node_many_labels.yaml +++ b/nodepool/tests/fixtures/node_many_labels.yaml @@ -48,6 +48,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_max_hold_age.yaml b/nodepool/tests/fixtures/node_max_hold_age.yaml index 8d27b6d22..0e08b51ff 100644 --- a/nodepool/tests/fixtures/node_max_hold_age.yaml +++ b/nodepool/tests/fixtures/node_max_hold_age.yaml @@ -43,6 +43,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_max_hold_age_2.yaml b/nodepool/tests/fixtures/node_max_hold_age_2.yaml index 651d69cb2..14fbf4b0d 100644 --- a/nodepool/tests/fixtures/node_max_hold_age_2.yaml +++ b/nodepool/tests/fixtures/node_max_hold_age_2.yaml @@ -43,6 +43,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_max_hold_age_no_default.yaml b/nodepool/tests/fixtures/node_max_hold_age_no_default.yaml index b42ae1612..0ebef162d 100644 --- a/nodepool/tests/fixtures/node_max_hold_age_no_default.yaml +++ b/nodepool/tests/fixtures/node_max_hold_age_no_default.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_max_ready_age.yaml b/nodepool/tests/fixtures/node_max_ready_age.yaml index 396dbf41a..790b3c5e5 100644 --- a/nodepool/tests/fixtures/node_max_ready_age.yaml +++ b/nodepool/tests/fixtures/node_max_ready_age.yaml @@ -42,6 +42,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_min_ready_capacity.yaml b/nodepool/tests/fixtures/node_min_ready_capacity.yaml index d00dee8a9..8eb3e86d3 100644 --- a/nodepool/tests/fixtures/node_min_ready_capacity.yaml +++ b/nodepool/tests/fixtures/node_min_ready_capacity.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_net_name.yaml b/nodepool/tests/fixtures/node_net_name.yaml index faab00dad..8b08f3c4a 100644 --- a/nodepool/tests/fixtures/node_net_name.yaml +++ b/nodepool/tests/fixtures/node_net_name.yaml @@ -45,6 +45,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_no_min_ready.yaml b/nodepool/tests/fixtures/node_no_min_ready.yaml index c4494cc44..a9632f29d 100644 --- a/nodepool/tests/fixtures/node_no_min_ready.yaml +++ b/nodepool/tests/fixtures/node_no_min_ready.yaml @@ -47,6 +47,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create python-path: /usr/bin/python3 env-vars: TMPDIR: /opt/dib_tmp diff --git a/nodepool/tests/fixtures/node_quota_cloud.yaml b/nodepool/tests/fixtures/node_quota_cloud.yaml index 2804cdeca..8605319ca 100644 --- a/nodepool/tests/fixtures/node_quota_cloud.yaml +++ b/nodepool/tests/fixtures/node_quota_cloud.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_quota_pool_cores.yaml b/nodepool/tests/fixtures/node_quota_pool_cores.yaml index c90118b9a..9af51cda2 100644 --- a/nodepool/tests/fixtures/node_quota_pool_cores.yaml +++ b/nodepool/tests/fixtures/node_quota_pool_cores.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_quota_pool_instances.yaml b/nodepool/tests/fixtures/node_quota_pool_instances.yaml index b5888f190..d96c283b8 100644 --- a/nodepool/tests/fixtures/node_quota_pool_instances.yaml +++ b/nodepool/tests/fixtures/node_quota_pool_instances.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_quota_pool_ram.yaml b/nodepool/tests/fixtures/node_quota_pool_ram.yaml index 83aaeb645..77ddef5a0 100644 --- a/nodepool/tests/fixtures/node_quota_pool_ram.yaml +++ b/nodepool/tests/fixtures/node_quota_pool_ram.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_second_provider.yaml b/nodepool/tests/fixtures/node_second_provider.yaml index b6ae0d3ec..51cb66d25 100644 --- a/nodepool/tests/fixtures/node_second_provider.yaml +++ b/nodepool/tests/fixtures/node_second_provider.yaml @@ -40,6 +40,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_security_group.yaml b/nodepool/tests/fixtures/node_security_group.yaml index 41dc37d6f..2f9f97fba 100644 --- a/nodepool/tests/fixtures/node_security_group.yaml +++ b/nodepool/tests/fixtures/node_security_group.yaml @@ -48,6 +48,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_two_image.yaml b/nodepool/tests/fixtures/node_two_image.yaml index fe9c714d5..d07c37ee0 100644 --- a/nodepool/tests/fixtures/node_two_image.yaml +++ b/nodepool/tests/fixtures/node_two_image.yaml @@ -39,6 +39,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache @@ -49,6 +50,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_two_image_remove.yaml b/nodepool/tests/fixtures/node_two_image_remove.yaml index 10a60418e..786dbfd4f 100644 --- a/nodepool/tests/fixtures/node_two_image_remove.yaml +++ b/nodepool/tests/fixtures/node_two_image_remove.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_two_provider.yaml b/nodepool/tests/fixtures/node_two_provider.yaml index 734e8f2bd..9fabd0f5d 100644 --- a/nodepool/tests/fixtures/node_two_provider.yaml +++ b/nodepool/tests/fixtures/node_two_provider.yaml @@ -47,6 +47,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_two_provider_remove.yaml b/nodepool/tests/fixtures/node_two_provider_remove.yaml index a8831b19c..97a98f6ac 100644 --- a/nodepool/tests/fixtures/node_two_provider_remove.yaml +++ b/nodepool/tests/fixtures/node_two_provider_remove.yaml @@ -39,6 +39,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_upload_fail.yaml b/nodepool/tests/fixtures/node_upload_fail.yaml index 1cffcc284..9ba5ff2b5 100644 --- a/nodepool/tests/fixtures/node_upload_fail.yaml +++ b/nodepool/tests/fixtures/node_upload_fail.yaml @@ -50,6 +50,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_vhd.yaml b/nodepool/tests/fixtures/node_vhd.yaml index 5faa58e34..3326c88f1 100644 --- a/nodepool/tests/fixtures/node_vhd.yaml +++ b/nodepool/tests/fixtures/node_vhd.yaml @@ -33,6 +33,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/node_vhd_and_qcow2.yaml b/nodepool/tests/fixtures/node_vhd_and_qcow2.yaml index 70d4ed561..782acdf68 100644 --- a/nodepool/tests/fixtures/node_vhd_and_qcow2.yaml +++ b/nodepool/tests/fixtures/node_vhd_and_qcow2.yaml @@ -48,6 +48,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/pause_declined_1.yaml b/nodepool/tests/fixtures/pause_declined_1.yaml index c581e0b11..dc517ab02 100644 --- a/nodepool/tests/fixtures/pause_declined_1.yaml +++ b/nodepool/tests/fixtures/pause_declined_1.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/pause_declined_2.yaml b/nodepool/tests/fixtures/pause_declined_2.yaml index d00dee8a9..8eb3e86d3 100644 --- a/nodepool/tests/fixtures/pause_declined_2.yaml +++ b/nodepool/tests/fixtures/pause_declined_2.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/secure_file_config.yaml b/nodepool/tests/fixtures/secure_file_config.yaml index 3aca1da3d..044974f48 100644 --- a/nodepool/tests/fixtures/secure_file_config.yaml +++ b/nodepool/tests/fixtures/secure_file_config.yaml @@ -41,6 +41,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/nodepool/tests/fixtures/wedge_test.yaml b/nodepool/tests/fixtures/wedge_test.yaml index ebcc38f25..87620b99f 100644 --- a/nodepool/tests/fixtures/wedge_test.yaml +++ b/nodepool/tests/fixtures/wedge_test.yaml @@ -47,6 +47,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: nodepool/tests/fake-image-create env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/releasenotes/notes/dib_cmd-484e473de8454679.yaml b/releasenotes/notes/dib_cmd-484e473de8454679.yaml new file mode 100644 index 000000000..aa99066fe --- /dev/null +++ b/releasenotes/notes/dib_cmd-484e473de8454679.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + A ``diskimage`` can specify the full path to the diskimage-builder + command with the ``dib-cmd`` configuration parameter. The + ``--fake`` parameter of ``nodepool-builder`` (only used by CI) has + been removed and replaced with explicit calls in testing fixtures. diff --git a/roles/nodepool-zuul-functional/tasks/main.yaml b/roles/nodepool-zuul-functional/tasks/main.yaml index 9403ef3b7..fbfbe2b18 100644 --- a/roles/nodepool-zuul-functional/tasks/main.yaml +++ b/roles/nodepool-zuul-functional/tasks/main.yaml @@ -1,6 +1,9 @@ -- name: Install packages and run zuul-nodepool-integration/start.sh +- name: Install packages shell: - cmd: | - sudo pip3 install . - ./tools/zuul-nodepool-integration/start.sh + cmd: sudo pip3 install . chdir: "{{ zuul.projects['opendev.org/zuul/nodepool'].src_dir }}" + +- name: Run zuul-nodepool-integration/start.sh + shell: + cmd: ./tools/zuul-nodepool-integration/start.sh + chdir: "{{ zuul.projects['opendev.org/zuul/nodepool'].src_dir }}" \ No newline at end of file diff --git a/tools/zuul-nodepool-integration/nodepool.yaml b/tools/zuul-nodepool-integration/nodepool.yaml index 6c4a935ca..ae3b7e210 100644 --- a/tools/zuul-nodepool-integration/nodepool.yaml +++ b/tools/zuul-nodepool-integration/nodepool.yaml @@ -10,6 +10,7 @@ diskimages: - fedora - vm release: 21 + dib-cmd: '%p/../nodepool/tests/fake-image-create' env-vars: TMPDIR: /opt/dib_tmp DIB_IMAGE_CACHE: /opt/dib_cache diff --git a/tools/zuul-nodepool-integration/start.sh b/tools/zuul-nodepool-integration/start.sh index 2e8c94b70..aa64ece2f 100755 --- a/tools/zuul-nodepool-integration/start.sh +++ b/tools/zuul-nodepool-integration/start.sh @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash -ex cd "$(dirname "$0")" @@ -7,5 +7,5 @@ mkdir -p /tmp/nodepool/log export OS_CLIENT_CONFIG_FILE=`pwd`/clouds.yaml -nodepool-builder -c `pwd`/nodepool.yaml -l `pwd`/builder-logging.conf -p /tmp/nodepool/builder.pid --fake +nodepool-builder -c `pwd`/nodepool.yaml -l `pwd`/builder-logging.conf -p /tmp/nodepool/builder.pid nodepool-launcher -c `pwd`/nodepool.yaml -s `pwd`/secure.conf -l `pwd`/launcher-logging.conf -p /tmp/nodepool/launcher.pid