stanchan
2018-05-01 09:13
Is there anything else I need to do to utilize the exploded ISO for installation of debian9 on my local network other then assigning a profile with local-repo enabled?

greg
2018-05-01 17:36
You shouldn?t need local-repo.

greg
2018-05-01 17:37
You may need a repo structure like in the docs for accessing an internal mirror if the install iso doesn?t have enough stuff. @stanchan



stanchan
2018-05-01 18:25
yah? that was the confusing part of the docs. Didn?t know if I needed the local-repo to use the default exploded iso without going to the internet or if I had to setup a ?package-repositories? in my profiles and manually setup with my own copy or if it automatically used the exploded iso without the need to set anything at all :slightly_smiling_face:

stanchan
2018-05-01 18:26
The deprecation note didn?t help :wink:

shane
2018-05-01 18:31
the `local-repo` will provision against the Exploded ISO - ONLY. That means a very very minimal OS install - if you specify additional packages, it'll probably fail. The `package-repositories` allows you to override all of the Repos used for install. You can use it to select appropriate mirrors to use - either geographically "closer" to you (or generally faster), or your own internally.

shane
2018-05-01 18:32
I'm not sure the Debian ISO will get you much (via `local-repo`) - it's an extremely slim ISO - and likely doesn't install much.

michael.harp
2018-05-01 18:46
Looking forward to the RackN talks at Interop tomorrow!

vlowther
2018-05-01 19:22
@shane Actually, with the latest content local-repo does not mean anything anymore.

greg
2018-05-01 19:58
@michael.harp - you in my hands-on session?

michael.harp
2018-05-01 20:09
yep, at least I think so

greg
2018-05-01 20:14
nice! I?ll see you then.

greg
2018-05-01 20:15
If not, let me know. They were asking about extras. I figure we can try to accommodate all who fit.

michael.harp
2018-05-03 01:00
@greg Nice demo of the new image deployment feature!

greg
2018-05-03 02:13
Sorry I missed you. Glad you liked it

2018-05-03 07:07
has joined #community201805

spector
2018-05-03 13:20
@ $Welcome

2018-05-03 13:20
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-04 07:08
has joined #community201805

2018-05-04 13:29
has joined #community201805

2018-05-04 16:04
has joined #community201805

spector
2018-05-04 16:14
@ $Welcome

2018-05-04 16:14
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-04 16:35
has joined #community201805

florent.wagener
2018-05-04 18:53
I think there is a bug in the last tip version at the ssh-access stage level. I noticed that all the keys are there but without newline character, here's an example: ```ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAizA9z/FZIqT+Pf6+vv0A52OTnYy0HceRVFH6ON7owaFDbc+Ih+CdA/hSSHzKFJUN2V/iw2+DmueD7hpVpbGfkZdUVPg8wpeMb3NVdbR1wv3+lU/z1kwL33MFLlMfr7nGTbe8737YvrmPmTOYFNBpU2DNS8ifPk30rcBL+lk/bmU=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJ4halNR7KwQcH+lXf58msu5XysLxWV0gob4hf+poTbssh-dss AAAAB3NzaC1kc3MAAACBAIZXINAHHAADfKpDDL+6LWWBxqlOZyCTCeMVvZIi+YI4axIkP0o4yaOmj4EFjMeBjYk5wju79q243Qf9OcsyNJhD9HhfTh5GKaPxdjEnDKKWX1hK6jg4lqqNBnMf8EiIdCEF2Rn7ZjPPNS2BJshoy6Cg5BwtXCUgN68hCIO4SYyNAAAAFQCtMPrbp0S79OijrjG1t9dZ46+MsQAAAIBuAv17FtR/R9AzIYPphO0Vu2WToKKeKxqJkEfY32fweV3VzRsHV/WAsjXq8oTv1QR1Gc58LKNQw13JmnEjWtagkc5Qpt1xKtLfIff+zCfzVjsvR/Yn2pt0N0OhK+yWF8JACR3Vc0bUDMMNv7gstX4z/Oly2WMl6OFiJZ5f8SAlBAAAAIBNKEVkXrlZJ48qZ7yVyxlPxlobQTEhedGLqPIWOfFSegkpYnodycz63PMAfIMlqI9S7bykoJoEf19ttXzx4DIpnQKGX99EXr/kDze2h/kj0o/a25/Eyi1supI3Rhv8dImvF2j05pRIrvXtcQUHrCckAPUK8mlMIrcoQJ2+Qj//vg== ``` Instead of: ```ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAizA9z/FZIqT+Pf6+vv0A52OTnYy0HceRVFH6ON7owaFDbc+Ih+CdA/hSSHzKFJUN2V/iw2+DmueD7hpVpbGfkZdUVPg8wpeMb3NVdbR1wv3+lU/z1kwL33MFLlMfr7nGTbe8737YvrmPmTOYFNBpU2DNS8ifPk30rcBL+lk/bmU= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJ4halNR7KwQcH+lXf58msu5XysLxWV0gob4hf+poTb ssh-dss AAAAB3NzaC1kc3MAAACBAIZXINAHHAADfKpDDL+6LWWBxqlOZyCTCeMVvZIi+YI4axIkP0o4yaOmj4EFjMeBjYk5wju79q243Qf9OcsyNJhD9HhfTh5GKaPxdjEnDKKWX1hK6jg4lqqNBnMf8EiIdCEF2Rn7ZjPPNS2BJshoy6Cg5BwtXCUgN68hCIO4SYyNAAAAFQCtMPrbp0S79OijrjG1t9dZ46+MsQAAAIBuAv17FtR/R9AzIYPphO0Vu2WToKKeKxqJkEfY32fweV3VzRsHV/WAsjXq8oTv1QR1Gc58LKNQw13JmnEjWtagkc5Qpt1xKtLfIff+zCfzVjsvR/Yn2pt0N0OhK+yWF8JACR3Vc0bUDMMNv7gstX4z/Oly2WMl6OFiJZ5f8SAlBAAAAIBNKEVkXrlZJ48qZ7yVyxlPxlobQTEhedGLqPIWOfFSegkpYnodycz63PMAfIMlqI9S7bykoJoEf19ttXzx4DIpnQKGX99EXr/kDze2h/kj0o/a25/Eyi1supI3Rhv8dImvF2j05pRIrvXtcQUHrCckAPUK8mlMIrcoQJ2+Qj//vg== ```

greg
2018-05-04 19:02
Try tip content now.

greg
2018-05-04 19:03
@florent.wagener

florent.wagener
2018-05-04 19:03
community content ?

greg
2018-05-04 19:05
yes

florent.wagener
2018-05-04 19:06
gimme 1min.

florent.wagener
2018-05-04 19:11
it's working now :slightly_smiling_face: thanks @greg

zehicle
2018-05-04 19:26
@zehicle pinned a message to this channel.

zehicle
2018-05-04 19:27
@zehicle pinned a message to this channel.

spector
2018-05-04 19:30
@ $welcome

2018-05-04 19:30
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-04 19:45
Thanks!

florent.wagener
2018-05-04 20:58
any idea why this: payload `[{'op': 'add', 'path': '/netbox-id', 'value': '6770'}]` works in a python PATCH request but not in swagger ?

florent.wagener
2018-05-04 20:58
the error message I got is that: ```{ "Model": "", "Key": "", "Type": "PATCH", "Messages": [ "invalid character '\\'' looking for beginning of object key string" ], "Code": 400 }```

zehicle
2018-05-04 20:59
does it require having the tests too?

zehicle
2018-05-04 20:59
that patch is only the action, no pre-change test

vlowther
2018-05-04 21:00
python magically turns single-quotes to double-quotes when turning that structiore into JSON?

florent.wagener
2018-05-04 21:00
@vlowther same with double quotes.

zehicle
2018-05-04 21:01
it looks like the model & key are missing too

vlowther
2018-05-04 21:01
I mean, as written, what you have there isn't valid JSON

vlowther
2018-05-04 21:02
`[{"op": "add", "path": "/netbox-id", "value": "6770"}]` <-- that is, though.

florent.wagener
2018-05-04 21:05
```{ "Model": "params", "Key": "a7ede354-6542-4079-8df6-149da1dc7793", "Type": "PATCH", "Messages": [ "Not Found" ], "Code": 404 }``` with the double quotes.

florent.wagener
2018-05-04 21:05
works fine in my python requests.

florent.wagener
2018-05-04 21:05
```r = requests.patch(url, data=json.dumps([{"op": "add", "path": "/netbox-id", "value": "6770"}]), headers=headers, verify=SSLVerify)```

vlowther
2018-05-04 21:06
What is `url` in that query?


vlowther
2018-05-04 21:09
hm

florent.wagener
2018-05-04 21:09
```https://10.0.49.254:8092 = {{ RS_ENPOINT }} a7ede354-6542-4079-8df6-149da1dc7793 = {{ RS_UUID }}```

florent.wagener
2018-05-04 21:09
i'm using these param to build the url.

vlowther
2018-05-04 21:09
Well, I need to write better error messages, for one. :slightly_smiling_face:

florent.wagener
2018-05-04 21:09
XD

florent.wagener
2018-05-04 21:10
it worked fine a while ago in swagger. I don't get why it's not working now...

vlowther
2018-05-04 21:11
I am reading over the code to be sure, but my first instinct is to say that the machine with that UUID has been deleted.

florent.wagener
2018-05-04 21:12
impossible that's the machine executing the code.

florent.wagener
2018-05-04 21:12
and i'm looking at it right now in DRP :smile:

vlowther
2018-05-04 21:14
hrm.

vlowther
2018-05-04 21:15
I do not see a codepath that would make a 404 with Model: params and Key: <machine-uuid>

vlowther
2018-05-04 21:15
Can you dial frontend logging all the way up to trace and retry that request?

vlowther
2018-05-04 21:16
(and turn it back down afterwards, otherwise your lofs will grow like crazy)

zehicle
2018-05-04 21:21
Can you use the drpcli to make the same change?

florent.wagener
2018-05-04 21:22
let me try

vlowther
2018-05-04 21:23
On a completly unrelated note

vlowther
2018-05-04 21:24
@florent.wagener Users can be in at most one tenant, or users can be in multiple tenants?

vlowther
2018-05-04 21:24
(and anyone else who has an opinion)

vlowther
2018-05-04 21:24
Both options have their merits, but they also have drawbacks.

florent.wagener
2018-05-04 21:24
It's the chicken and egg story :smile:

vlowther
2018-05-04 21:25
Mostly around object creation by tenanted users.

florent.wagener
2018-05-04 21:25
We discussed this with @romain.lafontaine a few weeks ago and I don't think we were able to decide something.

vlowther
2018-05-04 21:25
If at most, object creation has easy semantics -- the newly created object is also added to the tenant the user is in.

florent.wagener
2018-05-04 21:26
opinion @marc.heckmann?

vlowther
2018-05-04 21:26
If an user can be in multiple tenants, the question as to which tenant the object should be created in does not have an easy answer without introducing some form of stupid hack or another.

florent.wagener
2018-05-04 21:27
well depends on how you are managing users

vlowther
2018-05-04 21:28
(guess what I am implementing right now)

florent.wagener
2018-05-04 21:28
If at some point you are planning make DRP able to connect to some kind of LDAP or Active Directory

marc.heckmann
2018-05-04 21:29
sounds like a scoping problem

romain.lafontaine
2018-05-04 21:29
My opinion is, in DRP case, a tenant should represent a subset of machines. A machine can't be in more than 1 tenant. Based on this, I would say that "operators" (user with limited actions) access only their tenant while on the other hand "admins" access everything (multi tenant + the config part)

marc.heckmann
2018-05-04 21:29
A user should only be scoped to one tenant at a time

florent.wagener
2018-05-04 21:29
you could manage group of users to access this or that

vlowther
2018-05-04 21:29
hm.

florent.wagener
2018-05-04 21:30
and I got forestall by @romain.lafontaine...

vlowther
2018-05-04 21:30
I see the LDAP/AD thing as a way iof solving the "Is $USER who they claim to be, and are they allowed to talk to us", not the "what is $USER allowed to do"

romain.lafontaine
2018-05-04 21:30
Both are valid, it's not obvious to decide

romain.lafontaine
2018-05-04 21:31
@vlowther why not both ?

romain.lafontaine
2018-05-04 21:31
Like All these OU are tenants, this particular OU is admins

romain.lafontaine
2018-05-04 21:32
I don't want tenant users playing with network interface parameters for example

vlowther
2018-05-04 21:33
because at its lowest level our authorization boils down to a detailed whitelist of (subject,verb,object) triples

romain.lafontaine
2018-05-04 21:34
_is lost_

vlowther
2018-05-04 21:35
https://github.com/digitalrebar/provision/blob/master/doc/arch/auth.rst is the start of the docs that detail how authorization works.

vlowther
2018-05-04 21:35
basically, each user has a list of Claims.

vlowther
2018-05-04 21:36
Currently, every user is effectively a superuser.

zehicle
2018-05-04 21:36
if users have a single tenant, then you'd have to create multiple users to cross tenants

zehicle
2018-05-04 21:37
we'd end up needed to nest tenants

vlowther
2018-05-04 21:37
The Role stuff I am adding allows you to specify what each user is authorized to do to a high degree of specificity.

vlowther
2018-05-04 21:37
@zehicle Yeah, let's not go there for now.

zehicle
2018-05-04 21:38
+100

romain.lafontaine
2018-05-04 21:38
Reading your doc I feel that Tenant in my head = Role :thinking_face:

vlowther
2018-05-04 21:38
The Tenant stuff will act as filter on what the users can see in the first place.

vlowther
2018-05-04 21:39
Role == list of Claims

vlowther
2018-05-04 21:39
Tenant == list of Objects

vlowther
2018-05-04 21:40
if a user is tenanted, then they can only potentially access objects that the Tenant lists.

romain.lafontaine
2018-05-04 21:40
Objects = ?

vlowther
2018-05-04 21:40
if they are not tenated, then they can potentially access any object

vlowther
2018-05-04 21:41
Machines, reservations, users, etc.

romain.lafontaine
2018-05-04 21:42
_Rephrasing to be sure I understood_ Role filter your allowed actions while Tenant filter on what you can perform it ?

vlowther
2018-05-04 21:43
Pretty much, although Roles can also further filter what you can see

vlowther
2018-05-04 21:43
You can theoritically implement tenant-lie behaviour with just Roles

romain.lafontaine
2018-05-04 21:43
Got it and :heart: it

vlowther
2018-05-04 21:43
but it would be a pain to maintain.

romain.lafontaine
2018-05-04 21:43
Much more powerful

romain.lafontaine
2018-05-04 21:44
:thinking_face:

vlowther
2018-05-04 21:44
Hence my original query

vlowther
2018-05-04 21:44
should I allow users to belong to multiple tenants, or at most one?

romain.lafontaine
2018-05-04 21:45
1 user = 1 role and 1 tenant in this case

vlowther
2018-05-04 21:45
If the former, then creating objects becomes tricly enough on the client side that I will probably disallow it entirely until someone comes up with a good way to make it wwork without painful API gyrations.

vlowther
2018-05-04 21:46
why 1 role?

romain.lafontaine
2018-05-04 21:46
it's already a list, why listing lists ?

vlowther
2018-05-04 21:46
Composability.

romain.lafontaine
2018-05-04 21:46
Complexity

romain.lafontaine
2018-05-04 21:47
I get your point, but at 1 organization level (until you want to SaaS it), we should enforce limited list or role

romain.lafontaine
2018-05-04 21:47
You = Admin, You = Operators

romain.lafontaine
2018-05-04 21:48
Not happy, let's build a 3rd one

romain.lafontaine
2018-05-04 21:49
And it will be at the DRP instance level, not an umbrella kind of ?

vlowther
2018-05-04 21:50
There wasn't really any additional complexity in allowing users to be in multiple roles.

romain.lafontaine
2018-05-04 21:50
If it's the same workload and complexity, I'm in

vlowther
2018-05-04 21:51
ok.

romain.lafontaine
2018-05-04 21:52
I feel we need to keep in the mind the multi-instances implementation (like DRP in switches) where we'll have to ensure that it's spread everywhere the same way

vlowther
2018-05-04 21:53
The Roles code is already in tip for those interested in playing with it. No UX support yet, through.

vlowther
2018-05-04 21:53

vlowther
2018-05-04 21:55
The current code allows users to be in more than one Tenant.

vlowther
2018-05-04 21:55
Based on this conversation, though, I will modify it to only allow a user to be in at most 1 tenant.

vlowther
2018-05-04 21:57
and then work on alowing creates by tenanted users, write up some docs, and unit test all this crazy newness.

vlowther
2018-05-04 21:57
Unless someone strongly objects. :slightly_smiling_face:

zehicle
2018-05-04 21:58
what happens for superusers? can they cross tenants?

romain.lafontaine
2018-05-04 21:58
I feel it's easier, but maybe I'll come back to you next year asking for it and you'll remind me this :troll:

romain.lafontaine
2018-05-04 21:58
They should

vlowther
2018-05-04 21:59
Users not in a tenant can potentially interact with everything

vlowther
2018-05-04 21:59
subject to their Rule restrictions.

vlowther
2018-05-04 21:59
that is why the "at most 1 tenant" statement is phrased that way.

vlowther
2018-05-04 22:01
for example, the rocketskates user by default gets the superuser role: `superUser = models.MakeRole("superuser", "*", "*", "*")`

vlowther
2018-05-04 22:02
which is a default role provided by the system.

vlowther
2018-05-04 22:02
but if you put rocketskates into a tenant, it could only interact with objects that the Tenant lists.

vlowther
2018-05-04 22:04
and if the tenant did not have any objects, rocketskates would not be able to see or do anything, despite having the superuser role.

vlowther
2018-05-04 22:05
Anyways, time to head home and start thinking about dinner.

zehicle
2018-05-04 22:48
That sounds good to me

2018-05-07 16:36
can the config of drp be exported/backed up and imported in a new instance somewhere else?

greg
2018-05-07 16:39
@ - There are ways to do that. Content can be exported through the cli including the rewrite content.

greg
2018-05-07 16:39
The restore path is different, but do able.

2018-05-07 16:46
I am experimenting on my mac and would like to migrate to linux if all goes well.

greg
2018-05-07 16:47
You could tar up the drp-data dir and move it to the linux system.

shane
2018-05-07 16:48
@ - we have a "convert isolated to production" procedure which is basically the same thing as Greg is suggesting - check our docs: http://provision.readthedocs.io/en/tip/doc/faq-troubleshooting.html?highlight=backup#convert-isolated-install-to-production-mode

greg
2018-05-07 16:48
cool

shane
2018-05-07 16:49
Essentially - just `tar` up the current `drp-data` directory, install DRP in the new location, untar the `drp-data` over the top of your new drp-data directory - fire up DRP ... this is only guaranteed to be problem free if you use the same source and target DRP instance running the same version

2018-05-07 16:49
Morning all :slightly_smiling_face:

shane
2018-05-07 16:49
'morning Ian - welcome :slightly_smiling_face:

2018-05-07 16:50
Thanks Shane!

2018-05-07 16:53
I got the centos server installed via DRP this morning :smile: very fast. I can't wait to dig in more! Now a pretty strange question...I have tried all the default centos usernames and passwords and none of them work...Any idea where that was set or what the values are? Thank you

shane
2018-05-07 16:54
Yes - we do have a clue ... :slightly_smiling_face:

2018-05-07 16:54
lol..perfect..i knew u would

shane
2018-05-07 16:55
The username can be found by peering in to the Kickstart (in Templates - `centos-7.ks.tmpl`) ... but the PW is hashed so you can't see it in plain text

shane
2018-05-07 16:55
In this case - user is `root` and password is `RocketSkates`

2018-05-07 16:55
Thank you. Im going to track down the Templates now so that I can remember or change the values later

2018-05-07 17:00
or create a new hash and set it in your profile or whatever

greg
2018-05-07 17:00
:slightly_smiling_face: @ - exactly.

2018-05-07 17:15
@shane I'm following a long on the rackn videos and I'm on the template video...@ 3:26 is says to go to /drp/assests/templates but my assets directory doesn't have any of the directories in the video.


2018-05-07 17:26
has joined #community201805

zehicle
2018-05-07 17:58
@ videos get out of date quickly, the $faq and docs are better resources for the specifics


florent.wagener
2018-05-07 17:58
coming back on my HTTP PATCH issue from last week, I've made progress. Now I can patch simple parameter value like: ```[ { "op": "add", "path": "/eno1", "value": "whatever" }]``` But I can't do something like this: ```[ { "op": "add", "path": "/eno1/macadress", "value": "00:00:00:00:00:00" }]``` The error I have is: ```{ "Model": "machines", "Key": "a7ede354-6542-4079-8df6-149da1dc7793", "Type": "PATCH", "Messages": [ "Patch failed to apply at line 0", "Selector eno1 not a member of map[string]interface {}{\"ipmi/password\":\"cr0wBar!\", \"ipmi/username\":\"root\", \"netbox-id\":\"6770\", \"eno1macadress\":\"00:00:00:00:00:00\", \"ipmi/address\":\"10.0.32.14\", \"ipmi/enabled\":true}" ], "Code": 409 }``` So I've checked the documentation here: http://jsonpatch.com/ and here: https://tools.ietf.org/html/rfc6901#section-3 and found this: ```Because the characters '~' (%x7E) and '/' (%x2F) have special meanings in JSON Pointer, '~' needs to be encoded as '~0' and '/' needs to be encoded as '~1' when these characters appear in a reference token.``` So after reading this I tried this body in swagger: ```[ { "op": "add", "path": "/eno1~1macadress", "value": "00:00:00:00:00:00" }]``` And it worked! Moral of the story: RTM! Thanks for your help guys :slightly_smiling_face:

florent.wagener
2018-05-07 17:59
I'm now gonna try this in python :slightly_smiling_face:

zehicle
2018-05-07 17:59
yeah - encoding is wonky with Patch. I went through a similar learning curve

vlowther
2018-05-07 17:59
Yeah, they chose some interesting escape characters for jsonpatch. :slightly_smiling_face:

greg
2018-05-07 17:59
We should probably FAQ that is we haven?t already.

vlowther
2018-05-07 18:00
Is why I just wrote a libarary to care about all that for me and never looked back. :slightly_smiling_face:

shane
2018-05-07 18:29
@ - did you find an answer to your question ?

shane
2018-05-07 18:29
@ $welcome :slightly_smiling_face:

2018-05-07 18:29
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-07 18:49
@shane Shane unfortunately not. I don't think I completely understand the DRP directory structure yet and all the moving pieces. I still can't find the assets. I really want to get ESX deployed since that is what we will be using it for...and hopefully Cumulus :wink: when I run the bootenvs list I don't get any options for ESX. Any help is truly appreciated.

2018-05-07 18:49
This message endorsed by Friends of Natalie Portman.

shane
2018-05-07 18:56
ESXi is a commercial component, and requires licensed access. You can do the ESXi pieces in a 30 day trial license. Then you'd need to install the `os-other` Content Package for access to the ESXi BootEnvs and stages.

shane
2018-05-07 18:59
As for directory structure - we use a layered virtual filesystem model with DRP. Anything that is "default" exists in the in-memory model for the virtual filesystem. If you make changes or install non-default pieces, they are then written to disk as the backing storage for those customized pieces.

2018-05-07 19:14
Thank you @shane. Regarding the ESX licensing, do you have to purchase the license even if you use os-other? Or is os-other like the free version for ESX? Thanks for your help...For the directory structure since everything is in memory you would use the drpcli commands to interface with them?

shane
2018-05-07 19:19
In general - it is highly recommended to use `drpcli` to interact with all of the things related to the configuration of DRP. You can indeed manipulate the files and items on disk - but you risk causing significant issues if you do so improperly (eg corruption if DRP is still running and you change something that it is also modifying...etc.)

shane
2018-05-07 19:20
`os-other` is a commercial content pack that requires a RackN license to use - it contains access to the base ESXi content pieces to use provision ESXi systems - you can test the capabilities out via the 30 day trial license prior to purchasing a licensed copy

2018-05-07 19:24
Perfect. Thank you for the clarification @shane i'm trying to pull the names of my bootenvs by using drpcli bootenvs list | jq '.[ID]' to get a list of all my boot envs but my formatting seems to be wrong.

shane
2018-05-07 19:24
have you seen the `jq` examples in the $faq ?



2018-05-07 19:43
I didn't even see that...thank you!

2018-05-07 20:46
has joined #community201805

shane
2018-05-07 20:59
@ $welcome :slightly_smiling_face:

2018-05-07 20:59
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-07 21:31
yes, i?m excited to get going. :slightly_smiling_face:

2018-05-08 07:19
Hello, I?m trying to add more than one SSH key which reading the FAQ should be possible. But when trying in the RackN-GUI the list doesn?t seem to work - it only adds the last key in the list. And when trying from the cli as suggested in the FAQ I get a encoder error that it can?t handle utf-8. Any suggestions on how I can solve this?

greg
2018-05-08 13:05
@ - http://provision.readthedocs.io/en/tip/doc/faq-troubleshooting.html#add-ssh-keys-to-authorized-keys - What does your profile look like? Did you put that profile on a machine? Did you put the machine through a workflow/stage that applied the `ssh-access` task?

greg
2018-05-08 13:06
Can you give an example of the utf-8 formatted file?

2018-05-08 13:06
That?s one I?m trying to use, and I use the global profile

greg
2018-05-08 13:07
`drpcli profiles get global param access-keys`

greg
2018-05-08 13:08
should give you the current setting of the `access-keys` parameter

2018-05-08 13:09
Hm, now I seem to have bigger issues. I get this no matter what command I type: ```Error: Error creating session: CLIENT_ERROR Cannot handle content-type text/plain; charset=utf-8 No decoder for content-type text/plain; charset=utf-8```

greg
2018-05-08 13:13
Was just trying it on my side and make sure of some things.

greg
2018-05-08 13:13
okay - this could be a permissions/access issue.

greg
2018-05-08 13:14
How are you setting your Endpoint address and credentials? @

2018-05-08 13:15
The address was set with the install script I believe?

2018-05-08 13:15
Credentials I used the cli to add a new user

shane
2018-05-08 13:16
@ - are you running the `drpcli` command on the DRP Endpoint itself - or from another machine ?

shane
2018-05-08 13:16
Did you change the `rocketskates` username and/or password?

2018-05-08 13:16
However, after trying to add that access-keys in the cli the cli doesn?t seem to work at all anymore

2018-05-08 13:16
Yes, from the endpoint

2018-05-08 13:16
No, I created a new user instead of the rocketskates one

2018-05-08 13:17
Which was working fine until after I tried the above

shane
2018-05-08 13:17
you have to specify the correct credentials to access the DRP Endpoint

shane
2018-05-08 13:17
with the `drpcli` - run `drpcli` by itself - observe the help text at the end that it outputs - specifically the `-U` and `-P` (username and password) flags

vlowther
2018-05-08 13:20
Also, if you are running a recent -tip release, new users do not have rights to do anything beyond looking at themselves, changing their passwords, and getting tokens for themselves.

vlowther
2018-05-08 13:20
To do anything else, they need roles to let them.

vlowther
2018-05-08 13:21
rocketskates comes with the superuser role by default.

2018-05-08 13:24
Hm, I see. But what?s making me confused is that the new user seems to have all the rights to do things in the RackN-portal, such as provisioning and create workflows etc

2018-05-08 13:25
Is there a way to give a role to a user without the default user? Or should I just reinstall? :slightly_smiling_face:

vlowther
2018-05-08 13:30
If the portal is even working with a non-rocketskates user, then you are probably not running too recent a -tip. :slightly_smiling_face:

2018-05-08 13:31
No, I?m running -stable

vlowther
2018-05-08 13:31
OK, then none of what I said applies.

2018-05-08 13:31
Ah, alright!

shane
2018-05-08 13:32
@ - can you please give us the version you're running? `drpcli info get | grep -i version`

2018-05-08 13:34
Getting the same CLIENT_ERROR for that too apparently, so seem I?ve managed to bork it completely :slightly_smiling_face:

greg
2018-05-08 13:34
Check if DRP is running?

2018-05-08 13:34
Yep, up and running!

2018-05-08 13:35
```root@rvlprebar01:~# systemctl status dr-provision.service * dr-provision.service - DigitalRebar Provision Integrated DHCP and File Provisioner Loaded: loaded (/etc/systemd/system/dr-provision.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-05-08 15:12:31 CEST; 22min ago Docs: http://provision.readthedocs.io/en/latest/ Main PID: 8531 (dr-provision) Tasks: 8 Memory: 36.6M CPU: 3.139s CGroup: /system.slice/dr-provision.service `-8531 /usr/local/bin/dr-provision```

greg
2018-05-08 13:35
cool - anything up with journalctl at the end of the logs?

2018-05-08 13:38
Ah yes, no auth token indeed. And the cli doesn?t seem to let me add one either

greg
2018-05-08 13:39
`drpcli -U <username> -P <password> info get`

greg
2018-05-08 13:39
or

greg
2018-05-08 13:39
`export RS_KEY="username:password"`

greg
2018-05-08 13:39
or

greg
2018-05-08 13:39
`export RS_TOKEN=<TOKEN>`

2018-05-08 13:41
Ah, that did it the cli is back! Thanks a bunch!

2018-05-08 13:42
And now I could add the multiple keys as well. Thank you very much!

shane
2018-05-08 16:39
Come join us today at 11:00 am for our regularly scheduled Meetup. Today's topics will be: Websockets demo, User Management demo, Tenancy and RBAC discussions, and Community Feedback The Meetup page with all of the details is at: https://www.meetup.com/digitalrebar/events/lchdhpyxhblb/

florent.wagener
2018-05-08 17:11
sorry I won't be able to attend :disappointed:

vlowther
2018-05-08 19:20
We talked about roles and tenants. And bears.

dave.parker
2018-05-08 19:22
Hey everyone. I have a weird problem. I'm trying to load sledgehammer in a network where I have an isc-dhcp-server handing out leases. When a machine PXE boots it gets a DHCP lease just fine, chain loads sledgehammer no problem, but then sledgehammer stage two tries to get a DHCP lease and just loops forever at "Sending discover..." I never see anything in my logs on the dhcp server.

dave.parker
2018-05-08 19:22
What the heck could be happening? PXE and Sledgehammer are using the same NIC, I verified that.

vlowther
2018-05-08 19:45
That is weird. Any other systems having that issue?

dave.parker
2018-05-08 19:45
I can't tell, this is the only system on this network I have access to currently.

vlowther
2018-05-08 19:46
hm

vlowther
2018-05-08 19:46
You loggen on to it via a remode console, I assume?

dave.parker
2018-05-08 19:46
Yes

vlowther
2018-05-08 19:46
ok

vlowther
2018-05-08 19:47
What does systemctl status show?

dave.parker
2018-05-08 19:47
On what machine? I can't get into sledgehammer since it never loads.

vlowther
2018-05-08 19:48
Ah.

vlowther
2018-05-08 19:48
That would be stage1 trying to get stage2, then.

vlowther
2018-05-08 19:49
What system is it?

vlowther
2018-05-08 19:49
and what kind of nic does it have?

dave.parker
2018-05-08 19:51
It's a supermicro system, I believe with an Intel NIC.

vlowther
2018-05-08 19:51
hmmm...

vlowther
2018-05-08 19:52
Errors in stage1 generally fall into 2 camps:

vlowther
2018-05-08 19:53
1: Missing drivers/firmware in the stage1 initramfs. Given that this is an Intel nic, and stage1 did not fail complaining about not being able to find the nic it booted from, that is probably not the issue.

vlowther
2018-05-08 19:54
2: local network design, like requiring boot off a specific VLAN, channel bonding, etc.

vlowther
2018-05-08 19:56
There is a third category, but that involves things like marginal patch cables, spanning tree without portfast, etc.

vlowther
2018-05-08 19:56
Are you using ipxe or lpxelinux.0?

vlowther
2018-05-08 19:59
(based on the sending discover... thing, stage1 is failing around here: https://github.com/digitalrebar/sledgehammer/blob/master/build_sledgehammer.sh#L495)

vlowther
2018-05-08 20:00
(I apoligize for the embedded shell script fun)

dave.parker
2018-05-08 20:02
I'm chainloading default.ipxe, I'm not sure which it ends up getting.

vlowther
2018-05-08 20:02
ok

vlowther
2018-05-08 20:03
If you are chainloading default.ipxe, then you are using ipxe. :slightly_smiling_face:

vlowther
2018-05-08 20:03
BIOS or UEFI?

dave.parker
2018-05-08 20:05
BIOS

vlowther
2018-05-08 20:06
hm

vlowther
2018-05-08 20:06
Can you bounce the box and send me a screenshot of where it hangs?

dave.parker
2018-05-08 20:16
Sure hang on.


dave.parker
2018-05-08 20:18
lol you can stand down.

dave.parker
2018-05-08 20:19
I talked with our network engineering guys and they fixed it. It was a network issue.

dave.parker
2018-05-08 20:22
I needed a force-up on the port and didn't know it. iPXE apparently doesn't need it though!

dave.parker
2018-05-08 20:22
Networking is hard.

vlowther
2018-05-08 20:24
:slightly_smiling_face:

2018-05-08 21:29
what's a good documentation on running DRP with an external DHCP server


2018-05-08 21:31
just pointing our dhcp next server to drp ?

greg
2018-05-08 21:36
yes - and the options in the old DHCP server need to be set.

shane
2018-05-08 21:37
next server and filename

greg
2018-05-08 21:37
You can also run the DHCP server of DRP in proxy mode and it will send the boot options.

greg
2018-05-08 21:37
and DNS domain name (option 15).

2018-05-08 23:29
thanks, I'll try that

shane
2018-05-09 01:08
- is the recorded video from today's meetup: https://u.rackn.io/mtup17

2018-05-09 14:17
has joined #community201805

vlowther
2018-05-09 19:47
Tenants are now in -tip.

vlowther
2018-05-09 19:48
Folks who want to do RBAC-ish things, check it out and give me feedback.

spector
2018-05-09 19:48
@ $Welcome

2018-05-09 19:48
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

vlowther
2018-05-09 19:48
The UX for roles and tenants is still a WIP, so you will need to use the CLI.

2018-05-09 19:53
thanks!

dave.parker
2018-05-10 14:06
Maybe a dumb question, but what templating language are rebar templates written in?

shane
2018-05-10 14:07
golang templating


shane
2018-05-10 14:08
you'll also find the custom handlers we've written to use with the templating system in our docs, at: http://provision.readthedocs.io/en/tip/doc/arch/provision.html

dave.parker
2018-05-10 14:08
Thanks

lae
2018-05-10 14:50
@shane i just invited one of my coworkers for slack and he has a question/issue with the centos 7 template from community content

shane
2018-05-10 14:51
fire away

lae
2018-05-10 14:51
ah i'm leaving it up to him to ask

lae
2018-05-10 14:51
need his invite to go through though since he's not in here

shane
2018-05-10 14:51
ah

shane
2018-05-10 14:52
invite just sent

2018-05-10 14:55
has joined #community201805

shane
2018-05-10 14:57
@ $welcome

2018-05-10 14:57
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-10 15:45
Hi Shane

2018-05-10 15:47
recently, i?m trying to install centos atomic 7 on bare metal, somehow it hung when ?Running post-installation scripts?

2018-05-10 15:47
my current drp is v1.8.0

lae
2018-05-10 15:48
not centos 7 atomic but regular centos 7 from community-content

lae
2018-05-10 15:48
(centos 7 atomic is in our local fireeye-content package)

2018-05-10 15:48
yeah event the centos 7

shane
2018-05-10 15:49
I'm assuming you're referring to the Community Content version (v1.8.0) - DRP itself should be something like v3.8.2 (current stable)

2018-05-10 15:49
however the centos 7 was complaining about ?xfs filesystem is not valid as a default fs type?

2018-05-10 15:50
i meant Community Content version (v1.8.0)

2018-05-10 15:51
drp Versions: DR v3.8.0 & UX v1.2.1

shane
2018-05-10 15:52
currently the Centos 7 Kickstart (templates -> centos-7.ks.tmpl) only support ext4 FS type

shane
2018-05-10 15:52
`part /boot --fstype ext4 --size=512 `

shane
2018-05-10 15:53
this should be parameterized to allow the Kickstart to utilize a Param to define the Filesystem type - we just haven't done that yet

shane
2018-05-10 15:54
in the interim - you can clone the Kickstart - modify it to support the XFS type in the right places - and use the `select-kickseed` to override the default kickstart ... or Pull Requests gratefully accepted to inject a Param in to the Kickstart to allow changing the FS on the fly :slightly_smiling_face:


lae
2018-05-10 15:55
that's where we were lost, it was complaining about xfs despite the kickstart not mentioning xfs at all

greg
2018-05-10 16:03
@lae @ - do you have any extra tasks/stages for the centos 7 work flow?

greg
2018-05-10 16:03
when it hangs, can you access the console and get to a shell to see if DRPCLI is running?

greg
2018-05-10 16:04
Does the jobs list have an entry for a post install task? Are you running any post install tasks?

2018-05-10 16:04
here?s what i got from a shell


shane
2018-05-10 16:09
@ - with CentOS install you should be able to get better console message from TTY1 - use `Ctrl-B 5` and/or `Ctrl-B 4` (IIRC) to switch between the SCREEN sessions that the anaconda installer uses

shane
2018-05-10 16:09
I think it emits the screen switch sequence at bottom of the installer screen ?

greg
2018-05-10 16:09
That is what my brain was trying to recall. :slightly_smiling_face:

shane
2018-05-10 16:10
I think you can cycle through them with `Ctrl-B Tab` also ?


2018-05-10 16:14
i sent Ctrl-B 4 screen earlier

lae
2018-05-10 16:21
``` ~]$ drpcli machines show 44b07ca2-7107-42e4-9cd2-e51ac0ad7458 { "Address": "<removed>", "Available": true, "BootEnv": "centos-7-install", "CurrentJob": "", "CurrentTask": -1, "Description": "", "Errors": [], "HardwareAddrs": [], "Meta": { "feature-flags": "change-stage-v2" }, "Name": "<removed>", "OS": "centos-7", "Params": {}, "Profile": { "Available": false, "Description": "", "Errors": null, "Meta": null, "Name": "", "Params": null, "ReadOnly": false, "Validated": false }, "Profiles": [], "ReadOnly": false, "Runnable": true, "Secret": "u-PWuQox75C9xcm4", "Stage": "centos-7-install", "Tasks": [ "set-hostname", "centos-drp-only-repos", "ssh-access" ], "Uuid": "44b07ca2-7107-42e4-9cd2-e51ac0ad7458", "Validated": true, "Workflow": "" } ```

lae
2018-05-10 16:21
no syntax highlighting :disappointed:

lae
2018-05-10 16:22
anyway this is pretty much default afaict

greg
2018-05-10 16:23
Use a snippet instead to get highlighting.

greg
2018-05-10 16:24
The `CurrentTask` shows that it is not started yet.

greg
2018-05-10 16:25
Okay - hmm - very strange.


lae
2018-05-10 16:25
is the ks

lae
2018-05-10 16:26
it runs into the error ben posted immediately so definitely didn't hit post install tasks

lae
2018-05-10 16:26
(as in it doesn't perform the initial install in the first place)

greg
2018-05-10 16:27
okay - just getting to that point in my understand as well.

greg
2018-05-10 16:30
I assume you are using your internal repo for this.

lae
2018-05-10 16:30
hm

lae
2018-05-10 16:30
yeah, that's correct

greg
2018-05-10 16:30
for the package source?

lae
2018-05-10 16:31

greg
2018-05-10 16:32
ok

lae
2018-05-10 16:32
does this look right? ``` "package-repositories": [ { "installSource": true, "os": [ "centos-7" ], "tag": "centos-7-install", "url": "http://packages-server/7/os/x86_64" }, { "components": [ "atomic", "centosplus", "cloud", "configmanagement", "cr", "dotnet", "extras", "fasttrack", "opstools", "os", "paas", "rt", "sclo", "storage", "updates" ], "distribution": "7", "os": [ "centos-7" ], "tag": "centos-7-all", "url": "http://packages-server/centos" }, ```

2018-05-10 16:35
Hi guys, sorry if this has been asked already but where does DRP store ISO's? Rebar uses ISO's right? Thanks! still trying to wrap my head around how Rebar works :smile:

greg
2018-05-10 16:35
I think so.

greg
2018-05-10 16:36
@ - yes, it <install dir>/tftpboot/isos and then explodes them in the tftpboot dir to serve its bits.

greg
2018-05-10 16:36
install dir = /var/lib/dr-provision if production mode, otherwise the local dir where you ran install.sh

greg
2018-05-10 16:36
That can be changed with what @lae is talking about.

greg
2018-05-10 16:37
@lae - have you exploded the iso? Does that work. I know it isn?t a long term answer, but I wonder if something is being picked up in the repo.

greg
2018-05-10 16:37
Like a kernel difference?

greg
2018-05-10 16:42
@vlowther - when using a package repositories repo, the bootenv doesn?t translate the kernel and initrd? It still assumes that they are coming from the exploded iso? Or am I confused?

vlowther
2018-05-10 16:44
What OS is the bootenb for?

greg
2018-05-10 16:44
centos7

2018-05-10 16:45
@greg Thanks for the quick answer! I want to do a basic esx install, very basic. can I use a regular esx iso? would I need a new BOOTENV for it? Thanks

vlowther
2018-05-10 16:46
esx is... special.

greg
2018-05-10 16:46
@ - esxi is a little tricky. Yes, you will need a bootenv. We have the start of one in our RackN pieces.

vlowther
2018-05-10 16:46
We provide a few precreated bootenvs for it, but thay are not part of community content.

vlowther
2018-05-10 16:47
It has to do with how the ESX installer uses a custom pxelinux.

greg
2018-05-10 16:48
@lae - what version of the ISO did you use when you added the bootenv? I?m wondering if the kernel being served doesn?t match the kernel in your repo. Same with initrds.

2018-05-10 16:49
@greg The "RackN pieces" those are not free correct?

greg
2018-05-10 16:50
One thing is to md5sum the tftpboot/centos7/images/pxeboot/vmlinuz and the package_server/7/os/x86_64/images/pxeboot/vmlinuz.

vlowther
2018-05-10 16:50
@lae As long as the kernel location in the mirrored repo is in the same path relative to the root of the repo, then the bootenv should work.

greg
2018-05-10 16:51
@ - You can play with them for 30-ish days from the SaaS, but after that you should talk with us about licensing.

lae
2018-05-10 16:54
I'm actually very, very lost currently

lae
2018-05-10 16:55
``` musee.ullah@labs-provision:~$ find /var/lib/dr-provision/tftpboot/ -name "*centos*" musee.ullah@labs-provision:~$ drpcli bootenvs uploadiso centos-7-install BootEnv centos-7-install is already available, skipping download of iso ... ``` somehow the server still booted

greg
2018-05-10 16:55
@lae - where are you specifying `package-repositories`?

lae
2018-05-10 16:55
global profile

greg
2018-05-10 16:56
Then it should work.


greg
2018-05-10 16:56
It skips the iso check in that case and makes the image available through the install repo.

lae
2018-05-10 16:56
yes I read that

lae
2018-05-10 16:56
ah

vlowther
2018-05-10 16:56
What does your look like?

lae
2018-05-10 16:56
it's a little bit above

vlowther
2018-05-10 16:57
sorry, missed it.

vlowther
2018-05-10 16:57
Yeah, that looks fine.

lae
2018-05-10 16:59
so just to clarify, `package-repositories`overrides the need for downloading/exploding isos in the tftpboot directory?

lae
2018-05-10 16:59
(i.e. when I go to do `bootenvs uploadiso`)

vlowther
2018-05-10 16:59
Yes, as long as the kernel and initrds are in the same relative locations

greg
2018-05-10 16:59
and you specify on the global profile.

lae
2018-05-10 16:59
ok

vlowther
2018-05-10 17:00
If they are not in the same relative locations things get Fun.

vlowther
2018-05-10 17:01
and I should add an API to upload kernels and initrds at some point

vlowther
2018-05-10 17:01
or allow package-repostiroies to explicitly override where to get kernels and initrds

vlowther
2018-05-10 17:01
I suspect that will be mandatory for a few places.

greg
2018-05-10 17:02
@lae - I?ll have to try it. I?m not sure what is going on. It seems like something in the repo isn?t right or we aren?t uptodate with it. Or so it seems. It may take me a little while to try this.

vlowther
2018-05-10 17:06
Yeah, I need to get to a stopping point in what I am doing.

lae
2018-05-10 17:12
The "xfs" error from before cleared out when I moved the old exploded centos-7 contents from `tftpboot/`

lae
2018-05-10 17:13
I'm trying a modified ks right now with a 1mb biosboot partition to see if the installer continues

greg
2018-05-10 17:14
okay - cool - something for us to review

lae
2018-05-10 17:14
brb meeting

vlowther
2018-05-10 17:23
Yeah, if something aun't working right with package-repositories, please open am issue on github.

lae
2018-05-10 17:51
ok

lae
2018-05-10 17:53
so it seems to work fine - just needed to add ` part biosboot --fstype=biosboot --size=1 {{if .ParamExists "operating-system-disk"}}--ondisk={{.Param "operating-system-disk"}}{{end}} ` to the upstream centos 7 kickstart to get rid of the GPT/BIOS error

dave.parker
2018-05-10 18:30
When I try to set a parameter of type array on a machine in the GUI, it keeps silently failing. When I save my edits, I briefly see a red exclamation point in the top right, then the edit screen goes away. If I click on the machine again, I don't see the param I just tried to add. So, for example, if I try to add the ntp-servers param, it opens up the edit box with an empty set of square brackets. I assume I'm supposed to put my servers inside the square brackets but I'm not sure. Is that wrong?

greg
2018-05-10 18:33
Yes, like this I think, it could be better, but still - `[ "ip1", "ip2" ]`

dave.parker
2018-05-10 18:33
Ok, let me try that.

dave.parker
2018-05-10 18:34
Hey, that seems to have works, thanks.

dave.parker
2018-05-10 18:34
I was missing the quotes.

greg
2018-05-10 18:34
It wants a json like blob for that. We can do better, but not yet. :slightly_smiling_face:

dave.parker
2018-05-10 18:35
I should have guessed. Thanks!

dave.parker
2018-05-10 19:21
Shouldn't `curl http://localhost:8091/machines/15d7d116-2c9e-44af-b6e7-a89dd70ed092/seed` give me the preseed file that rebar generates for the machine with that UUID? Why would it come back 404?

greg
2018-05-10 19:23
The machine in question needs to be in the bootenv at the time the curl call is done.

dave.parker
2018-05-10 19:23
Aaah ok.

dave.parker
2018-05-10 19:25
Thanks

lae
2018-05-10 22:31
hey guys, I don't really use the DRP UI much but it turns out I'm going to be demo'ing our environment to some other team tomorrow and I'm not sure if this is expected or indicates something wrong with our environment: https://up.lae.is/u/newmachine.mp4

lae
2018-05-10 22:31
stage and bootenv dropdowns have nothing

lae
2018-05-10 22:31
(not shown) profiles do however

lae
2018-05-10 22:35
hm, I see in my network inspector that it hits https://<provisioner>:8092/api/v3/bootenvs?Available=true&OnlyUnknown=false and https://<provisioner>:8092/api/v3/stages, which seem to have responses with the expected data, no error messages in the js console however

greg
2018-05-10 22:42
I can?t see from phone. I?ll need to check when I?m back home.

greg
2018-05-10 22:42
At middle soccer game

lae
2018-05-10 22:43
nice, how's your kid doing? :stuck_out_tongue:

lae
2018-05-10 22:43
(if you meant middle school)

shane
2018-05-10 23:12
@lae - that is a bug in the UX - if you create the Machine object, then save it - then go back in and edit the Machine after save, you will be able to set the Stage/BootEnv

shane
2018-05-10 23:13
typically we recommend changing machines stage/bootenv via workflows - which should be working fine ... we'll take a look at the UX and see if we can get this fixed soon - but in the meantime - the work around of: create save open machine object edit change bootenv/stage save

shane
2018-05-10 23:13
works

lae
2018-05-10 23:13
actually I was just about to say that

shane
2018-05-10 23:13
:slightly_smiling_face:

lae
2018-05-10 23:13
(that I can edit existing objects)

lae
2018-05-10 23:15
I should probably check out workflows before tomorrow :stuck_out_tongue:

lae
2018-05-10 23:16
Although - our environment is mostly low-touch so as not to affect existing machines - discovery is completely disabled and I assume discovery is a critical part of your recommendation, right? (since workflows don't create the machine)

shane
2018-05-10 23:17
you'd have to create Machine objects separately - and then you can manage them via workflows

lae
2018-05-10 23:17
yeah

shane
2018-05-10 23:17
it's true that Discovery process will create machine objects or you and populate them with appropriate info - including detailed Inventory reports

shane
2018-05-10 23:18
are you using DHCP in your environment (either w/ or w/out DRP) ?

lae
2018-05-10 23:18
oh, do you think it'd be possible to have discovery enabled based on subnet?

lae
2018-05-10 23:18
we use external DHCP

shane
2018-05-10 23:18
yep

shane
2018-05-10 23:19
well - hmm - discovery is workflow based - and we have the concept of "default workflow" that is essentially "global"

lae
2018-05-10 23:20
well, an alternative I guess would be standing up a separate DRP server for new networks

shane
2018-05-10 23:22
I _think_ if you create subnets for all your subnets, then disable the subnets that you do NOT want discovery on - those machines will not pass through the workflow then

greg
2018-05-10 23:22
Or just not create them

shane
2018-05-10 23:22
with the subnets on that you want "new servers" and "discovery" - you'd enable those via the DHCP onboard to DRP - with the subnet "enabled" - and then the workflow process would kick in

shane
2018-05-10 23:33
@lae - I filed Issue #864 in relation to this: https://github.com/digitalrebar/provision/issues/864

dave.parker
2018-05-11 17:43
Is there a proper/supported way to copy stages/templates/etc from one rebar server to another, or to restore them to a rebar server that was rebuilt?

dave.parker
2018-05-11 17:43
I've just been dumping them as json blobs and saving those.

shane
2018-05-11 17:43
Are you trying to create your own content library to move around between different DRP endpoints ?

shane
2018-05-11 17:43
or is this a "one off" sort of thing for now ?

dave.parker
2018-05-11 17:43
But it seems like when I load them into another server, I often get issues. Like a bootenv is looking for a stage that doesn't exist yet, and even after it gets created the bootenv is still complaining.

dave.parker
2018-05-11 17:44
Right now it's just me having to shuffle things around to test in different environments with different drp servers. But I can see it becoming more of a content library.

shane
2018-05-11 17:45
your best option is to create a "content pack" that mimics how we do Content bundles or "Packs" - you can then bundle them up - and inject them as one big piece of content - it's a lot easier for managing the content

shane
2018-05-11 17:45
you can also author those in a Git (or other source code control system) repo

dave.parker
2018-05-11 17:45
That sounds like what I want.

shane
2018-05-11 17:46
if you take a look at the structure of the `content` directory in the `provision-content` repo, you'll see how to organize it: https://github.com/digitalrebar/provision-content

dave.parker
2018-05-11 17:46
Ok, thanks.

shane
2018-05-11 17:46
I'd suggest instead of calling it generically "content" call it "package-x" or whatever name you want to give your content pack

dave.parker
2018-05-11 17:46
Can it include any type of content? Workflows and tasks and profiles?

shane
2018-05-11 17:47
then the subsequent sub-dirs (eg `bootenvs`, `params`, `stages`, `tasks`, etc...) contain your decomposed content pieces

shane
2018-05-11 17:47
:slightly_smiling_face: ^^^^

dave.parker
2018-05-11 17:47
lol ok

shane
2018-05-11 17:47
yes - any toplevel object in the JSON structure relates to a directory

dave.parker
2018-05-11 17:47
Thankfully I've already been saving them in such subdirectories.

shane
2018-05-11 17:47
then simply `cd` in to that directory, and use `drbundler . ../package-x.yaml` syntax to create the Content pack

dave.parker
2018-05-11 17:47
So it looks like I need the content bit to pull it all together.

shane
2018-05-11 17:48
important -note the `._*.meta` files for naming, versioning, describing your content package

shane
2018-05-11 17:48
they MUST not contain a newline - so create them like: `printf "v1.0.0" > ._Version.meta` without the newline

shane
2018-05-11 17:49
from there - you can simply do your `drpcli contents create ../package-x.yaml` call to create it - replace "create" with "update" call (appropriately) - and you can update existing content packs in place

shane
2018-05-11 17:50
it's the sanest way to deal with multiple pieces of content, so you can revision it, manage it as a single unit, and easily inject it in to your DRP endpoints

shane
2018-05-11 17:51
there's an example Content Pack called `colordemo` which contains some video links to how it was created/managed as an example: https://github.com/digitalrebar/colordemo

dave.parker
2018-05-11 17:56
:thumbsup:

shane
2018-05-11 17:57
@dave.parker if you run in to any issues with validation you think need addressing - please let us know right away - generally speaking - we've found that the validation pieces are usually "right" when something is amiss - they keep you from trying to provision if requirements (ugh correction ==>) `aren't` properly fulfilled

dave.parker
2018-05-11 17:59
Ok

florent.wagener
2018-05-11 18:34
is it possible for DRP to run powershell code on a windows machine ?

shane
2018-05-11 18:36
technically - there's no reason it can't ...

shane
2018-05-11 18:36
Personally - I won't touch a winders machine ... so ... can't advise on any pitfalls

florent.wagener
2018-05-11 18:37
Ok because I'm having trouble with a piece of code that works fine locally, but when I run it from DRP it is failing

florent.wagener
2018-05-11 18:37
I think I missed something

florent.wagener
2018-05-11 18:38
I created a task with this piece of code in it: ```$nics = Get-Content -Raw -Path C:\network.json | ConvertFrom-Json $adapters = Get-NetAdapter foreach ($nic in $nics.config) { foreach ($adapter in $adapters) { if ($adapter.MacAddress -eq ($nic.mac_address -replace ":","-")) { Get-NetAdapter -Name $adapter.name | Rename-NetAdapter -NewName $nic.name } } } New-NetLbfoTeam -Name $nics.config[6].name -TeamMembers $nics.config[6].bond_interfaces```

florent.wagener
2018-05-11 18:38
and put that task in a stage

florent.wagener
2018-05-11 18:38
but it's failing without any logs though.

florent.wagener
2018-05-11 18:39
Don't I have to put something in the script to tell it is powershell code?

shane
2018-05-11 18:39
presumably that is part of the `Content:` section of the task ?

florent.wagener
2018-05-11 18:39
Yes it is

shane
2018-05-11 18:39
do you have `ID:` defined too ?

shane
2018-05-11 18:40
does powershell need to be invoked similarly to BASH with a shebang construct of some sort ?

florent.wagener
2018-05-11 18:40
The name of the content is: `bond-creation.ps1` which is what you refer as `ID:` I guess.

florent.wagener
2018-05-11 18:40
and I have no idea how to invoke powershell :smile:

dave.parker
2018-05-11 18:41
So I get these errors when trying to load my content package into another machine. I presume because these things already exist on that server outside the content package. Is there anyway I can override this and force it to install? ```Error: ValidationError: New layer violates key restrictions: keysCannotBeOverridden: create-kvmstore is already in layer 0 keysCannotOverride: create-kvmstore would be overridden by layer 0 keysCannotBeOverridden: install-mellanox-drivers-ubuntu-1404 is already in layer 0 keysCannotOverride: install-mellanox-drivers-ubuntu-1404 would be overridden by layer 0 keysCannotBeOverridden: ubuntu-16.04.hwe-install is already in layer 0 keysCannotOverride: ubuntu-16.04.hwe-install would be overridden by layer 0```

shane
2018-05-11 18:42
nope - we won't let you overwrite existing content pieces if they already exist and are _not_ part of the content pack

shane
2018-05-11 18:42
that is the one limitation to multiple content packs - you can't have conflicting content pieces (by name)

dave.parker
2018-05-11 18:43
Ok.

shane
2018-05-11 18:43
so we tend to name a lot of our stuff pedantically to insure we don't conflict - like: `liveboot-builder` is the package `kickstart` is a parameter so we name it like: `liveboot-builder/kickstart`

shane
2018-05-11 18:44
(which has the unfortunate sideeffect of manipulation in `jq` being a nightmare (that forward slash, and the dashes)

shane
2018-05-11 18:45
@florent.wagener `ID` and `Content` I believe are mutually exclusive - `ID` relates to the external `template` to use for the task, whereas `Content` is a "built-in template content"

florent.wagener
2018-05-11 18:46
@shane ok, so there is no ID configured.

shane
2018-05-11 18:46
ok - good :slightly_smiling_face:

florent.wagener
2018-05-11 18:58
ok, so I'm not even able to run a simple windows command as `ipconfig > ipconfig.txt`

dave.parker
2018-05-11 18:58
This is not a very helpful error message: ```Error: Failed to load backing objects from cache: Unable to load root templates: template: :455: unexpected "\\" in operand```

dave.parker
2018-05-11 18:59
Got that when trying to load my content package on a fresh drp install.

florent.wagener
2018-05-11 19:00
damn I hate windows...

shane
2018-05-11 19:00
what does line 455 of the yaml content pack file have ?

shane
2018-05-11 19:01
@florent.wagener - yeah, I was just reading up on powershell ... and ... well ... and ... well ... I don't have much positive to say about it ...

dave.parker
2018-05-11 19:01
It only has 356 lines...

vlowther
2018-05-11 19:01
@florent.wagener Yeah, I don't think we have ever tested running scripts on Windows.

vlowther
2018-05-11 19:01
We can put them in place to be run, but powershell can be very picky.

florent.wagener
2018-05-11 19:02
@vlowther well I can't do that If i'm not able to run any command from DRP...

florent.wagener
2018-05-11 19:04
taking a look at `stage1.cmd.tmpl` that comes with DRP, I don't see anything special about this script: ```write-host "Starting Windows install..." Q:\{{.Env.OS.Name}}\install\setup.exe /noreboot /unattend:Q:\machines\{{.Machine.UUID}}\unattend.xml $setupRunning = $true while ($setupRunning) { Start-Sleep -Seconds 10 Get-Process -Name setup $setupRunning = $? } write-host "Updating boot environment" drpcli nodes update {{.Machine.UUID}} '{""""BootEnv"""": """"local""""}' write-host "Rebooting system" Restart-Computer ```

florent.wagener
2018-05-11 19:05
im gonna create a template of its own and try with that.

florent.wagener
2018-05-11 19:08
well, same result :disappointed:

florent.wagener
2018-05-11 19:16
looking at the logs I got a bunch of these errors: ```May 11 15:07:54 pdc-a5g-bms01 dr-provision: dr-provision2018/05/11 19:07:54.671197 [279621:31413]frontend [ warn]: /home/travis/gopath/src/github.com/digitalrebar/provision/frontend/frontend.go:163 May 11 15:07:54 pdc-a5g-bms01 dr-provision: [279621:31413]No DRP authentication token``` I don't think it's related though. On the other hand when I launch my task I got this: ```May 11 15:08:54 pdc-a5g-bms01 dr-provision: dr-provision2018/05/11 19:08:54.610779 [279675:31422]frontend [ warn]: /home/travis/gopath/src/github.com/digitalrebar/provision/frontend/jobs.go:433 May 11 15:08:54 pdc-a5g-bms01 dr-provision: [279675:31422]Machine 8af50e62-70f1-42b6-ad68-1297df75ae8d task windows-network-config-hp at 0 is created, conflict``` Any idea what that mean ?

2018-05-11 19:23
you can run powershell on linux now, in case oyu didn't know

florent.wagener
2018-05-11 19:49
well i'm out of ideas.

greg
2018-05-11 19:53
There is nothing in the jobs logs?

florent.wagener
2018-05-11 19:54
nothing :disappointed:

greg
2018-05-11 20:02
hmm - so that error means that drpcli tried to run the task, but had an issue. Then something tried to restart that task.

greg
2018-05-11 20:03
can you from the windows machine, do this:

greg
2018-05-11 20:03
`drpcli.exe -U user -P password machines processjobs UUID`

florent.wagener
2018-05-11 20:04
trying

florent.wagener
2018-05-11 20:04
gimme a sec

florent.wagener
2018-05-11 20:06
Where is `drpcli` supposed to be located?

florent.wagener
2018-05-11 20:07
nevermind, got it

florent.wagener
2018-05-11 20:08
interesting: ```Error: Error creating session: CLIENT_ERROR: Get https://127.0.0.1:8092/api/v3/users/user/token: dial tcp 127.0.0.1:8092: connectex: No connection could be made because the target machine actively refused it.``` it tries to connect to itself.

greg
2018-05-11 20:09
-E https://<DRPIP>:8092

florent.wagener
2018-05-11 20:09
:smile:

florent.wagener
2018-05-11 20:12
```PS C:\> .\usr\local\bin\drpcli.exe -U ***-P *** -E "https://10.0.49.254:8092" machines processjobs 8af50e62-70f1-42b6-ad68-1297df75ae8d Agent in init Agent waiting for tasks Waiting on machine to become runnable Wait: finished with complete Agent running task Runner created for task 932b5b86-4cfa-40ff-bea4-54b97e0e99b4:windows-network-config-hp (0:1)Error during run: file type does not support deadline Agent in init Agent waiting for tasks Waiting on machine to become runnable```

greg
2018-05-11 20:16
Okay - looking

greg
2018-05-11 20:17
sigh

greg
2018-05-11 20:18
okay - I see what the shortterm problem is.

florent.wagener
2018-05-11 20:18
meaning there is a longterm problem I guess :slightly_smiling_face:

greg
2018-05-11 20:18
windows is the long term problem.

florent.wagener
2018-05-11 20:18
LOL

greg
2018-05-11 20:20
just a minute

florent.wagener
2018-05-11 20:21
if this is too big of a hassle, I guess we could run it inside cloud-init though.

greg
2018-05-11 20:22
yeah, but ?

greg
2018-05-11 20:22
I?d like this to work.

florent.wagener
2018-05-11 20:22
me too

florent.wagener
2018-05-11 20:22
I'm pretty sure we are going to need to run powershell code from DRP at some point.

greg
2018-05-11 20:25
okay - two more seconds.

greg
2018-05-11 20:26
Try this drpcli. Put it on the victim of choice.

greg
2018-05-11 20:28
@greg uploaded a file: https://rackn.slack.com/files/U02DGQYK1/FANGGL8R0/drpcli.exe and commented: windows cli with fixed deadline code.

florent.wagener
2018-05-11 20:29
same result :disappointed:

florent.wagener
2018-05-11 20:31
```Agent in init Agent waiting for tasks Waiting on machine to become runnable Wait: finished with complete Agent running task Error during run: Conflict: Machine 8af50e62-70f1-42b6-ad68-1297df75ae8d already has running or created job Agent in init```

greg
2018-05-11 20:31
That is different.

florent.wagener
2018-05-11 20:31
yeah

florent.wagener
2018-05-11 20:31
I guess I should clean the machine of any task before.

greg
2018-05-11 20:31
Force the machine?s job to failed.

greg
2018-05-11 20:31
Then redo the process jobs.

greg
2018-05-11 20:40
You can put the file in files/drpcli.amd64.windows (or whatever it is). Just don?t restart drp.

florent.wagener
2018-05-11 20:40
it's in /usr/local/bin

greg
2018-05-11 20:41
I mean on DRP so that it will get installed correctly next time.

florent.wagener
2018-05-11 20:41
oh ok

greg
2018-05-11 20:41
DRP has a copy in itself. If drp restarts, it will replace it.

greg
2018-05-11 20:41
This will work until we get a new tip out there.

florent.wagener
2018-05-11 20:41
mmm

greg
2018-05-11 20:41
Assuming it will work.

florent.wagener
2018-05-11 20:41
I can't seem to be able to clear the task off the machine.

greg
2018-05-11 20:42
`drpcli jobs update <jobid> '{ "State": "failed" }'`

florent.wagener
2018-05-11 20:42
here's what I got: ```Agent running task Error during run: Conflict: Machine 8af50e62-70f1-42b6-ad68-1297df75ae8d already has running or created job Agent in init Error during run: PATCH: jobs/13740c6c-83bb-465e-91fe-f55fdbbd837b Patch error at line 0: Test op failed. Patch line: {"op":"test","path":"/State","from":"","value":"created"} Agent in init Agent waiting for tasks Waiting on machine to become runnable```

greg
2018-05-11 20:43
`drpcli jobs update 13740c6c-83bb-465e-91fe-f55fdbbd837b '{ "State": "failed" }'`

greg
2018-05-11 20:43
`drpcli machines update 8af50e62-70f1-42b6-ad68-1297df75ae8d '{ "Runnable": true }'`

florent.wagener
2018-05-11 20:45
```Agent running task Runner created for task 440f25d0-95a1-4db5-b53a-7d83816fa06e:windows-network-config-hp (0:1)Starting task windows-network-config-hp on 8af50e62-70f1-42b6-ad68-1297df75ae8d Starting command ./windows-network-config-hp-windows-network-config-hp.cmd.tmpl Command failed to start: fork/exec ./windows-network-config-hp-windows-network-config-hp.cmd.tmpl: %1 is not a valid Win32 application. Updated job 440f25d0-95a1-4db5-b53a-7d83816fa06e to incomplete Error during run: RUNNER_ERR: jobs/440f25d0-95a1-4db5-b53a-7d83816fa06e: fork/exec ./windows-network-config-hp-windows-network-config-hp.cmd.tmpl: %1 is not a valid Win32 applicati on. Agent in init Agent waiting for tasks Waiting on machine to become runnable Wait: finished with complete```

florent.wagener
2018-05-11 20:46
something new!

greg
2018-05-11 20:46
okay

greg
2018-05-11 20:46
That is betterer

greg
2018-05-11 20:47
Can you show me the task in question?

florent.wagener
2018-05-11 20:47
the json blob ?

greg
2018-05-11 20:47
sure

florent.wagener
2018-05-11 20:47
```{ "Available": true, "Description": "", "Documentation": "", "Errors": [], "Meta": { "color": "black", "feature-flags": "sane-exit-codes", "icon": "file text outline", "title": "" }, "Name": "windows-network-config-hp", "OptionalParams": [], "ReadOnly": false, "RequiredParams": [], "Templates": [ { "Contents": "", "ID": "windows-network-config-hp.cmd.tmpl", "Name": "windows-network-config", "Path": "" } ], "Validated": true } ```

florent.wagener
2018-05-11 20:48
and the template: ```{ "Available": true, "Contents": "write-host \"Configuring bonding bond0\"\r\n$nics = Get-Content -Raw -Path C:\\network.json | ConvertFrom-Json\r\n$adapters = Get-NetAdapter\r\n\r\nforeach ($nic in $nics.config)\r\n\t{\r\n\t\tforeach ($adapter in $adapters) \r\n\t\t\t{\r\n\t\t\t\tif ($adapter.MacAddress -eq ($nic.mac_address -replace \":\",\"-\")) \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tGet-NetAdapter -Name $adapter.name | Rename-NetAdapter -NewName $nic.name\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n\t}\r\nNew-NetLbfoTeam -Name $nics.config[6].name -TeamMembers $nics.config[6].bond_interfaces -AsJob\r\n", "Description": "", "Errors": [], "ID": "windows-network-config-hp.cmd.tmpl", "Meta": {}, "ReadOnly": false, "Validated": true } ```

greg
2018-05-11 20:51
Change the template name from `windows-network-config-hp.cmd.tmpl` to `http://windows-network-config-hp.ps`

florent.wagener
2018-05-11 20:52
you mean `windows-network-config-hp.ps1` I'm guessing ?

greg
2018-05-11 20:52
okay - whatever powershell extension is. :slightly_smiling_face:

florent.wagener
2018-05-11 20:59
ok

florent.wagener
2018-05-11 21:00
so even though the machine had no job/task running I got this: ```Agent in init Agent waiting for tasks Waiting on machine to become runnable Wait: finished with complete Agent running task Error during run: Conflict: Machine 8af50e62-70f1-42b6-ad68-1297df75ae8d already has running or created job Agent in init Error during run: PATCH: jobs/398ae62f-b9f1-4183-8f74-8c636fca408a Patch error at line 0: Test op failed. Patch line: {"op":"test","path":"/State","from":"","value":"created"} Agent in init Agent waiting for tasks Waiting on machine to become runnable```

florent.wagener
2018-05-11 21:00
this is weird

greg
2018-05-11 21:00
well - let me look some more.

florent.wagener
2018-05-11 21:02
and after setting up the last job as failed and making the machine runnable still got this errors: ```Agent in init Agent waiting for tasks Waiting on machine to become runnable Wait: finished with complete Agent running task Runner created for task 53336fd0-0b8e-4c1a-836b-2c0e86d9a638:windows-network-config-hp (0:1)Starting task windows-network-config-hp on 8af50e62-70f1-42b6-ad68-1297df75ae8d Starting command ./windows-network-config-hp-windows-network-config-hp.ps1 Command failed to start: fork/exec ./windows-network-config-hp-windows-network-config-hp.ps1: %1 is not a valid Win32 application. Updated job 53336fd0-0b8e-4c1a-836b-2c0e86d9a638 to incomplete Error during run: RUNNER_ERR: jobs/53336fd0-0b8e-4c1a-836b-2c0e86d9a638: fork/exec ./windows-network-config-hp-windows-network-config-hp.ps1: %1 is not a valid Win32 application. Agent in init Agent waiting for tasks Waiting on machine to become runnable Wait: finished with complete Agent running task Runner created for task 53336fd0-0b8e-4c1a-836b-2c0e86d9a638:windows-network-config-hp (0:1)Starting task windows-network-config-hp on 8af50e62-70f1-42b6-ad68-1297df75ae8d Starting command ./windows-network-config-hp-windows-network-config-hp.ps1```

greg
2018-05-11 21:05
ok

greg
2018-05-11 21:12
So - another bug. The task is failing early and isn?t marking the task as failed.

greg
2018-05-11 21:14
What is the job state when it fails, @florent.wagener

florent.wagener
2018-05-11 21:15
right now I didn't do anything since the last piece of log, it is still `incomplete`

greg
2018-05-11 21:15
okay

florent.wagener
2018-05-11 21:15
and it's looping :slightly_smiling_face:

greg
2018-05-11 21:16
okay

greg
2018-05-11 21:17
when running your script by hand, what do you have to do to make it runnable?

florent.wagener
2018-05-11 21:19
well i put it in a file `.ps1` and then execute it through a right click or run the command: `powershell ./name-of-the-script.ps1`

shane
2018-05-11 21:20
Ah! Just add a `right click` action to the `button-press` field in the JSON !!

greg
2018-05-11 21:22
okay - sigh.

shane
2018-05-11 21:23
(my deepest apologies - I couldn't help myself from making that snarky comment ... :slightly_smiling_face: )

florent.wagener
2018-05-11 21:23
@shane it's okay, I feel the same :slightly_smiling_face:

greg
2018-05-11 21:24
okay - sooooooo - I?m going to put a huge hack in here for you to try.

greg
2018-05-11 21:24
And then I?m going home. :slightly_smiling_face:

shane
2018-05-11 21:24
best to put huge hacks in place late on a Friday afternoon ...

shane
2018-05-11 21:24
... and chuck it over the wall to Production ... :slightly_smiling_face:

florent.wagener
2018-05-11 21:25
That's the best practice :smile:

shane
2018-05-11 21:25
(and suddenly ... the realization why "DevOps" was born ... )

greg
2018-05-11 21:30
@greg uploaded a file: https://rackn.slack.com/files/U02DGQYK1/FAMSBR996/drpcli.exe and commented: windows drpcli with powershell exec layer and error path to fail.

greg
2018-05-11 21:30
Place this in place and give it a whirl.

florent.wagener
2018-05-11 21:32
looks like it's working :slightly_smiling_face:

shane
2018-05-11 21:33
yay for late afternoon Friday hacks !

greg
2018-05-11 21:33
okay I?m going to check it in and ship it. because ?

greg
2018-05-11 21:34
powershell is support if you use a template and name it <blah>.ps1

greg
2018-05-11 21:34
No inline content support.

shane
2018-05-11 21:35
does that include _not_ using the trailing .tmpl defacto we use ?

greg
2018-05-11 21:35
yes

shane
2018-05-11 21:35
ok - good to know - thx

greg
2018-05-11 21:36
the .tmpl is just a ?note? that we are template expanding, but is not required. templates can be named anything as long as they are unique.

shane
2018-05-11 21:36
yep

florent.wagener
2018-05-11 21:36
w00t

shane
2018-05-11 21:37
so maybe for PS crud - do `<name>.tmpl.ps1` if you wanted to maintain some defacto hint that it's templatized ... and let our fancy hack work

greg
2018-05-11 21:37
Yeah, but can windows have dots in middle of names?

shane
2018-05-11 21:38
(because, gasp ... you can't have a 2 character filename extension like `.ps` )

florent.wagener
2018-05-11 21:38
will this work if I put his code in the content of a task ?

shane
2018-05-11 21:38
right - so many sharp edges and pointy objects to stab/slice yourself on with winders ...

shane
2018-05-11 21:38
Nope

florent.wagener
2018-05-11 21:38
right now it's in a template but don't really need it though.

greg
2018-05-11 21:38
@florent.wagener - in about an hour, tip will be these fixes.

florent.wagener
2018-05-11 21:38
cool @greg :slightly_smiling_face:

shane
2018-05-11 21:39
right now it needs to be a template - not inline Content in a task

greg
2018-05-11 21:39
I don?t think so, because we don?t name the task action in that case. Well, we do, but it may be the name of the task template.

florent.wagener
2018-05-11 21:39
i'm okay with that, was just asking.

greg
2018-05-11 21:39
This is brittle and we should think about doing better.

florent.wagener
2018-05-11 21:39
at least I will have achieve something today :smile:

florent.wagener
2018-05-11 21:39
because of you :slightly_smiling_face:

florent.wagener
2018-05-11 21:42
well i'm going home too.

florent.wagener
2018-05-11 21:42
thanks again for the help

florent.wagener
2018-05-11 21:42
have a nice week end !

shane
2018-05-11 21:42
cheers !!

greg
2018-05-11 21:42
The filename used to exec is based upon the task template action name, This is built from the template info struct. For ID based templates, it is the ID value. So that translate cleanly (ish). For Content-based templates, it is the Name value, I think.

greg
2018-05-11 21:42
Cool - later. you too.

2018-05-11 23:06
has joined #community201805

zehicle
2018-05-11 23:11
Hey @ $welcome

2018-05-11 23:11
Digital Rebar welcome information is here > http://rebar.digital/community/welcome.html

2018-05-11 23:35
Howdy!