zehicle
2017-12-04 00:42
@wdennis patch for your template bug is in, please test when you can

zehicle
2017-12-04 00:42
if it works, please note in the defect.

greg
2017-12-04 22:48
- Hi all, v3.4.0 is out and content updates to v1.3.0. Check out the release notes here: https://github.com/digitalrebar/provision/releases/tag/v3.4.0

lae
2017-12-04 23:38
Any ideas what might cause this? (just attempted an upgrade) ``` Dec 04 23:32:52 labs-provision dr-provision[30920]: dr-provision2017/12/04 23:32:52.762604 Version: v3.4.0-0-3af10535d31b6367778d34446d3092ed543aa059 Dec 04 23:32:52 labs-provision dr-provision[30920]: dr-provision2017/12/04 23:32:52.762662 Extracting Default Assets Dec 04 23:32:53 labs-provision dr-provision[30920]: panic: assignment to entry in nil map Dec 04 23:32:53 labs-provision dr-provision[30920]: goroutine 1 [running]: Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/models.(*MetaData).ClearFeatures(...) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/models/meta.go:23 Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/backend.(*Machine).BeforeSave(0xc4202b5340, 0xcc9548, 0xc4202b5340) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/backend/machines.go:605 +0x10a Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/backend.(*Machine).OnLoad(0xc4202b5340, 0x0, 0x0) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/backend/machines.go:647 +0x135 Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/vendor/github.com/digitalrebar/store.load(0x10d3e80, 0xc4200f74d0, 0x10cc680, 0xc4202b5340, 0xc42005850c, 0x24, 0x1, 0xb9b300, 0xc4200e9c00, 0x7f1a6f0c7000) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/vendor/github.com/digitalrebar/store/keySaver.go:114 +0xf1 Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/vendor/github.com/digitalrebar/store.List(0x10d3e80, 0xc4200f74d0, 0x10cc680, 0xc420010480, 0x10cc680, 0xc420010480, 0x15, 0x0, 0x0) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/vendor/github.com/digitalrebar/store/keySaver.go:129 +0x174 Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/backend.(*DataTracker).rebuildCache(0xc4211fc0e0, 0xc9e2dd, 0x4) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/backend/dataTracker.go:548 +0x2d9 Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/backend.NewDataTracker(0x10d3a00, 0xc4211fc000, 0xc420252140, 0x1e, 0xc420252180, 0x1e, 0x7ffdb0c0df3d, 0xc, 0xc420016400, 0x1f9b, ...) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/backend/dataTracker.go:679 +0x67d Dec 04 23:32:53 labs-provision dr-provision[30920]: http://github.com/digitalrebar/provision/server.Server(0x188c6a0) Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/server/server.go:152 +0x1128 Dec 04 23:32:53 labs-provision dr-provision[30920]: main.main() Dec 04 23:32:53 labs-provision dr-provision[30920]: /home/travis/gopath/src/github.com/digitalrebar/provision/cmds/dr-provision/dr-provision.go:26 +0x97 ```

lae
2017-12-04 23:41
I guess one of the machine definitions is causing this

lae
2017-12-04 23:44
or...all of them

shane
2017-12-04 23:46
- the v006 meetup tomorrow (11am PST) agenda is posted at: https://docs.google.com/document/d/1PrdLhpR_AbPEahjRC4AoDvR3NPcvKrCYb95leOYy-Iw Cool demo on Immutable Kubernetes via the new "KRIB" (Kubernetes Rebar/RackN Immutable Bootstrapping"

lae
2017-12-04 23:48
``` {"Validated":false,"Available":false,"Errors":[],"ReadOnly":false,"Meta":null,"Name":"some.example.machine","Description":"","Uuid":"e313c00d-0f9f-4bd2-913b-4e0f78baaf9a","CurrentJob":"","Address":"1.1.1.1","Stage":"none","BootEnv":"local","Profiles":["some_profile"],"Profile":{"Validated":false,"Available":false,"Errors":null,"ReadOnly":false,"Meta":null,"Name":"","Description":"","Params":null},"Tasks":[],"CurrentTask":0,"Runnable":false,"Secret":"0SXxivTmio-jB00w"} ``` here's an example definition in `/var/lib/dr-provision/digitalrebar/machines` that's causing DRP not to start

shane
2017-12-04 23:48
Cool demo on Immutable Kubernetes via the new "KRIB" (Kubernetes Rebar/RackN Immutable Bootstrapping"

shane
2017-12-04 23:49
@lae - I'm guessing you're trying to update to the newly released v3.4? There were some structural changes, and it's possible that some of the content needs changed to match ....

lae
2017-12-04 23:50
yeah


lae
2017-12-04 23:50
Oh, i was looking at "stable" doc

lae
2017-12-04 23:52
actually never mind I don't see any 3.2 to 3.4 specific instructions on RTD

lae
2017-12-04 23:54
DRP was still starting with existing content, probably since I was following tip for a bit (though I didn't check to see if they were functional). It's just the machine definitions that seem to be causing an issue and I don't quite see anything in the release notes about that

shane
2017-12-04 23:55
going to need @greg and/or @vlowther to wade in on that

greg
2017-12-05 01:22
@lae - what is the error?

greg
2017-12-05 01:22
nvm - read farther up

greg
2017-12-05 01:23
I?ll fix it.

greg
2017-12-05 01:23
You machines have `null` meta data.

greg
2017-12-05 01:23
I?ll fix it.

greg
2017-12-05 01:23
We assume something.

shane
2017-12-05 01:24
I suppose that's better than assuming everything ....

shane
2017-12-05 01:24
... or nothing ?

greg
2017-12-05 01:27
With 3.3.0, objects populate all fields all the time. For the most part, it is okay. I?ll fix the spot that isn?t.

nguyenhappy92
2017-12-05 01:55
has joined #community201712

nguyenhappy92
2017-12-05 01:57
I have install with guide at http://provision.readthedocs.io/en/latest/doc/quickstart.html but I have met appear error after install command line curl -fsSL get.rebar.digital/stable | bash -s -- install --isolated then run next command line ./drpcli bootenvs uploadiso centos-7-install


nguyenhappy92
2017-12-05 01:57
Please give me advice and resolve this issue. Thank you !

shane
2017-12-05 01:57
@nguyenhappy92 welcome to the Digital Rebar Provision (DRP) #community

shane
2017-12-05 01:58
Please insure you have started your DRP Endpoint service on the host first. After the initial quickstart install, you must still start the service up

shane
2017-12-05 01:59
you can verify if the service is running on that host, with: `ps -ef | grep -v grep | grep dr-provision`

shane
2017-12-05 02:00
the appropriate start command should have been sent to your shell/terminal when the installer ran - but it should be something like: ```sudo ./dr-provision --static-ip=<SOME IP ADDRESS> --file-root=`pwd`/drp-data/tftpboot --data-root=`pwd`/drp-data/digitalrebar --local-store="" --default-store=""``` When run from the directory that you performed the install in

shane
2017-12-05 02:01
the `<SOME IP ADDRESS>` portion should be an IP address on the node that is running `dr-provision` - and is the network that you will be doing provisioning activities on

nguyenhappy92
2017-12-05 02:01
It's running but command line ./drpcli bootenvs uploadiso ubuntu-16.04-install or ./drpcli bootenvs uploadiso centos-7-install Error: GET: bootenvs/ubuntu-16.04-install: Not Found

shane
2017-12-05 02:01
if you have a single interface dr-provision service - then you can safely leave that out of the command line

shane
2017-12-05 02:02
can you please provide the output of: `./drpcli bootenvs show ubuntu-16.04-install` ??

nguyenhappy92
2017-12-05 02:09
Error: GET: bootenvs/ubuntu-16.04-install: Not Found

shane
2017-12-05 02:09
do you have the exact command you used to install with ?

shane
2017-12-05 02:10
specifically - did you use the `--no-content` flag ?

nguyenhappy92
2017-12-05 02:12
i don't choice --no-content flag. I have used command line curl -fsSL get.rebar.digital/stable | bash -s -- install --isolated. Can you give me command to install this.

shane
2017-12-05 02:15
can you please provide output of: `./drpcli contents list | jq '.[].meta.Name'` (you need the `jq` tool installed on the endpoint)

nguyenhappy92
2017-12-05 02:23
"BackingStore" "LocalStore" "DefaultStore" "BasicStore"

shane
2017-12-05 02:36
@nguyenhappy92 - you are missing the "content" that includes the BootEnvs for some reason

shane
2017-12-05 02:36
have you used the Web UX yet with your endpoint ?

shane
2017-12-05 02:37
the easiest way to get "content" installed is via the UX, via the "contents" panel

shane
2017-12-05 02:38
if you visit: `https://<IP_ADDRESS_OF_YOUR_DRP_ENDPOINT>:8092`

nguyenhappy92
2017-12-05 02:38

shane
2017-12-05 02:38
that is port 8091 - can you please visit HTTPS port 8092 for the same IP addr

nguyenhappy92
2017-12-05 02:38
Above present website

shane
2017-12-05 02:39
the web service on port 8092 is the TFTP directory contents

shane
2017-12-05 02:40
port 8092 is the API - and will also redirect a connection (for HTTPS) to the RackN Portal

nguyenhappy92
2017-12-05 02:40

shane
2017-12-05 02:40
log in to your endpoint with the user/pass (use defaults if you didn't change them)

nguyenhappy92
2017-12-05 02:40
yeah

shane
2017-12-05 02:40
nice

shane
2017-12-05 02:40
now go to `Contents` in lower left corner

shane
2017-12-05 02:41
(sorry - `Content Packages`)

shane
2017-12-05 02:41
you should see `drp-community-content` in the right side panel - click on the `Transfer` button for that content pack

nguyenhappy92
2017-12-05 02:43
I have transfer

shane
2017-12-05 02:44
you should be able to do the "uploadiso" commands from the command line now

shane
2017-12-05 02:44
for some reason the `drp-community-content` was missing - this includes the BootEnvs with the Operating System installation content necessary to be able to install CentOS/Ubuntu systems

shane
2017-12-05 02:45
usually this is installed by default during the installation phase, as long as the `--no-content` option is NOT specified

nguyenhappy92
2017-12-05 02:45
oh

nguyenhappy92
2017-12-05 02:46
Now I will finish other configuration

nguyenhappy92
2017-12-05 02:46
thank you.

shane
2017-12-05 03:00
you're welcome

greg
2017-12-05 03:45
@lae - fix going through build tests now.

greg
2017-12-05 04:22
builds are all cranking. I?ll let the channel now when they are finished.

greg
2017-12-05 04:51
- 3.4.1 is release. Should address @lae?s issue.

nguyenhappy92
2017-12-05 06:39
Hi all,

nguyenhappy92
2017-12-05 06:39
why run command line drpcli machines list not found

nguyenhappy92
2017-12-05 06:40

nguyenhappy92
2017-12-05 06:40
can you give me solve this case

nguyenhappy92
2017-12-05 06:40
thank you

nguyenhappy92
2017-12-05 06:41

greg
2017-12-05 15:01
@nguyenhappy92 - have you PXE booted a machine against the DRP instance? Where are your machines coming from? Are they physical? Are they virtual? Where is DRP running? have you configured a subnet?

lae
2017-12-05 15:32
@greg thank you, just pushed 3.4.1 and it's functioning

greg
2017-12-05 15:32
Cool! Thanks for testing it.

2017-12-05 15:54
trying to run digitalrebar latest stable ... for some reason dr_pr<ovisioner:master> keeps restarting

2017-12-05 15:54
ever seen that ?

greg
2017-12-05 15:54
Yes - it usually means I didn?t handle some start option. If possible check the logs and see what it is complaining about.

greg
2017-12-05 15:55
Make sure you are v3.4.1

shane
2017-12-05 15:55
you can check for version via `dr-provision --version`

2017-12-05 15:59
and where are the logs situated ? dummy question :-)

vlowther
2017-12-05 16:00
How are you running it?

2017-12-05 16:01
under Ubuntu with all the docker containers running

vlowther
2017-12-05 16:01
That sounds like DRv2

vlowther
2017-12-05 16:01
You probably don't want that.

shane
2017-12-05 16:01
Hmmm ... smells like time for an upgrade ... :slightly_smiling_face:

2017-12-05 16:02
well I cloned GitHub.com/digitalrebar

2017-12-05 16:02
and installed as per documentation ./run-in-system ... yadi-yadi-yada


2017-12-05 16:04
Either way, the logs for DRv2 are accessible via docker-compose

2017-12-05 16:04
cd into deploy/compose and run docker-compose logs -f dr-provision to see them.

2017-12-05 16:05
However, we are deprecating digitalrebar/digitalrebar in favor of digitalrebar/provision.

shane
2017-12-05 16:05
...and you are playing with Digital Rebar ver2 - and it's old - the new goodness is Digital Rebar Provision ver3 (DRPv3)

2017-12-05 16:05
The usual reason for the dr-provision container to not start involve not being able to grab the ports it needs

shane
2017-12-05 16:06
if you do choose to upgrade to DRPv3 - see our quickstart quide to get started: http://provision.readthedocs.io/en/latest/doc/quickstart.html

2017-12-05 16:07
yeah reason I wanted to run digitalrebar was for IPMI management and local ux

2017-12-05 16:09
if I pull docker file from dockers-hub on provision ... is it DRPv3 or older ?

greg
2017-12-05 16:09
Well - DRP has IPMI management in a couple of forms and the UX can be run locally, but you should talk to us about that use case.

greg
2017-12-05 16:09
DRP is a completely different deployment structure.

greg
2017-12-05 16:10
DRP is a single go binary.

2017-12-05 16:10
They are entirely seperate products

2017-12-05 16:11
ok will try DRPv3 in 2 mins

shane
2017-12-05 16:14
please make sure you do not have any IPtables rules blocking ports 67, 69, 8091, and 8092 - if you re-use the node that you tried to install DRv2 on ...

lae
2017-12-05 16:14
(yeah the single go binary is my number one reason why I heavily prefer DRP over the previous DRv2 :sweat_smile: )

greg
2017-12-05 16:14
@lae - were you using DRv2?

lae
2017-12-05 16:14
attempting to

lae
2017-12-05 16:14
lol

lae
2017-12-05 16:15
shortly before DRP was published?

lae
2017-12-05 16:15
so I guess my timing was apt

lae
2017-12-05 16:16
I got DRv2 to work for a bit but I recall having some issues where I couldn't exactly replace my existing setup with Pixiecore and an unmaintained project called Waitron and ultimately gave up

greg
2017-12-05 16:16
make sense

2017-12-05 17:04
up and running

2017-12-05 17:05
did latest stable install

2017-12-05 17:05
dr-provision2017/12/05 17:04:50.218192 Version: v3.4.1-0-8d49a776c3d7b40d2af07a356e7b33d2e2b99ca2

greg
2017-12-05 17:06
Great!

zehicle
2017-12-05 18:26
"up and running" < that should be the DRP slogan

zehicle
2017-12-05 18:26
not very creative tho

shane
2017-12-05 18:49
- Digital Rebar meetup v006 starts in just over 10 mins .... hope you can join us, via the Zoom link: https://zoom.us/j/3403934274

daniel.bernier
2017-12-05 20:34
has joined #community201712

shane
2017-12-05 21:35
the v006 meetup video is posted now - if you missed meetup and curious to learn about our Immutable Kubernetes solution ... etc... check it out: https://youtu.be/Z4jjN1wCtCM

daniel.bernier
2017-12-05 22:10
Hi any reason why I can?t run ../drpcli from docker exec ?

daniel.bernier
2017-12-05 22:11
docker exec -ti hungry_curie ?./drpcli bootenvs uploadiso sledgehammer? oci runtime error: exec failed: container_linux.go:265: starting container process caused ?exec: \?./drpcli bootenvs uploadiso sledgehammer\?: stat ./drpcli bootenvs uploadiso sledgehammer: no such file or directory?

daniel.bernier
2017-12-05 22:13
forget it

daniel.bernier
2017-12-05 22:13
works

schwartz.kylej
2017-12-06 00:48
has joined #community201712

vlowther
2017-12-06 13:47
Yeah, no containers for drp.

vlowther
2017-12-06 13:48
For drv2, we settled in containers as a delivery mechanism and as a basis for eventual distributed/ha work.

vlowther
2017-12-06 13:49
We decided that the additional overhead that required was too much work for drp, and that we should aim for a single binary deploy mechanism

vlowther
2017-12-06 13:52
In drv2 we were originally a rails + other things stack, and containers were a great way to provide the operating environment we wanted.

vlowther
2017-12-06 13:53
When we started refactoring parts out into smaller services written in go, that specialized environment aspect was less relevant.

vlowther
2017-12-06 13:56
When we decided to split out the provisioning bits of drv2 into their own product, Greg and I had enough expertise in go to be able to combine the bits we needed into a single binary that embedded everything we needed to bring the service up.

vlowther
2017-12-06 13:57
Which made the requirement we used to have for containers (and some of the UDP related issues they caused) to go away.

vlowther
2017-12-06 13:59
Also hi from kubecon.:grinning:

zehicle
2017-12-06 14:22
Note: There are users who package DRP in containers. It can work fine. It adds extra complexity for new users that can trip them up.

shane
2017-12-06 14:27
@schwartz.kylej welcome

daniel.bernier
2017-12-06 15:31
thanks guys ? have v3.4.1 running in docker

zehicle
2017-12-06 16:08
I think there's a dockerfile in the project @daniel.bernier - maybe too late to help

zehicle
2017-12-06 16:09
if you missed the community meetup -> there's a critical discussion half way in about atomic updates that's worth listening to

daniel.bernier
2017-12-06 16:13
will listen to it later tonight

daniel.bernier
2017-12-06 16:13
yes there is one, I forked it to run on stable instead of tiop

daniel.bernier
2017-12-06 16:13
tip

wdennis
2017-12-06 17:36
@wdennis uploaded a file: https://rackn.slack.com/files/U416T0AAX/F8AJ2U1UK/unknown-endpoint-notice.png and commented: Just upgraded to v3.4.1 - Any reason my endpoint is showing as "unknown"?

greg
2017-12-06 17:37
May not have updated the SaaS data database for that version.

wdennis
2017-12-06 17:38
How to check?

greg
2017-12-06 17:38
that is an our side problem. It is fine. The Saas database doesn?t know to say that it is latest.

greg
2017-12-06 17:38
It is fine. Trust me. :slightly_smiling_face:

wdennis
2017-12-06 17:40
@wdennis uploaded a file: https://rackn.slack.com/files/U416T0AAX/F8AMLGQ76/screen_shot_2015-05-12_at_3.31.31_pm.png and commented: Oh I trust you, @greg :wink:

zehicle
2017-12-06 18:01
I did the 3.4.0. Missed the update

greg
2017-12-06 18:02
I need to learn it.

daniel.bernier
2017-12-07 15:18
is there a way to comment reservations ? ? using MAC as a UID is quite not trivial

greg
2017-12-07 15:35
Currently, the reservation object doesn?t have a description or notes field.

greg
2017-12-07 15:36
@daniel.bernier - it does have a Meta struct that you could abuse, but it isn?t displayed in the UI.

greg
2017-12-07 15:36
This is a good feature request.

daniel.bernier
2017-12-07 15:36
ah great

daniel.bernier
2017-12-07 15:36
saw it through drpcli

greg
2017-12-07 15:37
I have a PR that will make the Meta field easily editable. It is a little hard to manipulate in stable.

greg
2017-12-07 15:37
Though a description field is easy to add and non-breaking to the API.

greg
2017-12-07 15:39
`drpcli reservations update <IP> '{ "Meta": { "desc": "my notes" } }'`

greg
2017-12-07 15:39
But I think that will only work once my tip changes make it in.

greg
2017-12-07 15:40
Now, another way to manipulate reservations (from config as code perspective) is to make a content bundle.

greg
2017-12-07 15:40
You can then set meta in that.

greg
2017-12-07 15:42
``` - Addr: 192.168.1.1 Meta: Description: Fred Rules Strategy: MAC Token: aa:bb:cc:dd:ee:ff ```

greg
2017-12-07 15:42
those a little more complex topics.

greg
2017-12-07 15:43
Maybe we should write up a `build your content bundle` doc

shane
2017-12-07 15:45
@greg - I have that in my list of doc thingz to tackle

daniel.bernier
2017-12-07 17:51
ok other newbie question for you all

daniel.bernier
2017-12-07 17:52
discovery with sledgehammer keeps in failed mode and I have no job-logs

daniel.bernier
2017-12-07 17:54
found that the job discovery start a gohai task and that task refers to a template which does not exist it seems

zehicle
2017-12-07 18:54
@daniel.bernier sounds like a bug or missed components some where - all of RackN is at KubeCon, so responses will be slower in community channel

daniel.bernier
2017-12-07 18:54
no prob

daniel.bernier
2017-12-07 18:54
find a way around it

greg
2017-12-07 19:34
@daniel.bernier when you can, what was the issue and workaround?

daniel.bernier
2017-12-07 19:41
I just bypassed gohai

daniel.bernier
2017-12-07 19:41
which was not a clean fix

wdennis
2017-12-07 23:28
Status: loving v3.4.1 :slightly_smiling_face:

wdennis
2017-12-07 23:28
Now I just gotta get that custom ks/preseed goodness

shane
2017-12-07 23:34
Hopefully we'll have that for you next week....

ctrees
2017-12-08 13:47
So any kubecon 2017 reports ? I'd especially like to hear about storage ideas :wink:

greg
2017-12-08 13:50
Wouldn?t we all

greg
2017-12-08 13:51
:grinning:

greg
2017-12-08 13:52
Haven?t seen. But. Persistent claim controllers and bridges to storage but not much details

daniel.bernier
2017-12-08 15:06
ok is there a repository for exemples such has part-scheme jsons, etc ?

greg
2017-12-08 15:38
Not really. We have the default one. We may build up more overtime. We are open to adding more.

daniel.bernier
2017-12-08 18:49
ok other bug

daniel.bernier
2017-12-08 18:55
if I clone ubuntu-16.04-install bootenvs I lose the InitRds value

daniel.bernier
2017-12-08 18:55
through UI even in Edit Mode I cannot define

daniel.bernier
2017-12-08 18:56
through DRPCLI I get the following error

daniel.bernier
2017-12-08 18:56
provision # ./drpcli bootenvs update ?etg-ubuntu-16.04-install? {?Initrds?:?install/netboot/ubuntu-installer/amd64/initrd.gz?} Error: Failed to generate changed bootenvs:etg-ubuntu-16.04-install object: invalid character ?I? looking for beginning of object key string

greg
2017-12-08 19:40
Make sure you use a single quote around the Json blob.

daniel.bernier
2017-12-08 20:28
got this instead Error: Failed to generate changed bootenvs:etg-ubuntu-16.04-install object: json: cannot unmarshal string into Go struct field BootEnv.Initrds of type []string

greg
2017-12-08 20:35
Make sure the initrds is a list

greg
2017-12-08 20:36
@daniel.bernier

greg
2017-12-09 19:32
- Hi All, the tip of the trees have been updated with all the stuff we showed and talked about at KubeCon. Also a couple of fixes in tip for gohai and some others. If you pick up *tip* content, you must use a *tip* DRP.

i.grischott
2017-12-09 19:55
thanks.

daniel.bernier
2017-12-09 20:10
Hi how can I debug a bootenv install ?

i.grischott
2017-12-09 21:43
what is wrong if i uploaded the iso..then


nkabir
2017-12-10 18:41
has joined #community201712

zehicle
2017-12-10 20:12
Welcome @nkabir

zehicle
2017-12-10 20:20
@i.grischott try restarting the service to see if it finds the iso. Most likely, the bootenv has a different iso reference

greg
2017-12-10 21:20
@i.grischott - the last error indicates that explode iso failed because the debian-9 iso you added doesn?t match the expected iso. This can happen if the iso failed to download cleanly, didn?t use the correct one the first time, or corrupt on upload. Debian is a little different because you have to download from the debian location and rename the file on upload.

i.grischott
2017-12-10 22:22
i use this link


i.grischott
2017-12-10 22:24
direct download to Boot ISOs would be nice..

i.grischott
2017-12-10 22:27
i would upload Container Linux ISO for Boot ISO and implement them for deploying on Bare Metal..

i.grischott
2017-12-10 22:41
i ran the dr-provision in a docker container.. is there an option to run it in silent mode? i don't need to see the output everytime..

greg
2017-12-11 00:05
@i.grischott - the link you used in the picture is for debian 8, but your reference debian 9.

greg
2017-12-11 00:05
@i.grischott - CoreOS is possible and I have done it before, but it is a little tricky in certain ways.

greg
2017-12-11 00:06
@i.grischott - The primary noise is for API calls. You can turn the API logging to none in the system prefs page of the UI.

greg
2017-12-11 00:50
@i.grischott - the link you used in the picture is for debian 8, but your reference debian 9.

i.grischott
2017-12-11 13:10
hi, thanks. i tried with debian 8 and 9 the same.. i downloaded from:


i.grischott
2017-12-11 13:10
or



i.grischott
2017-12-11 13:11
iso content:


i.grischott
2017-12-11 13:12
there is no subdir install/linux


wdennis
2017-12-11 13:15
Don?t you have to rename the Debian mini.iso before exploding it? (Downloads as just ?mini.iso?, but DRP expects it to be named ?debian-[8,9]-amd64-mini.iso?)

wdennis
2017-12-11 13:17
Not sure if downloading it thru the UX does the renaming or not

wdennis
2017-12-11 13:21
After renaming, have to HUP the dr-provision process to get it to inspect and re-process the isos

i.grischott
2017-12-11 13:27
i restarted the dr-provision server.. i tested with mini.iso and tested after renaming..

i.grischott
2017-12-11 13:42
i ran the provisioner server on container.. like this:


i.grischott
2017-12-11 14:09
The Exploding ISO for Debian search for "install" directory but there is no install-directory on the ISO.



i.grischott
2017-12-11 14:14
on other mirror there is a ISO with the subdir install.amd with the files initrd.gz, vmlinux...

greg
2017-12-11 14:19
It will explode it into install

greg
2017-12-11 15:04
@i.grischott - What did you use the UX for all of this?

greg
2017-12-11 15:20
Okay - @i.grischott - there is a drp bug when using the iso upload feature. It doesn?t use the name from the UX. It uses the filename from the filesystem. I?m fixing that.

greg
2017-12-11 15:21
Additionally, it appears that debian images have been updated that the checksum don?t match anymore. I?ll fix that as well.

i.grischott
2017-12-11 15:24
:+1:

ctrees
2017-12-11 15:49
Sort of off-subject, but the 'rackn' crew was doing heavy bind (and ansible)... is there a ansible-galaxy 'author' or 'package' you'd use for BIND ?

ctrees
2017-12-11 15:50
or better yet... is RackN pushing ansible playbook stuff back to galaxy :wink:

greg
2017-12-11 15:52
We rolled our own in a container in the DRv2 code base. We also had a go-binary that managed managed to give us a RESTFul API that could config DNS.

greg
2017-12-11 15:52
The go-binary could talk nsupdate to raw things, POWER DNS, and local bind config.

greg
2017-12-11 15:52
The container just had bind and the go-binary. We didn?t really role ansible much for that.

ctrees
2017-12-11 16:10
ok... yea I was looking for patterns for naming and service discovery... I'll look into the k8s patterns... kubespray must have to deal with it somehow

ctrees
2017-12-11 16:11
but thanks... I didn't know of POWER DNS

greg
2017-12-11 16:14
@i.grischott - I?ve update tip content to fix the checksum to match the latest. Update drp-community-content to tip should fix the checksum part.

greg
2017-12-11 16:17
The DRP fix for using the name and not the browser?s filesystem nam is trickling through the system. Hopefully within the next hour or so it will complete.

shane
2017-12-11 19:14
- if you're interested in Kubernetes ... and Digital Rebar (!!) you might like to check out our Webinar we'll be running on Immutable Kubernetes with Digital Rebar Provision: http://bit.ly/2BCpFGk

zehicle
2017-12-12 22:23
If you missed the 5-minute Kubernetes install we did at Kubecon, here's a recap of the demo https://youtu.be/OMm6Oz1NF6I

zehicle
2017-12-12 22:23
we'll go into more detail on Thursday

zehicle
2017-12-13 05:49
Small update for the UX - we added dynamic updates to all the list views today. If things are running behind the scenes, you will see live changes as they happen on the lists. This is very helpful on the machines & bulk edit screens.

ctrees
2017-12-13 14:54
So, THAT is the ssh less method ? (aka all the config is in the local node setup via DRP.... THEN it's handed over to kubctl... (look ma, no node ssh !)

ctrees
2017-12-13 14:57
so all machine control coms is through kubectl via the proxy you setup, and if you want to pull a node out, you use the DRP IPMI ?? to force PXE reboot at which time sledge can setup a new local config ??

greg
2017-12-13 14:59
yes - though - you could build a new workflow, that drained the node, and offlined it, and then rebooted it back to sledgehammer.

ctrees
2017-12-13 15:09
wait... in the workflow that 'drained the node' how would that work ? seems like you'd have to talk to kubectl ? so DRP would need to know of the gateway that had the kubectl (or was that why rob started the local kube proxy)...

ctrees
2017-12-13 15:10
I should say in your new workflow...

greg
2017-12-13 15:10
Well, the local kubectl proxy is so that he could access the UI.

greg
2017-12-13 15:11
I?d have to check what powers the kubelet cert conf file has. I could see two workflows styles being built.

ctrees
2017-12-13 15:11
Oh... right... in your thought example you would need DRP to know about that mech ?? correct ?? t

greg
2017-12-13 15:12
1. single node workflow that kubelet cert has enough to run kubectl on itself to drain, mark offline, and then reboot. that is really easy.

greg
2017-12-13 15:12
actually, nvm. This is ?easy?.

greg
2017-12-13 15:12
Workflow is this:

greg
2017-12-13 15:12
create a task call `drain-me`.

greg
2017-12-13 15:12
as a template.

greg
2017-12-13 15:13
Use the Profile Token expansion to get a token to read the admin conf creds. Download kbuectl if not already present.

greg
2017-12-13 15:13
call kubectl drain (admin conf has ip of admin in it).

greg
2017-12-13 15:13
call kubectl off line

greg
2017-12-13 15:14
both with admin creds pulled from DRP Profile (with limited access token).

greg
2017-12-13 15:14
That that task and create a stage, ?decommision-k8s-node? and put the drain me task on it.

greg
2017-12-13 15:15
Then create a workflow `decommision-k8s-node -> discover:Reboot`

greg
2017-12-13 15:15
When you are done with a node, set the stage to `decommission-k8s-node`.

greg
2017-12-13 15:15
The node wil drain, offline, and reboot back into discovery.

greg
2017-12-13 15:16
Or you could set the stage to `mount-local-disks` if you wanted to readd it directly to the cluster.

greg
2017-12-13 15:16
The decommission set could also remove the profile if you really wanted to clean it.

greg
2017-12-13 15:17
So, you could update k8s this way, I think, as well.

greg
2017-12-13 15:17
The master is a little sketchy in this .

ctrees
2017-12-13 15:18
aw... the 'key' to my understanding is "call kubectl drain (admin conf has ip of admin in it)."

greg
2017-12-13 15:19
So, the profile that is the shared write space for the cluster has the admin.conf file in it.

ctrees
2017-12-13 15:19
basically in my head, I was attempting to follow the command protocals that are talking when your not ssh'n to a local user....

greg
2017-12-13 15:19
well - this wouldn?t require ssh.

greg
2017-12-13 15:19
It requires that the DRP runner is still running.

greg
2017-12-13 15:19
Then the task execution will run if something shows up

ctrees
2017-12-13 15:22
Awh... the DRP runner is running as local auth on the node... which was what rob mentioned but I was not sure how...

ctrees
2017-12-13 15:23
and I get you also have the flexibility to NOT do that :wink:

greg
2017-12-13 15:23
Yes, but you lose take-over actions (other than reboot back to sledgehammer).

greg
2017-12-13 15:24
For the ram-only case, sledgehammer-wait is still running the runner.

greg
2017-12-13 15:24
for the centos-install case, the runner-server stage as the runner as a systemd service that runs on startup in the follow on boot and is left running as a consequence of the complete stage.

vlowther
2017-12-13 18:43
Coming Soon to a tip DRP near you: port aliveness and availability checking with drpcli info status

vlowther
2017-12-13 18:46
Soonish: runtime stats via event stream.

vlowther
2017-12-14 21:39
So, next cool in-progress thing: the ability to run DRP without needing to upload ISO images or sledgehammer

vlowther
2017-12-14 21:40
I am adding the ability for DRP to transparently proxy the HTTP and TFTP requests needed to PXE boot systems to user-defined remote URLs.

vlowther
2017-12-14 21:41
This piggy-backs on top of the package-repositories support I added a month or so ago.

vlowther
2017-12-14 21:43
As long as the kernel and initrd files are present in the remote repo in the relative locations defined by the bootenv, DRP will be able to act as an intermediate proxy for all incoming TFTP and HTTP requests for these files.

vlowther
2017-12-14 22:18

zehicle
2017-12-14 23:05
@vlowther so could all the packet DRPs share a sledgehammer then?

vlowther
2017-12-14 23:06
Yep.

ctrees
2017-12-15 14:08
So the Endpoint can run on a pie now :wink:

greg
2017-12-15 14:10
Could for a while. :slightly_smiling_face:

greg
2017-12-15 14:11
Just in time for the Holiday Season

marc.heckmann
2017-12-15 16:20
has joined #community201712

florent.wagener
2017-12-15 16:24
has joined #community201712

marc.heckmann
2017-12-15 16:27
Hello. I'm just starting to play with DR provision and I have a quick question: I've got everything up and running correctly (easy :thumbsup: ), but now I would simply like to start testing by adding a new bootenv. I can't seem to make that happen. Either through the UX, the CLI or the Swagger UI. I keep getting errors. I'd like to add a simple CoreOS bootenv, but I have a hard time wrapping my head around the Templates section of the bootenv and the relationship between Template in bootenvs and separate Template section.

shane
2017-12-15 16:27
@marc.heckmann and @florent.wagener welcome

marc.heckmann
2017-12-15 16:27
thanks.

florent.wagener
2017-12-15 16:28
@shane thanks :slightly_smiling_face:

shane
2017-12-15 16:28
have you used the UX yet ?

marc.heckmann
2017-12-15 16:28
yes.

shane
2017-12-15 16:28
it makes "following" the flow easier - as you can "expand" or "click through" to each of the sub-parts

shane
2017-12-15 16:29
start w/ BootEnvs - example of centos or ubuntu

marc.heckmann
2017-12-15 16:29
But I keep getting an error about Template ID when I clone -> edit a new Bootenv

shane
2017-12-15 16:29
hmmm ... the UX is still in "Beta" - and has some rough edges - but I thought we had ironed out that one recently

florent.wagener
2017-12-15 16:30
```Error Templates[3]: No common template for Template ID``` is what @marc.heckmann is talking about

marc.heckmann
2017-12-15 16:30
Yes and some others too. A bunch of stuff around the templates.

florent.wagener
2017-12-15 16:30
I have the same issue trying to clone the default discovery bootenv.

florent.wagener
2017-12-15 16:30
(we work together btw)

shane
2017-12-15 16:31
from the CLI - you can do similar actions: ```drpcli bootenvs list drpcli bootenvs list | jq '.[].Name' dprcli bootenvs show centos-7-install dprcli bootenvs show centos-7-install > example-bootenv.json # vim example-bootenv.json drpcli bootenvs create - < example-bootenv.json```

marc.heckmann
2017-12-15 16:31
I guess more generally there is a bunch of stuff that isn't clear to me about the role of templates in the bootenv vs the other common templates.

marc.heckmann
2017-12-15 16:31
+ how the chaining of pxelinux/elilo/ipxe is supposed to work

marc.heckmann
2017-12-15 16:32
If I look at the standard bootenvs that are shipped, they seem to define templates in them and how is that different from the other "common" templates?

marc.heckmann
2017-12-15 16:34
I will try your suggested drpcli flow


marc.heckmann
2017-12-15 16:35
I read through it, yes.

marc.heckmann
2017-12-15 16:36
This line is pretty clear: "The templates can be in-line in the BootEnv object or reference a Template. "

marc.heckmann
2017-12-15 16:36
but I can't get the referencing to work

greg
2017-12-15 16:36
template must exist first.

marc.heckmann
2017-12-15 16:37
it does

greg
2017-12-15 16:37
ok - just making sure.

marc.heckmann
2017-12-15 16:37
Another question: Why do the elilo/pxelinux/ipxe templates seem to be required?

marc.heckmann
2017-12-15 16:38
How are they chained to together in the flow.

greg
2017-12-15 16:41
I can describe it. It will be 30 minutes or so before I can get to it.

marc.heckmann
2017-12-15 16:42
ok. NP :slightly_smiling_face:

vlowther
2017-12-15 16:49
The elilo/pxelinux/ipxe templates are required because we need to be able to render them on a per-machine basis to have machines boot into the "right" boot environment with the proper parameters.

vlowther
2017-12-15 16:50
The ones we provide should do the right thing in thye majority of cases.

marc.heckmann
2017-12-15 16:51
ok. But in the flow what is the actual filename sent by TFTP in the PXE flow: pxelinux?

marc.heckmann
2017-12-15 16:51
I'm assuming so

vlowther
2017-12-15 16:52
To include a template in-line on a bootenv, leave the ID field blank and provide the template to be expanded inline in the Contents field

vlowther
2017-12-15 16:52
To use a shared template, have the ID field be the same as the ID of the shared template, and leave Contents blank

vlowther
2017-12-15 16:53
It is an error tp leave both blank or have both filled out -- you will get an explanatory error if you do that.

marc.heckmann
2017-12-15 16:53
Why have both possibilities though? Why not just use a reference?

marc.heckmann
2017-12-15 16:54
Sorry, I guess it's a little confusing for a first time user :slightly_smiling_face:

marc.heckmann
2017-12-15 16:54
But I get it now

vlowther
2017-12-15 16:54
No worries.

vlowther
2017-12-15 16:55
The actual name that you would fetch the template by over TFTP or HTTP is the Path field

marc.heckmann
2017-12-15 16:55
So I managed to successfully create a new bootenv. Time test it !

marc.heckmann
2017-12-15 16:55
ok, but which one is the one pointed to by the "filename" DHCP option?

marc.heckmann
2017-12-15 16:56
and after that, where do ixpe + elilo fit?

vlowther
2017-12-15 16:57
http://provision.readthedocs.io/en/latest/doc/arch/data.html#rs-data-architecture is the best guide for what the various things you can expand in a template are.

vlowther
2017-12-15 16:57
That is the fun part.

vlowther
2017-12-15 16:59
well, the "filename" option by default points at lpxelinux.0

marc.heckmann
2017-12-15 16:59
right, so if I recall from that document, lxpelinux.0 or EFI bootx64 is first sent

vlowther
2017-12-15 16:59
and pxelinux does the usual tftp waterfall to find a config file

marc.heckmann
2017-12-15 16:59
And then how do we get to ixpe?

vlowther
2017-12-15 17:00
and it finds the config file we wrote for it at pxelinux.cfg/{{.Machine.HexAddress}}

vlowther
2017-12-15 17:01
In the default config, we don't use ipxe

marc.heckmann
2017-12-15 17:01
ok, so I'll have figure out how to start using it

marc.heckmann
2017-12-15 17:02
(It's not strictly required, but just sort of as an experiment)

vlowther
2017-12-15 17:02
I ahve encountered systems where ipxe failed due to nic formware bugs/spanning tree issues/other networking issues

marc.heckmann
2017-12-15 17:02
ok.

marc.heckmann
2017-12-15 17:03
Next silly question: How to actually associate my new bootenv to an existing machines that's gone through the discovery process?

marc.heckmann
2017-12-15 17:03
At first glance, it seems that I need to create a "stage" associated w/ my bootenv?

shane
2017-12-15 17:04
that would be the best solution - then you create Workflow to move a machine through the stages to final install point

vlowther
2017-12-15 17:04
You can do that

marc.heckmann
2017-12-15 17:05
So my ideal workflow would be something like: UnknownMachine->Discover->AddtoInventory

marc.heckmann
2017-12-15 17:05
Then another would be TakeMachinefromInventory->DeployOS

marc.heckmann
2017-12-15 17:06
Maybe with a burnin step after discovery

marc.heckmann
2017-12-15 17:06
can we have multiple workflows or should that all be in one workflow?

vlowther
2017-12-15 17:07
You must change stage whenever you want to change boot environment

vlowther
2017-12-15 17:08
Otherwise, the worflow systems is pretty flexible.

vlowther
2017-12-15 17:11
@vlowther pinned a message to this channel.

vlowther
2017-12-15 17:11
@vlowther pinned a message to this channel.

vlowther
2017-12-15 17:13
I went ahead and pinned a couple of older messages with examples for DHCP option 67.

vlowther
2017-12-15 17:14
you would need to add/change option 67 in your subnets and/or reservations to tweak what the DHCP server will serve.

marc.heckmann
2017-12-15 17:15
ok, so I can do it per host. cool.

vlowther
2017-12-15 17:15
Yep

vlowther
2017-12-15 17:16
Options for reservations and subnets stack based on the relavent IP address

vlowther
2017-12-15 17:16
You can even create reservations that are outside a subnet

vlowther
2017-12-15 17:17
but you have to provide all the options in that case. :slightly_smiling_face:

marc.heckmann
2017-12-15 17:21
ok. So if I understand correctly the profile associated to a machine is the entry point into a given workflow?

marc.heckmann
2017-12-15 17:22
A new unknown machine will always have no profile in which case, the generic "global" profile applies?

vlowther
2017-12-15 17:22
The stage.

marc.heckmann
2017-12-15 17:22
hmm. lost you there.

vlowther
2017-12-15 17:22
Profiles are bags that hold parameters

marc.heckmann
2017-12-15 17:22
ok.

vlowther
2017-12-15 17:22
and machines can have any number of them.

marc.heckmann
2017-12-15 17:23
But looking at the Workflow page in the UX, it seems to be associated to a profile.

vlowther
2017-12-15 17:23
they act as a mechanism to provide parameters that shou78ld be shared across some subset of machines.

marc.heckmann
2017-12-15 17:23
ok. So we have a one -> many relation between machines and profiles

shane
2017-12-15 17:24
yes - and the Workflow system uses the `change-stage/map` Param type to manage the workflow stages

shane
2017-12-15 17:25
this Param can be contained in a Profile - which is attached to a Machine ...

shane
2017-12-15 17:25
for example - if you place it in "Global" profile, it applies to ALL machines provisioned - without being explicitly referenced

shane
2017-12-15 17:25
but - if you place it in a "my-workflow" profile - you must attach that Profile to a Machine

shane
2017-12-15 17:26
you can technically attach the Param to the machine directly - not via a Profile, as well ...

marc.heckmann
2017-12-15 17:26
ok. So a machine could have several workflows associated to it?

shane
2017-12-15 17:26
yep

shane
2017-12-15 17:26
you can have "fan-in" and "fan-out" with your workflows

marc.heckmann
2017-12-15 17:26
And how would the ordering of workflows be handled?

shane
2017-12-15 17:26
you can have several workflow steps

shane
2017-12-15 17:27
and you might choose to "orchestrate" those workflows externally - for example -we have a Terraform provider which does exactly that

vlowther
2017-12-15 17:27
fanout is not really solved with the current system. :confused:

shane
2017-12-15 17:27
(on the road map ... :slightly_smiling_face: )

marc.heckmann
2017-12-15 17:27
ok, I don't get what you mean by fan-in vs fan-out

shane
2017-12-15 17:28
the example Terraform provider does (basically): workflow 1: discover --> terraform-ready workflow 2: centos-7-install --> ssh-keys --> complete terraform initiates the change from "workflow 1" to "workflow 2"

shane
2017-12-15 17:29
fan-in means you can have multiple "stages" that a Machine might "find itself" in - and if it matches one of those stages, then advance in the workflow

vlowther
2017-12-15 17:30
Ignore fan-in and fan-out for now.

vlowther
2017-12-15 17:30
:slightly_smiling_face:

marc.heckmann
2017-12-15 17:30
ok. that's always nice :slightly_smiling_face:

marc.heckmann
2017-12-15 17:31
So for the workflow change from 1 to 2 that Terraform can do, technically speaking, how is that achieved: API call to change profile on the machine object?

vlowther
2017-12-15 17:31
API call to change stage.

vlowther
2017-12-15 17:32
discover, terraform-ready, etc. are all stages

marc.heckmann
2017-12-15 17:32
ok. I guess I lost you there. How does a stage change initiate another Workflow?

vlowther
2017-12-15 17:33
We basically chain them together.

vlowther
2017-12-15 17:34
the change-stage/map parameter consists of a map of currentStage: nextStage:action

vlowther
2017-12-15 17:35
so if we run all the tasks in the current stage successfully, we will update the machine to use the next stage and reboot if the boot environment says so.

marc.heckmann
2017-12-15 17:35
At this point, I probably need to get my hands a little dirtier with it to figure things out. Thanks for the help ! I'm sure you'll hear from us again!

vlowther
2017-12-15 17:35
(taht is, if the new stage wants a boot environment other than the one we are in)

marc.heckmann
2017-12-15 17:37
ok. one last thing: I understand that provision doesn't handle firmware updates, but we could create a stage that does that right?

vlowther
2017-12-15 17:39
Sure. I ahve been working on one for Dell gear that uses the DSU tool and its associated repos.

2017-12-15 17:39
Time to feed the :bear:!

vlowther
2017-12-15 17:39
and a more generic and finicky one for other systems.

marc.heckmann
2017-12-15 17:39
Obviously OOBM server control is something that we might build a higher level wrapper for (we actually want to tie all this in with Digital Ocean's Netbox: https://github.com/digitalocean/netbox)

vlowther
2017-12-15 17:40
and I eagerly awaiy the day this stuff comes to a semblance of standardization.

marc.heckmann
2017-12-15 17:40
I imagine the full fledged DigitalRebar product is already using "provision" ?

vlowther
2017-12-15 17:43
provision is a streamlined and simplified version or the older DigitalRebar product.

lae
2017-12-15 17:43
netbox woo

marc.heckmann
2017-12-15 17:44
right but the older product supports things like configuring IPMI + firmwares, but it does not yet leverage provision internally? Or is that something that you have yet to build around provision?

lae
2017-12-15 17:44
if you're using ansible might I suggest using my ansible role for maintaining netbox? :wink:

vlowther
2017-12-15 17:45
Don't let the device42 guys hear you say that. :slightly_smiling_face: We have a few of them hanging around here.

marc.heckmann
2017-12-15 17:45
@lae I think we already have something for Netbox, we're already pretty deeply invested in it.

marc.heckmann
2017-12-15 17:45
What is device42?

lae
2017-12-15 17:45
another dcim solution

marc.heckmann
2017-12-15 17:46
ok :slightly_smiling_face: I happen to love the elegance and simplicity of Netbox, but other solutions have their advantages too.

lae
2017-12-15 17:46
and yeah, same here, hence why I have a pretty battle-tested netbox ansible role (that has actually caught a bug in netbox before rolling out to prod hah)

marc.heckmann
2017-12-15 17:47
My DC team has one big grippe w/ netbox which is the lack of proper cable plant support (the famous issue #20 https://github.com/digitalocean/netbox/issues/20) but that will come eventually

greg
2017-12-15 18:06
@marc.heckmann DRP has content packages and plugins that allow for IPMI configuration and driving today. We are porting over the Bios/Raid/Component update pieces.

greg
2017-12-15 18:07
For example, there are plugins that allow for IPMI operations for bare metal, http://packet.net, and virtualbox.

marc.heckmann
2017-12-15 18:07
@greg ok, I'll check out those packages.

marc.heckmann
2017-12-15 18:07
Nothing for DNS yet?

greg
2017-12-15 18:08
well - we did in DRv2, but could do it. We actually have some requests to port that over. I?m mixed. Users have lots of different plans for that.

greg
2017-12-15 18:08
I?m going slowly.

greg
2017-12-15 18:08
I could envision a plugin that updates DNS based upon provisioning events. Do able, but not sure that is an immediate priority.

greg
2017-12-15 18:09
I can see workflow tasks that update DNS from the machines as well. lots of paths.

marc.heckmann
2017-12-15 18:09
ok. I guess it wouldn't be too difficult for us to add a stage for that. I'm thinking of integration into some sort of an API driven DNS.

greg
2017-12-15 18:11
Yeah - that is the point. We have a tool rebar-dns that is a go program in DRv2 that could be pulled over that provided a RESTFUL endpoint for updating and controlling DNS.

greg
2017-12-15 18:11
It could manage BIND locally, send messages to PowerDNS, or call nsupdate for ?open? updates.

florent.wagener
2017-12-15 20:23
i'm trying to do a basic centos-7 install using DRP, unfortunately I am hitting an issue here. During the installation, this error is poping: `failed to fetch kickstart from http://192.168.1.253:8091/machines/<UUID>/compute.ks`

florent.wagener
2017-12-15 20:24
I am surely missing something but can't find what.

vlowther
2017-12-15 20:24
well...

vlowther
2017-12-15 20:25
localhost is definitly not a good sign

vlowther
2017-12-15 20:25
that should be an address on DRP

florent.wagener
2017-12-15 20:26
oh it's not localhost, the url is http://192.168.1.253:8091/

florent.wagener
2017-12-15 20:27
and after that error, the server enters the emergency mode

vlowther
2017-12-15 20:27
ok

vlowther
2017-12-15 20:28
The server you are trying to provision?

florent.wagener
2017-12-15 20:28
yeah

vlowther
2017-12-15 20:28
ok

florent.wagener
2017-12-15 20:28
my DRP server is 192.168.1.253

florent.wagener
2017-12-15 20:29
the install is fresh and the discovery is working like a charm

vlowther
2017-12-15 20:29
does curl -fgL http://192.168.1.253:8091/machines/<UUID>/compute.ks from the machine dr-provision is running on give you anything?

florent.wagener
2017-12-15 20:30
It is displaying the kickstart yes.

vlowther
2017-12-15 20:31
ok

vlowther
2017-12-15 20:31
Is the server you are trying to provision on the same subnet as the server running dr-provision?

vlowther
2017-12-15 20:33
or are they on different subnets

florent.wagener
2017-12-15 20:35
no they're not

florent.wagener
2017-12-15 20:35
but it works in the dracut shell

vlowther
2017-12-15 20:35
is just looking for what the network layout looks like

florent.wagener
2017-12-15 20:36
through the default gateway

vlowther
2017-12-15 20:36
hm

vlowther
2017-12-15 20:36
so in the dracut shell you could curl/wget the kickstart?

florent.wagener
2017-12-15 20:36
yeah

vlowther
2017-12-15 20:36
ok

vlowther
2017-12-15 20:38
Have you tried bouncing the server to see if the the problem comes back?

florent.wagener
2017-12-15 20:38
yeah

florent.wagener
2017-12-15 20:39
got the error everytime I try :slightly_smiling_face:

vlowther
2017-12-15 20:39
That is interesting. :confused:

florent.wagener
2017-12-15 20:40
I'm looking with @marc.heckmann, we think we know what it is (possibly vagrant management network)

florent.wagener
2017-12-15 20:40
we testing in a virtual environment

vlowther
2017-12-15 20:40
I wou8ld be curious to see what (if anything) is in the logs from anaconda

vlowther
2017-12-15 20:40
hm hm.

florent.wagener
2017-12-15 20:41
I think we need to tell kickstart what NIC to use.

florent.wagener
2017-12-15 20:43
it looks like ksdevice=bootif is not working.

vlowther
2017-12-15 20:43
What does networking look like in your Vagrant env?

vlowther
2017-12-15 20:43
ok, that is really weird.

vlowther
2017-12-15 20:44
Competing DHCP servers, perhaps?

florent.wagener
2017-12-15 20:44
it's point to point tunnel through a virtual switch: https://github.com/CumulusNetworks/topology_converter

florent.wagener
2017-12-15 20:44
we're looking at competing DHCP servers.

vlowther
2017-12-15 20:44
Are you using the DHCP server built in to DRP?

florent.wagener
2017-12-15 20:44
yes

vlowther
2017-12-15 20:45
and another one at the same time, it looks like. :confused:

vlowther
2017-12-15 20:46
If you turn on DHCP logs via the UX (just set it to a value other than Off)

vlowther
2017-12-15 20:46
then the logs for DRP will probably show what DHCP server is conflicting.

vlowther
2017-12-15 20:49
Or even if the logs are Off.

vlowther
2017-12-15 20:50
@greg We need a wayt to surface subsystem logging in the UX.

greg
2017-12-15 20:50
@vlowther Agreed.

florent.wagener
2017-12-15 20:52
It really looks like other interface (Vagrant mgmt network) was up, at least temporarily, via DHCP despite the fact that we told KS to explicitely use another interface as BOOTIF

florent.wagener
2017-12-15 20:53
Here's the weird thing: `BOOTIF=01-a0-00-00-00-00-52` . The `01` prefixed at the beginning is not part of the MAC. Where does that come from?

florent.wagener
2017-12-15 20:54
Don't know if that's normal or not

florent.wagener
2017-12-15 20:54
Going to dig a little deeper

vlowther
2017-12-15 20:54
01 indicates that it is an Ehternet device, IIRC

vlowther
2017-12-15 20:55
It is totally normal.

greg
2017-12-15 20:55
yes to ethernet device. It is normal.

greg
2017-12-15 20:56
Vagrant is tricky, I think. I use virtualbox without vagrant to avoid the interface problems.

vlowther
2017-12-15 20:57
and I use kvm via a couple of wrapper scripts.

florent.wagener
2017-12-15 20:58
We don't have a choice unfortunately. We'll figure this out. The weird thing is that the dracut environment has the vragant interface up temporarily and then by the time everything times out we drop to shell, we only have the correct interface up.

vlowther
2017-12-15 20:58
Historically, Vagrant has tried to be helpful in ways that are the opposite for testing our provisioning code.

florent.wagener
2017-12-15 20:58
I guess it's normal since we've not even at kickstart yet.

florent.wagener
2017-12-15 21:17
Actually, looking at the Dracut logs, we see that Dracut does the right thing and Vagrant NIC is never brought up

florent.wagener
2017-12-15 21:18
the problem is something else

florent.wagener
2017-12-15 21:19
It looks like the DHCP lease refresh time is really short: 30sec

greg
2017-12-15 21:23
Yes - probably. You can change that in your subnet definition.

greg
2017-12-15 21:23
The active lease time is meant to be short by default, but you can change it.

florent.wagener
2017-12-15 21:27
Lease renewal isn't the issue there. Just tried it.

florent.wagener
2017-12-15 21:27
Found the problem: No space left on device to save the KS file :slightly_smiling_face:

vlowther
2017-12-15 21:28
ah, well, then.

vlowther
2017-12-15 21:29
Not enough memory?

florent.wagener
2017-12-15 21:29
looks like it couldn' t mount a loop device

florent.wagener
2017-12-15 21:29
1GiB of RAM. Enough?

vlowther
2017-12-15 21:30
I don't actually know what the minimum for a CentOS install is these days.

florent.wagener
2017-12-15 21:30
hmmm

shane
2017-12-15 21:31
Try 1.5 GiB - I think I ran in to that before

shane
2017-12-15 21:31
And 1.5 worked

vlowther
2017-12-15 21:31
I give my KVM slaves 4 GB each

florent.wagener
2017-12-15 21:33
It's actually complaining about bad superblock, etc.. when trying to mount the loop device

vlowther
2017-12-15 21:34
During the OS install, or during Sledgehammer?

florent.wagener
2017-12-15 21:35
OS install in dracut

vlowther
2017-12-15 21:39
That sounds like file corruption somewhere along the way.

florent.wagener
2017-12-15 21:40
seems to work w/ 2GiB

florent.wagener
2017-12-15 21:41
Thanks for the help guys :)

greg
2017-12-15 21:50
:slightly_smiling_face: YEAH!

jtyo
2017-12-15 22:25
has joined #community201712

dsternesky
2017-12-15 22:45
has joined #community201712

shane
2017-12-15 23:06
@jtyo and @dsternesky welcome

jtyo
2017-12-15 23:14
@shane Thank you!

mroth
2017-12-15 23:35
has joined #community201712

wdennis
2017-12-16 02:42
@lae on Galaxy?

lae
2017-12-16 06:42

lae
2017-12-16 06:43
(stats were reset on accident yesterday so don't mind it :sweat_smile:)

shane
2017-12-16 15:12
@mroth welcome

2017-12-17 22:51
hi

2017-12-17 22:52
How rebar manage dhcp or dns ? does it embedded this services ? or use existing ones like isc dhcpd or bind ?

shane
2017-12-17 23:55
hi @chronidev - Digital Rebar Provision (DRP) does contain an embedded DHCP service (DHCP, TFTP, PXE, and HTTP, and HTTPS for API). you can also use any external DHCP server (turn off the embedded DHCP server), or you can use Proxy DHCP service within DRP

shane
2017-12-17 23:56
however, we do not have any embedded DNS services ... though through the Workflow management system, it's fairly trivial to write a Stage that would be able to add dynamic DNS update capabilities to external DNS services

shane
2017-12-17 23:57
we are looking at reviving some of our older DNS integration code for our newer DRP service, but at the moment, it is not integrated in todays product

shane
2017-12-17 23:57
you can find some of the documentation on DHCP in our docs at: http://provision.readthedocs.io/en/latest/doc/configuring.html

zehicle
2017-12-18 01:43
also, @chronidev, a key difference w/ DRP DHCP is that it is API driven. While, you can pre-configure using content packages or pre-positioning config files, the primary design pattern is to use the API to make atomic updates. You can also subscribe to DHCP events via websockets (really, any DRP activity).

zehicle
2017-12-18 01:46
I just heard a shout out to Netbox on Packetpushers Podcast (#112) - the one about data center environments.

vlowther
2017-12-18 21:33
ok, question time.

solidgrid
2017-12-18 21:33
has joined #community201712

vlowther
2017-12-18 21:34
I am comtemplating turning repostitory management stuff currently managed via the provisioner-repos param into a new top-level object in the API

vlowther
2017-12-18 21:34
tenatively called Repos.

vlowther
2017-12-18 21:36
How many of y'all are using the package-repositories functionality?

vlowther
2017-12-18 21:36
I want to get an idea of what the impact of migrating things will be.

wdennis
2017-12-18 23:14
@vlowther what even is the ?package-repositories? functionality? I just consume the ?official? upstream repos...

shane
2017-12-18 23:19
@lae are you using the provisioner-repo functions ?

shane
2017-12-18 23:19
@wdennis that's one vote for "no, I don't use it", then :slightly_smiling_face:

lae
2017-12-18 23:53
@shane I have yet to make the switchover to it

shane
2017-12-18 23:54
ok - good - @vlowther is looking to make some changes to integrate the repo handling a bit better, but it'll break current usage

lae
2017-12-18 23:54
yeah, that's fine with me

lae
2017-12-18 23:56
btw @wdennis when you're limited by a 500mbit pipe to the internet being shared across an entire DC (meant to be consumed internally mostly, hence the limitation), provisioning 10 machines using an internet facing repo is really slow

2017-12-19 01:17
This message was deleted.

wdennis
2017-12-19 01:17
You have to mirror (or cache) then

shane
2017-12-19 01:18
which is what the `provisioner-repos` param is for :slightly_smiling_face:

wdennis
2017-12-19 01:18
@lae yup, understand

wdennis
2017-12-19 01:19
Jeez, I fail at Slack

shane
2017-12-19 01:20
:slightly_smiling_face:

wdennis
2017-12-19 01:20
So you can delete a msg with a threaded reply then...

shane
2017-12-19 01:20
threaded replies are stupid (IMO)

wdennis
2017-12-19 01:20
It was accidental even

shane
2017-12-19 01:21
I guess in very active slack channels, it allows for "side conversations" ... but they did a horrible job of the UI - it's nearly impossible to follow threads

wdennis
2017-12-19 01:22
Yeah, I guess they wanted to keep sidebars out of the main flow, but agree to the confusing UI implementation

wdennis
2017-12-19 01:23
You folks still looking at image-based OS installs?

shane
2017-12-19 01:25
oh yes

shane
2017-12-19 01:26
we have a customer implementation that uses "curtin" as the piece to lay down the images - but it's not a very good implementation - we're still looking at other tools to do a better job of the bare metal prep for the image - I believe one strong contender is "ignition" from CoreOS - but that piece isn't baked yet

shane
2017-12-19 01:27
I doubt we'll release the "curtain" based solution simply because it's too limited and highly customized for the one customer implementation

wdennis
2017-12-19 01:28
Hopefully that?ll make the ?open core? cut

shane
2017-12-19 01:29
I don't have any info for you on that front - sorry ...

wdennis
2017-12-19 01:30
N/p - just would be cool

shane
2017-12-19 17:17
- our v007 community online meetup starts in just under 2 hours (11am PST). Check out the agenda at: https://docs.google.com/document/d/1BoWbo114IOT4HInnlfZB6KmDgqyxtQX2_qkzpbxEp1o


zehicle
2017-12-19 19:01
Meeting is starting now: https://zoom.us/j/3403934274


shane
2017-12-21 18:05
- the v007 meetup recording is available at: https://youtu.be/ZEkzMKhe0f4 Great discussions on: - KubeCon/CloudNativeCon recap and insights - updates to the DRP Terraform Provider capabilities (what can't this thing do!!?) - Package Repository architectural changes - Immutable Kubernetes (KRIB) extensions and features discussion - L8ist Sh9y audio podcast on Patch APIs, Swagger, and Integrations

shane
2017-12-21 18:06
...AND... greg is about to announce:

greg
2017-12-21 18:06
- Also, v3.5.0 of DRP is published to stable. v1.4.0 of the the content packages and plugins are out as well.

greg
2017-12-21 18:06
:slightly_smiling_face:


wdennis
2017-12-21 22:21
Up on v3.5 (w00t!) but have an issue with adding KRIB (which I want to try to play with over the upcoming holiday)

wdennis
2017-12-21 22:22
I looked in the catalog and saw this, and "+"d it into my DRP system

wdennis
2017-12-21 22:22

wdennis
2017-12-21 22:23
But now when I look in my Content screen, I see this:


wdennis
2017-12-21 22:24
So do I have version 1.4.0, or "tip"?

greg
2017-12-21 22:24
Click the drop down arrow and see what it says.

greg
2017-12-21 22:24
You may have to select 1.4.0

greg
2017-12-21 22:24
and update.

wdennis
2017-12-21 22:25
I have choices "tip" or "v1.1.0"

greg
2017-12-21 22:25
hmm

wdennis
2017-12-21 22:26
I did not "Transfer" yet

greg
2017-12-21 22:27
For mine, I had to scroll down to get the rest of the options.

greg
2017-12-21 22:27
I had to OPne the arrow, then mouse wheel down to get to 1.4.0

wdennis
2017-12-21 22:28
did not notice the scroll capability in the drop - I did scroll, select "v1.4.0", and transfer

greg
2017-12-21 22:28
that should be good

wdennis
2017-12-21 22:28
Why does the UX not show all values by default?

greg
2017-12-21 22:29
On mine it does, it just could be off the screen. It doesn?t auto scroll the list into view.

wdennis
2017-12-21 22:29
OK

wdennis
2017-12-21 22:29
Anyways, all good now.

wdennis
2017-12-21 22:30
How may nodes minimum for a decent KRIB install - 3, 4?

greg
2017-12-21 22:30
at least 2 to play with.

greg
2017-12-21 22:30
You will get N-1 minions and 1 master.

wdennis
2017-12-21 22:30
OK, have three, could rack & set up a 4th if needed.



florent.wagener
2017-12-22 01:15
hey guys, thanks again for the help the other day. Since the centos provisioning is working well, now I wanna try to provision Windows. I didnt find a lot of help in the documentation, do you have any tip for me?

shane
2017-12-22 02:08
@florent.wagener - we can do winders provisioning, but we need to talk a bit first - tmw what's a good time for you ?

florent.wagener
2017-12-22 02:10
@shane From 10Am to 3-5Pm EST :)

shane
2017-12-22 02:11
ok - ping us when free around those times

florent.wagener
2017-12-22 02:44
Alright, thanks, will do

wdennis
2017-12-22 02:51
- trying to follow @zehicle ?s KRIB install from the webinar; trying for setting up k8s on installed nodes

wdennis
2017-12-22 02:53
In the webinar vid, he shows a stage map that has a task named ?runner-service? ? I don?t have that on my system (v3.5.0)

wdennis
2017-12-22 02:53
Where to get that?

greg
2017-12-22 03:06
task-library has it.

greg
2017-12-22 03:07
@wdennis

wdennis
2017-12-22 03:09
Thx @greg

wdennis
2017-12-22 03:10
What makes stuff appear in the Content section by default vs having to get it from the Catalog?

greg
2017-12-22 03:12
settings and some other things like bugs

wdennis
2017-12-22 03:15
lol

wdennis
2017-12-22 03:20
OK. So i have already installed nodes (U16.04) that are sitting at stage ?complete-nowait? with bootenv ?local?

wdennis
2017-12-22 03:21
I don?t have to reinstall them to get into the KRIB install do I? Can I just start with Docker install? How to structure the stage map?

wdennis
2017-12-22 03:25
Does this look like a workable stage map? (wondering about the beginning task)


wdennis
2017-12-22 03:54
N/m, realized with no runner process running on the node, it would never take instructions to do anything...

wdennis
2017-12-22 03:55
Starting with OS install & going from there

wdennis
2017-12-22 14:18
Try #2 stage-map:


wdennis
2017-12-22 14:26
Does the `krib/cluster-profile` param value have to be set to the name of the profile? Here?s what I have:

wdennis
2017-12-22 14:26

greg
2017-12-22 14:31
yes - it needs to be

ctrees
2017-12-22 14:33
@wdennis thanks for the blow by blow.... I want to do the same thing over vacation and this has already helped my 'motivation'

wdennis
2017-12-22 14:34
@ctrees n/p, please follow along as I bloody myself :wink:

wdennis
2017-12-22 14:34
@greg something?s not going correctly here?

wdennis
2017-12-22 14:36
Machines all seem to be stuck in these states:

wdennis
2017-12-22 14:36

wdennis
2017-12-22 14:38
What exactly is the `finish-install` task for?

greg
2017-12-22 14:39
Your workflow is not what Rob was using.

wdennis
2017-12-22 14:41
Hmmm? Other than starting with U16.04 rather than C7, I think it is? Duped it off the webinar vid

greg
2017-12-22 14:41
Can you open change-stage/map and show me?

greg
2017-12-22 14:42
also make sure the `k8s-cluster1` is the only profile on the node with a `change-stage/map`

greg
2017-12-22 14:42
You should have two workflows

greg
2017-12-22 14:42
Discover workflow: discover->sledgehammer:Success

greg
2017-12-22 14:47
Krib Workflow for Install: ubuntu-16.04-install->runner-service:Success runner-service->finish-install:STOP <- This is STOP finish-install->docker-install:Success docker-install->krib-install:Success krib-install->complete:Success

greg
2017-12-22 14:47
to add centos7 -> centos-7-install->runner-service:Success

wdennis
2017-12-22 14:47
``` [dradmin@dr-admin drp]$ drpcli profiles show k8s-cluster1 { "Available": true, "Description": "", "Errors": [], "Meta": { "color": "", "icon": "", "title": "" }, "Name": "k8s-cluster1", "Params": { "access-keys": { "root": "ssh-rsa .... will@Wills-MacBook-Air" }, "access-ssh-root-mode": "yes", "change-stage/map": { "docker-install": "krib-install:Success", "finish-install": "docker-install:Success", "krib-install": "complete:Success", "runner-service": "finish-install:Success", "ssh-access": "runner-service:Success", "ubuntu-16.04-install": "ssh-access:Success" }, "dns-domain": "http://nec-labs.com", "krib/cluster-profile": "k8s-cluster1", "local-repo": false, "ntp_servers": [ "138.15.xxx.97", "138.15.yyy.4" ], "operating-system-disk": "sda", "provisioner-default-fullname": "IST Group", "provisioner-default-password-hash": "...", "provisioner-default-user": "istgroup" }, "ReadOnly": false, "Validated": true } ```

greg
2017-12-22 14:48
finish-install:Stop in the runner-service piece

wdennis
2017-12-22 14:48
Yes, just saw that

wdennis
2017-12-22 14:49
So, why?

greg
2017-12-22 14:49
Because it is how you Stop the runner to let the install complete.

wdennis
2017-12-22 14:49
Ah, if not, race condition?

greg
2017-12-22 14:49
docker-install and krib-install can NOT be run in the install environment because it must start services in systemd that are not allowed.

wdennis
2017-12-22 14:51
Any way to edit that step in the Profile via drpcli so as to just change `"runner-service": "finish-install:Success"` to `"runner-service": "finish-install:Stop"` ?

greg
2017-12-22 14:53
yes - that would match what I?m saying.

wdennis
2017-12-22 14:56
OK, just re-set the stage-map thru the UX; now I have it as: ``` "change-stage/map": { "docker-install": "krib-install:Success", "finish-install": "docker-install:Success", "krib-install": "complete:Success", "runner-service": "finish-install:Stop", "ssh-access": "runner-service:Success", "ubuntu-16.04-install": "ssh-access:Success" }, ```

wdennis
2017-12-22 14:58
Look OK?

greg
2017-12-22 14:59
For the krib workflow.

greg
2017-12-22 15:00
You should also add the discover transitions as well. So that you can recycle the nodes if you need to.

wdennis
2017-12-22 15:00
Oh, OK ? skipped that since I had already discovered the nodes previously

wdennis
2017-12-22 15:08
Also ? from my prior try, I have another k8s profile I bulk added to the machines, that I cannot seem to get rid of now (at least thru the UX) - it?s named `k8s-cluster-installer` ``` [dradmin@dr-admin drp]$ drpcli machines list | jq .[].Profiles [ "k8s-cluster-installer", "k8s-cluster1" ] [ "k8s-cluster-installer", "k8s-cluster1" ] [ "k8s-cluster-installer", "k8s-cluster1" ] [ "k8s-cluster-installer", "k8s-cluster1" ] ```

greg
2017-12-22 15:08
YOu need to remove those or remove their parameters.

wdennis
2017-12-22 15:09
It does not have a stage-map or params? ``` [dradmin@dr-admin drp]$ drpcli profiles show k8s-cluster-installer { "Available": true, "Description": "", "Errors": [], "Meta": { "color": "black", "icon": "hashtag", "title": "User added profile" }, "Name": "k8s-cluster-installer", "Params": {}, "ReadOnly": false, "Validated": true } ```

greg
2017-12-22 15:09
okay - that is fine. It shouldn?t interfere

wdennis
2017-12-22 15:09
But for some reason, the UX won?t let me remove it from the machines?

greg
2017-12-22 15:09
in bulk? or machine edit?

wdennis
2017-12-22 15:10
Either

greg
2017-12-22 15:10
Hard refresh the bulk action page.

greg
2017-12-22 15:11
The remove profiles from machine. See if UX was out of date.

wdennis
2017-12-22 15:11
Getting this error:

wdennis
2017-12-22 15:12

wdennis
2017-12-22 15:12
When I try to delete the profile from a machine

greg
2017-12-22 15:13
show me a machine please.

wdennis
2017-12-22 15:15
What?s the `jq` syntax to omit the gohai inventory?

greg
2017-12-22 15:15
or do `jq .[].Profiles`

wdennis
2017-12-22 15:16
Representative machine: ``` [dradmin@dr-admin drp]$ drpcli machines show "1bcd8472-6c20-47b3-b9ff-f32731905bf1" | jq .Profiles [ "k8s-cluster-installer", "k8s-cluster1" ] ```

greg
2017-12-22 15:16
```drpcli machines removeprofile 1bcd8472-6c20-47b3-b9ff-f32731905bf1 k8s-cluster-installer```

wdennis
2017-12-22 15:18
OK, that worked

wdennis
2017-12-22 15:18
Now I have to fix the other three

greg
2017-12-22 15:18
It is a UX bug I think

wdennis
2017-12-22 15:21
OK, down to the one Profile/machine. Let?s try again.

wdennis
2017-12-22 15:22
And we?re off

ctrees
2017-12-22 15:36
when you get greg chat'n I get lots of insights into the mental 'D&D' map of DRP (wizards playbook) with lighted sign posts (your UI images)... super insightful 4me... wishing for a 'christmas krib miracle'

greg
2017-12-22 15:40
lol

wdennis
2017-12-22 15:54
Looks promising? ``` [discovery] Successfully established connection with API Server "192.168.1.114:6443" This node has joined the cluster: * Certificate signing request was sent to master and a response was received. * The Kubelet was informed of the new secure connection details. Run 'kubectl get nodes' on the master to see this node join the cluster. Finished successfully Command exited with status 0 Action krib-install.sh.tmpl finished Task krib-install finished Updated job 12fb4cb3-c96d-47ab-b7fe-0d07071fd818 to finished ```

greg
2017-12-22 15:55
looks good

wdennis
2017-12-22 15:57
And on the master (192.168.1.114): ``` Determinig master - see if it is already decided or configured "1bcd8472-6c20-47b3-b9ff-f32731905bf1" Master is 1bcd8472-6c20-47b3-b9ff-f32731905bf1 I am master - run kubeadm MAKE SURE SWAP IS OFF!- kubeadm requirement [WARNING FileExisting-crictl]: crictl not found in system path Starting calico networking... configmap "calico-config" created daemonset "calico-etcd" created service "calico-etcd" created daemonset "calico-node" created deployment "calico-kube-controllers" created deployment "calico-policy-controller" created clusterrolebinding "calico-cni-plugin" created clusterrole "calico-cni-plugin" created serviceaccount "calico-cni-plugin" created clusterrolebinding "calico-kube-controllers" created clusterrole "calico-kube-controllers" created serviceaccount "calico-kube-controllers" created secret "kubernetes-dashboard-certs" created serviceaccount "kubernetes-dashboard" created role "kubernetes-dashboard-minimal" created rolebinding "kubernetes-dashboard-minimal" created deployment "kubernetes-dashboard" created service "kubernetes-dashboard" created clusterrolebinding "kubernetes-dashboard" created Wait for admin container to start ```

wdennis
2017-12-22 15:58
Where is it that I can see the credentials to connect to the cluster? Thought it was on the machine?s params?

wdennis
2017-12-22 16:00
Oh, the params are in the `k8s-cluster1` profile

wdennis
2017-12-22 16:10
YAAAAAAAAAAAS! ``` Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf get nodes NAME STATUS ROLES AGE VERSION testnode01 Ready <none> 28m v1.9.0 testnode02 Ready <none> 28m v1.9.0 testnode03 Ready master 29m v1.9.0 testnode04 Ready <none> 28m v1.9.0 ```

shane
2017-12-22 16:15
woot woot

wdennis
2017-12-22 16:22
Anyone know how to remove a k8s proxy?

wdennis
2017-12-22 16:22
I was running minikube on my Macbook, but even when stopping minikube, the proxy remains to it?

wdennis
2017-12-22 16:23
```Wills-MacBook-Air:Documents will$ kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready <none> 14d v1.8.0 Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf get nodes NAME STATUS ROLES AGE VERSION testnode01 Ready <none> 38m v1.9.0 testnode02 Ready <none> 38m v1.9.0 testnode03 Ready master 39m v1.9.0 testnode04 Ready <none> 38m v1.9.0 Wills-MacBook-Air:Documents will$ minikube stop Stopping local Kubernetes cluster... Machine stopped. Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf proxy F1222 11:21:45.491092 5271 proxy.go:153] listen tcp 127.0.0.1:8001: bind: address already in use```

zehicle
2017-12-22 17:10
netstat for the port, kill the process?

wdennis
2017-12-22 17:18
@zehicle I was hoping for something like `kubectl proxy delete` or the like :slightly_smiling_face:

wdennis
2017-12-22 17:19
Interestingly enough, couldn't see it in `netstat`...

wdennis
2017-12-22 17:20
But there was a `kubectl proxy` process running, which I `-TERM`'d

wdennis
2017-12-22 17:36
So now I can hit the k8s API OK, but not the Dashboard - getting: ``` { "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "no endpoints available for service \"https:kubernetes-dashboard:\"", "reason": "ServiceUnavailable", "code": 503 } ```

wdennis
2017-12-22 17:43
Duh - forgot that I had backgrounded it?

greg
2017-12-22 17:43
not sure - did it start? See if the pods are up. and what URL did you use to access it?

greg
2017-12-22 17:43
@wdennis

wdennis
2017-12-22 17:45
Does kubeadm start the kubernetes mgmt services? No pods are running?

wdennis
2017-12-22 17:45
```Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf get pods No resources found.```

wdennis
2017-12-22 17:46
Could be that I?m just a k8sN00b and I don?t know what I?m doing yet :confused:


wdennis
2017-12-22 17:52
Did the following per that page, got this: ``` Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml secret "kubernetes-dashboard-certs" unchanged serviceaccount "kubernetes-dashboard" unchanged role "kubernetes-dashboard-minimal" unchanged rolebinding "kubernetes-dashboard-minimal" unchanged deployment "kubernetes-dashboard" unchanged service "kubernetes-dashboard" unchanged Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf proxy Starting to serve on 127.0.0.1:8001 ```

wdennis
2017-12-22 17:54

wdennis
2017-12-22 18:00
This is the process tree on the k8s master: ``` root@testnode03:~# pstree systemd???accounts-daemon???{gdbus} ? ??{gmain} ??acpid ??agetty ??atd ??cron ??dbus-daemon ??dhclient ??dockerd???containerd???5*[containerd-shim???pause] ? ? ? ??9*[{containerd-shim}]] ? ? ??containerd-shim???kube-scheduler???31*[{kube-scheduler}] ? ? ? ??11*[{containerd-shim}] ? ? ??containerd-shim???kube-controller???32*[{kube-controller}] ? ? ? ??10*[{containerd-shim}] ? ? ??containerd-shim???kube-apiserver???24*[{kube-apiserver}] ? ? ? ??9*[{containerd-shim}] ? ? ??containerd-shim???etcd???34*[{etcd}] ? ? ? ??9*[{containerd-shim}] ? ? ??containerd-shim???pause ? ? ? ??11*[{containerd-shim}] ? ? ??containerd-shim???pause ? ? ? ??10*[{containerd-shim}] ? ? ??containerd-shim???kube-proxy???32*[{kube-proxy}] ? ? ? ??10*[{containerd-shim}] ? ? ??containerd-shim???sh???etcd???32*[{etcd}] ? ? ? ??9*[{containerd-shim}] ? ? ??containerd-shim???runsvdir???runsv???confd???28*[{confd}] ? ? ? ? ??runsv???bird ? ? ? ? ??runsv???bird6 ? ? ? ? ??runsv???calico-felix???36*[{calico-felix}] ? ? ? ??10*[{containerd-shim}] ? ? ??containerd-shim???install-cni.sh???sleep ? ? ? ??10*[{containerd-shim}] ? ? ??36*[{containerd}] ? ??52*[{dockerd}] ??drpcli???31*[{drpcli}] ??irqbalance ??2*[iscsid] ??kubelet???39*[{kubelet}] ??lvmetad ??lxcfs???2*[{lxcfs}] ??mdadm ??polkitd???{gdbus} ? ??{gmain} ??rsyslogd???{in:imklog} ? ??{in:imuxsock} ? ??{rs:main Q:Reg} ??snapd???8*[{snapd}] ??sshd???sshd???sshd???bash???sudo???bash???pstree ??systemd???(sd-pam) ??systemd-journal ??systemd-logind ??systemd-timesyn???{sd-resolve} ??systemd-udevd ```

greg
2017-12-22 18:31
Try with 127.0.0.1 instead of local host.

greg
2017-12-22 18:31
Kubectl ?all-namespaces get pods

wdennis
2017-12-22 18:45
No `--all-namespaces` flag (at least on my `kubectl` version)

wdennis
2017-12-22 18:45
But, `man kubectl` FTW?

wdennis
2017-12-22 18:45
```Wills-MacBook-Air:Documents will$ kubectl --kubeconfig=krib-cluster1-admin.conf -n=kube-system get pods NAME READY STATUS RESTARTS AGE calico-etcd-hwwn2 1/1 Running 0 3h calico-kube-controllers-d6c6b9b8-2lvz4 1/1 Running 0 3h calico-node-bpzp2 2/2 Running 0 3h calico-node-mr6hx 2/2 Running 0 3h calico-node-vnscf 2/2 Running 1 3h calico-node-x6g2b 2/2 Running 0 3h etcd-testnode03 1/1 Running 0 3h kube-apiserver-testnode03 1/1 Running 0 3h kube-controller-manager-testnode03 1/1 Running 0 3h kube-dns-6f4fd4bdf-5lzmh 2/3 CrashLoopBackOff 75 3h kube-proxy-67745 1/1 Running 0 3h kube-proxy-6nmh7 1/1 Running 0 3h kube-proxy-lpc79 1/1 Running 0 3h kube-proxy-ztkp2 1/1 Running 0 3h kube-scheduler-testnode03 1/1 Running 0 3h kubernetes-dashboard-7b7b5cd79b-pvj6w 0/1 CrashLoopBackOff 36 3h```

wdennis
2017-12-22 19:19
More on-topic (DRP-related), it doesn?t seem intuitive to me that the `finish-install` stage has an action of `Stop` in the stage-map - shouldn?t it be ?Wait? or something?

ctrees
2017-12-22 20:42
isn't the 'stop' more of 'stop the runner from getting more commands' so the action of 'stop' in the stage-map is the flag put into the runner que that it knows finish what it's doing, then 'get out of the way' ??? but I'm still sorting out the instructional layers and names in my head... my D&D wizard map has a lot of grey and black clouds....

greg
2017-12-22 22:35
@ctrees win the read the mind of Greg award

greg
2017-12-22 22:36
Success could be renamed to wait but that isn?t accurate either.

greg
2017-12-22 22:37
Success means do what the current stage says to do.

greg
2017-12-22 22:38
The stage has a runnerwait flag. Success says do that. Stop says really runner ignore the stage and stop

greg
2017-12-22 22:38
The third one is Reboot. That tells the runner to change stage and reboot.

greg
2017-12-22 22:39
This is the core of workflow. Though we need to address one last issue with it.

greg
2017-12-22 22:40
@wdennis you dashboard is crashing. You need to look at pod logs to see why.

greg
2017-12-22 22:41
Also dns is crashing. Logs may tell you there as well.

wdennis
2017-12-22 22:49
So the ?action? is at the ?front? of the stage? ?Success? is ?kick this off and if successful keep going?, ?Stop? is ?kick this off and stop (wait)?? I thought it was at the ?end?, like Success = ?if stage run was successful then change stage?, ?Stop? = ?once stage is complete (ends successfully) then stop.?

greg
2017-12-22 22:50
No

greg
2017-12-22 22:50
It is at the end

greg
2017-12-22 22:51
The change stage only happens if success. Otherwise a task failed, a job was marked failed with the job and the runner is paused because the machine is marked not runnable on failure

greg
2017-12-22 22:53
So a set tasks in the stage completes, the stage map is checked to see what the next stage and action is. If no atage is found, the current stage?s runnerwait flag is used to determine if the runner should keep running

greg
2017-12-22 22:55
If a next stage is found, the machine stage is changed to that. The action is done. Success means loop bacj around and run new tasks if there are any, reboot means reboot the machine. And stop means stop the runner even if there are new tasks to do

wdennis
2017-12-22 22:55
So if the action does not happen until the end (successful completion) of the stage, why do you have to tell the runner to stop and wait until the OS install stage is complete via the ?finish-install:Stop? stage?

greg
2017-12-22 22:56
Because it is in the single thread execution of the kickstart or preseed and is blocking the finishing of the install. Anything other than stop will hang the install or do a reboot loop

wdennis
2017-12-22 22:57
How does the runner ?know? when the OS install process is complete?

greg
2017-12-22 22:58
You could set up the stages so that you don?t have any tasks left and a stage with runnerwait to false. It would accomplish the escape of the install process. But not run anything ever again.

greg
2017-12-22 22:59
It doesn?t know. It just runs as part of the install process and when it exits. The install process completes.

greg
2017-12-22 23:02
The first paragraph is how normals installs work when then last stage is complete no wait. It sets the Bootenv to local, has no tasks, and the runnerwait flag set to false. It runner exits and the install finishes and reboots. The machine boots ty local disk and the os runs.

greg
2017-12-22 23:02
We want to do more so we do the longer stage sequence

greg
2017-12-22 23:03
In the krib example

wdennis
2017-12-22 23:13
@greg sorry I?m so thick, just wanting to understand?

wdennis
2017-12-22 23:13
So the stage-map is like this: ``` "change-stage/map": { "docker-install": "krib-install:Success", "finish-install": "docker-install:Success", "krib-install": "complete:Success", "runner-service": "finish-install:Stop", "ssh-access": "runner-service:Success", "ubuntu-16.04-install": "ssh-access:Success" }, ```

wdennis
2017-12-22 23:15
So a map that says `"ubuntu-16.04-install": "ssh-access:Success"` means: ???

greg
2017-12-22 23:50
?when in the ubuntu-16.04-install stage and runner has no more tasks, change stage to ssh-access and see if there are more tasks to run?

wdennis
2017-12-23 00:34
So ?Success? means ?see if there are more tasks to run??

wdennis
2017-12-23 00:34
Why did you name it ?Success??

wdennis
2017-12-23 00:41
And so let?s see if I have it: `"runner-service": "finish-install:Stop"` means ?when in the runner-service stage and runner has no more tasks, change stage to the finish-install stage and Stop and wait? (for what?)

wdennis
2017-12-23 01:31
@greg ^^^ can I get you to answer the last two q?s when you can?

greg
2017-12-23 01:34
Success means continue processing.

greg
2017-12-23 01:35
If nothing stops you

greg
2017-12-23 01:35
Why did you add ?and wait?? Stop is just stop

greg
2017-12-23 01:36
Success was named success because it is the success path. It didnt fail. It didn?t stop it didn?t reboot

wdennis
2017-12-23 01:37
I was assuming the ?and wait? - because it?s in the middle of a pipeline of stages. If it hard stopped, why would the pipeline continue?

wdennis
2017-12-23 01:41
I want to understand your logic, so that I can successfully construct my own stage maps instead of having to cargo-cult what you guys come up with and not understand why it fails? Sorry if my questions are annoying?

wdennis
2017-12-23 01:44
If `"finish-install:Stop"` stops the runner, what starts it up again that picks up and goes on to do `docker-install` etc.?

greg
2017-12-23 01:47
The runner-service installs two services. One that marks the machine runnnable on startup and another that starts a runner.

greg
2017-12-23 01:48
This causes the machine to run a drpcli when the OS boots. The runner runs all the tasks in finish-install (no tasks) and then goes to the change stage map to change stage to docker-install (with success) to continue running tasks.

greg
2017-12-23 01:49
There is no assumed waits.

greg
2017-12-23 01:57
If you look at the bootenvs, sledgehammer (startup script) and the os-install bootenvs (through the kickseed files) mark the machine runnable and start the runner. This means that booting into those environments starts a task runnable runner. THe finished OSes don?t do this unless you add the runner service stage previously in the process.

greg
2017-12-23 02:00
Waiting for more tasks when none are present is controlled by the RunnerWait flag on the stage. If no tasks are present after a stage change that doesn?t change stage (getting to the end of a workflow), the curent stage decides wait. Stop is a wait for the workflow to exit the runner after a stage change independent of the RunnerWait Flag Success just means continue doing what you are doing. Reboot is a way to say change stage and reboot before you run the next set of tasks.

wdennis
2017-12-23 02:15
This is very helpful. Thanks for the explanations.

wdennis
2017-12-23 02:16
I don?t know why I have a mental block on understanding the ?runner? concept and the way it works and is manipulated; I just don?t find it intuitive somehow?

wdennis
2017-12-23 02:19
What I think I know at this point is:

wdennis
2017-12-23 02:23
- Stages have a bool (RunnerWait) that indicates to the runner process that is started either by an OS install stage or runner service instantiation to either continue running and wait for more tasks to hit the task list (?true?), or to terminate after the task list is completed (?false?)

wdennis
2017-12-23 02:33
- Stage maps have a normal ?happy path? that is named ?Success? (i.e. keep going and process further tasks as they show up.) Alternate paths are ?failure? (something went wrong in the task, so terminate the runner and report an error), ?Reboot? (get to the end of the current stage?s task list, then reboot the machine and pick up processing more tasks thereafter), ?Stop? (after the current stage?s task list is completed, act as if the stage has RunnerWait == ?false?, even if it is actually ?true?) _are the last two def?s correct?_

greg
2017-12-23 02:41
Stop is exit regardless of task list. `Change stage and then stop` This leaves tasks in place to run next time the runner starts.

wdennis
2017-12-23 02:55
And the thing that starts the runner after it is stopped by finish-install:Stop in the krib stage-map is the runner service starting up after the OS install process completes and Linux starts the services for the ?normal run level??

greg
2017-12-23 04:02
yes

wdennis
2017-12-23 04:03
I do believe I?m beginning to understand?

wdennis
2017-12-24 14:06
:christmas_tree:Merry Christmas :gift: to the DR community and RackN folks!

shane
2017-12-24 15:11
Thx, @wdennis - to you and yours, too!

i.grischott
2017-12-24 18:44
@wdennis thanks. all the best for you and your family. :christmas_tree:

spector
2017-12-24 18:46
If you are bored this XMas and need a break - check out Rob?s last Podcast of the year reviewing his 2017 predictions and 2018 thoughts/guesses? Have a Merry Christmas and Happy News Years! http://bit.ly/2BxEN8p

wdennis
2017-12-24 19:07
This can wait until after the holiday?.

wdennis
2017-12-24 19:07
But, having some KRIB problems.

wdennis
2017-12-24 19:09
First pass with 4 servers worked as far as the KRIB install, but the k8s installed was broken?

wdennis
2017-12-24 19:09
```$ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-etcd-hwwn2 1/1 Running 0 1d kube-system calico-kube-controllers-d6c6b9b8-2lvz4 1/1 Running 0 1d kube-system calico-node-bpzp2 2/2 Running 0 1d kube-system calico-node-mr6hx 2/2 Running 0 1d kube-system calico-node-vnscf 2/2 Running 1 1d kube-system calico-node-x6g2b 2/2 Running 0 1d kube-system etcd-testnode03 1/1 Running 0 1d kube-system kube-apiserver-testnode03 1/1 Running 0 1d kube-system kube-controller-manager-testnode03 1/1 Running 0 1d kube-system kube-dns-6f4fd4bdf-5lzmh 2/3 CrashLoopBackOff 589 1d kube-system kube-proxy-67745 1/1 Running 0 1d kube-system kube-proxy-6nmh7 1/1 Running 0 1d kube-system kube-proxy-lpc79 1/1 Running 0 1d kube-system kube-proxy-ztkp2 1/1 Running 0 1d kube-system kube-scheduler-testnode03 1/1 Running 0 1d kube-system kubernetes-dashboard-7b7b5cd79b-pvj6w 0/1 CrashLoopBackOff 286 1d ```

wdennis
2017-12-24 19:10
As you can see, kube-dns and kubernetes-dashboard pods could not start correctly

wdennis
2017-12-24 19:11
So after some stabs at troubleshooting (I?m too new to k8s to effectively t?shoot without help, which given holiday time was naturally in short supply?) I thought I?d just re-deploy the nodes again and hope 2nd time was the charm

wdennis
2017-12-24 19:12
So I did that, and the KRIB install did not complete successfully this time.


wdennis
2017-12-24 19:14
The chosen master machine had a failure in the krib-install stage?

wdennis
2017-12-24 19:15

wdennis
2017-12-24 19:15
And this was the message in the job that failed:

wdennis
2017-12-24 19:16

wdennis
2017-12-24 19:19
Looks like it tried to run kubeadm twice on the master node? Why would that be?

wdennis
2017-12-24 19:21
Overview is that I?m trying to do a KRIB run that installs U16.04 OS and then goes thru rest of install process (Docker and kubeadm run)

2017-12-24 20:19
ok... hell.... is the rebar kubernetes deployment working now ?

2017-12-24 20:24
meanwhile im struggling to get through a ubuntu or debian install with the same message.... no root file system is defined..... HELP!

greg
2017-12-25 00:50
@wdennis - you have to delete all the parameters except the krib-cluster-profile parameters to start over.

greg
2017-12-25 00:50
Kubeadm is fragile.

greg
2017-12-25 00:52
@outbackdingo - what you booting? Make sure it has at least 2gb of memory and a disk.

greg
2017-12-25 00:53
Specifically/dev/sda. If no sda, you need more parameters specified

shane
2017-12-25 00:56
@wdennis - the better pattern is to destroy all config related to krib - then recreate from scratch - as @greg says - kubeadm is extremely fragile

2017-12-25 05:41
theres definitely a 12Gb disk added to the profile for XOA, and its set to pxe boot

greg
2017-12-25 16:40
Does it have a ?usb? drive or does it show up differently Can you boot into sledgehammer and run lsblk

2017-12-25 16:40
i can try that

2017-12-25 16:40
its not usb is basically an XenServer vm

2017-12-25 16:43
though how do i login to the image ?

2017-12-25 16:49
@rackneng whats the password to login

greg
2017-12-25 17:08
root rebar1

wdennis
2017-12-25 18:18
Got my KRIB Christmas miracle! ``` $ kubectl get nodes NAME STATUS ROLES AGE VERSION testnode01 Ready <none> 3m v1.9.0 testnode02 Ready <none> 3m v1.9.0 testnode03 Ready master 15h v1.9.0 testnode04 Ready <none> 3m v1.9.0 $ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-etcd-k7qm9 1/1 Running 0 15h kube-system calico-kube-controllers-d6c6b9b8-d8hbs 1/1 Running 0 15h kube-system calico-node-dxfxt 2/2 Running 0 3m kube-system calico-node-gpl57 2/2 Running 1 3m kube-system calico-node-mfx87 2/2 Running 1 3m kube-system calico-node-njvdp 2/2 Running 0 15h kube-system etcd-testnode03 1/1 Running 0 15h kube-system kube-apiserver-testnode03 1/1 Running 0 15h kube-system kube-controller-manager-testnode03 1/1 Running 0 15h kube-system kube-dns-6f4fd4bdf-bjtsb 3/3 Running 0 15h kube-system kube-proxy-2hs25 1/1 Running 0 3m kube-system kube-proxy-c9k8b 1/1 Running 0 3m kube-system kube-proxy-dz2sj 1/1 Running 0 15h kube-system kube-proxy-lslvc 1/1 Running 0 3m kube-system kube-scheduler-testnode03 1/1 Running 0 15h kube-system kubernetes-dashboard-7b7b5cd79b-nhgw8 1/1 Running 0 15h $ ``` :christmas_tree: :santa:

2017-12-25 18:32
@rackneng yupp lsblk shows the VM has a 12G xvda drive

2017-12-25 18:32
@rackneng i want a KRIB under my trrr also ... :P

wdennis
2017-12-25 18:36
The runner never came back online after the OS install on testnode[01,02,04], so had to ?goose it? via bulk actions?

greg
2017-12-25 23:10
@outbackdingo you have a problem. The OS installs default to /dev/sda. You are using a Xen optimized drive.

greg
2017-12-25 23:11
You will need to add a parameter to all the machines like this.

greg
2017-12-25 23:11
Just a second ....

greg
2017-12-25 23:14
@outbackdingo - in the `part-scheme-default.tmpl` template for ubuntu and debian, it defines the drive and default lvm partition scheme.

greg
2017-12-25 23:15
You will see a variable called `operating-system-disk`. If it is unspecified, it will default to `sda`. Check turns into /dev/sda.. YOu should be able to set the string parameter, `operating-system-disk` to`xvda`.

greg
2017-12-25 23:16
`xvda`

greg
2017-12-25 23:16
`xvda`

greg
2017-12-25 23:16
sigh - I wish I could type.

greg
2017-12-25 23:17
centos is a little more forgiving. It will attempt to use the first disk. Or you can specific the same parameter as the same short name. It will attempt to use it.

greg
2017-12-25 23:19
You can put this in the global profile, or set it directly on the machine, or a new profile and add the profile to the machine.

greg
2017-12-25 23:19
The global profile from the cli would work like this:

greg
2017-12-25 23:19
`drpcli profiles set global param operating-system-disk to xvda`

greg
2017-12-25 23:20
This would make it global for all machines, but may be good enough for now.

2017-12-26 07:44
@rackneng ok, well that would be nice, however it break baremetal and possibly others at that point so i guess it needs to only apply to debian / ununtu

2017-12-26 07:56
is there no way to define "sdX, xvdX"

vlowther
2017-12-26 14:31
What is xvd?

shane
2017-12-26 15:05
@outbackdingo - if you need to apply the `xvd` disk to just a select set of Machines - then create a new profile and add the param as @greg mentioned to that new profile. Now add that profile to the machines you want to utilize the `xvd` disk type.

shane
2017-12-26 15:07
If you need more complex logic for selecting a specific disk (if they don't all show up as `/dev/xvda`), then you may need to clone the appropriate BootEnv and Templates, and modify the Template to be correct for your environment ....

zehicle
2017-12-26 16:13
@wdennis session time out is top of my list for this week.

2017-12-26 18:13
@rackneng xvdX is an XenServer vhd created with XenClient or XOA .... first being xvda disk, xvbd disk and so on.....

shane
2017-12-26 18:13
yep - we got that

2017-12-26 18:14
just clarifying for vlowther

2017-12-26 18:15
and thanks for the input, ill try to work through creating a a new profile for xen debian/ubuntu systems

greg
2017-12-26 18:17
A new task could be run during discovery to determine the OS install disk and write as a parameter on the machine?s parameter space.

greg
2017-12-26 18:17
This would handle this case generally. It could also be injected after raid configuration to pick up new named / marked drives. Things like that.

greg
2017-12-26 18:18
For quick and dirty testing, just set `operating-system-disk` to `xvda` in the global profile and see what happens.

2017-12-26 18:21
Newbie question: just start "Quick Start" and failed on step: $ ./drpcli bootenvs uploadiso sledgehammer Error: GET: bootenvs/sledgehammer: Not Found What can be wrong? Logs/dir-trees at http://wiki.4intra.net/User:StasFomin/Bugs/rebar

shane
2017-12-26 18:21
did you install the DRP Endpoint with "--no-content" flag ?

shane
2017-12-26 18:22
you need the `drp-community-content` to be installed for the bootenv to exist

2017-12-26 18:22
No. I follow «««« # Run the following commands to start up dr-provision in a local isolated way. # The server will store information and serve files from the ./drp-data directory. sudo ./dr-provision --static-ip=<IP of an Interface> --file-root=`pwd`/drp-data/tftpboot --data-root=`pwd`/drp-data/digitalrebar > dr-provision.loc 2>&1 & # Once dr-provision is started, the following commands will install the # 'BootEnvs'. Sledgehammer is needed for discovery and other features, # you can choose to install one or both of Ubuntu or Centos ./drpcli bootenvs uploadiso sledgehammer ./drpcli bootenvs uploadiso ubuntu-16.04-install ./drpcli bootenvs uploadiso centos-7-install »»»»»»»

shane
2017-12-26 18:24
can you please run (make sure you have `jq` installed first): ```./drpcli bootenvs list | jq '.[].Name'```

2017-12-26 18:24
stas@stas-custis-desktop ~/apps/rebar $ ./drpcli bootenvs list | jq '.[].Name' "ignore" "local"

shane
2017-12-26 18:24
yes - the `drp-community-content` is not installed for some reason

shane
2017-12-26 18:24
have you run the UX ?


shane
2017-12-26 18:26
good - you need to accept the self-signed HTTPS certificate

shane
2017-12-26 18:27
then log in to the Endpoint - if you haven't changed the user/pass credentials - just hit "defaults" then log in ...

2017-12-26 18:27
Yes, but after restarting service if fails with cert. First time was OK..


shane
2017-12-26 18:29
go to `Content Packages` in the left navigation bar

shane
2017-12-26 18:30
do you see `drp-community-content` in the right panel ?

shane
2017-12-26 18:30
if so - click "Transfer"

2017-12-26 18:30
Yes, click OK.

2017-12-26 18:31
Now ./drpcli bootenvs uploadiso looks working...

shane
2017-12-26 18:31
yay!

shane
2017-12-26 18:31
for some reason, your `drp-community-content` wasn't installed

2017-12-26 18:31
(not failing during several seconds). Thanks you very much!

shane
2017-12-26 18:31
do you have a terminal session output of the install process ?

shane
2017-12-26 18:31
if possible, we'd like to see why the content wasn't installed ... if there's a problem of some sort we haven't seen before

2017-12-26 18:33
http://wiki.4intra.net/User:StasFomin/Bugs/rebar#Install_and_run

2017-12-26 18:34
I installed on Mandriva-Mageia like distro, ROSA Desktop Fresh with urpmi package manager.

2017-12-26 18:36
First time I installed in temp folder "bred" (I thought that it is temp folder, not target folder for bash-curl install), then I install once more in another specific folder.

shane
2017-12-26 18:37
??? - my google translate says this is Bulgarian, and "objective" - which I assume means "done" ?

2017-12-26 18:37
Sorry, it is russian "OK"

shane
2017-12-26 18:38
yeah, I thought Translate was wrong - since I thought the rest of your characters looked Russian to me ... :slightly_smiling_face:

2017-12-26 18:39
md5sum I thing all OK. bsdtar was missing and I install it. No other warnings...

shane
2017-12-26 18:39
it looks like you might have started dr-provision pointing to a directory where it was NOT installed

shane
2017-12-26 18:40
so it started up, looking for the content in `--base-root=/data/rebar` - which was not the install location (`--base-root=/home/stas/apps/rebar/drp-data`)

2017-12-26 18:40
Hmm. I thought that -"-base-root=" should be data folder... separated from installation...

2017-12-26 18:40
Sorry.

shane
2017-12-26 18:41
no worries - we'll make a note on that in the quickstart document to hopeful clear up any confusion for others

shane
2017-12-26 18:41
In the "isolated" mode, the content is installed in to the `drp-data` directory, in the Current Working Directory from where you ran the install

shane
2017-12-26 18:42
that's where the `--base-root` should point to - where the "content" and all of the runtime assets get installed to

2017-12-26 18:42
Quickstart told me about "--file-root" and "--data-root" but installer only about "--base-root"

shane
2017-12-26 18:43
hmm - I'll re-read that and see if I can clear up the documentation some - thanks for the feedback

2017-12-26 18:44
I thought, that data-root shoult point to partition with lot of space for ISOs... but rebar installed on small home partion... so I point to large partition ?

shane
2017-12-26 18:46
yes, ISOs will be installed in the `drp-data/tftpboot/` directory - you could shut down `dr-provision` service, move everything, then start it back up with a correctly adjusted `--base-root` flag

shane
2017-12-26 18:47
otherwise, the more detailed `install` documentation might help clarify the install and startup options, as opposed to the "quickstart" (which is designed to be short and concise-ish)


2017-12-26 18:49
Yes, of course I will study it, but now I wish to complete "Quick Start" and bootstrap some "bearmetal".

2017-12-26 18:49
Thank you once more!

shane
2017-12-26 18:49
:slightly_smiling_face:

shane
2017-12-26 18:49
no problem - let us know how your "bearmetal" experience goes !

2017-12-26 21:01
Some notes about QuickStart: _ line with drpcli bootenvs list | jq ?.[].Name? ? typo, incorrect quotes _ Nothing about that users must create subnet through GUI (or something else) to start DHCP server worked. (I thought that local DHCP worked by default and spent a lot of time trying to debug constantly crashing dhcpdump) * May be all commands "drpcli" should be "./drpcli"?

2017-12-26 21:06
After settings: drpcli prefs set unknownBootEnv discovery defaultBootEnv sledgehammer defaultStage discover I saw, that my box loading sledgehammer by PXE But after drpcli prefs set unknownBootEnv discovery defaultBootEnv centos-7-install defaultStage discover (without rebooting dr-provision) I saw, that the testbox still loading sledgehammer. It is bug or feature? What's wrong?

zehicle
2017-12-26 22:46
@belonesox the default stage overrides the default bootenv setting in this case. you'd need to have no default stage or change the stage to centos-7.

greg
2017-12-27 03:44
The default values are used when a machine is created without a value.

greg
2017-12-27 03:45
Once a machine is created, if you want to install the os, you need to change the stage and reboot the node.

zehicle
2017-12-27 03:51
@belonesox - if you would like, we can give you a slack account. http://rackn.com/slack

2017-12-27 14:14
The problem is that newly created vboxes still loaded with sledgehammer. I tried to change bootenv but failed: stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines list | grep UUI "UUID": "2AE16CA9-4A90-41A3-90D9-C23DBFD78F57", "UUID": "FD352D17-EFC3-4297-85CA-0CCBDD37F8CA", stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines bootenv 2AE16CA9-4A90-41A3-90D9-C23DBFD78F57 centos-7-install Error: GET: machines/2AE16CA9-4A90-41A3-90D9-C23DBFD78F57: Not Found stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines bootenv FD352D17-EFC3-4297-85CA-0CCBDD37F8CA centos-7-install Error: GET: machines/FD352D17-EFC3-4297-85CA-0CCBDD37F8CA: Not Found stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines list | grep UUI "UUID": "2AE16CA9-4A90-41A3-90D9-C23DBFD78F57", "UUID": "FD352D17-EFC3-4297-85CA-0CCBDD37F8CA", stas@stas-custis-desktop /data/app/rebar $

greg
2017-12-27 15:29
@belonesox - newly create vboxes will boot sledgehammer unless you change the `defaultKnownStage` to `centos-7-install`.

greg
2017-12-27 15:29
sorry `defaultStage`

greg
2017-12-27 15:31
actually, you have to build a workflow to get this to work the way you are maybe describing.

greg
2017-12-27 15:35
What are you trying to do? You may want to watch some of @zehicle?s youtube videos on workflows. Or @shane?s 5min scripts and docs. To automatically install machines from discovery, you need to go through discover/sledgehammer to centos-7-install with a reboot. You can code this into a workflow change-stage/map. YOu can get close without workflows, but setting `defaultStage` to `none`, set the `defaultUnknownBootenv` to `discover` and the `defaultKnownBootEnv` to `centos-7-install`.

greg
2017-12-27 15:36
Once the machine is discover, reboot it. It should then go through centos-7-install process.

greg
2017-12-27 15:36
You basically have to discover the machine and then reboot it. Workflows can do the reboot.

2017-12-27 15:36
I try to archive simple task: all boxes in subnet will load centos 7 with specific kiskstart file/

greg
2017-12-27 15:36
otherwise, you need something to do it.

2017-12-27 15:37
First, still can force all boxes load centos. Second, I see dead link from http://digital-rebar.readthedocs.io/en/latest/user/cases/add_operating_system.html#ug-uc-edit-bootenv to https://github.com/rackn/digitalrebar-deploy/blob/master/containers/provisioner/update-nodes/templates/centos-7.ks.tmpl

greg
2017-12-27 15:38
yeah - those moved. Need to update the docs. Thanks for finding it.

2017-12-27 15:49
I have: stas@stas-custis-desktop /data/app/rebar $ ./drpcli prefs list { "baseTokenSecret": "PbddMkbveOfSB-0hlx8oRjzxA36ahC_A", "debugBootEnv": "2", "debugDhcp": "2", "debugFrontend": "1", "debugPlugins": "0", "debugRenderer": "2", "defaultBootEnv": "centos-7-install", "defaultStage": "centos-7-install", "knownTokenTimeout": "3600", "systemGrantorSecret": "RHdms47MX1cK6xDJMsB5YiwZFMXqiVm7", "unknownBootEnv": "discovery", "unknownTokenTimeout": "600" }

2017-12-27 15:49
but newly created boxes still loading sledgehammer.

2017-12-27 15:51
What am I doing wrong?

zehicle
2017-12-27 15:51
@belonesox - unknown - discovery

zehicle
2017-12-27 15:51
are these machines new or already created?

zehicle
2017-12-27 15:52
you may have to set unknown to centos-7 too.

2017-12-27 15:52
stas@stas-custis-desktop /data/app/rebar $ ./drpcli prefs set unknownBootEnv centos-7-install Error: POST: prefs: BootEnv centos-7-install cannot be used for the unknownBootEnv stas@stas-custis-desktop /data/app/rebar $

2017-12-27 15:52
Now I create new boxes with VirtualBox.

zehicle
2017-12-27 15:54
have you been able to get it working if you set the stage?

2017-12-27 15:56
Sorry, set the stage for what?

2017-12-27 16:00
I see that _ I can not set unknownBootEnv to centos-7-install _ I can not change boot env for specific machine: stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines list | grep UUI "UUID": "2AE16CA9-4A90-41A3-90D9-C23DBFD78F57", "UUID": "FD352D17-EFC3-4297-85CA-0CCBDD37F8CA", stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines bootenv 2AE16CA9-4A90-41A3-90D9-C23DBFD78F57 centos-7-install Error: GET: machines/2AE16CA9-4A90-41A3-90D9-C23DBFD78F57: Not Found stas@stas-custis-desktop /data/app/rebar $

greg
2017-12-27 16:01
@belonesox, run this: `drpcli bootenvs list | grep Name`

greg
2017-12-27 16:02
Actually, you need to see if the `centos-7-install` bootenv and stage are available.

2017-12-27 16:02
https://kopy.io/Av5V7

zehicle
2017-12-27 16:02
@belonesox I'm giving bad advice.... the os*-install requires the machines to be defined. It would be like having the MACs defined in cobbler

greg
2017-12-27 16:03
@belonesox, `./drpcli bootenvs show centos-7-install`

2017-12-27 16:04
https://kopy.io/kdgJM

greg
2017-12-27 16:04
It is available and valid.

greg
2017-12-27 16:07
@belonesox, `./drpcli machines stage 2AE16CA9-4A90-41A3-90D9-C23DBFD78F57 none --force`

greg
2017-12-27 16:07
`./drpcli machines bootenv 2AE16CA9-4A90-41A3-90D9-C23DBFD78F57 centos-7-install --force`

2017-12-27 16:07
stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines stage 2AE16CA9-4A90-41A3-90D9-C23DBFD78F57 none --force Error: GET: machines/2AE16CA9-4A90-41A3-90D9-C23DBFD78F57: Not Found

greg
2017-12-27 16:07
umm -

greg
2017-12-27 16:08
`./drpcli machines list`

2017-12-27 16:08
https://kopy.io/n4rps

greg
2017-12-27 16:09
You are using the uuid of the motherboard, you Uuid - ae271a28-9a57-4f21-bfef-1b8d8c27e9e2

greg
2017-12-27 16:10
`Uuid` is the machine field.

greg
2017-12-27 16:11
The UUID you are using is the motherboard?s UUID. It is not guaranteed to be set or unique across all systms. THough for VirtualBox it is the VirualBox id. Our virtual box plugin grabs that.

greg
2017-12-27 16:11
I need to be away for a while. I?ll be back on later. Happy Holidays.

2017-12-27 16:12
So how to force centos-7-install for all by default?

zehicle
2017-12-27 16:29
for new machines, you can build a workflow that moves from discovery into centos-7 install as an automatic workflow. once the machine is discovered/know then you can just reset it back to centos-7.

2017-12-27 16:31
:( By hand? Possible to automate it? Why default env can not be just Centos-7

zehicle
2017-12-27 16:32
no, that's that workflows do

zehicle
2017-12-27 16:33
workflows move between stages automatically

zehicle
2017-12-27 16:33
"stagemap" parameter in the profile


2017-12-27 16:34
I see this in UI

zehicle
2017-12-27 16:35
what's your endpint version?

zehicle
2017-12-27 16:35
DRP version

zehicle
2017-12-27 16:36
`drpcli info get`


2017-12-27 16:36
https://kopy.io/njOQ3

zehicle
2017-12-27 16:37
hmmm, you should be able to see workflow page

zehicle
2017-12-27 16:37
let me check something

zehicle
2017-12-27 16:45
iI don't get that my v3.4 test right - trying a v3.5 install

zehicle
2017-12-27 16:45
you may need to refresh the page

2017-12-27 16:45
OK

2017-12-27 16:46
Page OK

2017-12-27 16:46
possible to create desired workflow by drpcli commands?

shane
2017-12-27 16:49
@belonesox - yes - the workflow can be created by adding a stagemap to the `global` profile, then any Machine booted/discovered by DRP Endpoint will be installed with your OS of choice (eg CentOS 7) - give me one minute, I'll dig up the CLI I use in my `5min-demo` harness

2017-12-27 16:52
Now I have the workflow


2017-12-27 16:52
But newly created boxes still loaded by sledgehammer (hate it already

zehicle
2017-12-27 16:53
I've duplicated the "workflow page is now allowed until after refresh" -> we'll see about how to fix

shane
2017-12-27 16:53
steps are: 1) create a JSON blob w/ the `change-stage/map` Parameter with the workflow you desire 2) add the Parameter to the `global` profile 3) boot a NEW machine - or force an existing Machine to re-run through workflow create JSON blob is as follows ```cat <<EOFPARAM > stagemap-param.json { "discover": "centos-7-install:Reboot", "centos-7-install": "ssh-keys:Success", "ssh-keys": "complete-nowait:Success" } EOFPARAM``` Now apply the Param to the `global` profile: ```drpcli profiles set global param change-stage/map to - < stagemap-param.json```

shane
2017-12-27 16:53
(sorry - let me remove the Packet specific stages from there - hold on)

shane
2017-12-27 16:55
In case you can't see edits - the correct JSON blob is: ```cat <<EOFPARAM > stagemap-param.json { "discover": "centos-7-install:Reboot", "centos-7-install": "ssh-keys:Success", "ssh-keys": "complete-nowait:Success" } EOFPARAM```

shane
2017-12-27 16:55
this will also inject SSH keys in to the CentOS 7 installed node for you - if they are defined

shane
2017-12-27 16:57
`sledgehammer` is an extremely useful tool - it allows us to do some very interesting advanced workflow installations - and it also allows us to implement "immutable infrastructure" practices ... we typically don't see an installation requirement that is a simple "slap centos 7 on everything" - usually infrastructure we encounter has much more complex requirements

2017-12-27 16:57
so profiles not workflows need for this?

shane
2017-12-27 16:57
Profiles are used by workflow to define the stages to advance a Machine through

2017-12-27 16:57
can I specify my kickstart files in this params?

shane
2017-12-27 16:58
to use your own custom Kickstart, you'll want to "clone" an existing BootEnv (for example the existing centos-7-install) BootEnv

shane
2017-12-27 16:58
the you'll modify it to use a different Kickstart than our community provided kickstart

shane
2017-12-27 16:58
BUT

shane
2017-12-27 16:59
lets start w/ small steps - lets get you booting CentOS 7 installs first

shane
2017-12-27 16:59
lets get that working - and then we can evaluate how you modify the Kickstart to be customized for your needs

2017-12-27 17:00
stas@stas-custis-desktop /data/app/rebar $ ./drpcli profiles set global param change-stage/map to - < stagemap-param.json { "centos-7-install": "ssh-keys:Success", "discover": "centos-7-install:Reboot", "ssh-keys": "complete-nowait:Success" }

2017-12-27 17:00
But still .... SLEDGEHAMMER

shane
2017-12-27 17:00
how are you booting your Machines - did the machine exist already - or is it brand new ?

2017-12-27 17:01
brand new created VBox

shane
2017-12-27 17:01
if it existed already - it's already been "discovered" and you'll never match the workflow to kick off the work flow process

shane
2017-12-27 17:01
please provide output of `drpcli profiles show global`


2017-12-27 17:02
Every test - newly created. May be I should restart drp-service?

shane
2017-12-27 17:02
shouldn't be necessary

2017-12-27 17:02
stas@stas-custis-desktop /data/app/rebar $ ./drpcli profiles show global { "Available": true, "Description": "Global profile attached automatically to all machines.", "Errors": [], "Meta": { "color": "blue", "icon": "world", "title": "Digital Rebar Provision" }, "Name": "global", "Params": { "change-stage/map": { "centos-7-install": "ssh-keys:Success", "discover": "centos-7-install:Reboot", "ssh-keys": "complete-nowait:Success" } }, "ReadOnly": false, "Validated": true }

shane
2017-12-27 17:12
for the last Machine you booted that you said failed - can you please pull and post the Jobs logs for that machine? To do it from the CLI - get the Machines UUID, and replace it as appropriate in the below `UUID` shell variable: ```export UUID=<uuid_here> ./drpcli jobs list | jq ".[] | select(.Machine==\"$UUID\")"```

2017-12-27 17:16
Last machine stated loading sledgehammer so I halt it. Looks like drp not know about last machine: stas@stas-custis-desktop /data/app/rebar $ VBoxManage list vms | grep test-rebar "test-rebar" {fd352d17-efc3-4297-85ca-0ccbdd37f8ca} "test-rebar-centos" {2ae16ca9-4a90-41a3-90d9-c23dbfd78f57} "test-rebar-centos-2" {4abb1333-ee36-4cec-8de4-5d0002f25a31} "test-rebar-centos-4" {ff8c3a52-fde6-4c59-bab4-7405ae2fb3be} "test-rebar-centos-5" {a825f944-e3d3-4ec0-b0bc-8aae6096ea0d} "test-rebar-centos-6" {25daff02-af44-4f2c-b60d-04b351ff3933} stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines list | grep Uuid "Uuid": "90d9a5cd-bb35-4edc-81d8-b3a349099d14", "Uuid": "9cbe8582-d713-4361-bca9-f11eb2bd0b85", "Uuid": "ae271a28-9a57-4f21-bfef-1b8d8c27e9e2", stas@stas-custis-desktop /data/app/rebar $

2017-12-27 17:17
so ./drpcli jobs list | jq ".[] | select(.Machine==\"25daff02-af44-4f2c-b60d-04b351ff3933\")" return nothing

shane
2017-12-27 17:20
you need a machine UUID from Rebar - not from virtual box - they're different things

shane
2017-12-27 17:20
so it'd be either of the `90d...` , `9cb...`, or `ae2...` IDs

2017-12-27 17:30
Sorry, cannot find/match appropriate VBox "test-rebar-centos-6" and drp machines. See https://kopy.io/zANQF Also no drpcli machines match MAC 080027ADB4C3

2017-12-27 17:42
Create yet another "test-rebar-centos-7" https://vimeo.com/195094441 Wait until booted. stas@stas-custis-desktop /data/app/rebar $ ./drpcli machines list | grep Uuid "Uuid": "42620a9a-a375-417c-a5c5-6ec694aeb9a0", "Uuid": "90d9a5cd-bb35-4edc-81d8-b3a349099d14", "Uuid": "9cbe8582-d713-4361-bca9-f11eb2bd0b85", "Uuid": "ae271a28-9a57-4f21-bfef-1b8d8c27e9e2", Wow! This "test-rebar-centos-7" shurely must be "42620a9a-a375-417c-a5c5-6ec694aeb9a0" in DRP But stas@stas-custis-desktop /data/app/rebar $ ./drpcli jobs list | jq ".[] | select(.Machine==\"42620a9a-a375-417c-a5c5-6ec694aeb9a0\")"

2017-12-27 17:49
current machines list ? https://kopy.io/jeDUY

2017-12-27 17:50
drpcli jobs list ? https://kopy.io/yIpLz

wdennis
2017-12-27 18:08
- does v3.5.0 have the "dynamic refresh" of machine state thing?

shane
2017-12-27 18:08
can you pull just the job log for the Machine UUID starting with `90d...`

shane
2017-12-27 18:08
@wdennis that's a UX side feature, and it is in the current UX version

wdennis
2017-12-27 18:08
Doesn't seem to be working on my DRP

wdennis
2017-12-27 18:09
(stable 3.5.0)

shane
2017-12-27 18:09
it's also only in certain fields - not all fields/pages fully "dynamically refresh"

wdennis
2017-12-27 18:09
I thought "Bulk Actions" did?

shane
2017-12-27 18:10
Bulk Actions fields in the table should dynamically refresh, yes

wdennis
2017-12-27 18:10
Hmmm, it's not for me (until I click the top "Refresh" button)

shane
2017-12-27 18:13
"Works For Me" :tm:

shane
2017-12-27 18:15
(unless is broke in the last 3 or 4 days - I haven't tested it since before xmas)


wdennis
2017-12-27 18:16
(j/k - and yes I know it's Beta!)

shane
2017-12-27 18:17
we have a lot of UX fixes going in this week ... @meshiest is back and he and @zehicle have been hammering on some of the pernicious bugs and features

zehicle
2017-12-27 18:19
@wdennis you should be able to see events scrolling in the event viewer

zehicle
2017-12-27 18:19
those should be reflected live on lists

zehicle
2017-12-27 18:19
if you don't have events on the view, then they won't make it anywhere else

wdennis
2017-12-27 18:19
Oh also @shane - what's involved with enabling alternate kickstart/preseed templates in a profile? Lots of work?

wdennis
2017-12-27 18:20
@zehicle Let me check...

2017-12-27 18:20
@shane All logs for 90d9a5cd-bb35-4edc-81d8-b3a349099d14 ? https://kopy.io/Xqbb4

shane
2017-12-27 18:20
not lots of work - just got back burnered and waiting on some normalization on OS family stage from ... @vlowther

wdennis
2017-12-27 18:20
@vlowther blocker

vlowther
2017-12-27 18:20
hm?

wdennis
2017-12-27 18:22
My feature request that @shane is working on he says is waiting on your work... ^^^


vlowther
2017-12-27 18:23
Sorrt, Christmas and per-request log threading have eaten my brain.

wdennis
2017-12-27 18:23
"My brain hurts!"

vlowther
2017-12-27 18:24
heh

vlowther
2017-12-27 18:24
@shane, that PR looks complete in and of itself.

shane
2017-12-27 18:24
the `templates/select-kickseed.tmpl` needs to be update to reflect `OS.Family` correctly to match the kickstart/seed appropriately

vlowther
2017-12-27 18:25
Ah.

shane
2017-12-27 18:25
we never resolved the if/eq statements to match

shane
2017-12-27 18:26
you said "something" needed changing to model that right ... or... something ... I forget, that was back a few weeks ago (by general rule, I never remember anything before lunch ... )

vlowther
2017-12-27 18:28
hm, don't see an issue about it, so it is probablly written down on the whiteboard in the office.

wdennis
2017-12-27 18:29
@zehicle Does the DRP-UX browser machine have to be reachable by the DRP server to enable the events viewer feature?

vlowther
2017-12-27 18:30
No more than it has to be reachable for any other UX interaction.

zehicle
2017-12-27 18:30
no, it's one way

wdennis
2017-12-27 18:30
OK. It was not working when the browser (on my laptop) was on my home network

vlowther
2017-12-27 18:30
The UX recieves events by opening a websocket on the server (which is glorified TCP over HTTP), then the server pushes events over the open channel.

wdennis
2017-12-27 18:31
I access work thru a site-to-site VPN tunnel, but work's network does not have a route to my home network...

vlowther
2017-12-27 18:31
websockets hijack the HTTP session

wdennis
2017-12-27 18:32
So if the DRP-server machine was trying to intiate traffic to my laptop on my home network, then I could see how it could fail

vlowther
2017-12-27 18:32
It is not.

vlowther
2017-12-27 18:32
All the initiation happens on the client side.

shane
2017-12-27 18:32
(client in this case is your web browser)

wdennis
2017-12-27 18:32
OK. Wonder why it wasn't working?

wdennis
2017-12-27 18:33
I'm back at work, and it is working now.

vlowther
2017-12-27 18:33
Any one of a frankly ridiculous number of reasons

wdennis
2017-12-27 18:33
Bah, computers!

shane
2017-12-27 18:34
the answer is to just never leave work ....

wdennis
2017-12-27 18:34
Yes, that's it...

wdennis
2017-12-27 18:34
I'll try it again tonight

2017-12-27 19:14
@shane About my case, I sent you email how to ssh to my desktop... I am not sure if it possible to private communications in gitter?

shane
2017-12-27 19:27
you can join slack w/ us via requesting an invite at http://rackn.com/slack

shane
2017-12-27 19:27
not sure where your email went to

2017-12-27 19:27
shanev@gmail

shane
2017-12-27 19:27
nope - not me ... :slightly_smiling_face:

2017-12-27 19:27
aaaa

shane
2017-12-27 19:27

2017-12-27 19:31
Sent to this mail, also requested slack access.


2017-12-27 19:33
That is why I get wrong email.

shane
2017-12-27 19:34
dunno who "Shane Vitarana" is ... I'm "Shane Gibson"

shane
2017-12-27 19:34
there's only one true Shane - that's me - the rest are all imposters

2017-12-27 19:34
I just get, that this is not real gitter chat but replication from slack

2017-12-27 19:35
That is why I use standard gitter interface to get contacts ....

stanislav.fomin
2017-12-27 19:41
has joined #community201712

stanislav.fomin
2017-12-27 19:43
Hello, @shane, did you receive the mail, and can you login to my box?

shane
2017-12-27 19:43
@stanislav.fomin - welcome to our Slack - yes got email

shane
2017-12-27 19:45
all four of your machines show they are in centos-7-install bootenv

shane
2017-12-27 19:45
what makes you think they're still in sledgehammer ?

shane
2017-12-27 19:46
sledgehammer happens to ALSO be CentOS 7 as well - so the console prompt will look similar

stanislav.fomin
2017-12-27 19:47

stanislav.fomin
2017-12-27 19:48
last freshly created "test-rebar-centos-7"

stanislav.fomin
2017-12-27 19:48
Should I create another test-rebar-centos-8?

shane
2017-12-27 19:50
nope - do you have any other DHCP or provisioning systems on the same network ?

stanislav.fomin
2017-12-27 19:50
provisioning ? no. DHCP ? yes, but local DRP-DHCP usually processed requests faster

shane
2017-12-27 19:53
not guaranteed to be faster - so you could have conflict there

shane
2017-12-27 19:54
can you plz restart DRP - with the following: ```sudo ./dr-provision --static-ip=172.31.1.3 --base-root=/data/app/rebar/drp-data --local-content= --default-content= > /tmp/drp.log 2>&1 &```

stanislav.fomin
2017-12-27 19:54
Yes, it possible, but I think it does not matters for this "Centos7 instead of SH" problem

stanislav.fomin
2017-12-27 19:56
Hmm... stas@stas-custis-desktop /data/app/rebar $ sudo ./dr-provision --static-ip=172.31.1.3 --base-root=/data/app/rebar/drp-data --local-content= --default-content= > /tmp/drp.log 2>&1 & [1] 19701 [1]+ ??????????? sudo ./dr-provision --static-ip=172.31.1.3 --base-root=/data/app/rebar/drp-data --local-content= --default-content= > /tmp/drp.log 2>&1 stas@stas-custis-desktop /data/app/rebar $ ps -ef | grep dr-p root 19701 18083 0 22:55 pts/3 00:00:00 sudo ./dr-provision --static-ip=172.31.1.3 --base-root=/data/app/rebar/drp-data --local-content= --default-content= stas 19716 18083 0 22:55 pts/3 00:00:00 grep --color dr-p stas@stas-custis-desktop /data/app/rebar $ tail -f /tmp/drp.log

stanislav.fomin
2017-12-27 19:56
nothing in /tmp/drp.log

stanislav.fomin
2017-12-27 19:57
OK?

shane
2017-12-27 19:59
it's not running: ```test@stas-custis-desktop /data/app/rebar $ ./drpcli info get 2017/12/27 22:58:54 Error creating session: CLIENT_ERROR: Get https://127.0.0.1:8092/api/v3/users/rocketskates/token: dial tcp 127.0.0.1:8092: getsockopt: connection refused```

stanislav.fomin
2017-12-27 20:00
dr-provision2017/12/27 20:00:12.116728 Version: v3.5.0-0-8dd3ac9c62a2555d315e07f5a190f2230e3a7ca7 dr-provision2017/12/27 20:00:12.116766 Extracting Default Assets dr-provision2017/12/27 20:00:12.435654 Failed to render unknown bootenv: StartupError: bootenvs/centos-7-install: BootEnv centos-7-install cannot be used for the unknownBootEnv

shane
2017-12-27 20:01
ah - yes, we need to set our system preferences back

stanislav.fomin
2017-12-27 20:02
stas@stas-custis-desktop /data/app/rebar $ ./drpcli prefs set unknownBootEnv discovery 2017/12/27 23:01:50 Error creating session: CLIENT_ERROR: Get https://127.0.0.1:8092/api/v3/users/rocketskates/token: dial tcp 127.0.0.1:8092: getsockopt: connection refused stas@stas-custis-desktop /data/app/rebar $

stanislav.fomin
2017-12-27 20:02
?

shane
2017-12-27 20:03
:slightly_smiling_face: no DPR Endpoint to talk to - you can't change something not running

shane
2017-12-27 20:03
hold on - I'm finding the wiring for it in the config files

stanislav.fomin
2017-12-27 20:03
Check-and-mate

shane
2017-12-27 20:05
you'll need to modify 3 files in the filesystem - so they match the `"val":` JSON value like: ```defaultStage discover defaultBootEnv sledgehammer unknownBootEnv discovery```

shane
2017-12-27 20:05
files are in `drp-data/digitalrebar/preferences/`

shane
2017-12-27 20:05
unknownBootEnv.json defaultStage.json defaultBootEnv.json

zehicle
2017-12-27 20:06
welcome @stanislav.fomin

stanislav.fomin
2017-12-27 20:09
started ... OK /tmp/drp.log

shane
2017-12-27 20:10
do: `./drpcli prefs set defaultStage discover defaultBootEnv sledgehammer unknownBootEnv discovery`

shane
2017-12-27 20:10
(rather, I did ... that)

stanislav.fomin
2017-12-27 20:11
I should repeat this command?

shane
2017-12-27 20:11
I'd suggest destroying all of the current machines, wiping out the jobs logs, then starting over, so we have a clean setup - and no extra logs and machines cluttering things up

shane
2017-12-27 20:11
(no - I did it already)

stanislav.fomin
2017-12-27 20:11
OK, perform clean installation somethere else?

shane
2017-12-27 20:12
if you're ok w/ me wiping the machines and jobs log - I'll do that right now

shane
2017-12-27 20:12
you'll want to destroy the extra machines in VirtualBox

shane
2017-12-27 20:12
(or we can just reuse them - should be fine after destroying inside DRP)

stanislav.fomin
2017-12-27 20:13
Should I destroy all VMs test-rebar in VirtualBox?

shane
2017-12-27 20:13
no - I don't think you need to

shane
2017-12-27 20:14
we'll reuse the vbox nodes - just give me a minute to clean up the system

stanislav.fomin
2017-12-27 20:14
I think if I will make ./drpcli prefs set defaultStage discover defaultBootEnv centos-7-install unknownBootEnv discovery in clean virgin installation everything will be OK. But I am insterested how to fix this situation (from sledhammer to centos)?

shane
2017-12-27 20:15
```test@stas-custis-desktop /data/app/rebar $ for K in `./drpcli machines list | jq -r '.[].Uuid'`; do echo "NUKE: $K";./drpcli machines destroy $K; done NUKE: 42620a9a-a375-417c-a5c5-6ec694aeb9a0 Deleted machine 42620a9a-a375-417c-a5c5-6ec694aeb9a0 NUKE: 90d9a5cd-bb35-4edc-81d8-b3a349099d14 Deleted machine 90d9a5cd-bb35-4edc-81d8-b3a349099d14 NUKE: 9cbe8582-d713-4361-bca9-f11eb2bd0b85 Deleted machine 9cbe8582-d713-4361-bca9-f11eb2bd0b85 NUKE: ae271a28-9a57-4f21-bfef-1b8d8c27e9e2 Deleted machine ae271a28-9a57-4f21-bfef-1b8d8c27e9e2```

stanislav.fomin
2017-12-27 20:15
Shoud I halt all VMs in VirtualBox?

shane
2017-12-27 20:15
nope

shane
2017-12-27 20:16
```test@stas-custis-desktop /data/app/rebar $ for K in `./drpcli jobs list | jq -r '.[].Uuid'`; do ./drpcli jobs destroy $K; done Deleted job 0ee3101e-4fa6-47fe-b184-6cd416408280 <...snip...> Deleted job d4bd5d66-8dfb-463e-b37e-19afc26c8068```

shane
2017-12-27 20:16
(you can see the subsequent actions now in the `/tmp/drp.log` file - just for reference)

stanislav.fomin
2017-12-27 20:17
OK, dont worry for it

shane
2017-12-27 20:22
@stanislav.fomin go ahead and reboot one of your vbox nodes now

stanislav.fomin
2017-12-27 20:22
reboot or create new?

shane
2017-12-27 20:23
you should be able to just reboot an existing empty vbox node - and it'll DHCP/PXE off of DRP now

stanislav.fomin
2017-12-27 20:24
Aaaaa sledgehammer

stanislav.fomin
2017-12-27 20:24
on another new box


shane
2017-12-27 20:26
ok - we have forward progress ... ! but not success !

stanislav.fomin
2017-12-27 20:27
:disappointed:

shane
2017-12-27 20:27
it rebooted successfully based on the workflow to start the CentOS install - but it failed on "no bootable medium" to the Virtual Machine


stanislav.fomin
2017-12-27 20:28
VirtualBox cannot automatically select PXE

stanislav.fomin
2017-12-27 20:28
User have to press F12, select lan boot, etc....

stanislav.fomin
2017-12-27 20:29
Yes, after manual install it loads centos 7

stanislav.fomin
2017-12-27 20:29
right now....

shane
2017-12-27 20:30
yeah - I see it walking through the install right now

stanislav.fomin
2017-12-27 20:30
But this Automation should use manual actions... not OK

shane
2017-12-27 20:31
we don't automate VirtualBox - we automate bare metal (bearmetal ... remember that quip you made ... :slightly_smiling_face: )

stanislav.fomin
2017-12-27 20:31
Why is it not possible to get rid of sledgehammer and boot Centos 7 directly?

shane
2017-12-27 20:31
we do have a VirtualBox plugin - and I think it will do some of this automation - I don't play with it much

shane
2017-12-27 20:32
we don't do things that way - Sledgehammer is required to inventory, collect machine information, start a `runner` to process Jobs/Task to implement Workflow, etc ...

stanislav.fomin
2017-12-27 20:32
Hmm

shane
2017-12-27 20:32
it also allows us to provide protections about what should and shouldn't be imaged

shane
2017-12-27 20:33
if you just boot anything against a Provisioner that automatically installs an Operating System - you can very easily nuke something you didn't mean to

shane
2017-12-27 20:33
yes, you can control it by setting the Machine boot options (i.e. do not PXE boot) - but many production operations shops don't do it that way

shane
2017-12-27 20:34
Now - I _think_ that we can do it straight to CentOS install - if you create the Machine first - if the machine is created - before you first time boot it - it can then go straight to CentOS install

stanislav.fomin
2017-12-27 20:35
Yes, OK. So what the problem?

shane
2017-12-27 20:35
but that requires the `machine` object to be created first

stanislav.fomin
2017-12-27 20:35
What is right way to automatically recreate this workflow?

shane
2017-12-27 20:35
our view of Provisioning is based on creating workflows for environments with 1000s, 10000s, and more Machines

shane
2017-12-27 20:35
we have to be flexible to implement provisioning across huge infrastructure

shane
2017-12-27 20:36
we generally don't have shops that want to slap CentOS 7 only on machines straight out of the box

shane
2017-12-27 20:36
so - the problems was the `prefs` conflicting with the workflow (the "global" profile param I had you add)

shane
2017-12-27 20:37
once we set the `prefs` for the unknown/default BootEnv/Stage correctly - then the workflow to provision Machines to CentOS 7 install is working

shane
2017-12-27 20:37
the last piece you need is to "automate" the reboot actions within the VirtualBox environment

stanislav.fomin
2017-12-27 20:38
OK. What command line to create this "discover"->"centos7-install" workflow?

shane
2017-12-27 20:39
you did it already :slightly_smiling_face:

stanislav.fomin
2017-12-27 20:39
I did it by UI

stanislav.fomin
2017-12-27 20:39
So I wish to know two coherent magic spells: * workflow * global prefs

shane
2017-12-27 20:40
`prefs` is separate from `global` Profile

shane
2017-12-27 20:41
`prefs` sets the default conditions for Unknown and Default stages (workflow) and BootEnvs (install environments)

shane
2017-12-27 20:41
`global` Profile is applied to all machines that get installed

shane
2017-12-27 20:41
in this case, we used the `global` profile to specify that ALL machines should ALWAYS install ONLY centos-7-install workflow

shane
2017-12-27 20:42
in "real world use" - you'd normally `drpcli profiles create ... ` to create a new Profile for a given use case, then you'd apply this specific new Profile to a set of Machines

shane
2017-12-27 20:43
that Profile would specify the appropriate workflow stagemap (named `change-stage/map`)

shane
2017-12-27 20:43
other Machines might have *other* profiles with different settings - different BootEnvs, different Params, etc...

shane
2017-12-27 20:44
there are 2 more pieces you need to do 1. install the VirtualBox plugin 2. set `access-keys` to add SSH keys to inject in to the CentOS nodes that get installed

shane
2017-12-27 20:44
(because I'm assuming you want to be able to log in to them !)

stanislav.fomin
2017-12-27 20:44
« be able to log in to them» ? there is no default passwords in your kickstarts?

shane
2017-12-27 20:45
heck NO !!

stanislav.fomin
2017-12-27 20:45
ok-ok-ok

shane
2017-12-27 20:45
that'd be a huge security hole - imagine 200 machines in an environment that get installed with know user/pass pairs ... !!

stanislav.fomin
2017-12-27 20:46
now I wish to try baremetal install ? but for this I have to unplug ethernet cable from hub (to avoid DHCP-conflict)... end your ssh connection will drop. OK?

shane
2017-12-27 20:46
sure - but we should fix your DRP endpoint

shane
2017-12-27 20:47
so that you can get access-keys setup correctly first

shane
2017-12-27 20:48
basically - you want to inject the Public key half of a private/public key pair that you will use to SSH to the built machines

stanislav.fomin
2017-12-27 20:48
OK, what command for access-keys?

shane
2017-12-27 20:48
like this: ```drpcli profiles set global param access-keys to '{ "username": "ssh-rsa <...SSH_PUBLIC_KEY_HALF_HERE...> MY_KEY_NAME" }'```

shane
2017-12-27 20:49
replace `username`, `<...SSH_PUBLIC_KEY_HALF_HERE...>`, and `MY_KEY_NAME`

stanislav.fomin
2017-12-27 20:49
May be drpcli can grab it from github? (https://github.com/belonesox.keys)

shane
2017-12-27 20:49
not from github - but we have plugins that operate in other environments to get keys (for example in http://packet.net we get the SSH key half from the Packet metadata services)

stanislav.fomin
2017-12-27 20:51

shane
2017-12-27 20:52
the above `drpcli` command adds the `access-keys` Parameter to the _global profile_ which means any and all machines provisioned AFTER you add this param - will get the SSH key injected in to the `~root/.ssh/authorized_keys` file

shane
2017-12-27 20:54
I think that's fine - there's no "key name" added so it won't be documented in the authorized_keys file

shane
2017-12-27 21:11
last step is to install the VirtualBox plugin - if you want to continue to use the VirtualBox environment ```curl -s -o /tmp/virtualbox-ipmi-plugin https://s3-us-west-2.amazonaws.com/rebar-catalog/virtualbox-ipmi/v1.4.0-0-2bad605790ca75f85add0414ea2624684ae0a499/amd64/linux/virtualbox-ipmi ./drpcli plugin_providers upload virtualbox-plug from /tmp/virtualbox-ipmi-plugin echo '{ "Name": "virtualbox-ipmi", "Available": true, "Validated": true, "ReadOnly": false, "Provider": "virtualbox-ipmi", "Errors": [], "Params": { "virtualbox/user": "stas" } }' > /tmp/plug.json ./drpcli plugins create - < /tmp/plug.json ```

stanislav.fomin
2017-12-27 21:12
I successfully installed Centos7 on baremetal, thank you.

shane
2017-12-27 21:12
NOTE: the `virtualbox/user` is set to `stas` (I think that was your username)

shane
2017-12-27 21:12
it must be set to your username - and only works for a specific non-root user - that's a limitation of VirtualBox

stanislav.fomin
2017-12-27 21:13
Now I have to go (midnight in Moscow, subway will be closed soon...)

shane
2017-12-27 21:13
the plugin implements Power events (reboot, power on, power off), and nextboot (PXE/disk) stuff for automating VirtualBox more

shane
2017-12-27 21:13
glad to hear the bearmetal install was successful !!

stanislav.fomin
2017-12-27 21:13
last question: why UI (172.31.1.3:8092) cannot works locally, without internet access?

shane
2017-12-27 21:14
there is no embedded HTTP UI/UX on the DRP Endpoint

stanislav.fomin
2017-12-27 21:14
Only redirect to your service?

shane
2017-12-27 21:14
our SaaS/Portal is run by us, so we can apply updates, new features, etc.... at a MUCH faster pace than most people deploy new updates to the DRP Endpoing service locally

shane
2017-12-27 21:15
yes - but it's a single-page CORS application - which means it downloads the page to your browser and runs in browser - we do connect back to our Content Library system for getting content and managing Portal based logins

stanislav.fomin
2017-12-27 21:15
Yes, but I think about deploying to private clouds... without internet access

shane
2017-12-27 21:15
your DRP Endpoint only connects to YOUR laptop/browser session - it does NOT connect to our Portal

shane
2017-12-27 21:16
yes - and we have a roadmap plan for Enterprise customers to be able to deploy a local Portal inside their environment

shane
2017-12-27 21:16
we don't have that feature enabled yet - but it's on the road map for our paying enterprise customers

stanislav.fomin
2017-12-27 21:16
OK, thank you.

2017-12-28 14:36
so do we have a working KRIBs yet ??

shane
2017-12-28 14:43
oh yes - KRIB has been working for quite some time

zehicle
2017-12-28 15:27
@stanislav.fomin if stand alone portal is interesting then we should talk. It's a near term beta item that we could bundle into other support features.

stanislav.fomin
2017-12-28 16:10
It is not urgent, I will be at New Year's holidays until 11 Jan... may be sometimes


shane
2017-12-28 19:52
@stanislav.fomin - that is OLD (version 2) documentation, please use the "latest" doc version for Digital Rebar Provision, located at: http://provision.readthedocs.io/en/latest/README.html#

shane
2017-12-28 19:52
(Digital Rebar v2 is a fairly different beast from Digital Rebar Provision v3)

stanislav.fomin
2017-12-29 17:44
What is right way to specify bootenvs? I try to import bootenvs from YAMLs, $ drpcli bootenvs create --format=yaml - < /etc/digital-rebar/test.yaml Error: ValidationError: bootenvs/centos-7-install Templates[0]: No common template for default-pxelinux.tmpl Templates[1]: No common template for default-elilo.tmpl Templates[2]: No common template for default-ipxe.tmpl Templates[3]: No common template for centos-7.ks.tmpl and I cannot find to how export-import templates....

shane
2017-12-29 17:48
here's a valid work flow - showing how to copy an existing BootEnv, change it's Name (minimum required change), and then add it back to the system: ```drpcli bootenvs list | jq '.[].Name' | grep cent "centos-7-install" "centos-7.4.1708-install" drpcli bootenvs show centos-7-install --format=yaml > centos.yaml sed -i.bak 's/^\(Name: \).*$/\1my-centos/g' centos.yaml drpcli bootenvs create - < centos.yaml drpcli bootenvs list | jq '.[].Name' | grep cent "centos-7-install" "centos-7.4.1708-install" "my-centos"```

shane
2017-12-29 17:50
Your errors however, relate to validation

shane
2017-12-29 17:51
all pieces of a bootenv must exist for the bootenv to be created

shane
2017-12-29 17:52
is this the same system you were playing with previously - or a newly built one ?

shane
2017-12-29 17:52
do you have the `drp-community-content` installed in this system - it's referring to templates that exist in that content pack

stanislav.fomin
2017-12-29 17:53
No, I am trying to reproducable idempotent install with ansible

stanislav.fomin
2017-12-29 17:53
I have not bootenv except "local" and "ignore"

shane
2017-12-29 17:54
can you plz do: `drpcli contents list | jq '.[].meta.Name'`

stanislav.fomin
2017-12-29 17:54
and I am trying to add new bootenv (and fully understand what every options means)

stanislav.fomin
2017-12-29 17:54
[vagrant@dr-provision digital-rebar]$ drpcli contents list | jq '.[].meta.Name' "BackingStore" "LocalStore" "DefaultStore" "BasicStore"

shane
2017-12-29 17:55
right - so you do not have `drp-community-content` installed - so you either have to manually recreate all of the pieces that the new BootEnv you are adding rely on ...

shane
2017-12-29 17:55
or install `drp-community-content` first

shane
2017-12-29 17:55
if you want to create your own content pack - you need to take a look at the existing `drp-community-content` and recreate the pieces in it

shane
2017-12-29 17:56
we always validate on create and destroy that you aren't going to create an unusable system

shane
2017-12-29 17:56
so on destroy operations - if the piece of content you are trying to delete is in use by another content element - we won't delete it (without force)

shane
2017-12-29 17:56
same for create - you must add in the pieces and parts in order that are required by a content element

shane
2017-12-29 17:57
alternatively - you create a YAML or JSON content pack that contains everything in a single spec file - then it'll all be added at the same time

shane
2017-12-29 17:57
this is what the `drp-community-content` pack does - and why I suggest you look at it for inspiration

shane
2017-12-29 17:57
now - lets step back a bit first - though

shane
2017-12-29 17:58
what is your ultimate goal ?

shane
2017-12-29 17:58
just to get a custom Kickstart in place ?

stanislav.fomin
2017-12-29 17:59
Hm. I will prefer not install "drp-community-content" ? my goal to have controlled, repetable dr-provision installation with bootnevs: "sledghammer" - need for facts gathering, and "centos-7" with my custom kickstart files.

shane
2017-12-29 18:00
sure - so basically you want to strip down the drp-community-content to JUST centos 7 and sledgehammer ?

shane
2017-12-29 18:00
the `drp-community-content` pack is not very bit - it's just JSON spec for the bootenvs - and they really don't take hardly any space in the system

stanislav.fomin
2017-12-29 18:01
I use "https://github.com/mrlesmithjr/ansible-digital-rebar" ansible role, it does not install drp-community-content

shane
2017-12-29 18:03
oh - nice - didn't know someone was putting an ansible role together for DRP ... :slightly_smiling_face:

stanislav.fomin
2017-12-29 18:03
So I prefer that all YAML/kickstart files, all this staff will on some my git repo, with and templated by ansible with jinja templates.

shane
2017-12-29 18:04
the ansible role can simply pull in the latest `drp-community-content` - which I'd highly suggest as there are a LOT of pieces of content included in it that you do not need to replicate

stanislav.fomin
2017-12-29 18:04
So I can parametrise/templatesed every file, every config.

shane
2017-12-29 18:05
we've done a lot of that - and if you are interested in adding more Params work to the content packs - we'd really like to work with you to have that included back in to the DRP community content

shane
2017-12-29 18:05
that only makes the product better for you and for everyone else too

shane
2017-12-29 18:06
I have a Branch with some changes to allow for dynamic Kickstart or Preseeds to be specified in the existing content, so you can replace the stock supplied ones, without doing all of this cloning operations

stanislav.fomin
2017-12-29 18:06
BTW ? command line API of drpcli with "exists", "create", "update" ? not very convenient with regular idempotent ansible install. Will be better if "update" can create new object. Now I have do a lot of boring staff: * check if object exists * call update or create accordingly

shane
2017-12-29 18:06
via that change, you can specify a custom kickstart or pressed (depending on distro) to switch to instead of stock ones we provide

shane
2017-12-29 18:08
ah - but that pattern exists for a very very very good reason - it's fundamental to how our system operates - by creating a "Read Only" layer of content that can't (easily) be modified in the field - so your provisioning systems are not "drifting" in config from your ci/cd qa/dev whatever tested patterns have validated

shane
2017-12-29 18:09
the typical pattern is to develop your deployment content in your Dev/Test/QA/CI/CD lab/pipeline - and create a set of content that you deploy with your provisioner, lock the content read-only, and you know your field deployments content match your tested/validated content

stanislav.fomin
2017-12-29 18:10
OK, how I can pull "drp-community-content" pack? Try googling, but failled.

shane
2017-12-29 18:10
in this case - you'd create a Content Pack and deploy that content pack as one piece with the solution

shane
2017-12-29 18:10
a lot of your answers can be found in my `pkt-demo` BASH example, at: https://github.com/digitalrebar/provision/tree/master/examples/pkt-demo

shane
2017-12-29 18:11
specifically check out the `bin/control.sh` script - and the $CURL download patterns there

shane
2017-12-29 18:11
we also use a Catalog which will iterate the newest version of the content

shane
2017-12-29 18:11
so you can request the newest version of content in the Catalog, piece together your download URL from the Catalog

shane
2017-12-29 18:12
and get the most recent version of content for your system and hardware architecture (eg linux/mac/windows and arm/64bit, etc)


shane
2017-12-29 18:14
note in the Template - the `if` match statements need to be corrected - waiting on some other changes for those to be finished

shane
2017-12-29 18:17

stanislav.fomin
2017-12-29 18:19
Yes, I download OK. But I cannot find a line of code how to "install" all this "bundle"

shane
2017-12-29 18:20
`drpcli contents create - < drp-community-content.yaml`

shane
2017-12-29 18:20
if you haven't seen it yet, the `drpcli` binary has a built in help system

shane
2017-12-29 18:21
simply do: `drpcli <enter>` you get top level resources you can manipulate `drpcli contents <enter>` you get contents related operations ...etc...

stanislav.fomin
2017-12-29 18:21
Thank you. But no "drpcli contents" in this examples/// /home/stas/bred/provision/examples>ack "drpcli contents"

shane
2017-12-29 18:22
we also have Shell autocompletion - but you have to install it


shane
2017-12-29 18:23
follow the "for ubuntu" example for CentOS - I have an updated Doc version that hasn't hit the website yet that cleans up that section correctly

shane
2017-12-29 18:27
not sure what your "examples" is referring to ?

stanislav.fomin
2017-12-29 18:33
My "examples" ? folder "examples" from https://github.com/digitalrebar/provision.git

stanislav.fomin
2017-12-29 18:33
I tried "sudo /usr/local/bin/drpcli autocomplete /etc/bash_completion.d/drpcli" but still not worked... I will research it later

shane
2017-12-29 18:34
you have to "source" the autocomplete file after you create it

shane
2017-12-29 18:34
or log out and log back in

shane
2017-12-29 18:35
example: `source /etc/bash_completion.d/drpcli`

stanislav.fomin
2017-12-29 18:38
Of course I relogin... but fail...

shane
2017-12-29 18:38
does the /etc/bash_completion.d/drpcli exist/get created successfully ?

stanislav.fomin
2017-12-29 18:38
About params ? where I can specify default value for example for param "operating-system-disk"?

shane
2017-12-29 18:38
and check the permissions on it (644)

stanislav.fomin
2017-12-29 18:39
[vagrant@dr-provision ~]$ ls -l /etc/bash_completion.d/drpcli -rw-r--r-- 1 root root 155339 Dec 29 18:25 /etc/bash_completion.d/drpcli [vagrant@dr-provision ~]$

shane
2017-12-29 18:39
a param can be attached to a Machine - or a better pattern, is to create a Profile - and add the param and the value you want to that key in the Profile

shane
2017-12-29 18:39
then you attach the Profile to the machine

shane
2017-12-29 18:39
a Profile is a collection of Params that can all be applied to a Machine in one piece

stanislav.fomin
2017-12-29 18:40
Hmm. Is it possible to specify default value for param on global, "content file"-level?

shane
2017-12-29 18:40
you can attach multiple Profiles to any given Machine, and a Machine always includes the `global` profile by default

shane
2017-12-29 18:40
yes - you can add a Param to the `global` profile - but it will be applied to EVERY SINGLE machine that is provisioned

shane
2017-12-29 18:40
so if you have machines with different needs - this is not a good solution

stanislav.fomin
2017-12-29 18:41
(Current problem, that "centos-7-install" from community-content install all this staff on /dev/sde, not /dev/sda)

shane
2017-12-29 18:42
yes - so you want to set a Param in either a Profile, or added directly to a Machine - to specify `operating-system-disk` is `sde`

shane
2017-12-29 18:42
wait

shane
2017-12-29 18:42
are you saying it's getting installed to `sde`, but you WANT it installed to `sda` ?

shane
2017-12-29 18:43
we by default try to install to `sda` - but we also check to try and determine what the first disk is in the system

shane
2017-12-29 18:43
I'd have to ping @vlowther to ask him how that determination is made for certain

stanislav.fomin
2017-12-29 18:44
can I specify "global profile" in content file?

greg
2017-12-29 18:44
@stanislav.fomin @shane - the current `operating-system-disk` value is used. If it is not specified it will be `sda`

greg
2017-12-29 18:45
Parameters are processed as @shane describes: Machine -> Profiles on Machine -> Global Profile -> Parameter default.

shane
2017-12-29 18:45
no - `global` is a built-in profile - it exists without you needing to create it

greg
2017-12-29 18:47
Parameter objects can have schema and schema can specify a default. We don?t use that for content parameters now. We could. The Parameter default isn?t displayed in aggregated views.

stanislav.fomin
2017-12-29 19:08
OK, probably it is my problem with disks order in BIOS. But is it possible to specify "os disk" somehow ("lshw -class disk"): { "SSD" in "product" and size?"256GB" } ?

greg
2017-12-29 19:10
well - this is a feature that would be interesting.

greg
2017-12-29 19:11
You could build a task that runs during discovery that inventories the system and sets the `operating-system-disk` parameter on the system based upon that kind of command.

shane
2017-12-29 19:13
this is why we have the Workflow system - which relies on Sledgehammer

shane
2017-12-29 19:13
you're asking for advanced provisioning and workflow operations - things that require knowledge of the system being provisioned

shane
2017-12-29 19:13
which is why the sledgehammer solution was developed and why we use it

shane
2017-12-29 19:14
you can do very interesting things like this - by simply creating a Task to accomplish this during the Workflow

greg
2017-12-29 19:26
@lae or @ctrees - what is the VM management system y?all use? I think you mentioned it before.

greg
2017-12-29 19:35
nvm - proxmox is it, I think. :slightly_smiling_face:

ctrees
2017-12-29 19:35
I've used most all of them... VMWare (and all it's) Hyper-V, Virtual Box, Vagrant, ProxMox...

ctrees
2017-12-29 19:38
... OpenStack... I just blew up VMWare Fusion... so was kicking it off my main mac... but most the time when I'm feeding stuff to others to learn... Vagrant/VBox

ctrees
2017-12-29 19:38
I've learned to hate them all

greg
2017-12-29 19:38
ok cool - feel the hate.

greg
2017-12-29 19:38
:slightly_smiling_face:

ctrees
2017-12-29 19:39
BUT... the Doc at UNI pretty much sticks with ProxMox

greg
2017-12-29 19:58
okay - cool.

stanislav.fomin
2017-12-29 20:36
My problem with "centos-7-install" from community pack that it tries to use all disks: ? part swap --recommended part pv.6 --size=1 --grow {{if .ParamExists "operating-system-disk"}}--ondisk={{.Param "operating-system-disk"}}{{end}} ? What I want: put all OS stuff (root-swap-home) for /dev/sda, leave other disks, for example, for CEPH like that: clearpart --all --initlabel --drives=sda

stanislav.fomin
2017-12-29 20:36

shane
2017-12-29 20:38
agree - that the kickstart has fairly limited disk install setup - this is where the "kickseed" and a custom kickstart stuff would help

shane
2017-12-29 20:38
or a better parameratized setup for the kickstart config - to feed disk partitioning to the kickstart

shane
2017-12-29 20:40
it's possible to pluck out the "partitioning" component of the Kickstart, and create individual templates for different partitioning schemes

shane
2017-12-29 20:40
then you could use a parameter to define which disk partitioning scheme to use - and that would call the correct template

shane
2017-12-29 20:41
that allows you to create a generic kickstart that has custom parameterized elements

shane
2017-12-29 20:41
you could even create a "custom" partitioning template that was basically empty - and the correct partitioning snippet could be defined as Parameter input

shane
2017-12-29 20:42
but having a collection of several pre-defined partitioning schemes is a really nice piece to have

shane
2017-12-29 20:42
note that all of the content is based on Golang based text templating engine - so you can templatize and expand the results dynamically at run time

stanislav.fomin
2017-12-29 21:00
"Golang based text templating engine" ? unfortunately, they looks like ansible-jinja templating engine (with curly braces), so impossible to use "content.yaml" as ansible template.

vjcubas
2017-12-30 18:16
has joined #community201712

i.grischott
2017-12-31 22:18
Happy New Year @community :v: :wine_glass: Thanks to the DR-staff for your help and always fast response..

zehicle
2018-01-01 02:16
Same and thanks!