Okay, so hello everybody So this session will be about open-stack Manila in a telco context. So I I am Marc Hodor Working at Deutsche telecom and I miss I'm an active contributor since the Havana release and mainly active in the QA and Storage sector so I have with me Thomas Lichtenstein from netapp and Christian five from SVA So the question is how how Manila fits in the telco cloud and Our idea was to have an evaluation How far the development of open-stack Manila is currently There and how we could use it in our production and production environment So we we were talking about the use case that we see for for shared file systems in the context of a telco we Automated Everything and build the test lab lab This is everything open-sourced so available for free and we will we will see and demo about the the automated test lab and an actual scenario test that we developed during our project So maybe a little To give give a little idea of how the team set up was so Deutsche telecom acted like a customer in that phase and usually if a customer wants to to onboard Let's say a storage system like from that up We will have an integrator in between so SVA is one of our integrators that we usually have in Deutsche telecom So we choose this kind of setup which which is a kind of traditional setup for building new services in inside of Insider in inside of an enterprise context so but open-stack Manila is something quite new and We didn't expect that it's stable enough to directly go into our production system. So We wanted to contribute our viewpoints directly to the community. So everybody of in our team directly contributed to To the community in the way he wanted to so we we deliver use cases and discuss them in the in the mailing list We identified Test cases and automated them and contribute them back to the community so and the the the main idea was at the end to have an idea whether we could use Manila in our cloud whether we could Design our architecture for the telco cloud that we have and shared file system storage in in our architecture So let's talk a bit about our use cases that we see and why Open-stack Manila is needed for us. So actually We have this this picture on the left just to summarize What kind of storage we usually have in the cloud? So if you're talking about open-stack you're you have block storage. So cinder is the the the manager of a block storage devices and So so with block block storage is nothing else as a hard drive for a virtual machine So you you attach it to a virtual machine So there is there's some drawbacks in doing something like that because you you as an infrastructure administrator Do not do you don't have any control about the file system that is Created in the virtual machine So something like snapshotting and so on is a bit more complicated if you do not have any control So you need you need if you want to do to create snapshot You need to control the virtual machine and the underlying infrastructure which makes administration effort quite Increased in administration effort so on the other hand we have object storage and Object storage is something new We usually have Swift or and storage with S3 interface The the usage of object is If you want to use object in your application you have to adapt the application so it's an restful API which is Scales a lot so it's I would say one of the future topics for for many telco applications That we see but they are there's a gap in between so shared file system are quite type of traditional storage and the the cool thing on shared file system storage is that The actual storage system has control about the file system snapshotting. It's a bit easier It's it's has less latency as much of the object storage so So this picture actually we created on Startup of our project and Manila was quite new and so we indicated in the open stack world that we have Cinder in place for block storage We have object stores with or any other storage that gives a swift and F3 interface and Manila was one of the missing pieces So Manila delivers an API to manage many other many types of Storage and this is the kind of thing that we need for our telco cloud So we are planning to to create a huge network of data centers across Germany and Europe and we for an NFV telco cloud we we have two types of Data centers that we plan we have front-end data centers, which will be close to the customer These are actually hosting the network functions. So network functions like maybe load balancing or firewalls and and Chaining them together Usually if you if you have this kind of context in a telco you have real-time requirements, for instance So these application Usually do not arise synchronously on to a storage But we have also back-end data centers and these back-end data centers will store the actual data for our data delivery For instance, so we do streaming and so on will be stored on these back-end data centers so our plan is to to spend this across Germany and Europe and One example for usage for for shared file system in this context will be our email service so we have the largest email platform in Europe and One idea would be that we store the mail header and bodies into the shared file system these because the the users of these shared files are of Mail browsers who usually are used to directly access the emails the email body and the header but When it comes to an attachment you can think about having the attachment in an object store and just stream it to the end customers So this is one of the ideas of the usage of an shared file system in our context so Basically now we are going a little bit deeper in what is what is Manila about And we then show what we are delivered to the community So I hand over to Thomas Thanks mark, so I'm Thomas Liechtenstein also. I'm working with NetApp. I'm a cloud architect based in Namia So to get everybody on the same page What we are talking about here today? So Manila is really The shared file service of OpenStack What does it mean? So shared file service means typically we're talking about NFS or NFS shares or SIFS shares But the concepts really apply in a very similar manner to HDFS for instance or other shared file Concepts that can also be addressed over Manila API control plane So why would you want to do that? So actually Back a few years ago. I think it was 2013. It struck NetApp that there was a you know this gap within the OpenStack Blocks or the OpenStack storage Story that there was actually a missing piece well like Mark explained so We asked our customers what kind you know how much of your capacity is actually deployed on shared file service And this number is surprisingly high. I don't know about you guys But we we see within the industry that actually when it comes to capacity around 60% or even more are stored on shared file services So it I think it's a no-brainer to bring this on into the cloud as well And quite recently, you know in the last year Microsoft with Azure file service introduced a similar concept and Service and now even you know a few weeks back Amazon falls you as well so We clearly see here OpenStack you know tapping into new ground obviously and I think Personally, obviously we have a heritage, you know, we can maybe come from object storage and block storage, but Shared files have been untapped in a way and Manila is really here to actually allow you to onboard Maybe homegrown solutions or legacy workloads, but also maybe new applications that were just not be able to build before that Right. So what could you use this for specifically? You know simple things like or centered things like home directories, of course But also big data might be just be a valid use case as well The good news is Manila is very similar Conceptually to Cinder. So just as Cinder allows you to Provision block storage Manila really allows you to Actually deploy shares, right? So speaking about the concepts So for one obviously there's there are the shares. So this can be any Protocol mostly that will be you know predominantly NFS or assist, but also the other protocols and Then we also need to because it's a shared environment need to think about access rules, right? so for instance for NFS you want to make you maybe and let your tenants define the You know access rules on an IP basis or if you have an active directory server deployed you might want to use SSS IDs We also need to think about how we actually tie the shares towards the neutral networks of the tenants or the Nova Networks of the tenants or The or other networking solutions that you may see in the future. So Manila is really Flexible in this regard. There's a notion of the share network, which is just solving that need There's more concepts. So if you are deploying Kerberos for instance or have other more advanced security services, this is also The be exposed can also be exposed through Manila or address through Manila This is nice property just as Cinder has snapshots Manila also allows you to do snapshots on shares and How this is actually implemented is actually done by the back end driver So this is the vendor specific implementation that you are pretty much well aware of from Cinder as well To this end Manila, which is very important is not in the data path It's a control plane for that for shared file services and it's also multiple back-end capable So you can run multiple back ends at the same time just as with Cinder So What I wanted to talk about now is actually well, what was the foundation of our work here? So when touch telecom invited us for this joint evaluation We quite early on decided that we wanted to do this evaluation in the open source community. So we actually built A fully automated test lab based on very common components that you are very well off. So for instance You are probably very familiar with death stack and uses maybe with vagrant. So we we're just using the same tools to deploy an open stack based environment where Manila was enabled and In addition to that in the same manner that you run the death stack in an automated fashion We actually added the back end configurations for using a generic driver, which is the reference implementation for Manila, but also Netapp Base back end using our simulator. So in the end of the day, this allows you to actually build and Actually verify what we are talking about today on your own and by just pulling this The source code of the or the configuration files for this automated lab and run this on your own laptop This was the foundation. I want to quickly give you an Head start on how this looked like by by showing you a demo It's a video where so it's on based on github so you can check this out and actually You know deploy this on your own. You can also use the generic drive implementation as a back end So in this case, we're using the net up back end and the familiar workflow is actually to you know clone it and then issue a vagrant up and You grab a coffee basically, but In this case, we will do a fast forward We will deploy service VM, which will configure the net up back end Just the court with some DHCP and networking configuration that we do in the background and Once that service VM is up. It's actually a Ubuntu based image that is just pulling You know package to package updates from from source It's also making use now of some Chef automation and as the next step once the service VM is up We are going to deploy a net up back end. So using our simulator. That's the net up cluster data on tap system as a virtual machine and Once the simulator is up and running so we can also orchestrate that through an IP a base protocol so through what we call the SAP calls This usually takes six minutes, but we we fast forwarding now It's actually kind of like the fastest death stack run you ever saw I guess So now it's the next thing we run the usual death stack Which means we are rolling out open stack where with the specific capability of and a manila being Enabled and also be configured to speak to the in this case to the net up back end Again, if you want to you know validate this on your own terms you're free to check this out as well, right? and With that I will turn it over to Mark again who will go into more details of what we did with this lab yeah, so The question is now we had we defined our use cases that we want to to see in Manila that it's really working and Now the question is how can we test this and so we created this automated test lab, and we could do anything manually but but now Since I'm heavily involved with the tempest team. I I Thought that it would be a great idea to to automate these kind of scenario tests So we discussed with the with the manila core team about that and this was actually something that is was missing in the QI QA process Upstream so when it comes to to quality assurance in an open stack modules You there's usually three kind of types that you see so you have usually unit tests that are just focused on Functional block in the code so these Functional blocks were executed, but it's not that manila itself is completely up and running It's just mocking everything around away, and you just have to test the functional blocks So this was already nearly with I think 90% coverage in place So we didn't care about that this one. So and then after this we usually have and Another approach to have API tests. So with that you really have a running manila back end and you're you're trying to Test certain kind of API functionality for instance creating a share is one API call And you just check whether this runs or not so but what what is missing with that is an end-to-end behavior So creating a share is nice But you have to attach the share to a ritual machine you have to mount the share in a ritual machine And it's right actual data on it then it's a real life and to end test So this is actually the thing that we did in the scenario tests. So The these tests are These tests run every code change in manila now. So they are introduced to to run In a non-voting job. So I think for liberty one. We will we will Activate them as voting that means nothing will come through the through the Through the gate that doesn't have running scenario tests. So these are the tests that we actually delivered So I just wanted to show the the actual code how such a test looked like and the actual Scenario tests are quite abstract and quite easy to read So we see here in the first line that the security group was created then as shared network So we already heard from Thomas about the concept of share networks So it creates it creates neutral networks and assigning these networks to to manila Then it creates an actual share boots an instance allows us access and then Tries to SHH individual machine and checks whether this works. So this is this is Let's say one of the the the easiest cases that we had so in the in the current code We have one high-end test with two virtual machines one virtual machine is writing data The other virtual machine is reading data. So this is the real end to end test for for let's say a basic manila check up so Yeah, so we want to to show you a bit how this works and we have a live demonstration how these scenario tests are actually look like So hand over to Christian. Thank you mark Yeah, let me just quickly introduce myself. My name is Christian fine. I'm with the SBA in Germany as a systems engineer for storage infrastructure and What I want to do now is just just try to map the codes in a bit that mark just showed in two way Let's say high-level picture to just explain what the demo will consist of and Yeah, we have our open-stack cloud with manila and neutron and Nova Probably there are other components involved as you know, but our test mainly mainly revolves around these guys and When we start our tempest test it will let's say create a base That means the share and therefore the neutral net the manila share network in the share server and after that it will boot an instance since all our tests work from a Let's say client perspective and this instance will then try to mount Yeah, the actual chair and if that succeeds it will after that unmount and clean up the whole environment So that is what what the demo will look like Let's just Look in it. Okay, so what we have here is a Yeah, naked. Let's say naked. Oh stack environment. There's no instances and no shares deployed at the moment and What we will do now is run the actual test So we'll advise Tempest to to continue so what we did is we we did some Yeah minor modifications to the test in order to enable a stepwise walkthrough normally this test would just run through without any manual Intervenation, but this is for for demo purposes And yeah first step is creating the share network as you can see in the background there's something going on in the topology and After that we create the actual chair since we now have our base our neutral net the manila share network and The next step is now to create a share You can see in the background the topology has built up and so this share server creation needs some some sort of some seconds We can just wait for that Okay, you see that the shares created and the next step is to to boot a instance since we need to to have a test candidate that does all the tests and Yeah, after we booted the instance We need to allow access for the share and also that we can access this instance with SSH and What we can do now is just have a look again So you see there is our instance in the in the correct networks And we can also have a look at the manila UI, which is some sort of the the manila GUI in in horizon and There we can see we have the share networks in place that are created by the tempest test and also the shares and if we drill into that we can also see that there is already a export location that is the actual mount path for the share and If we look a bit down then we can see that there is already a access rule defined which allows our instance to to mount the the actual chair Okay, so let's go back to our topology here and Continue with the test. So since the base is all there We have the instance we have to share and so on the next step is at least our first test So this is the verify SSH test. What this test does is it connects Onto the VM and tries to ping the export location with that We just try to find out if if our environment is is okay, and if the whole networking stuff is there in place and Tempest is Yeah works in a way that it that it retries to SSH onto the machine until everything is settled and as we can see This verify SSH did work so it was able to ping the share server and so the next step would be to to actually mount the share on on these instance and Yeah, you see it that that also worked So there's only the last step left that means unmounting our share And if you have a look at the background Tempest will now clean up the whole environment and delete the instance and the whole networking stuff and there will At the end nothing we left there and Yeah, what what tempest at the end does is it prints out a time? How long it how long it worked and what is the the overall status? So normally that should be okay, but could also be the case that is in error state, and then it would just print out Yeah, what what the actual error was Okay, so far with the demo I would know like to Yeah, to talk about the the evaluation work we did and what what were the findings so we called it what is working what is missing And before I go into that I just want to say what about the community so when we started with the Manila evaluation our Let's say first point of contact was actually the community and we use the tools like github and RSE and launchpad and Probably all you here are quite familiar with the tools And I do not need to to explain how they work since that would also take separate sessions But what I wanted to say or what I want to do is encourage everyone that wants to get in touch with Manila or OpenStack To participate in the community and then do not be afraid to open bugs in and in launchpad there will nobody fight you or so you if you if you do that and Even if you do not want to open bugs You can just ask questions in the IRC chat and what what we found out is that there was always helpful guys that that gave us information And yeah, so we like that pretty much Yeah, again what is working what is missing we Have a little yeah overview about that First of all this generic driver at the end provides storage at ease So to be honest if that would be standing on the right side, we would have at least big trouble there So but happy to have that on the left side We also have as you just saw indeed in the demo basic integration into horizon that means we can create and display shares It would be nice to have a more advanced integration But there is this nice Manila UI project and there's a lot of stuff going on So we will we are sure that this will be improved further And what we also have is some sort of basic error handling or protection against minor failures That means if we for example do not have the correct license in our system or have not enough back-end storage or whatsoever Manila would during the share create stay in a clear error state and not have some sort of fuzzy creating State that we need to clean up with whatever hacking. So that's quite nice. It would be Even nicer if we would have a more consistent error handling in order to maybe have the driver to give some sort of Yeah information back to Manila. What was the reason for the error? For example license not found or no space left Yeah, we would like to have that Same goes with documentation There is documentation available there on Manila wiki and also there's documentation in the code But yeah, if you compare it for example with Cinder, it's yes only little documentation available To continue Manila is at the moment aware of multiple storage back-ends, which is very nice You can use a mixed mixed storage strategy with the generic driver or with net up and other Windows drivers With that you can also make use of different storage classes That means you can provide shares from SSD storage or from zeta storage And if you have a nice storage box that is capable of thin provisioning or other fancy features you could also use the the share types or extra specs to to make use of that and Probably some of you are familiar with net up systems or cluster data on tap even there It is possible to use the advanced network features on this systems. That means having multiple star network interfaces That's quite nice and additionally to that you have the advanced security features means you can attach your system to a directory service What we would like to see at least from a customer point of view is the ability to migrate shares in and between different storage back-ends We know that this is a very hard job and it's not not easy to implement that But it would be nice to just have a talk about that and and maybe get the chance to to improve that or to to establish that Same as with resizing shares. So we would like to have resizing But yeah, again, we have multiple storage back-ends and yes, some of them are capable some not and I think there is just a design choice needed if or if not Yeah, that party vendor testing is also a interesting topic From what I know NetApp has I think a week ago established that so they have their the testing environment ready Hopefully the other vendors will try to catch up with that and then also implement that and Yeah integration into heat Would also be a nice feature and from what we know it will be available in Liberty milestone one Yeah, so when we Created the project or started with we we had some or Deutsche Telecom created use cases from from what they want to see from from Manila or how they would use it and I would like just to go through the use cases and Check if Manila is capable of fulfilling them So first one is quite easy create a share and use it in a tenant that that works actually We can also assign pre-existing shares to to other instances for example with just extending the security rule or the access rule we can Yeah consume Share or storage from even from instances that are not mediated by Nova We have the ability of cross tenant sharing in place we can at least Deactivate the share that means we did we detach the share and do not destroy the data So that makes sense if you for example from legal requirements need to keep the data for a year or a month And yeah, do not clean them up directly But at the end you can also delete the share means detach it and then destroy the data to free space What is not possible and you see it with screw driver We can actually not resize the share and we cannot Yeah Copy or my great existing shares at the moment, but all in all that's from my point of view a good average that Manila is Capable of and yeah with that. I would like to give back to Mark. Yeah Thank you Okay, so the main question of our project was is Manila ready for the telco cloud So it sounds like an easy question. It's it's not easy to answer that The maybe the answer is that it depends a bit so on for for the telco cloud or for enterprises It's quite important to get to get maintenance by an Distributor so what is currently missing for Manila is that an enterprise distribution? package Manila as Part of their product. So that's why we can't use it in the current state for our production the other thing that That needs to be considered when talking about Manila is The quality depends much on the underlying driver into implementation. So we see here a different Kind of quality from from vendors So if you're considering having Manila in your production, you have to have a look at the driver And and really test the things that you want to use there So in to give a little bit conclusion in a summary so overall Manila Exceeded our expectations. We see a really responsive community of many vendors Really important for us as telecom is that we are not in a silo and and locked for one solution so this is exactly what Manila gives us for for shared file systems, so Quite often where we discovered bugs there was already in solution in in the community Available and so this was really really great experience So further steps for for this effort is now we want to try so we have now built a completely Virtualized environment to test these things now We would like to see how it behaves on a real bare metal environment with a real open stack installation not based on dev stack So to be more productive like So another thing is establishing performance tests, so it's not only about performance of the storage It's also we can stress test Manila to see whether there are race conditions or not So these these two aspects are quite Important for us because we want to manage many multiple data centers And it could be that there's some kind of load and race conditions are usually something really bad Which happens quite often in an open stack Another point for sure we need Manila H a this is something where we currently not having a closer look But for sure, this is something that that needs to get let's say described If you want to use it in the production Another way what we are currently thinking is Improving this in our tests for sure. This is we have an initial set now from scenario tests But we need to improve that one important thing for us here is Having heat integrated tests with open stack Manila So thank you, and I think we have some time for questions if there are some Yeah, so this is something that is currently on the discussion how to to get let's say the location of the Share that is created into the virtual machine what is currently is it's a complete manual job So for the automated tests, it's quite easy because you create a share You have the information where the export location isn't you just give it Into your SSH command, but for it's a real-life thing You really need to to have something like whatever agent or other technology to to to mount it Yeah, but I think it's the same thing for Cinder because you have to mount your your volume that you attach And you have to know where it is and so on so Yes, yeah, this is I think one of the design session that we I think already had and Yeah, so this is something that is currently in the discussion how to do that Please use the microphone at the back of the room for questions, please. Yeah, all right So if there's a question or is someone running away? So you have a keen interest in Tempest so do I I was curious if there's a possibility to As you get closer to production if that if those real-world tests could be somehow merged back into Tempest so that vendors of the drivers have a better idea about Where's the bar that they need to hit so so the test that we actually see was just a bit Adapted but it was it's already available in the code and and for the third-party vendor tests They should they should use these tests as baseline to see whether it's actually working or not Correct, I was interested in I guess what you would like to do with Tempest next and how that might look Where you bring the the real-world production Meets Tempest. Yeah, I mean do you have ideas about that? So it's so much so our idea where we define this use cases and we are started to to create test cases From these use cases so and this is actually what we are trying to do I mean that the thing is you can't do a lot of heavily complex tests tests like having 10 VMs And so on in the gate because because this kind of test will take a long time and you cannot do that regularly so For sure we could define some additional tests for production environments In a rape or what in a rape or what not in the let's say actual active scenario tests Understood. Thank you. Okay Great. Thank you


Hello everyone. I'm Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. In this video, I'm going to demonstrate a scenario based on record trigger flow. Let's understand the scenario that I'm going to demonstrate. So we need to update child records without using the loop element using record trigger flow. So the requirement is whenever on account record phone field is updated, then you need to update all related contacts home phone field so that account phone can be matched to those home phone fields available on the contact record. So this I'm going to show you how we can implement without using loop element. So I'm going to create new flow that will be a record trigger flow. And as we need to update the account, so this flow will be based on account object when our record is updated and here I'm going to apply a condition. So phone is changed through right. So if phone field is updated, then we need to update the related contacts. So now I'm selecting actions and related record because we need to update the contact and contacts are related to account. So we need to select this option and I'm clicking on done. Now here I'm going to select the update record. So we need to update the contacts. I'm selecting this option, specify conditions to identify records and set field individually. So we need to update the contacts which are related to account. Now we need to identify which accounts are sorry, which contacts are related to that account which is updated. So here you can write account ID equals here. Here you can search dollar record dot ID. So whenever you update any record, so it's value will be available in this dollar record, right? So through this dollar record, I am just fetching the ID of that account. And now I'm comparing it with the account ID. So this account ID is a lookup which is available on the contact. So wherever on contact, this account ID is matching with this account. So those contacts are related to that account, right? So here we need to update the home phone of those contacts. So here you can write record dot phone. So the account which you are going to update that accounts phone will be populated on the home field of the contact, right? And it will be done for all the contacts. Those are related to that account automatically. Okay. So now I'm clicking on done. So this way this flow is created. Now I'm just clicking on save. So update related contacts without loop and I'm clicking on save activating this flow. Now moving here. So here you can see we have two related contacts. So I'm going here and I'm going to update this phone value. So here it is having four times eight. So I'm putting four times nine and I'm clicking on save. If I go to related list. So here we have two contacts. So I am opening these contacts in the new tab moving to details. So here you can see home phone is available and it is having that value. So an account we are having this value. If I copy it and try to search it so it is matching. If I go to another contact on the details. So here also you can see the same value is available on the whole phone. So this way through this scenario I demonstrated you how we can perform parent to child update in record trigger flow. So if you do something on the parent record, if you do some updation on the parent report and that update you want to apply on the child record without using loop element. So this demo will help you out.


What's up guys, we're back with another epic video. Today we're opening the 2003 Blue Eyes White Dragon 10. Yes, this is going to be really awesome. I cannot wait to open this thing up. Also we're doing a giveaway. They gave away for this video. I'll be giving away these three cards. We have a Secret Rare Crystal Beasts Sapphire Pegasus, Robe of Life First Edition, and Diffusion Wave Motion First Edition. All you got to do, like the video, be subscribed, and let me know your favorite card from this opening. Let's get into it. Also, I wanted to mention, I am thinking about opening this first edition, the Lost Millennium Hobby Box. So if you check the code there, that means it's a hobby box. You can check out my video on Hobby Retail if you don't know what I'm talking about. But this has a chance of pulling Ancient Gear going. Flame Wingman Ultimate Rare. It has all the big oldies, potential in here, but it's hobby. It's GX. It's tough to pull those. I'm considering opening it for a video for myself. We're not even going to box break it. So I'm considering doing that. It's $2,000 box. Let me know if you guys are interested in that. If you guys are interested in a video like that, make sure you let me know in the comments. I would love to do that. All right, we're going to open up this Lois Inn. This is for Keanu. Keanu bought this tin on the website. All right, let's go and rip into this 2003 tin. Can we get a nice promo like we did in the 60,000 subscriber video? Check out that video if you have not seen it. That was awesome. It was super awesome. All right, let's rip this open slowly. These are, these 2003 tins had super tight wrapping. Or at least this set of 2003 tins. All right, we get to open some original packs today. I cannot wait. I'm super excited. This is going to be awesome. There we go. There we go. We did it. We done did it. Okay, for the promo. Here we go. The back is pretty beat up. That's how it was when I got mine too. Fortunately, it is a blue eyes though. It's not a summon skull. This is only the 2003 version, but still. Okay, the promo is not looking too good, unfortunately. And unfortunately they didn't use this art, but that's okay. All right, we have five booster packs, blue eyes, metal raiders, magic ruler, let's pull something good. The last tin had zero foils, the Jinzo tin. So hopefully we can break that streak. Let's pull something good here. This is not a cheap tin. So we want to pull something good for him. Aqua spirit, spirit elin, skull layer, hysteric fairy, infinite cards. It is the best rare in the set, but it's just a rare. Swordsman of Lancet. That's a nice card and bait doll. Okay, so not the best start, but also a pretty decent rare. It's only worth like a buck or two. So not crazy, but that is better than a lot of the rears in here. Nice labyrinth of nightmare cards. Okay, first pack. Here we go. So we've had luck in all these openings. We've done really well with the labyrinth of nightmare. We've done okay, we've done two ultra rares out of blue eyes. So that's pretty good. We've pulled like a couple things out of magic ruler. What was our secret? Didn't we pull a secret room? But we haven't pulled anything insane. So the goal is to pull something insane guys. Here we go. We have a spike bot. The eye of truth, regulation of the tribe, skull mariner. All right, come on. This is it. We want something big. Buster Blader.  Okay, it's a big sword, but the wrong guy. It's a nobleman of extermination, burning land, bite shoes, and the all seem white tiger. Okay. Okay, I see how it is. Slow start, slow start, but we can do this. We can do this. Three more packs, three more packaroons. Magic ruler is one of them. I've mentioned in every 10 videos so far, but the magic cards will say MRL and they'll say spell on them. It's a little bit of a confusion. People think it's a misprint. It's not. Ceremonial bill. Koto Dama. October, sir. Yeah, we're not in October anymore. So I don't really understand this name. October, sir. Is that some sort of translation thing? I don't know. The Hungry Burger himself, one of the greatest cards ever created in a UFO turtle. Wall Shadow. That's a cool card. It's a cool card. 3000 defense and chain energy. Wow. Okay. So the best card we pulled there was definitely the Hungry Burger. Definitely Hungry Burger. Very hungry. He's a burger. Okay. Okay. So definitely not what we're looking for. We're looking for some foils. We have the MRL. Our Metal Raiders. Metal Raiders. We have the Legend of Blue Eyes, White Dragon. 2003 packs. Come on. Can we get something good?   I mean, there's all that extra room right there. I'm not body shaming. I would never body shame a pack. All right. MRD. We can pull so many good cards. We can pull Gate Guardian. We can pull Summon Skull. Time Wizard. Goes with this every time. Beast Skull. Solemn Judgment. Barrel Dragon. We pulled Barrel Dragon in that video. You guys should check out that awesome box break. Super good. Some really good pulls. Hibikime. Commentary Attack. One of the best comments in the set. Gigatech Wolf. Sagi the Dark Clown. Okay. Here we go. Believe in the heart of the cards. Let's do this. Oh, a Carrivo. Cool. Yes. Just a Super Rare, but probably one of the cooler Super Rares in my opinion. I'm a big Carrivo fan. I do have this one in PSA 10 myself. First edition. I just really like the art. I think it's really cool. It's zoomed way up on him. It's like, yo, what's up dude? I mean, the dude's eyeballs, there's like no detail at all. It's just like, there's a triangle in them. Piece of pie cut out. And that's it. That's his eyeballs. It's kind of scary. Kind of awesome. I like it. That's why he's a fiend. So that is our first foil. We will take that. That is nice. We got a Launcher Spider. Deep Sea Shark. Sort of deep seeded. And the Pump King. The King of Ghosts. Very cool comments and millerators. I love that about it. One more pack. The Legend of Blue Eyes by Dragon. Can we go back to back foil? Stand it. For the last 10, we've opened six 10s now. So thanks to everyone who got a 10. I appreciate it. It's been fun opening them. And I hope that we can get something ended off big here. We've pulled two Exodia limbs in the six 10s. Can we pull the Exodia head? Here we go. Super Fang. The Electrowhip. King Fogg. Beaver Warrior. All right. Come on. Oh, come on. All right. At least we didn't get the Caribo. That is nice. I'm glad that it was a decent Super, at least. Decent Super Rare Caribo. We will take that. Not the best, but not the worst. Okay. The Promo was definitely not great condition, unfortunately. So still really nice looking Promo, Secret Rare. We got the Caribo from Metal Raiders. That's really cool. And overall, it's been awesome opening all six 10s. So if you guys have enjoyed it, also remember to let me know if you're interested in watching The Lost Millennium be opened. That could be pretty cool. I'm pretty excited about potentially doing that. Yeah. And also every time I open GX, I get very upset because I do so bad, but maybe we'll break the streak now and pull a big ulti. That could be cool. So yeah, make sure to let me know in the comments, enter the giveaway if you guys are interested there. And that's it for this video. I'll see you guys later. Peace.


OpenEO is the main thing I'm working on. Stack was just the site project, basically, that I started working on because I needed it for OpenEO. So in OpenEO is a funded project by the European Commission at the moment. And the idea behind it is to get an interoperable geoprocessing API for cloud services. So why do we do that? Basically, at the moment, if you want to geoprocess data, it's often the case that you have either R, Python, JavaScript, or whatever language you're using. And then you need to connect to any of these cloud services. They have all their own APIs and specifications for how to process data, whether it's, for example, a data cube or title-based, whether it could be downloaded as GeoTIF or whatever. They have all the different things for billing and how to store data and stuff like that. So basically, for each of these things, you need a different client. You need to learn how to process the data. Basically, if you start working with one of these services, you're locked in because you have learned that. And of course, you want to proceed to work with that because you learned it. And it's always a tough time to get used to something different. So what we think is better is to get something like this. You have one client, R, Python, JavaScript, in our case, what we support at the moment. And then you have a streamlined API in between, which then translates the things to a single API, basically, where you have a single part, how you process, like whether for us it's a data cube, how you build things, how you download things, and so on and so on. So it's basically like most of you probably know GDAL. That's the thing that translates things between the GIS programs and the data formats. And that's basically some kind of GDAL for the cloud, I guess. So that helps you to make reproducible research as you can basically take your application that you wrote or your algorithm from one provider to the other. So if you run things on Google Earth Engine first and want to know whether that's really true, what they computed for you, then you can take the code that you wrote in R and just change the URL and some other minor things for pre-processing and transform it to code that is running on, for example, Vito on the Prova V MEP or any of the other cloud processing providers that you are aware of. In that case, it's portable to some extent. And that's how we think it should be in the future that you just have a very simple access to data in the end and don't need to write proprietary workflows in for other cloud providers. So as a side, it's a language for geospatial processing. We have on the one side, the API, which is basically the translation layer between the clients and the server and a set of predefined processes, which is basically trying to make interoperable processes. So that, for example, if you compute things on Python in X-array and in R with stars on another package, then processes may slightly differ in regard how they compute things. And we try to do this, like, define it on a higher level so that you can use all the same processes for processing for all the different kinds of computation software that is in the background. This is in contrast to Stack, is focused on processing and Stack was focused on search and discovery. It's open source, so all software we develop here is open source and the specification as well. We were focusing on DataCube, so that's a bit of a change maybe from the traditional GIS workflow where you download individual tiles and process based on them. And here it's all basically wrapped into a DataCube which you can process on. And we support UDS, which is a very interesting thing because then it allows you to send your R or Python code that is not like the processes we have at the moment are very like narrow in the sense that, for example, that you don't can use custom libraries, for example, that compute some very advanced algorithm that we don't support at the moment. And in that sense, if you need any specific libraries, for example, be fast for some computations, then you can actually run it as UDF where you can basically just write a script code in Python or R and send it to the server and then it's executed in the cloud for you. So what is it not? Well, it's not another cloud provider we just specify the API and the translation layer. It's not another geo-processing software so we're not writing the new ArcGIS or something like that. It's really just a translation and it's not very much as the previous traditional GIS workflow so that you download the data then you have tiles and need to process them and so on. It's all cloud based. So your algorithm is going to the data which is stored in large amounts in the cloud and then you get the result back and put the other way around. Of course, in this part again, I can show this again here, which is basically, of course, defining a new standard and in that sense, we could run into the issue that there are afterwards 15 competing standards but I hope it's not. So the API, the translation layer in between offers the following functionalities. Of course, first it needs to give you the basic information so it's giving access to discovery things like, for example, how the API works, what it supports. The EO data that you can use in this workflow that is exposed via stack, stack collections and stack API and then the processes which is basically just a list of processes that is supported by the backend. Then it supports, of course, authentication with OpenID Connect. Then you have workflow management for where you can basically store your own user-defined processes. So if you, for example, want to make a new algorithm based on the predefined processes we have, you can store them as user-defined processes again and use them as they were predefined before from the backend. So it's really integrated into things and you can pass around your algorithms and run them on other backends or you can pass them to other users to be reused. Then there's file management where you can basically upload assets. If there's a GeoJSON file that you need to pass or something like that or whether there's things that you want to download or it's handled via central file management API. Of course, then there are the processing servers. You can either process synchronous so then you basically send the things to the server and immediately or in a matter of seconds hopefully get a response back with a result that of course only works for limited like extends and data. And for bigger things, you can use batch jobs where you can basically also send the data to the server and then wait for whatever time it needs to process the things and then get back the results to download it again as stack catalog with the appropriate files in it. And the third thing is the web services. So you can basically also there is an API to basically host WMS through OpenEO or WCS or other services that you want to expose. So we don't redefine things for viewing and stuff like that but rely on the standards that are already there and defined probably mostly from OGC. But you can also expose non-standardized thing like XYZ tiles that are used by OpenStreetMap for example. Yeah, processes are already mentioned. There is a set of predefined processes like at the moment I think 130 or something like that for bandmas, for loading data into data cubes, working on data cubes, renaming dimensions, adding new values and stuff like that. You can visit processes.OpenEO.org to see the list and then of course based on the predefined processes you can define your own user defined processes which is internally just a graph that is basically a dependency graph with instructions how to work on the data. And then there is UDFs again which is basically the thing I talked about before where you can write your R and Python scripts and send it to the server as part of the other processes. So basically you can say I use a predefined process and then load data with it and then this data gets passed to the UDF process and then you can further compute it with other processes we have predefined to say for example the data and then you are ready to go download the data. We have several clients implemented at the moment. We are tackling JavaScript, Python and R at the moment which should tackle most of the geospatial community I guess maybe there's Julia in the future as well but we'll see. We have a browser based application as well for users that are not so much into programming so that pretty much works like a model builder in ArcGIS or QGIS. Then we have a QGIS implementation where you can use it as a plugin and basically start jobs from QGIS and download it and show it in QGIS directly. And there is a mobile app that you can use as well. This is a screenshot for example from the web editor. You see these workflows over there at the top in the middle. Then the management stuff is here in the bottom. You see a list of processes and collections you can use. You can drag and drop that into the model builder. And then on the right there is a map that you can basically use to view the data. I think there is some NO2 visualization at the moment on the map. This is how for example an EVI computation would look like on that is R, yes it is R. It's pretty easy. You just connect to the web service with a URL and of course username and password then it will be prompted. Then you basically create a data cube. You can load data. In this example it's central2 again. You can specify the spatial extent, template extent and bands to be loaded. Then that will be loaded into a data cube. Then for example in this case you will reduce the dimension in bands and do some band mouth on the bands. In this case the EVI computation. And then reduce the temporal dimension to be, to just give you the minimum composite and save the result as geotiff. And then the same you can do with Python in this case. It's looking very similar. You can use the functions as in Python like the operators here are overloaded just to be used. And then they are translated into our internal representation and sent to the server. Yeah we have several server implementations already that you can reuse or extend if you want. There's GeoPySpark and Geotrellas implementation. There is Google Earth implementation so you can basically run our scripts already on Google Earth Engine as well for free. There's GrassGIS Actinia implementation. You can go to MarcosTalk at 2 p.m. to get more about that. There's the JRC Earth Observation Data and Processing Platform from the European Commission. There's an OpenStack implementation. There is access to Sentinel Hub as well. And there is a server implementation for WCPS which is in the end Rust Aman. There's a bit of ecosystem we also developed as for example OpenEO Hub which you can go to and then you get basically a list of overview which servers are there where you can process on. You can basically for example also just pass your algorithm that you implemented and then it tells you in which server you can run it. Gives you information about which data is available and what it costs and stuff like that. You can also share there your own defined processes, your UDFs and stuff like that. And then there is a valid data of course to check whether the API implementations are valid. It checks both the actual, just the structure of the API whether the responses are valid. And then also it checks whether the results that are processed are valid. So there is also a way to check whether in between the back ends there are differences that are coming from processing. And then of course when you visit processes.OpenEO.org you see a rendered list of processes which is basically rendered through our doc generator for processes. And of course you can also reuse at least for the data discovery part. You can use the stack and OGC API features ecosystem because the API is completely compliant to that standard and at such you can use that ecosystem. And if you expose the WMS of course you can just use the WMS clients that you are aware of. The state of OpenEO at the moment is that all these partners are working on that and maybe also you in the future. We currently have released version 1.0 release candidate one so we are pretty much going into stable mode now after experimenting a long while for two years with what works best and what doesn't. And the project ends in the third quarter of the year so then we can expect a stable version where you can really rely on. Yeah and that's it for my two talks. Now I need some water and then thank you for listening and I take your questions. We have some time for questions. Anyone? Can we stack and OpenEO? Yes. Yeah so regarding maintaining there are a couple of companies that are basing their work and future work of an OpenEO so EODC for example and Vito are all already like pushing things internally so that their internal users and external users are using that so in that sense they need to continue with that of course because they have clients that rely on that and there is also further projects that we want to establish based on OpenEO so I hope that will make it future proof. Regarding user base we have some use cases that are running at the moment to really check whether all that what we did is working that is a broad range of things snow cover analysis, agriculture and stuff like that but there could be more of course. The thing is like if you start something new it's hard to find people that really want to hop on a thing that is not stable yet but we're working on that and it evolves over time we also have some meteorological things in the future with ECWMF plan so yeah that's the future hope. So for OpenEO everything is licensed under Apache 2 license so that's all open source and you can reuse it to whatever extent you want so feel free to implement something or loop request it's all on github so that's good. What was the other thing? Yeah. As far as I know for most of these implementations there are dockers containers which you can run so that's the start. We're working on making that more easy to adopt at the moment most of the implementers are still like setting up their own infrastructures to get things running of course so in the future there should be more things like wagon scripts and stuff like that. Thank you very much. Thank you.


Hi everyone, Joe for jaskiescasewrakes.com coming at you with 2019-2020 upper-deck allure hockey. One-pack, single-pack rake, number 39 and with 10 hit parade dual case spots being given away at the end. Big thanks to this group right here for getting into the action. And there's all the teams right here. Let's roll it, let's randomize it. Four and a two, six times. One, two, three, four, five and six. And as always, the giveaway part will be a different dice roll. Most of you know that by now. It's in the description as well. Joshua, I missed your question there.  Ooh, that's a good line. Four and a two, six times for the teams. One, two. What does everyone else think? Three, four, five. I mean, I would lean under. My gut, my like first reaction is to say under. All right, so there's the first half of the list right here ish. 31 teams hockey. So there's the second half right over here. And let's just print and rip. Gilo, what's up? Gilo saying under because of the other team. I think Sporting KC Gilo's team. I think it was Gilo's team knocked out the LA Galaxy who did not take care of business in Minnesota. Sporting KC. Oh no, Sporting KC allowed a run or allowed a run a goal. Right there, which gives them the three points gives Galaxy only one point. All right, there's everybody right there. This was a last game of the season today. Gilo, they did all the games at the same time. And so, so, yeah, so that's it for my MLS season. All right, here's hockey. There's Ren Pitlick, Wallstrom, Ryan O'Reilly. All right, so nothing too crazy there. Let's flip back to not to the MLS page, but to this list right here. And let's grab everybody's names once again. So a good chunk of this break will be in the break in the dual case break. We just need to do one more filler if you're watching live. Five out of three, eight times. Top 10 after eight, good luck. One, one, two, three, four, five, six, seven. Keyboard's not working. And eighth and final time. There you go. After eight, top 10. So from 11 on down, sorry, Joshua, very close. No cigar, but from 11 on down, sad times. But I appreciate everybody giving this a shot. Happy times for the top 10. You're in that dual case break. Carl, Steve Burch, Rory, Steve, Steve Wright, Adam, Matt, Brandon, Joshua and Ryan. Oh, Joshua, he's still got a spot there, though. There you have it. One more filler to go. And then we're in Breaksville. Let's get that done tonight. We'll see you for that one a little bit later. Jaspy's casebreaks.com.


So let's take a look at another form of the equation of a line. So if a line is vertical or horizontal, we've seen that we can use either point to write an equation for the line and get the same equation. But what if the line isn't horizontal or vertical? So if we consider the line through 2, 5, and 1, 3, we found the slope and then wrote down the equation of the line using the point 2, 5. But what if we'd use the other point 1, 3? Well, we could still write down the equation of the line, but it looks different, even though they are the same line. And so the question we have to ask is, which one of these is correct? To answer that question, let's do a little bit of algebra. This first equation, y equals 2 times x minus 2 plus 5, we can expand and simplify it. And we can do the same thing with the other equation, y equals 2 times x minus 1 plus 3. So expanding and simplifying, we get. And we see that after we've done this expansion and simplification, we actually get the same equation. And what this suggests is that there's another useful form of the equation of the line, which is known as the slope intercept form. So we say that the linear equation is in slope intercept form when it is in the form y equals mx plus b. And it's worth comparing this to our equation in the point slope form. The advantage to the point slope form is that as soon as you have a point on the line and a slope, then you can write down the equation of the line. So for example, as soon as we found that the slope of the line between 2, 5 and 1, 3 was 2, we could use the point 2, 5 to write down the equation of the line immediately. What this means is that you never want to write the equation of a line in slope intercept form. Slope intercept form is only something you do after you get the equation of a line. So for example, let's put the equation in slope intercept form. And the thing to recognize here is that the equation is in slope intercept form when it's in the form y equals something. So we've essentially solved our equation for y. So let's solve this equation for y. And now our equation is in slope intercept form. How about writing the equation of a line in slope intercept form? So let's try to write the equation of the line through 3, 1 with slope negative 2 in slope intercept form. So the important thing to remember is that the easiest way to write the equation of a line is point slope form. And once we have a point and a slope, we can write down the equation of the line immediately. Now because the problem asks us to do this, we should rewrite this in the slope intercept form and so we can do that by expanding and simplifying. Now in the grand scheme of things, there's actually no good reason to write the equation in slope intercept form. Point slope form is the easiest and fastest way to write the equation of a line and we really don't need any other form. On the other hand, if an equation in slope intercept form should fall out of the sky and hit you on the head, then you can immediately identify certain properties of the corresponding line. I'd also watch where I was walking. For example, suppose you're given the equation y equals 3x minus 7 and you want to find the y intercept. The y intercept occurs when x is equal to 0, so we'll substitute that in and find our y value. And remember the intercept is a point, so the intercept is going to be 0 negative 7. And this suggests the following theorem. The line with equation y equals mx plus b has y intercept, well, you know. Memorizing theorems and formulas is actually the worst way to learn mathematics. It's more important to understand concepts, so you don't actually need this theorem. As long as you keep in mind what the y intercept is. What if I want to find the slope of a line? Well, if I have the equation of the line in point-slope form, I can read off the slope immediately. But what if the line is in slope intercept form? To answer this question, we need to remember the definition of slope, and we see that we can calculate the slope of a line between any two points. Which means that if we want to calculate the slope of this line, we need to find two points on the line. Since the equation of our line is in the form y equals a formula involving x, we can choose the value of x and compute y directly. So let's let x equals 0 and find y, which gives us one of the points on the line 0,4. Again, the useful thing to remember is that if we multiply a fraction by its denominator, the fraction disappears. So in this case, if we let x equals 5, our fraction will disappear. Oh, but that's too easy. Since we want to work with fractions, we'll let x equals 3 7s. And maybe not. Let's try to do things the easy way. So we'll let x equals 5, substituting that in, and we get y equals 2, and so a second point of the line is 5 2. So now I have two points, and that's all I need to calculate the slope. So the slope between the two points is, and that slope works out to be negative two-fifths. How about the slope of the line with the equation y equals 2x plus 5? So again, all we need are two points on the line. So we'll let x equals 0 and find our y-coordinate, which gives us the point 0,5. We need another point, so we'll let x equal, I don't know, 1. We like 1. If we let x equals 1, our y-coordinate is 7, and so the point 1, 7 is on the line. We have two points on the line, so we can find the slope between these two points, which works out to be 2. Or maybe we have the line y equals minus two-thirds x plus 7. So if we want to find the slope, we'll find two points. If x equals 0, then y equals 7. Since we have a fraction with a denominator of 3, we might want to let x equals 3, and so y equals 5, and so we have two points. We can calculate the slope between those two points, and it's negative two-thirds. So remember, we calculated the slope of the line with equation y equals negative two-fifths x plus 4 to be negative two-fifths. And we calculated the slope of the line with equation y equals 2x plus 5, and that slope was 2. And we calculated the slope of the line with equation y equals negative two-thirds x plus 7, and that slope was negative two-thirds. And so as the saying goes, once is an accident, twice eh, could be coincidence. But three times is a conspiracy. So many of the things that have happened on the internet can only be explained because it's controlled by a c... There is no secret cabal that controls the internet. ...the irrefutable evidence. But mathematically, we might look at this as follows. If you see a pattern, there may be a pattern. So we see the coefficient of x and the slope are the same. And so we get the following useful result. The graph of y equals mx plus b will be a straight line with slope m. For example, suppose we want to find the slope of the line y equals minus three-sevenths x plus five-thirteenths. Now, we do have our theorem, but if we forget the theorem, it's not a big deal, because we can find the slope by finding two points on the line. All the theorem really does is save us a little bit of time. So let's assume we remember the theorem. We should read the fine print. This only works if we have the equation in form y equals mx plus b. So we'll check it out. Our equation is y equals minus three-sevenths x plus five-thirteenths, which is what we need. And so our theorem says that the slope will be the coefficient of x negative three-sevenths.