<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?action=history&amp;feed=atom&amp;title=OpenStack%3AMagnum</id>
	<title>OpenStack:Magnum - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?action=history&amp;feed=atom&amp;title=OpenStack%3AMagnum"/>
	<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;action=history"/>
	<updated>2026-06-19T04:14:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=28534&amp;oldid=prev</id>
		<title>Mariusz: Add docs on deploying and testing Magnum</title>
		<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=28534&amp;oldid=prev"/>
		<updated>2019-03-19T13:52:40Z</updated>

		<summary type="html">&lt;p&gt;Add docs on deploying and testing Magnum&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:52, 19 March 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Deploy and test Magnum ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Due to a bug in the Queens version of Magnum, use the Rocky version instead. If the platform is not on Rocky, add this to your &amp;lt;code&amp;gt;/etc/kolla/globals.yml&amp;lt;/code&amp;gt;:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;magnum_tag: &amp;quot;7.0.2&amp;quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and deploy.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;After the deployment is done, grab a Fedora Atomic image, either version 27 (&amp;lt;code&amp;gt;fedora-atomic-latest&amp;lt;/code&amp;gt;) from our platform, https://demo.vscaler.com/ngdetails/OS::Glance::Image/23714b64-6017-4841-87a2-8f31664da5c1, or the latest version directly from the Fedora Atomic project page, https://getfedora.org/en/atomic/download/ (section &amp;quot;Atomic Host Images for Cloud Environments&amp;quot;). Both Fedora Atomic 27 and 29 were tested and confirmed working in Rocky.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Add the image to Glance, making sure the &amp;lt;code&amp;gt;os_distro&amp;lt;/code&amp;gt; property is set:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;openstack image create --container-format bare --disk-format qcow2 --file &amp;lt;path-to-the-image&amp;gt;.qcow2 --property os_distro=fedora-atomic &amp;lt;image-name&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;To add the property to an existing image run:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;openstack image set --property os_distro=fedora-atomic &amp;lt;your-fedora-image&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Next up create a cluster template in Magnum. Here is a sample Kubernetes cluster template: https://demo.vscaler.com/ngdetails/OS::Magnum::ClusterTemplate/3e32b6c6-6217-45f3-91c1-4ddfa7675c2b. This template was created using the following command:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;openstack coe cluster template create --coe kubernetes --image fedora-atomic-latest --external-network public1 --flavor m1.medium --master-flavor m1.medium --docker-storage-driver overlay --public --floating-ip-disabled kubernetes-fedora&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Finally, create a cluster using your template:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;openstack coe cluster create --cluster-template &amp;lt;template-name&amp;gt; --master-count 1 --node-count 1 --keypair &amp;lt;your-keypair&amp;gt; &amp;lt;cluster-name&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Adding custom driver ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Adding custom driver ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;How to create and test a custom Magnum driver - based on the work done on &amp;lt;code&amp;gt;k8_ubuntu_v1&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;How to create and test a custom Magnum driver - based on the work done on &amp;lt;code&amp;gt;k8_ubuntu_v1&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mariusz</name></author>
	</entry>
	<entry>
		<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=27744&amp;oldid=prev</id>
		<title>Mariusz: Add link to DeepOps POC</title>
		<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=27744&amp;oldid=prev"/>
		<updated>2019-01-08T11:34:48Z</updated>

		<summary type="html">&lt;p&gt;Add link to DeepOps POC&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:34, 8 January 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l149&quot; &gt;Line 149:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 149:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Resources ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Resources ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# https://docs.openstack.org/heat/queens/template_guide/software_deployment.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# https://docs.openstack.org/heat/queens/template_guide/software_deployment.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Baking heat components into the image ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Baking heat components into the image ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TODO&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== User guides ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* How to create a cluster template and use it to deploy Kubernetes on vGPU instances: http://wiki.bostonlabs.co.uk/w/index.php?title=DeepOps_on_OpenStack_POC#DeepOps_on_vScaler_POC&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mariusz</name></author>
	</entry>
	<entry>
		<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=27574&amp;oldid=prev</id>
		<title>Mariusz: Fix copy-paste typo</title>
		<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=27574&amp;oldid=prev"/>
		<updated>2018-12-20T17:41:51Z</updated>

		<summary type="html">&lt;p&gt;Fix copy-paste typo&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:41, 20 December 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l105&quot; &gt;Line 105:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 105:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;docker cp ~/magnum/magnum/drivers/heat/k8s_ubuntu_template_def.py magnum_conductor:/usr/lib/python2.7/site-packages/magnum/drivers/heat/&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;docker cp ~/magnum/magnum/drivers/heat/k8s_ubuntu_template_def.py magnum_conductor:/usr/lib/python2.7/site-packages/magnum/drivers/heat/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;docker cp ~/magnum/magnum/drivers/heat/k8s_ubuntu_template_def.py &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;magnum_conductor&lt;/del&gt;:/usr/lib/python2.7/site-packages/magnum/drivers/heat/&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;docker cp ~/magnum/magnum/drivers/heat/k8s_ubuntu_template_def.py &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;magnum_api&lt;/ins&gt;:/usr/lib/python2.7/site-packages/magnum/drivers/heat/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Copy your driver to &amp;lt;code&amp;gt;/usr/lib/python2.7/site-packages/magnum/drivers/&amp;lt;/code&amp;gt; for both API and conductor containers like so:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Copy your driver to &amp;lt;code&amp;gt;/usr/lib/python2.7/site-packages/magnum/drivers/&amp;lt;/code&amp;gt; for both API and conductor containers like so:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mariusz</name></author>
	</entry>
	<entry>
		<id>http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=27544&amp;oldid=prev</id>
		<title>Mariusz: Add description on creating and testing custom Magnum drivers</title>
		<link rel="alternate" type="text/html" href="http://wiki.define-technology.com/mediawiki-1.35.0/index.php?title=OpenStack:Magnum&amp;diff=27544&amp;oldid=prev"/>
		<updated>2018-11-30T15:53:10Z</updated>

		<summary type="html">&lt;p&gt;Add description on creating and testing custom Magnum drivers&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Adding custom driver ==&lt;br /&gt;
How to create and test a custom Magnum driver - based on the work done on &amp;lt;code&amp;gt;k8_ubuntu_v1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Build the driver ===&lt;br /&gt;
Clone Magnum&amp;#039;s repo from https://github.com/openstack/magnum. Checkout a stable branch that&amp;#039;s the same as the version of deployed OpenStack (you should be good with just using master as templates don&amp;#039;t change much).&lt;br /&gt;
Copy an existing driver from either &amp;lt;code&amp;gt;magnum/drivers&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;contrib/drivers&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Copy one of the &amp;lt;code&amp;gt;*template_def.py&amp;lt;/code&amp;gt; available in &amp;lt;code&amp;gt;magnum/drivers/heat/&amp;lt;/code&amp;gt;, rename it so it starts with your driver name and replace all references to the old driver. For example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
drivers/heat/k8s_ubuntu_template_def.py&lt;br /&gt;
&lt;br /&gt;
from magnum.drivers.heat import k8s_template_def&lt;br /&gt;
...&lt;br /&gt;
class UbuntuK8sTemplateDefinition(k8s_template_def.K8sTemplateDefinition):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Kubernetes template for an Ubuntu.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        super(UbuntuK8sTemplateDefinition, self).__init__()&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
In the driver&amp;#039;s &amp;lt;code&amp;gt;driver.py&amp;lt;/code&amp;gt; script replace references to the old driver, for example this one is for the Ubuntu driver:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
drivers/k8s_ubuntu_v1/driver.py&lt;br /&gt;
...&lt;br /&gt;
from magnum.drivers.k8s_ubuntu_v1 import template_def&lt;br /&gt;
...&lt;br /&gt;
    @property&lt;br /&gt;
    def provides(self):&lt;br /&gt;
        return [&lt;br /&gt;
            {&amp;#039;server_type&amp;#039;: &amp;#039;vm&amp;#039;,&lt;br /&gt;
             &amp;#039;os&amp;#039;: &amp;#039;ubuntu&amp;#039;,&lt;br /&gt;
             &amp;#039;coe&amp;#039;: &amp;#039;kubernetes&amp;#039;},&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
    def get_template_definition(self):&lt;br /&gt;
        return template_def.UbuntuK8sTemplateDefinition()&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
There will also be references to the old driver in &amp;lt;code&amp;gt;template_def.py&amp;lt;/code&amp;gt;, for example:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
drivers/k8s_ubuntu_v1/template_def.py&lt;br /&gt;
...&lt;br /&gt;
class UbuntuK8sTemplateDefinition(kctd.UbuntuK8sTemplateDefinition):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Kubernetes template for an Ubuntu VM.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add your driver to the list of &amp;lt;code&amp;gt;magnum.drivers&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;setup.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
setup.cfg&lt;br /&gt;
...&lt;br /&gt;
magnum.drivers =&lt;br /&gt;
...&lt;br /&gt;
    k8s_ubuntu_v1 = magnum.drivers.k8s_ubuntu_v1.driver:Driver&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now for Heat templates in the &amp;lt;code&amp;gt;templates&amp;lt;/code&amp;gt; directory of the driver: we want to make them as simple as possible for now.&lt;br /&gt;
There shouldn&amp;#039;t be a need to &amp;lt;code&amp;gt;kubecluster.yaml&amp;lt;/code&amp;gt;, at least not initially.&lt;br /&gt;
In &amp;lt;code&amp;gt;kubemaster.yaml&amp;lt;/code&amp;gt; remove all &amp;lt;code&amp;gt;OS::Heat::SoftwareConfig&amp;lt;/code&amp;gt; objects from the &amp;lt;code&amp;gt;software configs&amp;lt;/code&amp;gt; section of the template and only leave &amp;lt;code&amp;gt;write_heat_params&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;wc_notify&amp;lt;/code&amp;gt;. Same for &amp;lt;code&amp;gt;kubeminion.yaml&amp;lt;/code&amp;gt;.&lt;br /&gt;
Remove scripts from &amp;lt;code&amp;gt;templates/fragments&amp;lt;/code&amp;gt; directory - all but &amp;lt;code&amp;gt;fragments/write-heat-params-master.yaml&amp;lt;/code&amp;gt; and  &amp;lt;code&amp;gt;fragments/write-heat-params-minion.yaml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Your minimal &amp;lt;code&amp;gt;wc_notify&amp;lt;/code&amp;gt; should look like this one:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  wc_notify:&lt;br /&gt;
    type: OS::Heat::SoftwareConfig&lt;br /&gt;
    properties:&lt;br /&gt;
      group: ungrouped&lt;br /&gt;
      config:&lt;br /&gt;
        str_replace:&lt;br /&gt;
          template: |&lt;br /&gt;
            #!/bin/bash -v&lt;br /&gt;
            wc_notify --data-binary &amp;#039;{&amp;quot;status&amp;quot;: &amp;quot;SUCCESS&amp;quot;}&amp;#039;&lt;br /&gt;
          params:&lt;br /&gt;
            wc_notify: {get_attr: [master_wait_handle, curl_cli]}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure that under software configs there is this &amp;lt;code&amp;gt;MultipartMime&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  kube_master_init:&lt;br /&gt;
    type: OS::Heat::MultipartMime&lt;br /&gt;
    properties:&lt;br /&gt;
      parts:&lt;br /&gt;
        - config: {get_resource: write_heat_params}&lt;br /&gt;
        - config: {get_resource: wc_notify}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
(this is for masters, use &amp;lt;code&amp;gt;kube_minion_init&amp;lt;/code&amp;gt; for the minions)&lt;br /&gt;
&lt;br /&gt;
=== Test the driver ===&lt;br /&gt;
You can build a whole Magnum from the git repo by creating a virutalenv and running &amp;lt;code&amp;gt;python setup.py install&amp;lt;/code&amp;gt;. And then run &amp;lt;code&amp;gt;magnum-api&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;magnum-conductor&amp;lt;/code&amp;gt; that you get from the installation.&lt;br /&gt;
&lt;br /&gt;
If you already have a working OpenStack cluster with Magnum deployed with Kolla, it&amp;#039;s easier to use it as a test environment by following these steps:&lt;br /&gt;
&lt;br /&gt;
* (do this once) Add your driver to the &amp;lt;code&amp;gt;[magnum.drivers]&amp;lt;/code&amp;gt; list in package entry points:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
docker cp magnum_api:/usr/lib/python2.7/site-packages/magnum-6.2.0-py2.7.egg-info/entry_points.txt ~/&lt;br /&gt;
vim ~/entry_points.txt&lt;br /&gt;
# Add your driver to [magnum.drivers] then proceed&lt;br /&gt;
[root@vscaler-vgpu ~]# docker cp ~/entry_points.txt magnum_conductor:/usr/lib/python2.7/site-packages/magnum-6.2.0-py2.7.egg-info/entry_points.txt&lt;br /&gt;
[root@vscaler-vgpu ~]# docker cp ~/entry_points.txt magnum_api:/usr/lib/python2.7/site-packages/magnum-6.2.0-py2.7.egg-info/entry_points.txt&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* If you&amp;#039;ve changed &amp;lt;code&amp;gt;heat/*template_def.py&amp;lt;/code&amp;gt;, copy it to both containers:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
docker cp ~/magnum/magnum/drivers/heat/k8s_ubuntu_template_def.py magnum_conductor:/usr/lib/python2.7/site-packages/magnum/drivers/heat/&lt;br /&gt;
docker cp ~/magnum/magnum/drivers/heat/k8s_ubuntu_template_def.py magnum_conductor:/usr/lib/python2.7/site-packages/magnum/drivers/heat/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Copy your driver to &amp;lt;code&amp;gt;/usr/lib/python2.7/site-packages/magnum/drivers/&amp;lt;/code&amp;gt; for both API and conductor containers like so:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
docker cp ~/magnum/magnum/drivers/k8s_ubuntu_v1 magnum_conductor:/usr/lib/python2.7/site-packages/magnum/drivers/&lt;br /&gt;
docker cp ~/magnum/magnum/drivers/k8s_ubuntu_v1 magnum_api:/usr/lib/python2.7/site-packages/magnum/drivers/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Restart both Magnum containers:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
docker restart magnum_api&lt;br /&gt;
docker restart magnum_conductor&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The 2 last steps should be repeated every time you make changes to the driver.&lt;br /&gt;
&lt;br /&gt;
To test the driver works with Magnum, add appropriate &amp;lt;code&amp;gt;os_distro&amp;lt;/code&amp;gt; property to the image you want to use, for example&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
openstack image set --property os_distro=ubuntu ubuntu-software-config-dgx&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then create a simple Magnum cluster template and launch a cluster specifying the COE and the other parameters.&lt;br /&gt;
&lt;br /&gt;
=== Going further ===&lt;br /&gt;
&lt;br /&gt;
==== Send data from host to Heat ====&lt;br /&gt;
You can send back a JSON with the &amp;quot;data&amp;quot; key containing a string parameter, for example a variable:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
wc_notify --data-binary &amp;#039;{&amp;quot;status&amp;quot;: &amp;quot;SUCCESS&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;token&amp;quot;, &amp;quot;data&amp;quot;: &amp;quot;&amp;#039;$TOKEN&amp;#039;&amp;quot;}&amp;#039;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This variable can then be put in &amp;lt;code&amp;gt;outputs&amp;lt;/code&amp;gt; of the template like so:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
outputs:&lt;br /&gt;
...&lt;br /&gt;
  kubeadm_token:&lt;br /&gt;
    value: { &amp;#039;Fn::Select&amp;#039;: [&amp;#039;token&amp;#039;, {get_attr: [master_wait_condition, data] }] }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
and used in the &amp;lt;code&amp;gt;kubecluster.yaml&amp;lt;/code&amp;gt; like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
kubeadm_token: {get_attr: [kube_masters, resource.0.kubeadm_token]}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This allows you to pass data from a master to minions.&lt;br /&gt;
&lt;br /&gt;
=== Resources ===&lt;br /&gt;
# https://docs.openstack.org/heat/queens/template_guide/software_deployment.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Baking heat components into the image ==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Mariusz</name></author>
	</entry>
</feed>