Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • Courses
    • Certification
      • DataMiner Operator
      • DataMiner Administrator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
    • Video Library
    • Books We Like
    • Third-party Courses
    • DevOps Enablement Services
    • Quizzes
  • RESOURCES
  • Agile
    • Agile Webspace
    • Everything Agile
      • The Agile Manifesto
      • Best Practices
      • Retro Recipes
    • Methodologies
      • The Scrum Framework
      • Kanban
      • Extreme Programming
    • Roles
      • The Product Owner
      • The Agile Coach
      • The Quality & UX Coach (QX)
  • Expert Hubs
    • DataMiner DevOps Professional Program
    • DataMiner
      • DataMiner Releases & Updates
      • System Architecture
      • Integration Studio
      • Visual Overview
      • Security
    • Technologies
      • CI/CD
      • Converged Interconnect Networks
      • DOCSIS 3.1 / DAA
      • Elasticsearch
      • Kubernetes
      • Telemetry / Flow Monitoring
      • PTP
      • SDN / ST2110 / NMOS
    • Business
      • Software Business models
      • Perpetual Use or Usage-based Services
  • Discover
    • Markets
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • Solutions
    • Use Case Library
    • DataMiner Dashboards
    • DataMiner Downloads
    • DataMiner Modules
      • Core features
      • SRM features
    • DataMiner Apps
    • Professional Services
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • Pricing
  • More
    • Feature Suggestions
    • Online DataMiner Systems
    • Leaderboard
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
    • Verify a certificate
  • >> Go to dataminer.services

How to swap a resource in a reservation instance with automation when using resource scheduling

Solved179 views21st June 2023Automation DevOps SRM
0
Ive Herreman [SLC] [DevOps Enabler]7.44K 20th June 2023 0 Comments

Hi Community,

Would anyone have any pointers for me on how I could use a custom automation script to swap a (non-function) resource in a resource scheduling environment?

The BookingManager.TrySwapResource(...) method fails because my resource is not a function resource.

Below you can find the error that is thrown by the TrySwapResource method.

Script Failure (SRM_ResourceActions): (Code: 0x80131500) Skyline.DataMiner.Net.Exceptions.DataMinerException: The Service Definition with ID SRT.Default does not contain any nodes.
at CManagedAutomation.RunWrapped(CManagedAutomation* , Int32 iCookie, IUnknown* pIAutomation, tagVARIANT* varParameters, tagVARIANT* pvarReturn, String scriptName)
at CManagedAutomation.Run(CManagedAutomation* , Int32 iCookie, Char* bstrScriptName, IUnknown* pIAutomation, tagVARIANT* varParameters, tagVARIANT* varEntryPoint, tagVARIANT* pvarReturn, tagVARIANT* pvarEntryPointResult) (CSharp; 0x80131500h): (see comment for more details)

Ive Herreman [SLC] [DevOps Enabler] Selected answer as best 21st June 2023

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
2
Peter Vanpoucke [SLC] [DevOps Advocate]438 Posted 20th June 2023 3 Comments

hi Ive

Since resource scheduling doesn't have any functions in the service definition to assign resources to, TrySwapResource won't do for this use case indeed.

Booking.AssignResources() can be used here. Support to assign resources has been added since SRM 1.2.19. The resource that needs to be swapped can be unassigned using booking.UnassignResources().

Example AssignResources()

var request = new AssignResourceRequest
{
TargetNodeLabel = "", // When assigning a resource unmapped the `TargetNodeLabel` needs to be null or empty.
NewResourceId = resourceIdToAssign,
ProfileInstanceId = profileInstanceIdByRef, // ID of the Profile Instance to assign by reference. Use `Guid.Empty` to not set or remove the Profile Instance.
InterfacesProfileIntanceId =
{
{ interfaceId, interfaceProfileInstanceIdByRef }  // ID of the interface and the Profile Instance to assign by reference for that interface. Use `Guid.Empty` as value to not set or remove the Profile Instance.
},
IsContributing = false, // Set to `true` when assigning contributing resource
};
booking = booking.AssignResources(Engine, request);

Example UnassignResources()

To unassign a resource, a new method UnassignResources has been added:
var request = new AssignResourceRequest
{
TargetNodeLabel = "", // When unassigning a resource unmapped the `TargetNodeLabel` needs to be null or empty.
NewResourceId = resourceIdToUnassign,
};
booking = booking.UnassignResources(Engine, request);

Ive Herreman [SLC] [DevOps Enabler] Selected answer as best 21st June 2023
Ive Herreman [SLC] [DevOps Enabler] commented 21st June 2023

I’m using SRM 1.2.29, but I’m unable to find the AssignResources and UnassignResources methods.

In what namespace are they defined?

Peter Vanpoucke [SLC] [DevOps Advocate] commented 21st June 2023

They’re available as extension methods in Skyline.DataMiner.Library.Solutions.SRM.

Ive Herreman [SLC] [DevOps Enabler] commented 21st June 2023

Turns out that this is not working on the default ReservationInstance object, but you need to cast the reservation instance to ServiceReservationIance to get the above working.

Please login to be able to comment or post an answer.

My Dojo Points

0 Credits
0 Reputation

Question Tag Cloud

adl2099 (54) Alarm Console (53) alarms (70) alarm template (58) API (35) Automation (144) automation scipt (65) Automation script (95) backup (54) Cassandra (142) cloud (37) Connector (44) Correlation (42) Cube (114) Dashboard (134) Dashboards (136) database (64) DataMiner Cube (37) DIS (53) DMS (48) DOM (68) driver (48) DVE (43) Elastic (73) Elasticsearch (99) elements (49) Failover (90) GQI (51) HTTP (45) IDP (55) low code app (70) low code apps (43) MySQL (50) protocol (145) QAction (58) resources (35) security (71) SNMP (56) SRM (267) SRM resources (39) timeout (35) trending (66) upgrade (44) Visio (373) Visual Overview (290)
Privacy Policy • Terms & Conditions • Contact

© 2023 Skyline Communications. All rights reserved.

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin