DBupdate

25
1 Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net DBupdate Denis Walker RIPE NCC <[email protected]>

description

DBupdate. Denis Walker RIPE NCC . dbupdate. LOVE IT or HATE IT You have probably all used it. Used to be UPDATE. What is it ?. The front end processor for updating objects in the database. Part of the Whois server software. It allows you to: CREATE - PowerPoint PPT Presentation

Transcript of DBupdate

Page 1: DBupdate

1Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net

DBupdate

Denis Walker

RIPE NCC

<[email protected]>

Page 2: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 2

dbupdate

LOVE IT or HATE IT

You have probably all used it.

Page 3: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 3

What is it ?

• The front end processor for updating objects in the database.

• Part of the Whois server software.• It allows you to:

– CREATE– MODIFY – DELETE

objects in the database.

Used to be UPDATE

Page 4: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 4

“If it ain’t broken

don’t fix it”

Why the change ?

Page 5: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 5

Motivation for Change

• Mature program with many experienced users providing feedback.

• Error reporting was inadequate and misleading.• Need to provide more information on authorisation

success / failure.• Better handling of generated attributes.• Need for plug in capabilities.• Want to be able to add new features in the future

more quickly and with more confidence.

Page 6: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 6

Team Project

• Design / Development– Shane– Tiago– Denis

• Early Design– Andrei

• Test System– Katie– Denis

• Infrastructure Support– Engin– Can

Page 7: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 7

What has changed ?

• From a users viewpoint the only change will be seen in the responses received back from dbupdate.

• Method of access is unchanged.– email– sync updates– Web updates– (internally – override for ripe-dbm and hostmasters)

• Format of input is unchanged.

Page 8: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 8

Format of InputPlain Text or MIME

Atomic

text/plain

Application/pgp (readable text)

Composite

Multipart

Message/RFC822

7 bit

8bit

Binary

Quoted printable

X base 64 X

Signed (pgp)

Alternative

Mixed

X encrypted X

Page 9: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 9

Nested Authentication

password

pgp

pgp

password

pgp p2

pgp p1p2 + p1

p1

password

Page 10: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 10

Nested Authentication

s1s1, s2

signature s1

text/plain

signed

signature s1

signature s2

text/plain

signedsigned

Page 11: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 11

Nested Authentication

s1 s2 pw

s1 s2 pw

s1 s2 pw p1

s1

s1 s2

signature s1

signature s2

password pw

pgp p1

signed

signed

signature s1

signed

signed

signature s2

message

Page 12: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 12

Responses

• Biggest change is in the acknowledgement reply to the user.

• Slight change to the forward and notification replies.

Page 13: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 13

Acknowledgement Messages

• Handle all error conditions gracefully and return an acknowledgement back to the user.

• Extreme errors will report “internal error, please contact [email protected]”.

• Much more information, more logically set out.• Start with a quick summary, follow up with the

detail.• Record separators before each object to make

parsing by scripts easier.

Page 14: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 14

Acknowledgement Messages

• Better recognition of an ‘object’ in the input to reduce the “class not recognised” errors on textual paragraphs in the input message.

• Detailed authorisation information for each object.• Per-class information messages (allowing results

to point the user to more specific help, e.g. IN-ADDR.ARPA help for failed domain objects).

Page 15: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 15

Example update messageFrom: [email protected] Subject: Route updateTo: [email protected]

Please update these routes:

password: mb-childpassword: ml-parent

route: 20.13.0.0/16descr: Routeorigin: AS200mnt-by: CHILD-MB-MNTchanged: [email protected] 20020101source: DB-TEST

route: 20.0.0.0/8descr: parent route objectorigin: AS100mnt-by: PARENT-MB-MNTchanged: [email protected] 20020101source: DB-TEST

RegardsLIR Admin

Page 16: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 16

Acknowledgement Reply

From: RIPE Database Management <[email protected]>To: [email protected]: FAILED: Route update

> From: [email protected] > Subject: Route update > Date: Wed, 23 Apr 2003 12:01:07 +0200> Reply-To: [email protected] > Message-ID: [email protected]

Page 17: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 17

Acknowledgement SummarySUMMARY OF UPDATE:

Number of objects found: 2 Number of objects processed successfully: 1 Create: 1 Modify: 0 Delete: 0 No Operation: 0Number of objects processed with errors: 1 Create: 0 Modify: 1 Delete: 0 Syntax Errors: 0

Page 18: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 18

The Detail

DETAILED EXPLANATION:

***Warning: Invalid keyword(s) found: Route, update***Warning: All keywords were ignored

Page 19: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 19

Errors are Listed First~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The following object(s) were found to have ERRORS:

---Modify FAILED: [route] 20.0.0.0/8AS100***Error: Authorisation failed***Info: Syntax check passed route: 20.0.0.0/8descr: parent route objectorigin: AS100mnt-by: PARENT-MB-MNTchanged: [email protected] 20020101source: DB-TEST

***Info: Authorisation for [route] 20.0.0.0/8AS100 using mnt-by: not authenticated by: PARENT-MB-MNT

Page 20: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 20

Followed by the Successes~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The following object(s) were processed SUCCESSFULLY:

---Create SUCCEEDED: [route] 20.13.0.0/16AS200

***Info: Authorisation for parent [route] 20.0.0.0/8AS100 using mnt-lower: authenticated by: PARENT-ML-MNT

***Info: Authorisation for origin [aut-num] AS200 using mnt-by: authenticated by: CHILD-MB-MNT

***Info: Authorisation for [route] 20.13.0.0/16AS200 using mnt-by: authenticated by: CHILD-MB-MNT

Page 21: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 21

Ending with the random text~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~The following paragraph(s) do not look like objectsand were NOT PROCESSED:

Please update these routes:

RegardsLIR Admin~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For assistance or clarification please contact:RIPE Database Administration <[email protected]>

Page 22: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 22

Notifications / Forwards

• General layout same as before.• Same record separators before each object as

used in the acknowledgement message.• Where authorisation is required from a parent

object, messages will be sent ALL maintainers in a list, rather than only the one that is used for the authorisation.

Page 23: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 23

Testing

• Full testing environment developed in parallel with program development.

• Hundreds of updates designed to test all parts of the system.

• Includes a batch of ‘real’ updates that have caused problems in the past.

• Full test run takes about one hour.• Full test will be run after every change, before

putting a new binary into production.• Test system and data will be included in a future

release of the software.

Page 24: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 24

Documentation

• Detailed design specs to be issued later.• RIPE Database User Manual: Getting Started

http://www.ripe.net/ripe/docs/db-start.html• RIPE Database Reference Manual

http://www.ripe.net/ripe/docs/databaseref-manual.html• Release Notes.• Full list of error messages with detailed explanations to be

prepared.• Explanation of the new acknowledgement reply.

http://www.ripe.net/db/dbupdate/acknowledgments.html

• Description of some of the benefits.http://www.ripe.net/db/dbupdate/

Page 25: DBupdate

Denis Walker . RIPE 45, May 2003, Barcelona . http://www.ripe.net 25

Questions, Discussion