Task #7125
closedImplement "ordering" and "products" with ucloud
0%
Description
Discussion: https://chat.ungleich.ch/ungleich/pl/o8y3tz8wo7ytje7o8nk9suw4qo¶
@Mondi Ravi @Ahmed Bilal ping
@Mondi Ravi I'd like you to implement asap "ordering" and "products" with ucloud
I think this is an important part that will also be used by other people who will be using ucloud in the end
I imagine it as follows:
We introduce a sub command ucloud order <product>
that command talks to the API, the API to etcd
the basic idea is that any product has two financial aspects:
one time cost (can be 0 ... x)
recurring cost (can be 0...x) and duration can be seconds to years - so we will need to store the unit with it
For a lot of products the pricing will actually be 0 / 0 per x, like reverse DNS
however treating everything somebody can book/buy, makes it easier to integrate
@Mondi Ravi I'd like you to implement the flow for buying an IPv6 VPN - adding products can for the moment "manual" or fiddling around directly with etcd
However the logic should work for "any" product / we should be able to easily hook new products into the system
(edited)@Mondi Ravi some additional commands that might be helpful: ucloud list-products and ucloud register-payment-method
@Mondi Ravi do you have any questions?
mravi profile image
12:50 PMhmm, you probably already told this before @Nico Schottelius but would like to have a reconfirmation from you -- "ucloud uses etcd/json for all data" right? So, we don't any other database or am I missing something ?
nico profile image
12:50 PM@Mondi Ravi I think we can go etcd only, beside you have a good reason against it
@Mondi Ravi Performance wise I don't think etcd will have a problem, but there will be some client logic arranging data, as compared to sql based
mravi profile image
12:55 PM@Nico Schottelius ack .. I would need some introductory lessons into ucloud -- I've been following your discussions but do not know much about how can I kickstart my work
nico profile image
12:56 PM@Mondi Ravi I think you can start almost clean plate, assuming you write python + probably flask ; however @Ahmed Bilal knows a lot of details and you can ping him in here
@Mondi Ravi payment has so far not been a topic in ucloud at all - so everything related to this is rather new
mravi profile image
12:57 PMack
nico profile image
12:58 PM@Mondi Ravi it would be cool if you could create a "dirty" prototype, being able to "order" an IPv6 VPN for 120 CHF/y; a plus if it is for free as long as you have booked any VM
mravi profile image
1:00 PMok
Hand over criteria¶
This task is done, if:
- I can order a VM and it is billed via credit card
- I can order a VPN and it is ...
- for free, if I have an active VM
- terminated, if I don't have an active VM and the VPN is for free
- paid by credit card if not bound to an active product
Updated by Mondi Ravi over 5 years ago
- Status changed from New to In Progress
- Assignee set to Mondi Ravi
Updated by Mondi Ravi about 5 years ago
- Assignee changed from Mondi Ravi to Ahmed Bilal
Made a release 0.5.2 https://code.ungleich.ch/ucloud/ucloud-pay/-/tags/0.5.2 that includes handling one-time payment products.
This makes the scope of this ticket almost done.
Only things that I see that would need to be implemented later:
- Coupon system: eg IPv6 VPN is free for customers who have a VM
- In such case, terminating VM should also terminate VPN access
I think this can be implemented only once we have integrated ucloud-pay and have developed other components further.
I am tossing this to ahmed for review.
Updated by Mondi Ravi about 5 years ago
- Status changed from In Progress to Feedback
Updated by Nico Schottelius about 5 years ago
If terminating X, because Y is terminated, we should add some kind of
flag for having the user verify.
This can be a client or server based check
redmine@ungleich.ch writes:
Updated by Nico Schottelius about 5 years ago
- Description updated (diff)
Mondi, Ahmed, can you today give me feedback until when we can have the above features implemented and deployed?
Updated by Ahmed Bilal about 5 years ago
- Assignee changed from Ahmed Bilal to Nico Schottelius
I am stuck at some issues with integration of ucloud-pay with other ucloud projects. See https://code.ungleich.ch/ucloud/ucloud-pay/issues/1
Updated by Nico Schottelius about 2 years ago
- Status changed from Feedback to Rejected