Feature #4297

Easier arguments for server personality

Added by Stavros Sachtouris over 7 years ago. Updated over 7 years ago.

Status:Closed Start date:09/11/2013
Priority:Low Due date:09/20/2013
Assignee:Stavros Sachtouris % Done:

100%

Category:kamaki Spent time: 6.00 hours
Target version:v0.11 Estimated time:4.00 hours

Description

This is current kamaki syntax to inject a "personality":

$ kamaki server create <various arguments> --personality=<LOCAL PATH>[,SERVER PATH[,OWNER[,GROUP[,MODEL]]]]

The complicated personality value could be simplified by introducing separate personality-* arguments:

--personality-local-path=<LOCAL PATH>
--personality-remote-path=<SERVER PATH>
--personality-owner=<OWNER>
--personality-group=<GROUP>
--personality-model=<MODEL>

Backwards compatibility should be preserved for version 0.11, with a warning message asking users to use the new interface

Associated revisions

Revision 0fccd79b
Added by Stavros Sachtouris over 7 years ago

Allow meta-keys to personality argument

Refs: #4297

Backwards compatibility is preserved (not planed to deprecate it)
The following are semantically equivalent:
p local-path=/local/path,remote=path=/etc/local/path,mode=-rw-r--r-
p /local/path,remote=path=/etc/local/path,mode=-rw-r--r-
p /local/path,/etc/local/path,mode=-rw-r--r-

Revision 51a31d19
Added by Stavros Sachtouris over 7 years ago

Update changelog for personality argument update

Refs: #4297

History

#1 Updated by Vangelis Koukis over 7 years ago

There seem to be two problems with this syntax:
a) It's too verbose, b) how would it work for multiple personalities/files? How will the arguments be grouped together?

The current syntax has the advantage of having all information related to a single file inside a single --personality argument,
so the user can just use multiple --personality arguments.

Let's sort this out before any implementation begins.

#2 Updated by Stavros Sachtouris over 7 years ago

Vangelis Koukis is right. It would be a huge mistake to loose the multiple injections capability of /server create.

On the other, the current syntax makes destinctions between terms of personality. For example, if a user needs to inject file /local/file to /etc/local/file with rw-r--r-, they are also forced to provide an owner and a group for that file, in spite the fact that the corresponding cyclades API ( [[http://www.synnefo.org/docs/synnefo/latest/cyclades-api-guide.html#create-server]] ) does not require anything like this.

Here is an idea for an alternative syntax:

--personality local-path=/local/path,remote=path=/etc/local/path,mode=-rw-r--r--

OR (since we keep the old syntax, the first argument is a local-path)

--personality /local/path,remote=path=/etc/local/path,mode=-rw-r--r--

OR (since we keep the old syntax, the first and second argument are local-path and remote-path resp.)

--personality /local/path,/etc/local/path,mode=-rw-r--r--

#3 Updated by Stavros Sachtouris over 7 years ago

Stavros Sachtouris wrote:

Vangelis Koukis is right. It would be a huge mistake to loose the multiple injections capability of /server create.

On the other hand, the current syntax creates a hierarchy on the terms of personality. For example, if a user needs to inject file /local/file to /etc/local/file with rw-r--r-, they are also forced to provide an owner and a group for that file, in spite the fact that the corresponding cyclades API ( [[http://www.synnefo.org/docs/synnefo/latest/cyclades-api-guide.html#create-server]] ) does not require anything like this.

Here is an idea for an alternative syntax:

[...]

#4 Updated by Stavros Sachtouris over 7 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

#5 Updated by Stavros Sachtouris over 7 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF