Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run as a container #1

Open
hreinecke opened this issue May 21, 2024 · 1 comment
Open

Run as a container #1

hreinecke opened this issue May 21, 2024 · 1 comment

Comments

@hreinecke
Copy link

I'm trying to build / run kdevops in a container; however, that won't fly as it's trying to run libvirtd which obviously won't work as no systemd is running in that container (and it's questionable whether it should).
Any idea?

@mcgrof
Copy link
Contributor

mcgrof commented May 21, 2024

kdevops provides support for bringup: a) virtualization b) cloud c) bare metal

In your case if you just want to run one container then treating your containers are bare metal would suffice if you are bringing them up yourself. So you just skip bringup and you define your own hosts file.

That begs the question if kdevops should manage containers for you, and so then you'd instantiate the containers on a host, so a new bringup option. There is work by @fredlawl to get k8 support on kdevops but is not yet merged:

https://github.com/fredlawl/kdevops/commits/k8s-integration

So that may be an option.

If not, then yet another option might be to leverage something else to bringup containers and instantiate them for us.

dkruces added a commit to dkruces/kdevops that referenced this issue Aug 9, 2024
This allows to know the list of tasks that are going to be executed.

Is there a better way to do this?
https://github.com/Townk/ansible-beautiful-output

dagomez@eqbm-smc112:~/src/kdevops$ make linux
ansible-playbook  --inventory '127.0.0.1,' --extra-vars="target_linux_git=https://github.com/linux-kdevops/linux.git target_linux_tree=linux target_linux_ref=large-block-bdev-for-next target_linux_config=config-large-block-bdev-for-next target_linux_kernelrelease= target_linux_localversion= bootlinux_9p=True bootlinux_9p_host_path='/home/dagomez/src/kdevops/linux' bootlinux_9p_msize='131072' bootlinux_9p_fsdev='kdevops_9p_fsdev' bootlinux_9p_security_model='none' bootlinux_9p_driver='virtio-9p-pci' bootlinux_9p_mount_tag='kdevops_9p_bootlinux' bootlinux_cxl_test=" playbooks/bootlinux-local.yml --list-tasks;  ansible-playbook  --inventory '127.0.0.1,' --extra-vars="target_linux_git=https://github.com/linux-kdevops/linux.git target_linux_tree=linux target_linux_ref=large-block-bdev-for-next target_linux_config=config-large-block-bdev-for-next target_linux_kernelrelease= target_linux_localversion= bootlinux_9p=True bootlinux_9p_host_path='/home/dagomez/src/kdevops/linux' bootlinux_9p_msize='131072' bootlinux_9p_fsdev='kdevops_9p_fsdev' bootlinux_9p_security_model='none' bootlinux_9p_driver='virtio-9p-pci' bootlinux_9p_mount_tag='kdevops_9p_bootlinux' bootlinux_cxl_test=" playbooks/bootlinux-local.yml

playbook: playbooks/bootlinux-local.yml

  play linux-kdevops#1 (127.0.0.1): 127.0.0.1        TAGS: []
    tasks:
      bootlinux-local : Import optional extra_args file TAGS: [vars]
      bootlinux-local : Update apt cache        TAGS: [deps, linux]
      bootlinux-local : Install Linux kernel build dependencies TAGS: [deps, linux]
      bootlinux-local : Install Linux kernel build dependencies for SUSE sources        TAGS: [deps]
      bootlinux-local : Install epel-release if we're not on Fedora     TAGS: [deps]
      bootlinux-local : Install packages we care about  TAGS: [deps]
      bootlinux-local : Install btrfs-progs     TAGS: [deps]
      bootlinux-local : Remove packages that mess with initramfs        TAGS: [deps]

PLAY [127.0.0.1] ********************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************************************************************************************************
[WARNING]: Platform linux on host 127.0.0.1 is using the discovered Python interpreter at /usr/bin/python3.12, but future installation of another Python interpreter could change the meaning of that path. See
https://docs.ansible.com/ansible-core/2.17/reference_appendices/interpreter_discovery.html for more information.
ok: [127.0.0.1]

TASK [bootlinux-local : Import optional extra_args file] ****************************************************************************************************************************************************************************************
ok: [127.0.0.1] => (item=/home/dagomez/src/kdevops/extra_vars.yaml)

TASK [bootlinux-local : Update apt cache] *******************************************************************************************************************************************************************************************************
ok: [127.0.0.1 -> localhost]

TASK [bootlinux-local : Install Linux kernel build dependencies] ********************************************************************************************************************************************************************************
ok: [127.0.0.1 -> localhost]

PLAY RECAP **************************************************************************************************************************************************************************************************************************************
127.0.0.1                  : ok=4    changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0

ansible-playbook  --inventory hosts --extra-vars="target_linux_git=https://github.com/linux-kdevops/linux.git target_linux_tree=linux target_linux_ref=large-block-bdev-for-next target_linux_config=config-large-block-bdev-for-next target_linux_kernelrelease= target_linux_localversion= bootlinux_9p=True bootlinux_9p_host_path='/home/dagomez/src/kdevops/linux' bootlinux_9p_msize='131072' bootlinux_9p_fsdev='kdevops_9p_fsdev' bootlinux_9p_security_model='none' bootlinux_9p_driver='virtio-9p-pci' bootlinux_9p_mount_tag='kdevops_9p_bootlinux' bootlinux_cxl_test="  playbooks/bootlinux.yml --list-tasks;  ansible-playbook  --inventory hosts --extra-vars="target_linux_git=https://github.com/linux-kdevops/linux.git target_linux_tree=linux target_linux_ref=large-block-bdev-for-next target_linux_config=config-large-block-bdev-for-next target_linux_kernelrelease= target_linux_localversion= bootlinux_9p=True bootlinux_9p_host_path='/home/dagomez/src/kdevops/linux' bootlinux_9p_msize='131072' bootlinux_9p_fsdev='kdevops_9p_fsdev' bootlinux_9p_security_model='none' bootlinux_9p_driver='virtio-9p-pci' bootlinux_9p_mount_tag='kdevops_9p_bootlinux' bootlinux_cxl_test="  playbooks/bootlinux.yml

playbook: playbooks/bootlinux.yml

  play linux-kdevops#1 (all): all    TAGS: []
    tasks:
      bootlinux : Import optional extra_args file       TAGS: [vars]
      bootlinux : Install dependencies  TAGS: []
      bootlinux : Install b4    TAGS: [linux]
      bootlinux : Install b4 on host    TAGS: [linux]
      bootlinux : Set bootlinux_b4_am_this_host as a fact for dev hosts only    TAGS: []
      bootlinux : Enable b4 am all hosts if not deploying dev and baseline nodes        TAGS: []
      include_role      TAGS: []
      ...

Signed-off-by: Daniel Gomez <[email protected]>
scottmayhew pushed a commit to scottmayhew/kdevops that referenced this issue Mar 4, 2025
Hannes just posted patches to enable large folios on bdev but using
buffer-heads, allow us to easily ramp up to experiment with it. We
currently crash on because of a:

VM_BUG_ON_FOLIO(folio_test_large(folio), folio)

on block_read_full_folio().

[    8.913445] nvme nvme7: Ignoring bogus Namespace Identifiers
[    8.920434] page: refcount:5 mapcount:0 mapping:00000000013008f8 index:0x0 pfn:0x11efbc
[    8.923483] head: order:2 entire_mapcount:0 nr_pages_mapped:0 pincount:0
[    8.925534] memcg:ffff9904c0197000
[    8.926728] aops:def_blk_aops ino:10300004 dentry name:""
[    8.928426] flags: 0x17fffe800000061(locked|lru|head|node=0|zone=2|lastcpupid=0x3ffff)
[    8.932189] page_type: 0xffffffff()
[    8.933386] raw: 017fffe800000061 ffff9904c01931d0 ffff9904c01931d0 ffff9904e2912aa0
[    8.935761] raw: 0000000000000000 0000000000000000 00000005ffffffff ffff9904c0197000
[    8.938120] head: 017fffe800000061 ffff9904c01931d0 ffff9904c01931d0 ffff9904e2912aa0
[    8.940493] head: 0000000000000000 0000000000000000 00000005ffffffff ffff9904c0197000
[    8.943665] head: 017fffe000000202 ffffdef4047bef01 ffffdef4047bef48 00000000ffffffff
[    8.946071] head: 0000000400000000 0000000000000000 00000000ffffffff 0000000000000000
[    8.948438] page dumped because: VM_BUG_ON_FOLIO(folio_test_large(folio))
[    8.950564] ------------[ cut here ]------------
[    8.952066] kernel BUG at fs/buffer.c:2363!
[    8.953460] invalid opcode: 0000 [linux-kdevops#1] PREEMPT SMP NOPTI
[    8.955066] CPU: 1 PID: 60 Comm: kworker/u37:0 Not tainted 6.9.0-rc6+ linux-kdevops#3
[    8.956897] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[    8.959293] Workqueue: nvme-wq nvme_scan_work [nvme_core]
[    8.960709] RIP: 0010:block_read_full_folio+0x2f2/0x300
[    8.962063] Code: 00 00 d3 e6 48 63 f6 e8 9c f1 ff ff 49 89 c5 e9 93 fd ff ff 0f 0b e9 ee fd ff ff 48 c7 c6 68 eb 25 b2 4c 89 e7 e8 8e b7 ed ff <0f> 0b 0f 0b e8 d5 b4 6f 00 0f 1f 44 00 00 90 90 90 90 90 90 90 90
[    8.966018] RSP: 0018:ffffaff54023fa10 EFLAGS: 00010246
[    8.967174] RAX: 000000000000003d RBX: 0000001900000000 RCX: 0000000000000000
[    8.968657] RDX: 0000000000000000 RSI: 00000000ffffefff RDI: 00000000ffffffff
[    8.970139] RBP: ffffffffb1551810 R08: 0000000000000000 R09: 0000000000000003
[    8.971529] R10: ffffaff54023f8c0 R11: ffffffffb24c1668 R12: ffffdef4047bef00
[    8.972905] R13: ffffffffb1551810 R14: 0000000000000000 R15: 0000000000100cc0
[    8.974277] FS:  0000000000000000(0000) GS:ffff99053bc40000(0000) knlGS:0000000000000000
[    8.975727] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    8.976787] CR2: 00007fe85b2fb368 CR3: 000000011f8da005 CR4: 0000000000770ef0
[    8.978084] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[    8.979311] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400
[    8.980512] PKRU: 55555554
[    8.981048] Call Trace:
[    8.981548]  <TASK>
[    8.982003]  ? die+0x32/0x80
[    8.982571]  ? do_trap+0xd9/0x100
[    8.983165]  ? block_read_full_folio+0x2f2/0x300
[    8.983949]  ? do_error_trap+0x6a/0x90
[    8.984604]  ? block_read_full_folio+0x2f2/0x300
[    8.985382]  ? exc_invalid_op+0x4c/0x60
[    8.986060]  ? block_read_full_folio+0x2f2/0x300
[    8.986805]  ? asm_exc_invalid_op+0x16/0x20
[    8.987446]  ? __pfx_blkdev_read_folio+0x10/0x10
[    8.988152]  ? __pfx_blkdev_read_folio+0x10/0x10
[    8.988848]  ? block_read_full_folio+0x2f2/0x300
[    8.989551]  ? __pfx_blkdev_get_block+0x10/0x10
[    8.990253]  ? folio_batch_move_lru+0xf1/0x150
[    8.990908]  ? __pfx_blkdev_read_folio+0x10/0x10
[    8.991577]  ? __pfx_blkdev_read_folio+0x10/0x10
[    8.992241]  filemap_read_folio+0x32/0xb0
[    8.992835]  do_read_cache_folio+0x108/0x200
[    8.993467]  ? __pfx_adfspart_check_ICS+0x10/0x10
[    8.994156]  read_part_sector+0x32/0xe0
[    8.994708]  adfspart_check_ICS+0x32/0x480
[    8.995287]  ? snprintf+0x49/0x70
[    8.995771]  ? __pfx_adfspart_check_ICS+0x10/0x10
[    8.996420]  bdev_disk_changed+0x2a2/0x6e0
[    8.996990]  blkdev_get_whole+0x5f/0xa0
[    8.997532]  bdev_open+0x201/0x3c0
[    8.998029]  bdev_file_open_by_dev+0xb5/0x110
[    8.998637]  disk_scan_partitions+0x65/0xe0
[    8.999219]  device_add_disk+0x3e0/0x3f0
[    8.999769]  nvme_scan_ns+0x5f0/0xe50 [nvme_core]
[    9.000427]  nvme_scan_work+0x26f/0x5a0 [nvme_core]
[    9.001107]  process_one_work+0x189/0x3b0
[    9.001675]  worker_thread+0x273/0x390
[    9.002221]  ? __pfx_worker_thread+0x10/0x10
[    9.002821]  kthread+0xda/0x110
[    9.003294]  ? __pfx_kthread+0x10/0x10
[    9.003826]  ret_from_fork+0x2d/0x50
[    9.004346]  ? __pfx_kthread+0x10/0x10

Signed-off-by: Luis Chamberlain <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants