+def centos_image_settings(name, url=None, image_metadata=None,
+ kernel_settings=None, ramdisk_settings=None,
+ public=False):
+ """
+ Returns the image settings for a Centos QCOW2 image
+ :param name: the name of the image
+ :param url: the image's URL
+ :param image_metadata: dict() values to override URLs for disk, kernel, and
+ ramdisk
+ :param kernel_settings: override to the kernel settings from the
+ image_metadata
+ :param ramdisk_settings: override to the ramdisk settings from the
+ image_metadata
+ :param public: True denotes image can be used by other projects where False
+ indicates the converse
+ :return:
+ """
+ if image_metadata and 'centos' in image_metadata:
+ metadata = image_metadata['centos']
+ else:
+ metadata = image_metadata
+
+ pb_path = pkg_resources.resource_filename(
+ 'snaps.provisioning.ansible_pb.centos-network-setup.playbooks',
+ 'configure_host.yml')
+ return create_image_settings(
+ image_name=name, image_user=CENTOS_USER,
+ image_format=DEFAULT_IMAGE_FORMAT, metadata=metadata, disk_url=url,
+ default_url=CENTOS_DEFAULT_IMAGE_URL,
+ kernel_settings=kernel_settings, ramdisk_settings=ramdisk_settings,
+ public=public, nic_config_pb_loc=pb_path)
+
+
+def ubuntu_image_settings(name, url=None, image_metadata=None,
+ kernel_settings=None, ramdisk_settings=None,
+ public=False):
+ """
+ Returns the image settings for a Ubuntu QCOW2 image
+ :param name: the name of the image
+ :param url: the image's URL
+ :param image_metadata: dict() values to override URLs for disk, kernel, and
+ ramdisk
+ :param kernel_settings: override to the kernel settings from the
+ image_metadata
+ :param ramdisk_settings: override to the ramdisk settings from the
+ image_metadata
+ :param public: True denotes image can be used by other projects where False
+ indicates the converse
+ :return:
+ """
+ if image_metadata and 'ubuntu' in image_metadata:
+ metadata = image_metadata['ubuntu']
+ else:
+ metadata = image_metadata
+
+ pb_path = pkg_resources.resource_filename(
+ 'snaps.provisioning.ansible_pb.ubuntu-network-setup.playbooks',
+ 'configure_host.yml')
+ return create_image_settings(
+ image_name=name, image_user=UBUNTU_USER,
+ image_format=DEFAULT_IMAGE_FORMAT, metadata=metadata, disk_url=url,
+ default_url=UBUNTU_DEFAULT_IMAGE_URL,
+ kernel_settings=kernel_settings, ramdisk_settings=ramdisk_settings,
+ public=public, nic_config_pb_loc=pb_path)