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

ForceDelete: forcedelete2.0 - new process #1428

Closed
16 of 17 tasks
vohmar opened this issue Dec 2, 2019 · 9 comments
Closed
16 of 17 tasks

ForceDelete: forcedelete2.0 - new process #1428

vohmar opened this issue Dec 2, 2019 · 9 comments
Assignees

Comments

@vohmar
Copy link
Contributor

vohmar commented Dec 2, 2019

  • Statuses: currently forcedelete marks list of statuses that are set with it (serverRenewProhibited, serverTransferProhibited, serverUpdateProhibited, pendingDelete and serverManualInzone). New process sets only two - serverRenewProhibited, serverTransferProhibited
  • New logic - currently force delete is 30 days and started at the moment of admin setting the status. New process is minimum 45 days, but may vary to up to 1 year + 45 days. ForceDelete statuses are set immediately on starting the process, but start of the last 45 days count may be delayed. There are two versions: fast track and soft
    • new parameter - force delete start date marking the beginning of the last 45 day period
    • fast track version - is initiated when the signal of non existent registrant comes from a third party. New set of statuses, 45 day period starts immediately (forcedelete start date is the date forceDelete is initiated), clientHold for removing domain from the zone.
    • soft version - is initiated when invalid registrant data is discovered by the registry. New set of statuses, the last 45 day grace period is postponed for up to a year, clientHold if force delete start date is different from expiration date
      • formula to calculate the force delete start date is: current expiration date - full years of (current expiration date - today's date)
        • if the result is 1 or more calculate and set forcedelete start date
        • else no need to set the date - set statuses will regulate the usage of the domain and unless data is fixed domain registration is expired and released as per regular expiry
  • clientHold - new status for removing domain names from zone. client prefix means that registrar is able to remove this status in case they have contact with registrar and the process of fixing the data has begun. This status is used in the last 30 day period only if force delete start date is less than expire date. (In case the last 30 days of force delete overlap with the last 30 days of normal expiration period and the domain registrant data is not fixed and domain registration renewed, registry will automatically set serverHold at the beginning of next day)
  • Stopping force delete process
    • Manual - Admin interface
    • Automatic - registrant change - replacing current registarant object with new valid one automatically stops force delete procedure (statuses are removed, force delete start and force delete dates are removed, whois records are updated) [ForceDelete: Cancel force delete on registrant change #1479]
  • Notification:

Doc: https://docs.google.com/document/d/1rW_YvQ-Ym3ntGdhPLINAfS7ue_GCtrYetbmq0_jHDxM/edit?usp=sharing

yulgolem added a commit that referenced this issue Dec 3, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Dec 4, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
@vohmar
Copy link
Contributor Author

vohmar commented Dec 11, 2019

Few issues I have spotted:

  • In soft force delete the clientHold status is applied together with the force delete it self. The *hold status is not part of forcedelete status set and is applied at the beginning of the last 30day period of the 45 days - the redemption grace period. But it should be preceded by the 15 day expire warning period (this is one of the changes in comparison to current force delete procedure)
  • the force delete at is still calculated +30 days - as mentioned in the previous point it should be preceded by 15 days. clientHold or serverHold is applied only during the redemption grace period of 30 days.

yulgolem added a commit that referenced this issue Dec 16, 2019
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
@vohmar
Copy link
Contributor Author

vohmar commented Dec 18, 2019

  • hard force delete sets the force_delete_start time to the beginning of current date (utc). As a result registrant loses up to a day of time to fix the problem. To avoid that the force_delete_start should be set to current datetime value and the count and make the calculations of 15+30 days on top of that. That way registrar gets full 45 days to fix the problems.

testing continues

@yulgolem
Copy link
Contributor

Moved force delete dates (start/end) day ahead.

@vohmar
Copy link
Contributor Author

vohmar commented Dec 19, 2019

  • clientHold status is not set. In registry task start_redemption_grace_period sets serverHold status during normal domain expiration process. The same task should also now handle force delete and set clientHold statuses when the time arrives

@vohmar
Copy link
Contributor Author

vohmar commented Dec 20, 2019

#762 needs to be urgently resolved for this task to work. Registrar has to be able to remove clientHold status - adding or removing any other status is not necessary in this context here.

  • setting clientHold must also update whois data by setting outzone date value - time of removing domain from zone.

yulgolem added a commit that referenced this issue Dec 23, 2019
From this patch epp domains controller will allow to update
domain statuses only if there is only one status - clientHold.
This was made to allow usage of new ForceDelete procedures.

See #762, #1428
@vohmar
Copy link
Contributor Author

vohmar commented Jan 3, 2020

some status that comes with forcedelete seems to prohibit registrar from removing clientHold status. error 2304 Object status prohibits operation is returned

there are 4 statuses associated with the domain

  • serverForceDelete
  • serverRenewProhibited
  • serverTransferProhibited
  • clientHold

@vohmar
Copy link
Contributor Author

vohmar commented Jan 10, 2020

domain update / registrant change is also prohibited by one of the applied statuses but should not be. serverForceDelete should not block anything on its own. serverRenewProhibited only prohibits domain.renew requests and serverTransferProhibited prohibits only domain.transfer requests all other requests should be available unless there are some other conflicting statuses set.

Messaging:

  1. Poll on setting force delete (automatically or manually) - Poll message is already there but lacks the details about the start of the final 45 day countdown
  2. Poll message to the registrar when the last 45 day period starts - that one is missing unless hard force delete is initiated by admin.
  3. Automatic email to registrant and admin contacts (+info@domain and domain@domain) notifying about the start of the 45 day force delete period. Might use the same logic as the expiration email set 1 day after the start of the expiration period.
  4. Poll message on cancellation of force delete period
  5. Automatic email on cancellation of force delete period during the last 45 days (contacts are prior informed by EIS about the start of the force delete process)

yulgolem added a commit that referenced this issue Jan 13, 2020
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
@vohmar
Copy link
Contributor Author

vohmar commented Jan 13, 2020

  • registrant change does not cancel force delete automatically
  • soft force delete poll message is missing info about the start of the last 45 day period countdown
  • in admin deselecting soft delete option also removes option to choose the email template to use for informing domain contacts - in both cases selecting the template is necessary. In case of instant/hard force delete the emails should be sent straight away or with 1 day delay, in case of soft delete the email is sent once the last 45 day period starts (or with 1 day delay to match regular expiration notification model). Here emails are sent instantly in both cases and in hard delete scenario the private registrant template is chosen by default.

yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
yulgolem added a commit that referenced this issue Jan 14, 2020
Add new test file new_force_delete_test.rb to check if new ForceDeleteProcedures are correct.
ATM it's just a scaffold of some sort, all tests are red, magic numbers and so - just a proof of concept.

See #1428
yulgolem added a commit that referenced this issue Jan 14, 2020
Add removing forceDelete on registrant change.
Restore email template choosing on safe force delete via admin
dashboard.

See #1428 (comment)
@vohmar
Copy link
Contributor Author

vohmar commented Mar 20, 2020

this is now done, as all the sub-topics have been resolved. Thank you for the great work guys!

@vohmar vohmar closed this as completed Mar 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants