Add a vhd compose type for Azure images
This does pretty much the same things as the AMI compose type, but also
replaces NetworkManager with the Azure linux agent.
(cherry picked from commit e0c236ff36
)
This commit is contained in:
parent
f79fd46f1f
commit
68c1a7aa96
@ -41,7 +41,7 @@ keep track of the build. You can also cancel the build if needed.
|
|||||||
|
|
||||||
The available types of images is displayed by ``composer-cli compose types``.
|
The available types of images is displayed by ``composer-cli compose types``.
|
||||||
Currently this consists of: ami, ext4-filesystem, live-iso, partitioned-disk,
|
Currently this consists of: ami, ext4-filesystem, live-iso, partitioned-disk,
|
||||||
qcow2, tar
|
qcow2, tar, vhd
|
||||||
|
|
||||||
Monitor the build status
|
Monitor the build status
|
||||||
------------------------
|
------------------------
|
||||||
|
50
share/composer/vhd.ks
Normal file
50
share/composer/vhd.ks
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Lorax Composer VHD (Azure, Hyper-V) output kickstart template
|
||||||
|
|
||||||
|
# Add a separate /boot partition
|
||||||
|
part /boot --size=1024
|
||||||
|
|
||||||
|
# Firewall configuration
|
||||||
|
firewall --enabled
|
||||||
|
|
||||||
|
# Root password
|
||||||
|
rootpw --plaintext removethispw
|
||||||
|
# Network information
|
||||||
|
network --bootproto=dhcp --onboot=on --activate
|
||||||
|
# System authorization information
|
||||||
|
auth --useshadow --enablemd5
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# Basic services
|
||||||
|
services --enabled=sshd,chronyd,waagent
|
||||||
|
|
||||||
|
%post
|
||||||
|
# Remove random-seed
|
||||||
|
rm /var/lib/systemd/random-seed
|
||||||
|
%end
|
||||||
|
|
||||||
|
%packages
|
||||||
|
kernel
|
||||||
|
-dracut-config-rescue
|
||||||
|
|
||||||
|
grub2
|
||||||
|
|
||||||
|
chrony
|
||||||
|
|
||||||
|
# Uninstall NetworkManager, install WALinuxAgent
|
||||||
|
-NetworkManager
|
||||||
|
WALinuxAgent
|
||||||
|
|
||||||
|
# NOTE lorax-composer will add the recipe packages below here, including the final %end
|
@ -540,6 +540,28 @@ def compose_args(compose_type):
|
|||||||
"app_template": None,
|
"app_template": None,
|
||||||
"app_file": None,
|
"app_file": None,
|
||||||
},
|
},
|
||||||
|
"vhd": {"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": "vpc",
|
||||||
|
"qemu_args": ["-o", "subformat=fixed,force_size"],
|
||||||
|
"image_name": "disk.vhd",
|
||||||
|
"fs_label": "",
|
||||||
|
"image_only": True,
|
||||||
|
"app_name": None,
|
||||||
|
"app_template": None,
|
||||||
|
"app_file": None,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
return _MAP[compose_type]
|
return _MAP[compose_type]
|
||||||
|
|
||||||
|
@ -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']"}],
|
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']"}],
|
||||||
"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):
|
||||||
|
Loading…
Reference in New Issue
Block a user