boxen icon indicating copy to clipboard operation
boxen copied to clipboard

enhancement: Add support for packaging Catalyst 8000v containers

Open ChristopherJHart opened this issue 2 years ago • 7 comments

Boxen currently supports packaging CSR1000v virtual routers into Docker images, but does not yet support Catalyst 8000v. It would be nice if we could add support for packaging Catalyst 8000v virtual routers into Docker images so that later versions of IOS-XE can be tested in containerlab.

chart@clab-testing-1:~$ sudo boxen package --disk c8000v-universalk9_8G_serial.17.08.01a.qcow2
[sudo] password for chart:
      info   1659893753 package requested for disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'
  critical   1659893753 failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'
  critical   1659893753 error allocating disks for packaging: inspectionError: failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'
        🆘 finished unsuccessfully in 0 seconds
inspectionError: failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

ChristopherJHart avatar Aug 07 '22 17:08 ChristopherJHart

Is it possible to get 8kv image to do the integration?

On Sun, 7 Aug 2022 at 19:36, ChristopherJHart @.***> wrote:

Boxen currently supports packaging CSR1000v virtual routers into Docker images, but does not yet support Catalyst 8000v. It would be nice if we could add support for packaging Catalyst 8000v virtual routers into Docker images so that later versions of IOS-XE can be tested in containerlab.

@.***:~$ sudo boxen package --disk c8000v-universalk9_8G_serial.17.08.01a.qcow2

[sudo] password for chart:

  info   1659893753 package requested for disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

critical 1659893753 failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

critical 1659893753 error allocating disks for packaging: inspectionError: failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

    🆘 finished unsuccessfully in 0 seconds

inspectionError: failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

— Reply to this email directly, view it on GitHub https://github.com/carlmontanari/boxen/issues/39, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLKV5KQDJXGCR6ZBQMKJ6DVX7XZBANCNFSM552ZRPIA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

hellt avatar Aug 07 '22 19:08 hellt

Aaand, it would be nice to know how 8000v image differs from csr1k in terms of startup process

On Sun, 7 Aug 2022 at 21:40, Roman Dodin @.***> wrote:

Is it possible to get 8kv image to do the integration?

On Sun, 7 Aug 2022 at 19:36, ChristopherJHart @.***> wrote:

Boxen currently supports packaging CSR1000v virtual routers into Docker images, but does not yet support Catalyst 8000v. It would be nice if we could add support for packaging Catalyst 8000v virtual routers into Docker images so that later versions of IOS-XE can be tested in containerlab.

@.***:~$ sudo boxen package --disk c8000v-universalk9_8G_serial.17.08.01a.qcow2

[sudo] password for chart:

  info   1659893753 package requested for disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

critical 1659893753 failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

critical 1659893753 error allocating disks for packaging: inspectionError: failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

    🆘 finished unsuccessfully in 0 seconds

inspectionError: failed gleaning source data from disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'

— Reply to this email directly, view it on GitHub https://github.com/carlmontanari/boxen/issues/39, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLKV5KQDJXGCR6ZBQMKJ6DVX7XZBANCNFSM552ZRPIA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

hellt avatar Aug 07 '22 19:08 hellt

I can definitely provide an 8000v image for testing! I would just need to know where to upload it and who to send it to.

As far as the startup process goes, I'm not positive what the differences are, but I would assume they're very minimal. I have been able to build an 8000v image using vrnetlab with c8000v-universalk9_8G_serial.17.08.01a.qcow2 as if the image was a CSR1000v, and it runs in containerlab just fine - I'm not sure if that helps clarify things or not!

ChristopherJHart avatar Aug 07 '22 20:08 ChristopherJHart

Hey! we should defo support 8kv. I had even started poking it at one point. If it works w/ vrnetlab I suspect the change(s) needed would be super minimal in boxen. boxen is of course very very similar to vrnetlab, but I think some of the "wait to see X" prompts and things are more strict here.

SO... hopefully we can just slacken some prompt(s) matching and have things work straight away.

If its possible the thing that would probably make this easiest to do would just be to snag both a csr1k and a csr8k boot up text. We could then pretty easily see where the patterns dont match for the 8k and adjust accordingly.

carlmontanari avatar Aug 08 '22 01:08 carlmontanari

@ChristopherJHart if 8kv is same as csr1k, then what you can right now with boxen is to tell it that you're boxing a csr1k with a 8k image

You can do that with

--vendor cisco --platform csr1000v --version 17.08.01

hellt avatar Aug 08 '22 18:08 hellt

@hellt When I try that, I get the following error:

chart@clab-testing-1:~$ boxen package --disk c8000v-universalk9_8G_serial.17.08.01a.qcow2 --vendor cisco --platform csr1000v --version 17.08.01a
      info   1659983607 package requested for disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'
  critical   1659983614 error bundling required packaging files: exit status 2
        🆘 finished unsuccessfully in 7 seconds
exit status 2

chart@clab-testing-1:~$ BOXEN_DEV_MODE=1 BOXEN_LOG_LEVEL=debug boxen package --disk c8000v-universalk9_8G_serial.17.08.01a.qcow2 --vendor cisco --platform csr1000v --version 17.08.01a
      info   1659983658 package requested for disk 'c8000v-universalk9_8G_serial.17.08.01a.qcow2'
     debug   1659983658 temporary directory '/tmp/boxen1226162255' created successfully
     debug   1659983664 disks allocated for packaging
     debug   1659983664 packaging instance created
  critical   1659983665 error bundling required packaging files: exit status 2
        🆘 finished unsuccessfully in 7 seconds
exit status 2

I can snag boot-up output from both a CSR1000v and a Catalyst 8000v at some point in the near future.

ChristopherJHart avatar Aug 08 '22 18:08 ChristopherJHart

error bundling required packaging files: exit status 2 ruh roh, not 100% off hand but that seems like we dont even get to boot up stuff and instead are borked on copying files outa temp dir to wherever. So we may need to check that out before we even get any further.

carlmontanari avatar Aug 08 '22 18:08 carlmontanari