[Airship-discuss] airshipctl remotedirect POC

PACHECO, RODOLFO J rp2723 at att.com
Tue Sep 3 12:09:06 UTC 2019


On #1 , Did we compare gofish library vs https://github.com/thecodeteam/gorackhd-redfish, this one seems to have some )on a cursory look)  remote bootstrapping stuff already.
They both seem light (2 – 3 cointributors)..

#2 Need to discuss this on the Design Call perhaps. This goes squarely into two issues :

  *   What does the YAML look like . I,.e is is all in the Baremetal Host Spec
  *   Does the isogen output actually update this information , or is it explicitly stated in the input document.


  *   #3 We stated  the proposed annotations. In the airshipctl cluster  https://docs.google.com/document/d/15zRU5c5cCJLdFzE1P9UArdu19u-nRVrYk8p_JKTmhK0/edit?usp=sharing
     *   airshipit.org/clustertype=ephemeral or airshipit.org/clustertype=target




Regards

Rodolfo Pacheco

Home/Office 732 5337671

From: Dmitry Ukov <dukov at mirantis.com>
Date: Monday, September 2, 2019 at 3:05 PM
To: Kanwar Saad <kanwar.sbl at gmail.com>
Cc: "airship-discuss at lists.airshipit.org" <airship-discuss at lists.airshipit.org>
Subject: Re: [Airship-discuss] airshipctl remotedirect POC

Hi,

  1.  We can try gofish [1]
  2.  I guess we need to discuss this topic since Redfish/IPMI/iLO usually set up to use out-of-band (OOB) data center network which has limited external access.
  3.  Since we are going to use K8s Cluster API + Kustomize + Metal3 and deployment data (i.e. evolved treasuremap or treasuremap 2.0) is stored as directory structure applicable for Kustomize rendering. Therefore all nodes should be described as Machine which is tied to BareMetalHost. AFAIK enduser has to mark particular Machine with specific annotation tag (e.g. ephemeral=true). I'm trying to use this approach in CR [2] (it's in WIP status so far) which adds ephemeral node cloud-init generator to airshipct. This CR assumes that our deployment data has following objects defined
kind: Machine
apiVersion: cluster.x-k8s.io/v1alpha2<https://urldefense.proofpoint.com/v2/url?u=http-3A__cluster.x-2Dk8s.io_v1alpha2&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Bjzj_RciGLj21LnNXoD5dw&m=ZMgdGPf9OXpUqSIwaqKQhKttOEYWWfV_QC7T1m9LUMo&s=frDcqYC1CLYvWYg3Jdc9H0BAuoSGBIcq2il7Dup4wi8&e=>
metadata:
  annotations:
    ephemeral: "true"
    name: my-control-plane1
...
spec:
...
---
apiVersion: metal3.io/v1alpha1<https://urldefense.proofpoint.com/v2/url?u=http-3A__metal3.io_v1alpha1&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Bjzj_RciGLj21LnNXoD5dw&m=ZMgdGPf9OXpUqSIwaqKQhKttOEYWWfV_QC7T1m9LUMo&s=JzRf4gHiK11SlXVQTzGb3XDbZASXjFwIzxf8Le1f9l0&e=>
kind: BareMetalHost
metadata:
  name: cp-host
spec:
...


[1] https://github.com/stmcginnis/gofish<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_stmcginnis_gofish&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Bjzj_RciGLj21LnNXoD5dw&m=ZMgdGPf9OXpUqSIwaqKQhKttOEYWWfV_QC7T1m9LUMo&s=HN9Hf8F99US4NB6Ekm7kn0U48hXRGFh0LXNUbRmEXL8&e=>
[2] https://review.opendev.org/#/c/679563/<https://urldefense.proofpoint.com/v2/url?u=https-3A__review.opendev.org_-23_c_679563_&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Bjzj_RciGLj21LnNXoD5dw&m=ZMgdGPf9OXpUqSIwaqKQhKttOEYWWfV_QC7T1m9LUMo&s=CdneUNl4WNd6nGuArXACb-NmlPaNdtA4JnsygJ7GeAM&e=>

On Mon, Sep 2, 2019 at 12:40 PM Kanwar Saad <kanwar.sbl at gmail.com<mailto:kanwar.sbl at gmail.com>> wrote:
Hi all,

I am planning to start contributing on remotedirect code for airshipctl(or join forces with anyone who is already working). For that, I was investigating Redfish APIs.  I have a couple of questions to start with:

1. There is no good golang client for redfish. What I have investigated is that we need couple of REST API calls for the bootstrap operation. So should we create a small redfish util library in airshipctl itself or should it be a separate project or if anyone has any idea about a good go client for redfish? I have a minimal redfish go client for testing, we can start maturing it if we want to go with that approach.

2. For setting the CD image in redfish, it requires a HTTP(s) endpoint to download ISO file. After generation of ISO locally where should we put it so that it is visible to redfish server. Do we have any design decision about that? Or do we have a totally different way of pushing the ISO image which I am not aware of?

3. Redfish server would be managing multiple Systems. You can get a list of Systems it is managing from "redfish/v1/Systems" endpoint. How do we select a system for the ephemeral host? Should it be provided via config or we just randomly select one of the systems from the list? In the latter case, how do we ensure that any selected system should have minimal requirements for the ephemeral host?

Br,
Kanwar Saad
Ericsson Software Technologies
_______________________________________________
Airship-discuss mailing list
Airship-discuss at lists.airshipit.org<mailto:Airship-discuss at lists.airshipit.org>
http://lists.airshipit.org/cgi-bin/mailman/listinfo/airship-discuss<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.airshipit.org_cgi-2Dbin_mailman_listinfo_airship-2Ddiscuss&d=DwMFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=Bjzj_RciGLj21LnNXoD5dw&m=ZMgdGPf9OXpUqSIwaqKQhKttOEYWWfV_QC7T1m9LUMo&s=yIB6JZpdTEvh2Rj4bOw1aUYoTO8FrD-KQ6uoab4APIs&e=>


--
Kind regards
Dmitry Ukov
Principal Deployment Engineer
Mirantis, Inc.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.airshipit.org/pipermail/airship-discuss/attachments/20190903/40850984/attachment-0001.html>


More information about the Airship-discuss mailing list