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

Service Templates #1591

Closed
darkstar opened this issue Oct 13, 2017 · 4 comments
Closed

Service Templates #1591

darkstar opened this issue Oct 13, 2017 · 4 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Milestone

Comments

@darkstar
Copy link

Issue type

[x] Feature request
[ ] Bug report
[ ] Documentation

Environment

  • Python version: 3.5.2
  • NetBox version: 2.2.1

Description

Currently, you can assign a Service (TCP/UDP + Port Number) to a device/VM by hand.

It would be nice to have some sort of "Service Template" where you could assign a name to one (or more?) TCP/UDP ports and attach that to a VM. That would make sure that the name is the same for all VMs/devices and that no typos sneak in.

For example you could define a service template "iSCSI" with TCP Port 3260, and another one called "CIFS file services" with TCP Ports 139 and 445. Some predefined ones could also be nice ("HTTP", "HTTPS", "SSH", "NFS", "CIFS", ...?)

@darkstar darkstar mentioned this issue Nov 2, 2017
@jeremystretch jeremystretch added the status: accepted This issue has been accepted for implementation label Jan 26, 2018
@wdennis
Copy link

wdennis commented Feb 25, 2020

Shouldn't services be a discrete object class (like a Site or Device Type), attachable to a IP (or multiple/all IPs) on a device, instead of being defined on a device-by-device basis? It's a bit silly to keep defining "TCP/22" as "SSH" on multiple devices for instance...

Interested in services due to integration with Nornir (https://github.com/nornir-automation/nornir) using Netbox as an inventory provider; Nornir wants a "port" (TCP port to connect to) defined as one of its host attributes. The thinking is that perhaps we can use Netbox service attachment to the default IP for this.

@jeremystretch jeremystretch added type: feature Introduction of new functionality to the application needs milestone Awaiting prioritization for inclusion with a future NetBox release and removed type: minor feature status: accepted This issue has been accepted for implementation labels Jul 24, 2020
@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed needs milestone Awaiting prioritization for inclusion with a future NetBox release labels May 25, 2021
@jeremystretch jeremystretch added this to the v3.2 milestone May 25, 2021
@ifoughal
Copy link

It would be handy to implement the templates as generic service template, that we can assign to VMs, thus, enabling users to define the template services themselves, and attach them to the type of device later on. (VMs, switches, sd-wan appliances, etc.)

@pobk
Copy link

pobk commented Dec 8, 2021

It would be handy to implement the templates as generic service template, that we can assign to VMs, thus, enabling users to define the template services themselves, and attach them to the type of device later on. (VMs, switches, sd-wan appliances, etc.)

A minor input but this should be assignable to anything with an IP.

I currently have an integration issue as well. We use services to indicate application spaces hosts by nodes. NetBox inventory for ansible inventory currently uses the service name to group on. SInce this is a free-form field and not a slug or some other object, this means we're having to rely on strict enforcement of naming for service names.

A service template should include a slug field for uniform grouping and filtering purposes.

@jeremystretch jeremystretch self-assigned this Jan 11, 2022
@jeremystretch
Copy link
Member

Shouldn't services be a discrete object class (like a Site or Device Type), attachable to a IP (or multiple/all IPs) on a device, instead of being defined on a device-by-device basis? It's a bit silly to keep defining "TCP/22" as "SSH" on multiple devices for instance...

Services aren't defined this way because it quickly becomes burdensome when you need to run a service on a nonstandard port. For example, you might run HTTP on tcp/80, or tcp/8000, or tcp/8080, etc.

jeremystretch added a commit that referenced this issue Jan 13, 2022
jeremystretch added a commit that referenced this issue Jan 13, 2022
This was referenced Apr 5, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Projects
None yet
Development

No branches or pull requests

5 participants