المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

أساسيات

الجهاز المملوك

الملكية قيد التنفيذ

العرض: الخدمة المملوكة فقط

العرض: الجهاز المملوك فقط

العرض: الجهاز المملوك + الخدمة المملوكة

توفيق

الغرض

نقل الملكية إلى الخدمات

إزالة علامات القيمة الأصلية

تصحيح ملكية الخدمة

التسوية عند إعادة النشر

التوفيق بين الأعمال الداخلية

المشاكل المتعلقة بملكية الخدمة

فشل التسوية

تقوم الخدمة بحذف التكوين غير المملوك للخدمة

العرض: تقوم الخدمة بحذف التكوين غير المملوك للخدمة

Keep-non-service-config مقابل Discard-non-service-config

لا يوجد إنشاء

دمج

المقدمة

يصف هذا المستند المفهوم العام والمزالق المشتركة وحلول ملكية الخدمة في Cisco® Network Service Orchestrator (NSO).

المتطلبات الأساسية

المتطلبات

ينطبق هذا المستند على جميع إصدارات NSO المتوفرة حاليا، بما في ذلك NSO 6. لا ينطبق السلوك الموصوف إلا على مواقع NSO باستخدام مجموعة من التكوين الخاص بالخدمات وغير للخدمة. بينما تنطبق الأوامر المحددة المستخدمة في الأمثلة عبر هذا المستند فقط على برنامج تشغيل عنصر الشبكة (NED) المستخدم، ينطبق المنطق الأساسي على أي جهاز تتم إدارته بواسطة NSO.

المكونات المستخدمة

- NSO 6.1.6

- نيد: طراز 1. 0 ذو إمكانية الاختبار، وهو طراز NetConf NED مصمم خصيصا باستخدام طراز يانغ هذا.

NED yang model:

module test-ned{

namespace "http://example.org/ned/service-ownership";

prefix ownership;

import ietf-inet-types{ prefix inet;}

list interface {

key interface-name;

leaf interface-name{

type string;

}

leaf ip-address {

type inet:ipv4-address;

}

leaf description {

type string;

}

}

}

- الخدمة: مثال-الخدمة 1. 0 : خدمة مصممة خصيصا باستخدام طراز وقالب يانغ هذا

module example-service {

namespace "http://com/example/exampleservice";

prefix example-service;

import ietf-inet-types {

prefix inet;

}

import tailf-ncs {

prefix ncs;

}

list example-service {

key name;

uses ncs:service-data;

ncs:servicepoint "example-service";

leaf name {

type string;

}

leaf-list device {

type leafref {

path "/ncs:devices/ncs:device/ncs:name";

}

}

leaf ipaddress {

type inet:ipv4-address;

}

}

}

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

أساسيات

والغرض من ملكية الخدمة هو السماح ل NSO بتتبع التكوين المرتبط بأي خدمة. عند حذف خدمة، يحتاج NSO إلى حذف التكوين المرتبط بها ويستخدم ملكية الخدمة لتحديد التكوين الذي سيتم حذفه. عندما يكون التكوين مملوكا لأكثر من خدمة، فإن حذف إحدى الخدمات يؤدي ببساطة إلى إزالة مرجع الملكية هذا؛ يبقى التكوين نفسه في قاعدة بيانات NSO (CDB) وعلى أجهزة الشبكة.

يتم عرض الملكية من خلال عمليات إعادة العد والنقاط المرجعية. تظهر إعادة العد عدد الكيانات التي تمتلك ذلك الجزء من التكوين. إعادة العد تساوي مقدار مثيلات الخدمة بالإضافة إلى 1 إذا كان التكوين أيضا مملوكا للجهاز. يظهر المؤشر الخلفي مسار مثيلات الخدمة هذه. لا يوجد مؤشر خلفي لعرض "الجهاز المملوك". يتم عرض المؤشرات الخلفية فقط في CDB للقوائم والحاويات. ولا تظهر المنشورات الفردية مؤخراتها، ولكنها ترث عن والديها.

الجهاز المملوك

بالإضافة إلى التكوين الذي تمتلكه إحدى الخدمات، يمكن أيضا امتلاكه بواسطة الجهاز. ويسمى هذا أحيانا "الجهاز المملوك" أو "غير المملوك للخدمة". بينما يستخدم هذا المستند "مملوكة للجهاز"، لاحظ أنه على الرغم من سهولة فهم ذلك، إلا أنه لا يجب أن تتضمن الملكية غير الخدمية الأجهزة. يمكن أن يكون لخيارات LSA أو الخدمات المجمعة تكوين مملوك غير خاضع للخدمة دون إستخدام الأجهزة.

يكون التكوين مملوكا للجهاز عند إضافة التكوين إلى CDB دون إستخدام نشر الخدمة ولكن بدلا من ذلك تم إستخدام طريقة مثل sync-from أو دمج التحميل أو NCS_CLI لتعيين التكوين. عندما يتولى مثيل خدمة ملكية التكوين الذي كان مملوكا بالفعل للجهاز، يتم تعيين إعادة العد إلى 2 ليعكس الملكية المشتركة. عند حذف مثيل الخدمة، لا يتم حذف التكوين بالرغم من حقيقة أن مثيل خدمة واحد فقط يمتلك التكوين قبل الحذف. وبالإضافة إلى ذلك، يضيف التكوين المملوك للجهاز علامة "قيمة أصلية". إذا تجاوز مثيل خدمة التكوين الذي يملكه الجهاز وتم حذف الخدمة لاحقا، فإن التكوين يسترد إلى القيمة الأصلية.

يتم تعيين ملكية الجهاز فقط إذا لم يكن التكوين موجودا بالفعل في CDB عند إضافته من خلال وسائل غير الخدمة. لا يصبح التكوين المملوك للخدمة جهازا مملوكا بعد المزامنة من. ولكن يصبح التكوين المملوك للجهاز مملوكا للجهاز ومملوكا للخدمة في نفس الوقت إذا قمت بنشر خدمة في الأعلى.

الملكية قيد التنفيذ

العرض: الخدمة المملوكة فقط

عندما تقوم بنشر خدمة عندما يكون التكوين الهدف فارغا، تقوم الخدمة بإنشاء التكوين وتتكفل بملكيتها. يمكن للمستخدم التحقق من الملكية باستخدام الأمر show running-config والإلحاق | عرض service-meta-data. على الرغم من أنه غير إلزامي، يوصى بإلحاق أيضا | عرض xml كإخراج افتراضي لنمط CLI لا يعكس دائما بشكل صحيح كيفية تكوين البيانات في CDB.

admin@ncs(config)# do show running-config devices device mydevice0 config

% No entries found.

admin@ncs(config)# example-service s1 device mydevice0 ipaddress 192.0.2.1

admin@ncs(config-example-service-s1)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

+            interface FE1 {

+                ip-address 192.0.2.1;

+            }

}

}

}

+example-service s1 {

+    device [ mydevice0 ];

+    ipaddress 192.0.2.1;

+}

}

}

admin@ncs(config-example-service-s1)# commit

Commit complete.

admin@ncs(config-example-service-s1)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

وبالإضافة إلى ذلك، إذا قمت بإضافة مثيل خدمة ثان يستهدف التكوين نفسه، تتم مشاركة الملكية بواسطة مثلتي الخدمة. إعادة العد هو 2 وهناك 2 مؤشرا عكسيا.

admin@ncs(config-example-service-s1)# example-service s2 device mydevice0 ipaddress 192.0.2.2

admin@ncs(config-example-service-s2)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

interface FE1 {

-                ip-address 192.0.2.1;

+                ip-address 192.0.2.2;

}

}

}

}

+example-service s2 {

+    device [ mydevice0 ];

+    ipaddress 192.0.2.2;

+}

}

}

admin@ncs(config-example-service-s2)# commit

Commit complete.

admin@ncs(config-example-service-s2)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

العرض: الجهاز المملوك فقط

عندما تقوم بإضافة بيانات إلى CDB باستخدام دمج التحميل أو NCS_CLI أو Sync-FROM، بدون إستخدام خدمة، تصبح هذه البيانات مملوكة للجهاز. إن كلا من إعادة العد والمؤشر الخلفي مخفيين.

admin@ncs(config)# no example-service

admin@ncs(config)# commit

Commit complete.

admin@ncs(config)# do show running-config devices device mydevice0 config

% No entries found.

admin@ncs(config)# load merge merge-config.xml

Loading.

386 bytes parsed in 0.00 sec (137.22 KiB/sec)

admin@ncs(config)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

+            interface FE1 {

+                ip-address 192.0.2.1;

+            }

}

}

}

}

}

admin@ncs(config)# commit

Commit complete.

admin@ncs(config)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

العرض: الجهاز المملوك + الخدمة المملوكة

يوضح هذا المثال كيفية إنشاء ملكية مشتركة للأجهزة والخدمات بسهولة باستخدام خدمة ومزامنة من.

تقوم بنشر الخدمة، ثم احذف الخدمة فقط في CDB باستخدام الالتزام بعدم الاتصال بالشبكة. بهذه الطريقة، لا يزال التكوين موجودا على الجهاز الطرفي. عند إجراء المزامنة من، تتم إضافة التكوين مرة أخرى في CDB ولكنه جهاز مملوك بدلا من الخدمة المملوكة. تذكر أن show running-config عند تشغيله في NSO يعرض لك بيانات CDB، وليس البيانات الموجودة حاليا على الأجهزة.

admin@ncs(config)# no devices device mydevice0 config

admin@ncs(config)# commit

admin@ncs(config)# do show running-config devices device mydevice0 config

% No entries found.

admin@ncs(config)# example-service s1 device mydevice0 ipaddress 192.0.2.1

admin@ncs(config-example-service-s1)# commit

admin@ncs(config-example-service-s1)# top

admin@ncs(config)# no example-service s1

admin@ncs(config)# commit no-networking

Commit complete.

admin@ncs(config)# devices device mydevice0 sync-from

result true

admin@ncs(config)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

بعد Sync-from، يكون التكوين مملوكا فقط للجهاز. Refcounter مخفي. عند نشر الخدمة مرة أخرى، يصبح عدد مرات إعادة العد 2، ولكن المؤشر الخلفي يعرض فقط مثيل خدمة واحد. يمثل عداد الاستجابة الثاني ملكية الجهاز. ويتم تطبيق القواعد نفسها مع ملكية الخدمة المشتركة، وفي حالة حذف الخدمة، لا يتم إزالة التكوين لأن الجهاز يملك التكوين أيضا بشكل جزئي.  بالإضافة إلى ذلك، إذا لم تتطابق بيانات الخدمة مع "القيمة الأصلية" المخزنة في بيانات تعريف الخدمة، فإن NSO يرجع القيمة إلى "القيمة الأصلية" في حالة إزالة الخدمة.

admin@ncs(config)# example-service s1 device mydevice0 ipaddress 192.0.2.2

admin@ncs(config-example-service-s1)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

interface FE1 {

-                ip-address 192.0.2.1;

+                ip-address 192.0.2.2;

}

}

}

}

+example-service s1 {

+    device [ mydevice0 ];

+    ipaddress 192.0.2.2;

+}

}

}

admin@ncs(config-example-service-s1)# commit

Commit complete.

admin@ncs(config-example-service-s1)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

توفيق

الصيغة: <مثيل المسار إلى الخدمة> تسوية إعادة توزيع التسوية

العلامات الاختيارية: { keep-non-service-config } dry-run { outformat native }

الغرض

والغرض الأساسي من وظيفة التسوية هو السماح للمستخدمين بالتخلص من ملكية الأجهزة غير المرغوب فيها ونقل الملكية بالكامل إلى الخدمات. عندما يكون لدى المستخدمين شبكة تعمل بالفعل ويحاولون نقل الملكية إلى NSO، فإنهم يقومون عادة بتقديم التكوين أولا من خلال عمليات المزامنة من. بمجرد أن يشتمل CDB على جميع تكوين الشبكة، يقوم المستخدم بنشر مثيلات الخدمة الموجودة أعلى التكوين الحالي. عند هذه النقطة، يظل التكوين مملوكا للجهاز وهو ما يحد من قدرة الخدمة على حذف التكوين. عندما يرغب المستخدمون في منح خدماتهم الملكية الكاملة للتكوين، يمكنهم إستخدام وظيفة التسوية التي تقوم بثلاثة أمور.

1) 1) نقل الملكية إلى الخدمات

2) 2) إزالة علامات "القيمة الأصلية"

3) تصحيح ملكية الخدمات

نقل الملكية إلى الخدمات

تقوم التسوية بتقييم كل التكوين المملوك لخدمة، وإذا عثرت على أي تكوين تمتلكه هذه الخدمة والجهاز أو يكون بخلاف ذلك غير مملوك للخدمة، فإنها تزيل ملكية هذا الجهاز، مما يجعل الخدمة المالك الحصري. تقليل عدد مرات إعادة العد بمقدار 1.

ملاحظة: إذا كان لدى خدمتين قطعة تكوين، وكان التكوين أيضا غير مملوك للخدمة، يكون عدد مرات إعادة العد هو 3. تؤدي تسوية إحدى الخدمتين إلى إزالة تلك الملكية غير المستخدمة للخدمة، مما يقلل عدد مرات إعادة العد إلى 2 لتعكس كلتا الخدمتين.

إزالة علامات القيمة الأصلية

عند نشر خدمة واستبدال البيانات المملوكة لغير الخدمة، يصبح عدد مرات إعادة العد 2 ويضيف NSO علامة "القيمة الأصلية". إذا تم حذف مثيل الخدمة في أي وقت، يحاول NSO العودة إلى هذه القيمة الأصلية التي كانت موجودة قبل الخدمة.

أثناء التسوية، لا يتم تقليل إعادة العد فحسب، بل تتم إزالة القيمة الأصلية أيضا. يؤدي حذف الخدمة الآن إلى جعل هذه القيمة فارغة أو تغييرها إلى قيمة افتراضية كما هو محدد بواسطة نموذج يانغ.

تصحيح ملكية الخدمة

في بعض الحالات، يمكن تعيين الملكية بشكل غير صحيح. إما أن يكون التكوين المملوك للجهاز مملوكا بشكل غير صحيح بواسطة الخدمة، أو أن التكوين مملوك بشكل غير صحيح لكل من الخدمة والجهاز، بينما من المتوقع أن تكون مملوكة فقط للخدمة.  يمكن أن يصحح التوفيق هذه المحاذاة الخاطئة. وهذا مهم لتجنب المشاكل التي تقوم فيها الخدمة بحذف التكوين المملوك لغير الخدمة.

التسوية عند إعادة النشر

التسوية هي وظيفة فرعية لإعادة نشر الخدمة. إذا لم تكن الخدمة متزامنة مع CDB، فإن عملية التسوية تقوم أيضا بتنفيذ إعادة نشر بالإضافة إلى تنفيذ وظيفة التسوية.

التوفيق بين الأعمال الداخلية

في حين أن التفاصيل الدقيقة لكيفية عمل التوفيق لا تعرف إلا للمطورين، فإن هذا المستند يقدم فهما مبسطا:

1) يقوم جهاز NSO بتصحيح ملكية الخدمة

2) يقوم NSO بحذف جميع التكوينات المملوكة لمثيل الخدمة هذا من CDB، حتى إذا كانت مملوكة أيضا لخدمات أخرى أو مملوكة للجهاز

3) مكتب خدمات الرقابة الداخلية يعيد نشر مثيل الخدمة

4) وحدة التخزين المتصلة بالشبكة (NSO) تستعيد عمليات إعادة تعبئة الخدمات ومؤشراتها الاحتياطية من خدمات أخرى

المشاكل المتعلقة بملكية الخدمة

فشل التسوية

في حالة العثور على أعمال "إعادة النشر" فشل "تسوية إعادة النشر": قد يشير ذلك إلى أنك واجهت تعارضا بين تصميم الخدمة الخاص بهم وطريقة عمل وظيفة التسوية.

تنشأ المشكلة من رمز الخدمة الذي يحاول قراءة التكوين من CDB الذي تقوم الخدمة بعد ذلك بنشره. يمكنك نشر هذه الخدمة فقط لأن التكوين موجود جزئيا بالفعل في CDB قبل النشر. ولكن أثناء التسوية، يقوم NSO بحذف جميع عمليات التكوين المملوكة لهذه الخدمة مؤقتا، بما في ذلك التكوين الذي تحاول الخدمة قراءته أثناء إعادة نشر الخدمة في الخطوة التالية. عادة ما ينتج عن ذلك خطأ في Java أو Python يبلغ عن الفشل في قراءة البيانات.

تقوم الخدمة بحذف التكوين غير المملوك للخدمة

في هذا السيناريو، تواجه NSO أثناء حذف التكوين غير المملوك للخدمة أو إعادة نشره. وذلك لأن مثيل الخدمة الذي تم إنشاؤه ويمتلك التكوين الأصلي، ثم قمت لاحقا يدويا (من خلال ncs_cli أو sync-from أو أي طريقة أخرى) بإضافة جزء من التكوين داخل حاوية أو قائمة مملوكة للخدمة.

لا يفترض أن تكون هذه القطعة الجديدة من التكوين مملوكة للخدمة، ولكن نظرا لأن الخدمة لها ملكية كاملة للحاوية أو القائمة، فإن الخدمة تنتهي إلى امتلاكها بشكل غير مباشر.

طريقة حل هذه المشكلة باستخدام إعادة نشر التسوية { keep-non-service-config } لتصحيح ملكية الخدمة. عند إجراء التسوية، يزداد عدد مرات إعادة حساب الحاوية أو القائمة ليعكس أن هذه الحاوية أو القائمة تحتوي على عقد فرعية مملوكة للخدمة وأخرى غير مملوكة للخدمة. داخل العقدة الأصلية، فقط العقد المملوكة للخدمة لها إعادة حساب ومؤشر خلفي.

العرض: تقوم الخدمة بحذف التكوين غير المملوك للخدمة

بدءا من مثيل خدمة واحد تم نشره مع الملكية الكاملة، أضف وصفا يدويا إلى الواجهة باستخدام NCS_CLI.

admin@ncs(config-example-service-s1)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

admin@ncs(config-example-service-s1)# top

admin@ncs(config)# devices device mydevice0 config interface FE1 description "This is an example description"

admin@ncs(config-interface-FE1)# commit

Commit complete.

admin@ncs(config-interface-FE1)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

لاحظ كيفية بقاء إعادة العد على <interface> 1 حتى وإن كان التكوين المملوك للجهاز قد تمت إضافته. عند محاولة حذف مثيل الخدمة، يتم أيضا حذف الوصف حتى ولو كان من غير المفترض أن يكون جزءا من مثيل الخدمة. لتجنب ذلك، يمكنك تشغيل أمر التسوية.

admin@ncs(config-interface-FE1)# top

admin@ncs(config)# no example-service s1

admin@ncs(config)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

-            interface FE1 {

-                ip-address 192.0.2.1;

-                description "This is an example description";

-            }

}

}

}

-example-service s1 {

-    device [ mydevice0 ];

-    ipaddress 192.0.2.1;

-}

}

}

admin@ncs(config)# abort

admin@ncs# config

Entering configuration mode terminal

admin@ncs(config)# example-service s1 re-deploy reconcile { keep-non-service-config }

admin@ncs(config)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

بعد التسوية، زاد عدد مرات إعادة العد لواجهة القائمة إلى 2. في غضون ذلك، بقيت عمليات إعادة العد على عنوان ip الطرفي 1. يحتوي إدخال القائمة "interface fe1" على كل من البيانات المملوكة للخدمة وغير المملوكة للخدمة. باستخدام التسوية، يقوم NSO بإعادة تقييم الملكية وتعيين عمليات إعادة التعبئة وفقا لذلك. يستهدف الحذف الآن فقط المناطق المملوكة بالكامل لمثيل الخدمة. لن يتم حذف الوصف أو إدخال القائمة.

admin@ncs(config)# no example-service s1

admin@ncs(config)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

interface FE1 {

-                ip-address 192.0.2.1;

}

}

}

}

-example-service s1 {

-    device [ mydevice0 ];

-    ipaddress 192.0.2.1;

-}

}

}

Keep-non-service-config مقابل Discard-non-service-config

يخطئ المستخدمون أحيانا في فهم إستخدام discard non-service-config.

في مثال التسوية، تم إستخدام "keep-non-service-config". إذا تم إستخدام التجاهل، سيبدو هكذا:

admin@ncs(config)# example-service s1 re-deploy reconcile { discard-non-service-config } dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

interface FE1 {

-                description "This is an example description";

}

}

}

}

}

}

الإعداد الافتراضي هو "keep-non-service-config". إذا لم يكن أي من الخيارين معرف افتراضيات NSO للاحتفاظ بها. نادرا ما يتم إستخدام التجاهل حيث يفضل معظم المستخدمين الاحتفاظ بما هو موجود على شبكتهم، حتى إذا لم تتم إدارته بواسطة NSO. يمكن إستخدام تسوية { discard-non-service-config } dry-run لمعرفة نقاط البيانات الموجودة في CDB والتي لا تشكل جزءا من تكوين الخدمة ولكن سيتم حذفها إذا تم حذف الخدمة أو إعادة نشرها.

لا يوجد إنشاء

هناك بديل لاستخدام إعادة النشر للتوفيق لتصحيح ملكية الخدمة عند مزجه مع بيانات غير مملوكة للخدمة، وهو منع التعارض باستخدام العلامة nocreate.

هذه علامة يمكن إستخدامها في قالب خدمة XML. وتذكر الوثائق ما يلي: يؤثر الدمج فقط على عناصر التكوين الموجودة بالفعل في القالب. لا يقوم بإنشاء التكوين باستخدام هذه العلامة أبدا. وهو لا يعمل إلا على تعديل بنى التكوين الموجودة.

إستخدام علامة التمييز هذه له تأثير جانبي مثير: نظرا لأن الخدمة لا تقوم بإنشاء العقدة، فإنها لا تقوم بملكيتها.

يستخدم هذا بشكل شائع لمنع الحالات التي يحاول فيها NSO حذف التكوين الذي لا يسمح الجهاز بحذفه.

لاحظ أن هذه العلامة يتم توريثها بواسطة العقد التابعة، وهذا يعني أنه إذا قمت بإضافة علامة تمييز nocreate إلى الواجهة، فإنها تنطبق أيضا على أي عقد داخل تلك الواجهة ما لم تقم بتمييزها بعلامة تمييز مختلفة مثل الدمج

أضف علامة غير إنشاء إلى قالب الخدمة. إذا لم تكن الواجهة FE1 موجودة، فلن يتم تكوين أي شيء.

قم بإعادة التحويل البرمجي للحزمة وإعادة تحميلها، ثم قم بالاختبار.

admin@ncs(config)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

No entries found.

admin@ncs(config)# example-service s1 device mydevice0 ipaddress 192.0.2.1

admin@ncs(config-example-service-s1)# commit dry-run

cli {

local-node {

data +example-service s1 {

+    device [ mydevice0 ];

+    ipaddress 192.0.2.1;

+}

}

}

وعلى الرغم من تحديد نفس المعلمات كما كان من قبل، إلا أنه لا يتم إنشاء الواجهة أو أي تكوين ضمني في تكوين الجهاز.

دمج

قم بإضافة علامة دمج على التكوين داخل الواجهة. لا تقم بإضافة علامة إلى "interface-name" لأن هذا هو مفتاح واجهة القائمة. يجب السماح دائما للمفتاح بوراثة سلوك القائمة. قم بإعادة تحويل الحزمة برمجيا وإعادة تحميلها.

قم بتكوين الواجهة FE1 يدويا قبل نشر الخدمة.

admin@ncs(config)# no example-service

admin@ncs(config)# commit

admin@ncs(config)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

No entries found.

admin@ncs(config)# devices device mydevice0 config interface FE1

admin@ncs(config-interface-FE1)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

+            interface FE1 {

+            }

}

}

}

}

}

admin@ncs(config-interface-FE1)# commit

Commit complete.

admin@ncs(config-interface-FE1)# top

admin@ncs(config)# example-service s1 device mydevice0 ipaddress 192.0.2.1

admin@ncs(config-example-service-s1)# commit dry-run

cli {

local-node {

data  devices {

device mydevice0 {

config {

interface FE1 {

+                ip-address 192.0.2.1;

}

}

}

}

+example-service s1 {

+    device [ mydevice0 ];

+    ipaddress 192.0.2.1;

+}

}

}

admin@ncs(config-example-service-s1)# commit

Commit complete.

admin@ncs(config-example-service-s1)# do show running-config devices device mydevice0 config | display service-meta-data | display xml

تحتوي الواجهة على إعادة تعبئة مخفية 1 : تم نشر الواجهة باستخدام NCS_CLI، ولكن لا توجد علامة تعريف في حزمة الخدمة؛ لم تحصل الخدمة على الملكية. انها مملوكة للجهاز.

يحتوي الأساسي على عدد مرات إعادة العد 1: إنه مملوك فقط من قبل الخدمة

إذا تم حذف مثيل الخدمة، فلن يقوم هذا الإجراء إلا بحذف IPaddress نظرا لأنه الجزء الوحيد المملوك بالكامل من قبل الخدمة.