Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

[FR] Multi-platform agent support #148

Closed
namachieli opened this issue May 1, 2017 · 2 comments
Closed

[FR] Multi-platform agent support #148

namachieli opened this issue May 1, 2017 · 2 comments

Comments

@namachieli
Copy link

Ran into a sort of a "no duh" issue today when trying to push a testrun to two agents on different architectures, easy enough to work around. I'm still in POC and most likely a production deployment will see use of the same agent hardware globally though, i do see a case where i want to run a VM in AWS to poke VPN portals.

I found 30 - Removing MakeFile and 83 - Agent on Network Equipment that seem related, but they mostly talk about this philosophically.

This also addresses that if you just follow the docs for deploying todd-server on say, Arch:x86_64, you end up with a todd-nativetestlet-ping testlet that pushed to potentially Arch:arm (rPi) agents.

I would think there are quite a few ways to implement something like this, both manually and automatically. I think both would require some shared logic to support.

Shared Logic (Some ideas, not exhaustive)

  1. Assumption: We know the arch of client/server. How do we make sure Agents get the correct testlet?
    1. Use different buckets - /opt/server/assets/testlets/arch/[x64_86, arm, etc]
      • Only push testlets in the correct bucket
    2. Manage Testlet like a package you 'add' to ToDD.
      1. Add the requirement for testlets to have an output to the arg [arch]. When ToDD server registers a new testlet, it check for the output and tracks it.

Manual

  • Configure architecture in agent.cfg and server.cfg as applicable to tell the server more about the agent.
  • Include in group definition and require a given group criteria must all be same agent architecture
    • Probably not worth being this restrictive for the effort it takes to implement less restrictive methods

Automatic

  • todd-agent startup include parsing hostnamectl (Great info about environment here)

I would love to hear more ideas.

@namachieli
Copy link
Author

Workaround for now: change filenames for testlet bin and create groups around agent architecture referencing specifically named binaries. not great, but it works.

@Mierdin
Copy link
Member

Mierdin commented Dec 7, 2018

Thanks @namachieli! There are a few issues currently opened on this, so I'm consolidating under #83. I've copied your comment there.

@Mierdin Mierdin closed this as completed Dec 7, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants