Hello, everyone. My name is Daniel Kuisters, and I would like to thank the organizers of Eurocrypt 2021 for giving me the opportunity to present our paper called C-Minion Symmetric Encryption Based on Topholigates Over Large Finite Fields. This is joint work with Kistel Dobroni, Lorenzo Gassi, and Amagini. Now, C-Minion is a cypher defined over large finite fields. And its main motivation is to minimize the number of multiplications. So let me just start by giving an overview of why this optimization goal is important. To this end, consider the problem of multiparty computation. In multiparty computation, there are n-parties p1 up to pn, and each of these parties has an input xi. And the goal is to jointly evaluate a function of these xi called small f. And importantly, there should not be a trusted third party that is involved, but rather the party should communicate amongst each other. And there are some other constraints, namely that each party wants to keep their own input xi secret, and each party learns nothing apart from what can be inferred from the output y. There exist a number of protocols realizing a multiparty computation. And for a subset of these protocols, the following two properties hold. Namely, nonlinear operations are expensive and affine operations are cheap. And by expensive, I mean expensive relative to the affine operation. Examples of such protocols include Yao's garbled circuit protocol with a free extra optimization. And in this protocol, the function f is represented as a Boolean circuit comprised of a number of gates. And these gates are garbled. Now, it doesn't really matter what garbling means, but what is important is that the garbling of an extra gate is cheap because it involves some simple additions. Whereas the garbling of an end gate is expensive because it requires calls to symmetric primitives. And there's the GMW protocol. And again, in this protocol, small f is represented as a Boolean circuit.  Evaluation of an extra gate involves some local computation, so it's cheap. Whereas the evaluation of an end gate requires communication between the parties, so it's expensive. Suppose now that's P1 up to PN want to compute a symmetric encryption function called E in this case, which depends on a key K and an input X. Now, there are many ways that this E can be implemented. For example, there could be two parties where one party has the key and the other has the input, or maybe the keys are shared. But what is important is that we are now looking at the case that small f equals this E. In traditional symmetric ciphers, design decisions were made based on, say, your laptop as a computing environment. And the gates in your laptop are implemented in CMOS where an extra gate is a two or three times larger than an end gate, which is, I would say, comparable. Whereas in the protocols of the previous slide, the difference between the nonlinear and the linear operations are quite large. But this has led to a class of low multiplicative complexity ciphers where people have really tried to minimize the number of nonlinear operations in particular the multiplications. In the tables that you see here, you see a number of such ciphers in existence. I don't claim that this is an exhaustive list, but it's just to give you an idea of what people have been doing. What these ciphers do not have in common, so maybe what the difference is, is that basically some of these ciphers are defined over bits, whereas others are defined over prime fields. Others are defined over binary fields and some are defined over both. And it turns out because this field is relatively new that designs are not as well understood as these traditional designs. So menu or some of these ciphers at least have been broken by text. But where does Simeon come in? Well, it fits right here. Namely, it's defined over both prime fields and binary fields. And with Simeon, we wanted to give a an entire suite of a building blocks that make up encryption functionality. So that means a mode, a permutation, the round functions that make up this permutation, a key schedule, etc. And we were motivated by permutation-based cryptography, as I will show you later. And it turns out that Simeon is actually quite competitive if the key schedule, which turns out to be quite heavy, can be computed during an offline phase. So, for example, if P is computed by two parties, so in a two-party computation setting where one party computes the key and the other has the input. In the following figure, you see a number of ciphers, including Simeon, and the number of multiplications that they have. So on the x-axis, you see plotted the variable t, which corresponds to the number of elements that should be encrypted, so the number of plaintexts, basically. And on the y-axis is the number of multiplications. And as you can see, Simeon is in blue. Simeon performs quite well. And our closest competitor in terms of minimizing the number of multiplications turns out to be Hades-Mimsi. So how did we achieve such a low multiplication count? Well, in order to explain that, I will go over the building blocks that make up Simeon. But first of all, the mode that we use in Simeon is based on Farfalle. So what you see in this picture is the Farfalle mode. And Farfalle is actually defined over just bits. And there are a number of important takeaways here. Well, first, you see that there are a number of permutations involved, PB, PC, PD, and PE. And many of them can be computed in parallel. So this has a positive impact on, say, the end gate depth of a circuit implementing this mode. And there are also other performance benefits. Then a second important thing is that not all these permutations need to protect against the same attacks. So for example, PC just needs to account for some subset of attacks, whereas PE then accounts for another subset of attacks. And these are properties that will help to minimize the multiplication count. So this is the mode that we are using in Simeon. Like I said, it's based on Farfalle, but we have made a number of changes. And the first change that you see here in the red circle is that we have merged the permutations P small c and P small b into one permutation P capital C. So importantly, we don't need this accumulator stage that we saw in the previous slide. And we just need a single permutation PC. And the goal of this PC is to protect or ensure some protection against higher order differential attacks. So it's actually responsible for making sure that the degree is large. And I should emphasize that PC is called only once and it doesn't really depend on the number of inputs. Then here in the purple circle, you see that we have truncated the output of the permutation PE. And the idea behind this is that an attacker cannot easily then invert the permutation PE because this would involve guessing the part of the output that we have truncated. And this helps, for example, against protection against meat in the middle, meat in the middle style attacks. Then in the orange circle, you see that we have moved the key from the output. So that is to say, it's no longer added to the plain text, but it's moved to the inside of the month. And this prevents bypassing the key addition because an attacker is now no longer easily able to consider just differences which bypass the key addition. And moreover, we have also increased the number of key indeterminates because as we will see, this is something that makes solvers for systems of equations a lot slower because they depend on the number of equations. And in this figure, you see the C minion round function. And it is this round function that is repeated to make up both the permutation PE and the permutation PC, where the difference between the two is in the number of such rounds. An important thing to notice in this round function is that we have used the multiplication. It's our source of non-miniarity. In many of the previous designs, the non-miniarity came from the fact that a single field element was, for example, qubit. So a power map was applied to it. However, a downside of this approach is that it limits the diffusion. And using a multiplication involves different field elements, which is beneficial to the diffusion. And also the multiplication has very good properties in the context of linear and differential cryptanalysis. Next there was the choice for a linear layer. So even though I've said that nonlinear operations are expensive and linear operations are cheap, that does not mean that linear operations are for free. In fact, they can have quite a big of an impact in certain protocol. So we have decided to go for a relatively lightweight linear layer. And one of the important things is that we want to make sure that if we consider just a single field element and consider its univariate degree, that also this univariate degree doubles during each call of the round function. And this is why you see these joints in this little circuit, because they ensure that each field element occurs in many different branches, which make sure that, indeed, the univariate degree is doubled every time. Then there is the addition of a number of round constants. They are there to make sure that any symmetries that are present are removed. And of particular interest is this round constant 4. It turns out that if you look at the linear properties of the round function, and if you do not include this RC4, consider fields of characteristic two, then it's possible to find linear approximations that have a linear potential of one, thereby basically breaking this round function. And more importantly, they can be changed. So we could just attack the entire permutation in that way. But that's why we have included this RC4 round constant. So that's for the round function. In this figure, you see the key schedule. Notice that the number of keys that we need depends on the number of inputs that we want to include. So it makes sense to have an initial secret and then just derive the keys that we need on the flow, on the fly. So we start out with two master keys and an IV and then use these as input to a sponge construction. And what is important to realize here is that the permutations in the sponge construction are the PC permutations and as I have already hinted that before these PC permutations will be quite heavy because they are the ones that need to prevent higher order differential analysis. So, in fact, the key schedule itself is quite a heavy computation. And this is why I said that in order to be competitive, we assume that this key schedule is computed during an offline stage. Now in order to derive the number of rounds that make up both the permutation PC and PE, we have done some security analysis. So first we have looked at differential and linear crypt analysis. Again, the nonlinear component in our round function is the multiplication that which just multiplies to field in field elements with each other. And this multiplication that has very good differential and linear properties, namely, it's max DP is equal to one over Q, where Q is just the cardinality of the field. So if the field is FP, then that would be P and if the field is F2 to the power and then this Q would be to the power and the maximum linear potential is equal to one over Q squared. So from this it follows that as soon as as you have one active multiplication, then differential and linear crypt analysis are no longer a problem. So for a multiplication to be active. Well, that basically means that the input difference is nonzero, or the input mask is nonzero. Why is it another problem? Well, actually our security parameter s is dependent on the field cardinality. So again, as soon as one multiplication becomes active, these attacks are no longer a problem. However, when what I said during the slide about the round function is that we need this RC4 because indeed, without this RC4 it's it's it's possible to bypass this multiplication to make sure that it's never active. And yeah, the point here that I'm trying to make is that many people claim that for these the for this kind of cipher differential linear crypt analysis is not an issue. But you also need to take the linear layer into account. Then let's look at higher order differential attacks. So in a higher order differential attack. The goal is to find a f find subspace of large enough dimension or a multiplicative subgroup of large enough cardinality such that summing over this affine space or this multiplicative subgroup gives the zero value. So basically it's a kind of zero sum distinguisher. And in order to prevent this kind of attack, you want to make sure that the degree of your function representation is quite large, large enough. The main permutation responsible for the degree growth is this POC. And again this POC consists of the composition of the round function and each round function has degree to over at you. In other words, if we want to make sure that our function has degree at least two over s, we need to figure out how many rounds we can linearize and turns out that we can linearize the first two rounds. So from this it immediately follows that if we have s plus two rounds then PC will have degree two to the power s and these higher order differential attacks are no longer a problem. And as people have done in the past in other papers, we also conjecture that if Simeon is secure against higher order differential attacks then automatically it is secure against interpolation attacks as well. Then we have considered group nerve basis attacks. The idea behind a group nerve basis attack is that you represent your cipher as a system of equations, and then the system of equations corresponds to an ideal. And the group nerve basis is a particular kind of generating set for this ideal, from which it is easy to to read off the solutions to your original system of equations. In general this this happens with back substitution. So importantly, the cost of computing a group nerve basis depends on the number of indeterminates in your system of equations, the number of such equations and their degrees. We have considered a number of strategies that we thought were the most promising. The first one was relating the input to the output. And in this strategy the attacker has both PC and PE involved, and you can kind of view them as one big permission permutation where the number of rounds involved is the sum of the number of rounds of PC plus the number of rounds in PE. The idea is that each nonce is input at the start. But you don't know that the two key bits so the two key elements so the two keys are actually the indeterminates. So if we then have two nonce inputs, this means that we have actually two equations in two key indeterminates. And the goal is to pick the number are of such rounds. So we have a group nerve basis computation to be infeasible. So we want. So we have actually a system of equations of degree two to the power r. And then we plug this into the group nerve basis cost and it follows that already by picking for PC, the number s plus six for the number of rounds. That's enough to the part this this kind of attack. This relating the intermediate state to the output. So in this case, only the permutation PE is involved. And here we have an unknown intermediate state, the state actually after applying PC to the nonce and the two key elements. And the goal of the attacker is to recover this unknown intermediate state because from that intermediate state it becomes easy to to break the system. What we have done is conjecture that a different kind of, of modes is, let's say easier to to break than the original mode. So if we can not break the easy mode, then it's also not possible to break the motive we're actually using. So what we are considering here is a mode in which the key addition that is in the middle has been moved to the end again, because that allows us to consider differences. And by considering differences, we can remove this key addition at the end. But what do we do we consider two nonsense. And each nonce leads to an unknown state of three unknown elements. And that gives actually three indeterminates. And because we are considering two nonsense we have six indeterminates. And it turns out that we then have a system of six equations in six indeterminates of degree two to the power minus one to the power r to the power r plus one and two to the power r plus two. And by substituting these numbers into the grubner basis cost equation. We find that if we choose are such that it's at least as plus 37 over 12, then this kind of attack becomes invisible invisible. And that's then the number of runs that we choose for this PE permutation. So this gives the following table where a particular interest is the row in the middle, where we consider a data limit of two to the power s over two elements, where this corresponds to the birthday bound. So for PC we then have a number of rounds equal to two thirds of s plus six. For the PE we have the maximum of six and as possible 37 over 12. And I just wanted to point out that if you for choose for as the number 128 which is a kind of standard security level then the number of rounds for PC is much, much larger than PE. And not is not something that you can neglect because PE is called many different times, depending on the number of output words. So, in this table you see what I showed at the beginning in a graph, but here with concrete numbers. And I would just like to show you the first row that will see minion, where in both it shows you the number of multiplications, which is equal to 14 times t over two plus T plus 89. This 89 follows from the number of permutation sorry the number of rounds of the number of multiplications of the PC permutation, which is called only once. Then for each running function in the mode. One multiplication is performed so that's why we have this T value here. And each PE call has for around 14 multiplications involved, however, you output also two elements. So that's why you have this this 14 times to T over two years. So indeed we think we are quite competitive. Now we have done some preliminary security analysis. However, we believe that maybe more can be done so we encourage you to try and break round produced versions of see me. Moreover, we have a version of see minion in the paper, in which the round sorry the the rolling function is instead of a linear linear to maybe even minimize the multiplications further, and we also encourage you to have a look at that. I would like to conclude this talk and thank you for your attention.


Good morning and thank you all for coming on a Sunday morning. My name is Gorka Ileor and I would like to start with a quick race of hands from those of you who have used persistent storage in your container workloads. It should be on. Okay, so seeing that many racing hats, probably I'm not the only one that thinks that it's a little bit of a mess. We have way too many interfaces to connect our storage to our container workloads. And sure, some of the interfaces are nicer than others, but it seems like the interfaces will not all that well thought of from the start. At the beginning we thought that we didn't need persistent storage in our containers and later on we started adding them as we needed and we ended up like this. Which is problematic for both users and vendors and storage vendors that have to have a lot of different drivers. So it's any time we simplify this and this is where the CSI or container storage interface comes in. It aims to be the sole interface for storage in any container platform. That's its aim. So, but haven't we heard this before? Like a standard suddenly comes a new standard that tries to be D1 and fails to do so and a year after you find out that it's just another one that comes into a list. So the question is, should we care about CSI? Is it actually going to make a difference and is it here to stay? And that's what I'm going to try to answer in this presentation. We'll go a little bit over the CSI spec, the first release that came out in November and we'll see how it works and what are the chances to make it. One of the things that CSI is actually trying really hard to do is to be a storage domestic and be open to all the different storage vendors, their deployment options, their features. And in this effort it supports many different infrastructure options. We'll go over the two most common ones. The first one is an architecture where all the storage can be accessed from all your nodes. So every node can access to create, delete and also connect the volumes. In this deployment we will have a CSI plug-in service running constantly on your nodes. Instead of having command line calls that are called from the orchestrator, the container orchestrator or CO, you have a service and using Google's RPC the orchestrator can make the request. This way we decouple the implementation and also makes it possible for the plug-in to be more efficient. It is the responsibility of the CSI plug-in to support the management of the resources as well as making them accessible to the nodes. This is a simple architecture but in many cases our deployments are a little bit more complex. So we have our storage that has different networks for the management than from the data path. So we will also have in our orchestrator deployment different types of nodes. We will have infrastructure nodes that can actually access the management to create and delete resources from the storage and we will have container workload nodes which only need to know about the storage transport protocol to be able to connect to the data paths. For example, if we have ISCASY, they only need to have the ISCASY initiator, they don't really need to know what backend they are using. Just that it's ISCASY, this is your connection information, go connect. These are the two most common deployment architectures in CSI and now we're going to have a look at the features. The features were developed or chosen between the orchestrator developers, the vendor, the storage vendor developers and third parties that were also interested in the CSI spec. So it is a joint effort between all the parts. It is not only the orchestrator that decided, hey, we're going to be doing this. So everybody's interests are represented in here. Sorry, in here. These are the features and we can think of them as two different groups. One group is the features that are meant to assist the orchestrator in doing its job in interacting with CSI plugins and the other group would be the features that are meant to manage the actual resources that we want. In the assistant or in the helping features, we have an info feature that helps identify the different plugins so that the orchestrator can know which controller goes with which node plugin because you can have multiple CSI plugins running and it needs to match them so that the request go to the right place. Then we have a capabilities feature because CSI actually, well, most of the, most if not all the features in CSI are optional. That way it can adapt to all the different storage solutions. So we need a way to check the plugins and see what features are actually available in a specific plugin that is deployed. Then we have a probe system that allows us to check the health of each of the different plugins. A way to find out how much available storage we have and a topology feature because we need to know which nodes can access which storage. You wouldn't want to, for example, try to create a container in a node and connect it to a fiber channel volume when the node doesn't have an HBA and it cannot connect. It doesn't make sense. So we have a topology feature that allows the orchestrator to do a smart scheduling of the containers according to the volumes it's going to be using. Finally, for the resource type of operations we have two different type of resources and we can create, delete, unlist volumes and snapshots and also we can get the stats on a specific volume to see how much available space is there and also attach and detach the volumes. These are basically all the operations that we have in the current CSI spec but the CSI spec is live. This is version one but we already have new features in there. For example, we can already increase the size of a volume which is not here but it will be released on the next version. We don't have time to go over all of them so I'm going to focus on three things that I think illustrate pretty well, the different mechanisms of CSI. The first one is the volume creation which like all storage related CSI functionality it must be added and potent. This means that you can receive multiple times the same request from the orchestrator and the CSI plugin must make sure that it only creates one volume in this case and it always returns the same volume. So the orchestrator will pass seven different arguments to the CSI plugin. The first one is called name and you can think of it as a request ID because it will be unique for each request and if you receive multiple times the same call you will have the same name. This is what is used by the plugins to actually attain item propensity. Then we have the parameters which is a key volume mapping that allows the CSI plugins and the storage vendors to expose their advanced features. This is how they support being storage agnostic while at the same time allow the storage to show their fancy features. For example, if you have a storage that supports compression and the CSI plugin says in the documentation, hey, you can use a key called compression, pass it through and your volumes will be compressed. Then the CSI can expose that and it will come as a parameter. These parameters are opaque to the orchestrator so the orchestrator doesn't care, just takes them and gives them to the CSI plugin so they will be different from CSI plugin to CSI plugin and you have to go to the documentation to check what you have available. Then we have the source argument which allows us to define what type of, what kind of volume we want. We can create three different types of volumes, empty volumes, cloned volumes which are volumes created from another volume and volumes created from a snapshot. Then we have capabilities which is the way of how the orchestrator tells the CSI plugin how these volumes are going to be used. Are they going to be mounted, used as a block device? Are they going to be mounted as a file system? What kind of file system do we want to be there? Is it going to be used by a single reader, single writer, reader-writer, multiple reader, single writer? You name it. So the orchestrator must ask the controller what it wants and if the controller is able to do it, it will return the ID of the volume, the actual size and also accessibility to tell where this volume is actually accessible from. This is a simple flow. It's a synchronous call. You call, it creates and when it's created, you get the return value. For a little more complex flow, we have the attach-detach operation which if you read the CSI spec, you will find out that they don't talk about attaching and detaching. They talk about publishing and unpublishing volumes and that's how they refer to it. First, we will see a flow in the first architecture we saw where every single node can access the backend so the container, the orchestrator will call the CSI plugin first to check the capabilities and see, okay, you are using architecture one, every single node can access the backend so it immediately goes to the node where it's going to create the container and it tells, please publish this specific volume and make it available on this target. And then, that's it. It is exposed. So it is the node publish obligation to make it accessible on a specific target. But what about architecture two where we had split the functionality between the manager and the nodes? Now, we have additional function.  So you get a little more info because the controller doesn't know where it's going to be publishing this volume. So you first query the node where you're going to place the container, get the information and with the idea of the node, you then call the controller and you tell it, hey, please publish this volume to this specific node. For example, if you were create a publishing an ISCSI volume, here is where you would be exporting and mapping the volume to the specific node with the initiator name and the IP address. And from the controller, then we call the node publish and make the final connection. But the node publish, if you have a multi-reader, multi-writer, can be called multiple times on the same node. So if you publish first, you publish for one container, you get one call.  So this is something that the spec is very clear. You may receive multiple calls for node publish on the same node for different volumes. So to assist the CSI plugin, what you have is an extra, an optional call that can be made if the CSI plugin asked for it. It's called not a stage and it will go between the controller publish and the node publish calls right in the middle. It will always be called on the node where we are going to be running the container. And this allows drivers, for example, that use NFS to make the actual mount of the volume on the staging phase because they know that this is going to be called one and only once per node and per volume. And they can make it, they can mount it in a staging path that is passed by the orchestrator. And then when they receive a call to the node publish, as many calls that they want, all they have to do is beam mount the staging path and they are done. So they don't have to keep any kind of tracking how many containers are using this volume on the node. They just know. First, I will get a call to node stage. I mount it there, then beam mount. And the unpublished is the exact opposite. You get a node unpublished. They just need to unmount the beam mounts.  This is a little bit more complex. If you have all the in architecture 2 plus node staging, it is more complex. And finally, I have chosen the snapshot creation because for most drivers, for most plugins, this will be a simple synchronous call. The orchestrator calls and say, hey, create a snapshot. The driver cuts the snapshot. It is saved and it returns. It is a synchronous call and the snapshot is ready to use. But the CSI spec introduces one additional feature, which is post-cut processing. This means that your snapshot can be cut. It is ready. You return to the caller as a synchronous call and tell it, OK, I have made a cut, but the snapshot is not ready. I have to do additional work. So it returns and ready to use a false value. So the orchestrator knows that this is going to be an asynchronous call and it is going to be running in the background in the plugin. And it can take hours to complete. Let's say you are updating, uploading your snapshot to the cloud, for example, as a post-cut processing. And it is the orchestrator responsibility to pull and check, is it already ready to use? Can I use it? Can I use it? And since we, like all the resource operations, this is important, we have a very simple interface because you will be receiving the same parameters and you can easily check with the name if the operation has actually completed. This concludes the overview of the CSI spec that I had in mind. And now I would like to show you a little bit of the specifics in the orchestrator platforms. Right now the CSI is supported in Docker, Kubernetes, Cloud Foundry and Messos.  Kubernetes has decided to implement it as a mix of sidecar containers, many sidecar containers, in a kubelet, the Kubernetes agent. So it has code in the kubelet and it has sidecars that you have to include in your pod. So for the architecture number two, where we have the controller and the node, we would have a pod in the nodes running your CSI plugin. Code as a service, then you would have the node driver, Racer, which is in charge of registering the CSI plugin into kubelet. So it knows that it's actually running on that node. And a Lightness Pro that can hook them into Kubernetes Pro system to report the health of the whole pod. The Lightness Pro is basically a gateway that receives HTTP request and makes calls via gRPC to the probe feature that we describe early. So HTTP request, check via gRPC the status of the plugin and return it via HTTP. On the controller or infrastructure nodes, we will have our controller side of the CSI plugin, optionally also the Lightness Pro, and then we start with the external provisioner, which is in charge of watching your persistent volume claims and trigger the workflow of creating or deleting them. If it is created, it will check the persistent volume claim or PVC and check the storage class, join the information from the two and pass it along to the CSI plugin. If you remember, we had the parameters in the create volume call that expose the extra features of the vendors. They are specified in the storage class. So you can specify your compression equals true in the storage class and the external provisioner will pass it to the controller CSI plugin. And then we'll create a PV, we'll bound it and it will do the whole operation. To attach, we have the external attacher sidecar that monitors volume attachments and calls the controller publish call. So this is only necessary if you have architecture number two where you have publish on the controller side and on the node side. And this is the first part of the attachment. The second part is done by Cubelet, which thanks to a node driver racer knows what is the socket to talk to the node CSI plugin and makes the GRPC calls from that node to complete the attachment calling publish or staging calls. Finally, for the snapshot, we have the external snapshot which monitors the volume snapshot and the volume snapshot class. Basically does the equivalent of the external provisioner. It joins all information parameters from the from the snapshot class, the request from the volume snapshot and makes the call to the controller CSI plugin. Right now we have this is version one. Now we have the resize. So we have yet another sidecar, which is the, I think it's resizer external resizer. And now I would like to do a quick demo of Ember CSI, which is a CSI plugin that implements supports like 80 different backends. It supports CSI dot two dot three and one zero in the same container. And the example, it's one of the that are included in the repository. It launches Kubernetes 113 with Ember CSI 1.0 using an LVM backend. I use LVM because I don't want to favor any storage vendor. And it deploys one infrastructure node and two workload nodes. It's recording because I didn't want to risk it and hopefully just a second because it is after a second. The quality I know why it's terrible. Let's see if it's. Oh, this is not going. Yeah, this is not going well. Anybody can see anything? No. All right. Awesome. I cannot make it bigger. Let's see if I get if it's just a second. No. Same thing here. All right. Just a second. I know if this is slightly better or if it's the same. Sorry about that. Basically, I'm going to describe it seen as nobody can see it. Clones the repository changes the directory into the examples one and runs a little script that uses big rent, Libbird KVM and Ansible to deploy to make the deployment. I have a sped up the Ansible part because it takes like 20 minutes. So now we have completed the deployment. We SSH into the master node. And now we're going to check that the pots are actually running. We have the controller and two node pots on the controller. We have five different containers. I'm not running the lightness pro container. So it's provisioner, a toucher, a snapshotter, the actual CSI plugin. And instead of the lightness, I'm running CSC, which is a command line tool that allows you to make requests to your CSI plugin. You don't need to go through Kubernetes. This is useful for debugging. Like, for example, you can run a list volumes without actually going through Kubernetes. On the nodes, we are running the driver racer. As I mentioned, the Ember CSI container running on node mode and again the CSI container, the tool. Now we have the driver racer registered with Kubernetes, with Kubelet. Right now it's CRD, which is CSI node info.csi.story.khs.io. And here we can see that it has registered the two nodes that we have and that the controller is not registered there. Now we are going to split the screen to see on the lower half the logs from the controller. And we can see that we have received multiple probes. We receive multiple probes because each the snapshotter and the attacher, each one probes the plugin to check that it's working. So they are coming from different side cards. And now we are going to create the PVC. Yeah, see that the new calls. All right, we get a request to get capabilities because to confirm that the controller can actually create the volumes, we get a little more capabilities, plugin info. And finally we receive the RPC create volume request with that is the name, what we call the request ID, the name argument, which was the request ID, which we use for item potency. And then we create a volume and we return that ID. So we have now a PVC that it's bound. And now we're going this is the get volumes is an internal representation for Embers CSI to to store the metadata of the volumes in Kubernetes. Now we create an app that it's going to be using that PVC. We receive the controller publish call and we return the value. We return that that the volume has been exported and mapped by the by the CSI plugin. So it can be used for from that specific note. Then on the upper half, we have the login of the note side that where the control and the container is going to be started. And we see that the driver is using a staging phase. So we could get a call to not a stage volume. And it returns now. It is request the request. Come gets the stage volume, then a published volume and the volume at this stage is already published in the target path. So Kubernetes can already use it. We check the status of the pod and we see that the application hasn't is not ready. And we wait a little bit and the application is running. We can check the volume attachments. That is the object that the attached sidecar is monitoring and we see that it is there. And this concludes the present, the demo. Just a second. Let me take it out from there. So to conclude, at the beginning we were asking, should we care about CSI? Is it going to make it? Is it going to make a difference? If you have a look and see the support that it's getting from the orchestrator and the storage vendors, the number of orchestrator platforms that already supported and the fact that all the new features are coming through CSI and the orchestrator are not bothering to add these features to the other interfaces. Only CSI is getting these features. It is clear that they are betting on this. And we already have support from the orchestrator. We have a good number of plugins. So in my opinion, it is going to make it. This is what it's going to look like, storage in the future for containers. And if you want to check it out easily, you can go to Embers CSI and try it. Thanks. And if there are any questions, I think we have like two minutes, four minutes. Okay. The question was, how can we track, for example, as a CSI plugin implementer, the evolution of the CSI spec? The development is being done in a GitHub repository. They have a mailing list and they have now, I think they have increased the cadence to buy weekly or monthly meetings. Everything is open to everybody. And you can check the status of the pull request, how they are advancing and check also the meeting agenda to see if they are discussing a topic. You can attend the meetings. So usually the best way to, if you are not as much interested in contributing to a CSI but implemented it, the best way is to just once a week to go check the GitHub repository, see the new patches that are going in and say, okay, these are the changes. Now we have a way to resize and we can resize offline or online. Let's see what my back end can do and just implement it. Does that answer the question? Okay. Anybody else? I don't think they publish, sorry. The question was whether they publish a roadmap or not. And I don't think they do. I haven't found it. I know they, when they are during the meetings at some point, they decide, okay, we want this feature. This is a blocker. They decide the priorities. But it is not published as such. You can probably, you can check the levels on the PRs and see what level they have been assigned as a blocker, as a nice to have, or as this is going on the next release. You don't have a page or something with this area. You have to query the PRs. Yep, I'm out of time. Thank you very much.


Ukraine raises stakes at war with strikes deep inside Russia. Ukraine on Monday struck two Russian air bases far from the front line, raising the stakes at the war and demonstrating its capabilities to attack at long distances. Kyiv executed the strikes using drones. The attack on the air bases was a deep strike inside Russia since the start of the invasion on February 24. Ukraine hit Angels 2 and Yagilev air bases in Russia's Ryazan and Saratov regions in what appears to be preemptive strikes on bombers that Russia deployed to cripple the country's electricity grid. Both air bases host 295 long-range bombers. The attack killed three servicemen, injured four others, and damaged two aircrafts, the Russian Defense Ministry reported. It was followed by Russia's large-scale missile strikes on Ukraine on Monday. Ukraine's ability to hit that far raises questions over its next moves, especially with regards to its Russian and next Crimea region. These questions are also relevant, as Ukraine has started manufacturing its long-range combat drones. Last month, Ukraine's state-owned weapons manufacturer Ukr-Obaronprom announced that the development of Ukrainian-made drone was being finalized. Today, the Ukr-Obaronprom issued another statement, saying that it has run a number of successful tests of the Ukrainian strike drone with a thousand kilometer range.


Ladies and gentlemen, the Jaws of Schlitz Brewing Company of Milwaukee, Wisconsin presents the Halls of Ivy, starring Mr. and Mrs. Ronald Coleman. When there's beer on your mind, your best thought is Schlitz, the beer that made Milwaukee famous. More people like the taste of Schlitz than any other beer. That's why Schlitz is the largest selling beer in America. We love the hall that surrounds us here. Ivy College, that is, in the town of Ivy, USA. The inimitable Dr. Johnson once observed that there must be a time in which every man trifles. And the only choice that nature offers us is to trifle in company or alone. Dr. William Todd Hunter Hall, president of Ivy, has made his choice. He prefers to share his trifling as well as all other things with his wife, the former Victoria Cromwell of the London stage. Now, Josiah Todd Hunter, Dr. Hall's maternal grandfather, was no trifle in his time and neither is the moving of his portrait. Wait a minute, Toddy. Grandpa's shoulder's sagging. Get up his left side a little, see? I don't have this wire in the way. No, no, don't try and talk as far as the nail. Here's the hammer. Go ahead, I'll hold the ladder. Now watch out, darling. Grandpa's on the floor again. Just like grandfather, always resisting change. He was a reactionary of the most virulent type. Although, interdating the automobile, he saw life almost exclusively through a rear-view mirror. I wondered why he looked so grim. Oh, would you smile if you'd been dropped on your ear? Yeah, but he's always looking that way, Toddy. Not because he was always falling on his ear. Ever since that time, near the Chickahomaniens, 1862, in our war between the states. And now, if you'll hand me my grandfather, Vicki, I'll try to hang him again. Well, there he is. There. That's solid. Well, Vicki, what do you think of him there? I'm not sure. Darling, tell me, what did Chickah have to do with harmony? Well, my grandfather, regarding us so malignantly from the wall, was in the fighting along the Chickahomani River during the Civil War. Well, which war was gramped in, the Civil War or the war between the states? Vicki, a trifle more regard for the history of your country by marriage would reveal the fact that they are, or were, one and the same war. Oh, well, why didn't you call it the same thing? Well, gathered in certain circles, just why, I do not know, that the phrase war between the states is a more courteous term. If so, I am willing to use it, even though it is a euphemism. And I dislike most euphemisms. This is a very educational few minutes, Doctor. Are you an expert on euphemia? I don't know. I've never been there. Where? Euphemia. I've never heard of it. I don't know how you get so confused the way you do. I thought we were talking about euphemism. Well, we were. Are you an expert? No, no, no, no, no, Vicki, no, not again. Anyway, a euphemism is a ladylike term applied to a man-sized fact. It's a sort of literary antimicasa. Oh, very good. Excellent. Well, very good. Although, although grandfather doesn't seem to like it. He doesn't seem to like anything, the old sourpuss. I'm not sure I like it myself. You know, this side of the room has suddenly become top-heavy. It's not the picture, darling. I think it's the sofa. It belongs under the window. Then under the window it goes. Just think, Vicki. Grandfather, who resisted all change, has now become responsible for it. That's the trouble with most of us. We resign ourselves to the familiar. Go through every discomfort to keep things as they are. When a little enterprise and imagination could give us a new perspective, widen the horizon of our living. All because of your grandfather. But it took a bit of doing, but we found some good in him, didn't we? Well, now let's get going. Now, you push, and I'll steer. All right. You ready? Yeah, I'm ready. Now, that, a little bit more. That's it. No way, no, tolly, wait, wait. The carpet's all bunched up. Well, that's easily fixed. Now, when I lift the sofa, you smooth out the rug under this end. You ready? Ready. All right, up you go. Got it? Is it smooth? Well, the rug's all right, but you're a bit hard to smooth. You're standing on it. Oh, oh, yeah. Is this better? Well, it is squinch a little. All right, I'm squinched. That's better. Is that better? Now, you hold it steady. I will. Oh, my. Well, what's the matter? What a pity. Look at that hole. Just look at it. It's a burn, I guess. A Victoria. I've been trying so hard to make that rug last. You'd never suspect that behind a sofa. A Victoria. Right where that place was. Well, it wasn't even worthwhile for me to give up my pipe. A Victoria. What is it, Toddy? All my life, I've tried to hold up my own end, but there comes a time to let go. No hole in the carpet anymore. It's in the floor now. I think the sofa will stay where it is, Victoria. Well, I don't know, Toddy, there's still something wrong. Well, while you decide what it is, I'd better answer the door. Yeah, it must be the cleaner, darling. He promised to bring back my pink coat and skirt this morning. Yes, well, don't try and move anything else while I'm gone. You know, I'm going to winch over here. And then the coffee table has to go there. Even if I put that chair there, there's no plug for the lamp. So no, that's... Oh, just hang them up in the hall closet, Toddy. Will you please? Yeah, both of us. That sounds like an uncomfortable way to spend the morning. Mr. Merryweather, good morning. And Mr. Wellman. Mrs. Hall? You'll never guess what I thought you were, Mr. Wellman. What? A pink skirt. Clarence, you've been called some pretty colorful things in your time.  Sorry to disappoint you, Mrs. Hall. Sit down. Sit down, gentlemen. Well, hate to barge in on you like this on Saturday morning, folks, for two reasons. I don't like to be a nuisance and I'd rather be playing golf. But, Doctor, I wanted to talk to you before the board meeting this afternoon. It's about the beautification program. I thought the board had already approved the plan. Well, one thing we left out. Nobody's ever settled the question of Emerson Hall. Now, I feel... Just a minute, Merryweather. What? I said just a minute. Why? Because I want to say something. Heaven forbid. As you know, I have stood back of the beautification program. I have stood behind it from the beginning. Four square. Four square? You? Yes, me. You are one square who has stood up against everything. This is no time for jokes, Merryweather. Who's joking? There are some forces who want to carry this program to the extreme.  Who wrote that speech for you, Clarence? History wrote it. History, Merryweather. Generations of Ivy graduates who have passed through the portals of this vulnerable... I mean, venerable building. The years they have seen...  Save it for the board. Any time you start shedding tears, it's a sure thing somebody's water rates go up. If there was ever such a thing as a sincere crocodile, you're it. This is a very serious situation. It is ridiculous that I should constantly be interrupted. I do not propose to permit this type of... Mr. Wellman... What is it? Do I understand that you are actually fighting for the existence of Emerson Hall on the basis of such an abstract value as its tradition? What's the matter with tradition, Dr. Hall? Just what may I ask? Oh, nothing. I'm in favor of it. Well, everybody knows how I feel. I'm all for tradition, per se, but not to the extent of breaking my neck in it. I think we need a brand new building. Needless waste of money. But that's beside the point. Quite beside the point. We have embarked on beautifying the campus, and you suggest that we destroy one of its greatest beauties. Not to mention the needless waste of money, sheer waste. That's what it is. Have you taken a good look at Emerson Lately, Clarence, or couldn't you see it through your tears of reverence for our classical tradition? Yes, I've seen it, Mary Weather, and I expect to keep on looking at it for a great many years to come. Well, gentlemen... I... I realize we all have to come to a decision. The one thing we agreed on with regard to our beautification program was that it must be comprehensive. It doesn't do to change things, piecemeal. I learnt that this morning by changing a picture from one wall to another. Let's fight it to a finish this afternoon. That's good with me. Now, come on, Clarence. Let's go. Very well. Good day, Dr. Hall. Mrs. Hall. Goodbye, Doctor. And Mrs. Hall, next time, I promise to call only for purely personal reasons. You'll find me on the steps, damp violets in my hand, and a look of shy adoration on my Mary Weather beaten face. You don't need any reason, Mr. Mary Weather. We're always enjoying seeing you with or without violets. Hey, goodbye. Goodbye, gentlemen. See you at two o'clock. Toddie, I've been thinking about this room now that we've moved the sofa. I know we really started something, didn't we? But to quote myself, it doesn't do to change things, piecemeal. Now, that must be the key. Now, I'll go. How do you do? I am from the phone company. Oh, yes. Well, come in. It's the man from the phone company, Toddie. Oh, is he here to put one in or take one out? I understood you wanted a longer extension cord, Doctor Hall. Well, he doesn't really want one, but he's getting awfully tired of lying on his stomach in his study trying to reach the telephone. Yeah. I can just barely touch it with the tips of my fingers, aggravating. Yeah. I imagine it is. I wouldn't advise a longer extension, though. You wouldn't? No, ma'am. Personally, I'm against long extension cords. They look awful. You trip on them. They strangle babies and dogs. You never can find the phone. You can say that again. Personally, I'm against long extension cords. They look awful. Mr. Park. Park. Just call me Central. Yeah. Mr. Park. What would you suggest in place of the cord? Well, move the phone box. It's much simpler and less expensive and you don't run any risks that way. Let me take a look at that cord. Yes, here it is. You just start at the phone and follow it along and when you get to the wall, stop. Thank you, ma'am. Well, how does it look? Well, let's see here now. The dial, the dial dials too fast. That's an easy fix, but I don't like the looks of that old cord. I know. I've tried everything, but it just keeps on snarling. I'm not worried about the snarls. Have you got a minute? Have you got a minute? I'd like to show you something. You too, Dr. Hall. Now, take a look right here. You see that insulation? Where the wire goes into the box. A couple of more jerks on that and crash, bam, boom, fuse. How is that again? Well, you're just real fortunate I got here in time, Mrs. Hall. Fuse, short circuit, clang, clang, clang. Fire. We have been living dangerously, haven't we? I suppose that wouldn't happen if we had a new and longer extension cord. It'll happen with any kind of cord. And the longer it is, the more there is to trip over. I've never been in favor of long extension cord. You said that, Central. I mean, Mr. Park, but... but I need a phone in my study. Why not install it in the simplest possible way? Well, just give the man the order, doctor, and sys-boom-ba. The job's done. Where's the study? Doremi in there. Now, let's see. I don't know if this will work or not. Oh, fine. Nothing like a specialist. I guess maybe I'll have to install another outlet. Do you have to have that desk there, Dr. Hall? Well, I'm used to it there. I don't want to ruin your life, but I'd like to keep it. Okay. But it ain't good. Isn't. That's your ride. It's your aim. You got some pliers? Well, we have a pair in the kitchen. They need a little dental work on the teeth, though. Look, did you just come out with suggestions, young man, or did you bring a tool kit as well? I got some here, I guess I could use. Now, I won't bother you folks any more. I'll be through here in a jiffy. One, two, three. We'll be in the living room if you need us, Mr. Park. Four, five, six. He seems to be serious enough about his business. I hope he knows what he's doing. What he sounds as if he does. Sounds. That's the most accurate description, Vicki. I've never heard stranger sounds than he uses to... Whammo! Whammo! You see what I mean? I see what you mean. That outburst probably means that he has discovered that my study is bounded by four walls. Which reminds me of Mr. Wellman and I cannot think why. But I can. He said it. Weathered boards, ancient walls, hallowed heritage. He's dreadfully miscast in that role. Doesn't sound tall right coming from him. One man's cliche can be another man's conviction. I'm rather sensitive about Emerson Hall myself, Vicki. It's practically the first thing I remember about Ivy. Dr. Palmer, he was president then. Looking down on all us, huddled an over-awed freshman, gathered together in Emerson to hear his greetings, that first staggering week of college. Did you stagger as a freshman, darling? I just wobbled as a freshman. I staggered as a sophomore. I fell flat on my face as a junior and crawled gloriously through my senior year. Well, at least I hope you're standing up straight at graduation. Yes, with the staunch support of the proscenium arch of Emerson Hall. So you see, darling, life as an undergraduate began and ended for me in Emerson. Naturally, any judgment I might have about its survival or destruction will be highly colored by grateful memories. Dr. Hall, excuse me, but have you got a minute? Uh-oh. Something I want to show you. Something else? Well, it's not trouble, is it, Mr. Park? Well, it's never trouble with a telephone company, Mrs. Hall. That's nice to know. That's news, too. Just look here. Look at that. Ain't she a-bued? She? I don't know, Mr. Park. Where is she? Right there. Look at that box. Look at those screws. Oh, Rusty, aren't they? Well, of course, they've been there a long time. Well, what's that spot on the wall? That's her, Doc. Ain't she a-bued? That's where the box was. Well, put it back. The spot looks awful. No, that's too dangerous. I am sure happy for you that I came out today. Look, now, let's all be happy with you, Mr. Park. What is that spot on the wall? Feel the wall, Mrs. Hall. Feel it. You got see-pitch. I have? See-pitch? Well, have the plumber in at once. Wait a minute, Dr. Hall. No, no, don't tell us this is any more. Well, actually, I can't be sure. Look, I'm sure of what for heaven's sake. Well, after all, I'm a telephone man. I don't have all this information in my fingertips. I'm just observing, that's all. Mr. Park. Yes, sir? Would you mind telling us what you're talking about? I'd be pleased to. The truth is, Dr. Hall, you got a big fat case of dry rye. When there's beer on your mind... Your best thought is Schlitz, the beer that made Milwaukee famous. More people like the taste of Schlitz than any other beer. That's why Schlitz is the largest selling beer in America. Naturally, it takes skill and prime ingredients to brew a really first-rate beer. But there's something else. It takes patience as well. There's no shortcut to the kind of flavor you get in Schlitz beer. And that flavor is due, in part, to the slow, painstaking process of mellowing. Now, every brewer has his own way of doing this, and the Schlitz way calls for triple mellowing. Yes, for the taste you remember with pleasure, Schlitz beer is mellowed three times. Mellowed by aging the barley till it's just right for molting. Mellowed by aging the malt till it's just right for brewing. Mellowed by aging the beer till it's just right for you. This time-taking process gives Schlitz a taste no other beer can match. In fact, that taste has brought so much pure pleasure to so many people, it has made Schlitz the largest selling beer in America. As we return to Ivy, Dr. and Mrs. Hall are waiting for the young man from the telephone company who's been exploring the nether regions of their house. He's been down in the basement an awfully long time, Toddy. Could something have happened to him? I was just wondering if something could have happened to us. Why should we accept him as an authority of dry rot? He's from the telephone company. That is, we...Vicky, how do we know he's from the telephone company? Well, if you really do be us, I'll call the phone company and check on him. Dismantled? Dismantled. Remarkable young man, I'll get it. Oh, no, he's not. Yes, it is. No, it isn't. Thank you. Goodbye. Who was it? Wrong number. Excuse me, I heard the phone ring. Was it for me? Yes. No, I don't think it was. It was a wrong number. Oh, see, Dr. Hall, have you got a minute? No. It's later than you think, Mr. Park. What is it now? Oh, it's nothing, nothing at all. At least there's nothing to get worried about. Guess what I found down in the basement? You didn't... You didn't come across my old fishing rod, did you? No. Guess again. I know. My scrapbooks, they've been lost for years. No. You want to try again? No, Mr. Park, I don't. I obviously do not get the refrigerator nor the vacuum cleaner, and I am certainly not going to try for six packages of your product, whatever it is. Okay. Come on down and I'll show you. Now, there's one thing you can be happy about. At this point, Mr. Park, when you say that I feel myself getting pale and starting to shake like a leaf. You've got a well-built house here, good solid beams, fine bracing and plenty of studs, all in the right places. Except when I try to hang a picture. It looks wonderful down here. It reminds me of an old English house. Everything's secure and substantial. I should think it's a pretty good foundation. Sure. That's why it makes me boil when I see things like this plumbing ears. It's a disgrace. Three-quarter inch pipe. Well, that's why we had that trouble with the kitchen sink. Well, you're going to have more trouble, Mrs. Hall. Mr. Park. Yes, sir. Did you ever hear of a man called Frankenstein? Who? Can't say as I have. Does Dracula ring a bell in your subconscious? No, sir. I've only had freshman courses. You could pass a master's degree in bloodletting. Now, what is the matter with our kitchen sink? Oh, well, it may go along all right for a while. But one day you're going to wake up. You'll be eating breakfast in a rowboat. Well, you sound even happier about that than you did about the dry rot. Well, it isn't so bad. You certainly weren't planning to live in this house very long, were you, Dr. Hall? I was thinking of it, yes. But, of course, eating breakfast in a rowboat could change my thinking. Well, if you're going to stay here, I'd have the wiring checked over. You're sure lucky I came out. Mr. Park, would it be out of line if I asked you what you brought us down here to see? Certainly not. What I found out here today. Oh, brother, what I've saved you. I got here just in time. Gee, you're lucky. The lucky halls. Here we go again. I was hoping I wouldn't find any. But with these old houses, you almost always do. Oh, it isn't. It is it. Yes, Mrs. Hall, your dry rot has turned out to be termites. We still have the most important item on the agenda. Mr. Chairman. I haven't mentioned what it is yet, Mr. Merriwether. You all know what it is, Clarence. It's Amerson Hall. I want to say that I personally have nothing against Amerson. Except that you want to tear it down. As it stands now, it's a hazard to life and limb. I'm only concerned with the safety of the students. I am concerned with the tradition of Iping. You're concerned with the money, Clarence, and you know it. Merriwether, sit down, and furthermore. Mr. Chairman. Yes, Dr. Hall. I agree with you, Mr. Wellman, that Amerson Hall represents a cherished tradition. And I agree with you, Mr. Merriwether, that it constitutes a danger to its occupants. By an unhappy coincidence, I found out today that another building on the campus of Ivy, also of traditional value, is in a perilous condition too. I would like to make a motion that we consider what is to be done with this edifice along with Amerson Hall. What building are you talking about, Dr. Hall? The house I live in. What? I paid an exorbitant price only a year ago for painting and redecorating that house. Yes, and Amerson Hall has been painted any number of times in recent years. But only the outside, Mr. Wellman. The danger lies deep inside. I understand, for instance, that Amerson's got termites. You're dead right, Dr. Hall. You can hear him buzzing all the way out to my house. Well, my house has termites too. Now, isn't it a fact that Amerson's plumbing needs repair? It certainly does. So does mine. But Amerson Hall, just like the house that is assigned to me as president, has a good foundation and a sturdy frame. With age, oh, they've both developed a few aches and pains, but they can be fixed. There are generations of hopes and dreams of study and achievement that have been absorbed in them. There are things associated with Amerson Hall and the president's house that cannot be rebuilt. The question is, are they worth saving? Gentlemen, I think they are. I'm here in the living room. Hello, darling. What? Why, Vicki, look at this room. What happened? Oh, it all got so complicated, I put everything back where it was in the first place. All except grandfather, he looks the same anywhere. Did Park ever get around to fixing the phone? He fixed it. How? 12 more feet of extension cord. It's all over the house. We can skip with it any time you have a free moment and a feeling of abandon. You should, as the saying goes, live so long. The cleaner! I was afraid he wouldn't get here today after all. I'll get it, Toddy. All right. Now, where did he put the phone? It's not, you know... Oh, here you are. William, Mr. Park would like to see you. Excuse me, Dr. Hall, but have you got a minute? Mr. Park, I may be leading with my chin. I may be inviting certain disaster. I know I'm asking for it, but yes, I have a minute.  You did, Mr. Park.  I started college, but then there was a war and I never got back again. I've always wanted to. But did you... did you expect that I might help you get a fresh start? That was the idea. I've learned as much as I can with my present job and I know I need a foundation as much as a house does. I thought maybe you'd use your influence... Everybody talks about starting from the bottom of the ladder, but I've never heard of anybody before trying to get into college through the basement. Well, it at least deserves encouragement. Besides, Ivy is indebted to you indirectly. It's worth a try. Call me Monday morning and I'll put you in touch with Professor Cummings, head of our engineering school. No, no, no. On second thoughts, I might as well call him now. Excuse me. I'd be willing to take any kind of examination or... You passed a pretty stiff one right here in this house today. That's funny. That's really funny. No, no, don't tell me where I am. It wouldn't be... Shh! Absolutely no sound at all. Nothing but deep, inscrutable silence. Mr. Park, have you got a minute? You're right. You need fresh interest. You've spent enough time with the telephone company. The phone is out of order. When there's beer on your mind, your best thought is Schlitz, the beer that made Milwaukee famous. More people like the taste of Schlitz than any other beer. That's why Schlitz is the largest selling beer in America. Ladies and gentlemen, in our studio audience tonight is the Joseph Schlitz American Legion Post Rifle Team, which yesterday won first place in the national competition. Our sponsor congratulates the team and salutes all the Legionnaires on the occasion of their national convention here in Los Angeles. Now, here again are Mr. and Mrs. Ronald Coleman. Good night, everyone. Good night. We'll be singing next week at the same time at the halls of Iowa starring Mr. and Mrs. Ronald Coleman. The other players were Herbert Butterfield, Gail Gordon and Robert Easton. The night script was written by Milton Barbara Merlin and Don Quinn. Music was composed and conducted by Henry Russell. The halls of Iowa was created by Don Quinn, directed by Matt Wolfe, and presented by the Joseph Schlitz Brewing Company of Milwaukee, Wisconsin. Ken Carpenter speaking. He's lovable. He's the great gilder sleeve next on NBC.