Add an openstack image type

This is a qcow2 image with cloud-init in the template.
This commit is contained in:
Brian C. Lane 2018-10-05 13:20:58 -07:00
parent a76aad36f6
commit ce6fa9c05f
4 changed files with 70 additions and 2 deletions

View File

@ -0,0 +1,46 @@
# Lorax Composer openstack output kickstart template
# Firewall configuration
firewall --disabled
# NOTE: The root account is locked by default
# Network information
network --bootproto=dhcp --onboot=on --activate
# System keyboard
keyboard --xlayouts=us --vckeymap=us
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --enforcing
# Installation logging level
logging --level=info
# Shutdown after installation
shutdown
# System timezone
timezone US/Eastern
# System bootloader configuration
bootloader --location=mbr --append="no_timer_check console=ttyS0,115200n8 console=tty1 net.ifnames=0"
# Start sshd and cloud-init at boot time
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
%post
# Remove random-seed
rm /var/lib/systemd/random-seed
# Clear /etc/machine-id
rm /etc/machine-id
touch /etc/machine-id
%end
%packages
kernel
-dracut-config-rescue
grub2
# Make sure virt guest agents are installed
qemu-guest-agent
spice-vdagent
cloud-init
# NOTE lorax-composer will add the recipe packages below here, including the final %end

View File

@ -628,6 +628,28 @@ def compose_args(compose_type):
"app_template": None, "app_template": None,
"app_file": None, "app_file": None,
}, },
"openstack": {"make_iso": False,
"make_disk": True,
"make_fsimage": False,
"make_appliance": False,
"make_ami": False,
"make_tar": False,
"make_pxe_live": False,
"make_ostree_live": False,
"make_oci": False,
"make_vagrant": False,
"ostree": False,
"live_rootfs_keep_size": False,
"live_rootfs_size": 0,
"image_type": "qcow2",
"qemu_args": [],
"image_name": "disk.qcow2",
"fs_label": "",
"image_only": True,
"app_name": None,
"app_template": None,
"app_file": None,
},
} }
return _MAP[compose_type] return _MAP[compose_type]

View File

@ -9,7 +9,7 @@ CLI="./src/bin/composer-cli"
rlJournalStart rlJournalStart
rlPhaseStartTest "compose types" rlPhaseStartTest "compose types"
rlAssertEquals "lists all supported types" \ rlAssertEquals "lists all supported types" \
"`$CLI compose types | sort | xargs`" "ami ext4-filesystem live-iso partitioned-disk qcow2 tar vhd vmdk" "`$CLI compose types | sort | xargs`" "ami ext4-filesystem live-iso openstack partitioned-disk qcow2 tar vhd vmdk"
rlPhaseEnd rlPhaseEnd
rlPhaseStartTest "compose start" rlPhaseStartTest "compose start"

View File

@ -810,7 +810,7 @@ class ServerTestCase(unittest.TestCase):
data = json.loads(resp.data) data = json.loads(resp.data)
self.assertNotEqual(data, None) self.assertNotEqual(data, None)
self.assertEqual(data["status"], False, "Failed to fail to start test compose: %s" % data) self.assertEqual(data["status"], False, "Failed to fail to start test compose: %s" % data)
self.assertEqual(data["errors"], [{"id": BAD_COMPOSE_TYPE, "msg": "Invalid compose type (snakes), must be one of ['ami', 'ext4-filesystem', 'live-iso', 'partitioned-disk', 'qcow2', 'tar', 'vhd', 'vmdk']"}], self.assertEqual(data["errors"], [{"id": BAD_COMPOSE_TYPE, "msg": "Invalid compose type (snakes), must be one of ['ami', 'ext4-filesystem', 'live-iso', 'openstack', 'partitioned-disk', 'qcow2', 'tar', 'vhd', 'vmdk']"}],
"Failed to get errors: %s" % data) "Failed to get errors: %s" % data)
def test_compose_03_status_fail(self): def test_compose_03_status_fail(self):