summaryrefslogtreecommitdiffstats
path: root/INFO.yaml
blob: bf74caf7ba474536c31eed9c3f611943ab387d12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
---
project: 'vid'
project_creation_date: '2017-02-02'
project_category: ''
lifecycle_state: 'Incubation'
project_lead: &onap_vid_ptl
    name: 'Ittay Stern'
    email: 'is9613@att.com'
    id: 'ittays'
    company: 'ATT'
    timezone: 'Asia/Jerusalem'
primary_contact: *onap_vid_ptl
issue_tracking:
    type: 'jira'
    url: 'https://jira.onap.org/projects/VID'
    key: 'VID'
mailing_list:
    type: 'groups.io'
    url: 'lists.onap.org'
    tag: '<[vid]>'
realtime_discussion: ''
meetings:
    - type: 'zoom'
      agenda: 'https://wiki.onap.org/display/DW/VID+Weekly+Meeting+Minutes'
      url: 'https://wiki.onap.org
            /display/DW/Virtual+Infrastructure+Deployment+Project'
      server: 'n/a'
      channel: 'n/a'
      repeats: 'weekly'
      time: '13:00 UTC'
repositories:
    - 'vid'
committers:
    - <<: *onap_vid_ptl
    - name: 'Amichai Hemli'
      email: 'ah0398@intl.att.com'
      company: 'ATT'
      id: 'ahemli'
      timezone: 'Asia/Jerusalem'
    - name: 'Ofir Sonsino'
      email: 'os0695@att.com'
      company: 'ATT'
      id: 'os0695'
      timezone: 'Israel/Lod'
    - name: 'Eylon Malin'
      email: 'eylon.malin@intl.att.com'
      company: 'ATT'
      id: 'eylonmalin'
      timezone: 'Israel/Lod'
tsc:
    approval: 'https://lists.onap.org/pipermail/onap-tsc'
    changes:
        - type: 'Addition'
          name: 'Wojciech Sliwka'
          link: 'https://lists.onap.org/g/onap-tsc/message/4257'
        - type: 'Addition'
          name: 'Ittay Stern'
          link: 'https://lists.onap.org/g/onap-tsc/message/4257'
        - type: 'Removal'
          name: 'Daniel Rose'
          link: 'https://lists.onap.org/g/onap-tsc/message/4251'
        - type: 'Addition'
          name: 'Eylon Malin'
          link: 'https://lists.onap.org/g/onap-tsc/topic/62892813#5725'
        - type: 'Removal'
          name: 'Wojciech Sliwka'
          link: 'https://lists.onap.org/g/onap-tsc/topic/67968691#5770'
/en/latest/ref/output/all/salt.output.json_out.html#module-salt.output.json_out and https://docs.saltstack.com/en/2017.7/ref/cli/salt-call.html The response from Saltstack comes in json format and it is automatically put to context for DGs access, with a certain request-ID as prefix. If Id is not passed as part of input param, then a random Id will be generated and put to properties in "org.onap.appc.adapter.saltstack.Id" field. All the output message from the execution will be appended with reqId. 1) Execute a single command on SaltState server : Example command will look like: 1.1) Command to test if all VNFC are running: "salt '*' test.ping --out=json --static" 1.2) To check Network interfaces on your minions: "salt '*' network.interfaces --out=json --static" 1.3) Restart Minion service after upgrade process: "salt minion1 service.restart salt-minion --out=json --static" Note: If using --out=json, you will probably want --static as well. Without the static option, you will get a separate JSON string per minion which makes JSON output invalid as a whole. This is due to using an iterative outputter. So if you want to feed it to a JSON parser, use --static as well. This "reqExecCommand" method gives the Operator/Directed Graphs to execute commands in a fine-tuned manner, which also means the operator/DG-creator should know what to expect as output as a result of command execution (for both success/failure case). By this way using DGs, the operator can check for success/failure of the executed comment. If the output is not in JSON format, then the adaptor still tries to convert it into properties, in addition, params that will hold the command execution result for DG access are (note: this is just to check if the command was executed successfully on the server, this doesn't check the status of the command on saltstack server): Result code at: org.onap.appc.adapter.saltstack.result.code (On success: This will be always be 250, means command execution was success but the result of the execution is unknown and is to be checked from ctx using DGs) Message at: org.onap.appc.adapter.saltstack.message Both user inputted/auto generated req Id at: org.onap.appc.adapter.saltstack.Id To check the status of the command configuration on saltstack server: the user should exactly know what to look for in the context so the user can identify if the configuration execution on the saltstack server succeded or not. here for instance, in 1.1) the user should check if $reqId.<minion-name> is set to true in the context memory using DGs. 2) Execute a SLS file located on the server : Example command will look like: Knowing the saltstack server has vim.sls file located at "/srv/salt" directory then user can execute the following commands: 1.1) Command to run the vim.sls file on saltstack server: Cmd = "salt '*' state.apply vim --out=json --static" 1.2) Command to run the nettools.sls file on saltstack server: Cmd = "cd /srv/salt/; salt '*' state.apply <sls-file-name> --out=json --static" Important thing to note: If the reqExecCommand is used to execute sls file then along with following, "HostName"; -> Saltstack server's host name IP address. "Port"; -> Saltstack server's port to make SSH connection to. "Password"; -> Saltstack server's SSH UserName. "User"; -> Saltstack server's SSH Password. the param should contain, "SlsExec"; -> this variable should be set to true. "Timeout"; -> set large timeout if your SLS file will take large time to finish executing (in Seconds). In this case, params that will hold the command execution result for DG access in Key: Result code at: org.onap.appc.adapter.saltstack.result.code (On success: This will be 200, this means the command was executed successfully and also configuration change made using the SLS file was also successful) Message at: org.onap.appc.adapter.saltstack.message Both user inputted/auto generated req Id at: org.onap.appc.adapter.saltstack.Id The result code here will be the execution of configuration SLS file on the server. NOTE: It would be better to use reqExecSLS, where you will only have to specify SLS file name on server to execute it. ***Using Saltstack Adaptor Commands and params to pass in: reqExecSLS API:*** Method to execute a single sls on SaltState server (Where the SLS file already located on the server). The command entered will only be the SLS file name and the output will be in JSON format automatically. The response from Saltstack comes in json format and it is automatically put to context for DGs access, with a certain request-ID as prefix. If request Id (Id) is not passed as part of input param, then a random Id will be generated and put to properties in "org.onap.appc.adapter.saltstack.Id" field. All the output message from the execution will be appended with reqId. 1) Execute a single command on SaltState server : Example command will look like: In the context set the "SlsName" to "test.sls" In the context set the "Timeout"; -> set large timeout if your SLS file will take large time to finish executing (in Seconds). In the context set the "NodeList" to "minion1" //to the minions or VNFCs you want to apply the SLS file to. "NodeList" can be empty or set to "*" is the SLS has to be applied to all the minions or VNFCs. In the context set the "FileParameters: A JSON dictionary where keys are filenames and values are contents of files. The Saltstack Server will utilize this feature to generate files with keys as filenames and values as content. This attribute can be used to generate files that a SSL file may require as part of execution (Optional). In the context set the "EnvParameters: A JSON dictionary which should list key value pairs to be passed to the Salstack command to run SLS. These values would correspond to instance specific parameters that a playbook may need to execute an action. In this case, params that will hold the command execution result for DG access in Key: Result code at: org.onap.appc.adapter.saltstack.result.code (On success: This will be 200, this means the command was executed successfully and also configuration change made using the SLS file was also successful) Message at: org.onap.appc.adapter.saltstack.message Both user inputted/auto generated req Id at: org.onap.appc.adapter.saltstack.Id The result code here will be the execution of configuration SLS file on the server. ***Using Saltstack Adaptor Commands and params to pass in: reqExecSLSFile API:*** Method to execute a single sls on SaltState server (Where the SLS file in the adaptor). The command entered will only be the SLS file location on the APPC/ODL container and the output from server will be in JSON format automatically. The response from Saltstack comes in json format and it is automatically put to context for DGs access, with a certain request-ID as prefix. If request Id (Id) is not passed as part of input param, then a random Id will be generated and put to properties in "org.onap.appc.adapter.saltstack.Id" field. All the output message from the execution will be appended with reqId. 1) Execute a single command on SaltState server : Example command will look like: In the context set the "SlsFile" to "/path/to/test.sls" //mention the path of the SLS file in ODL container. In the context set the "Timeout"; -> set large timeout if your SLS file will take large time to finish executing (in Seconds). In the context set the "NodeList" to "minion1" //to the minions or VNFCs you want to apply the SLS file to. "NodeList" can be empty or set to 'minion*' (pattern matching) or set to "*" is the SLS has to be applied to all the minions or VNFCs. In the context set the "FileParameters: A JSON dictionary where keys are filenames and values are contents of files. The Saltstack Server will utilize this feature to generate files with keys as filenames and values as content. This attribute can be used to generate files that a SSL file may require as part of execution (Optional). In the context set the "EnvParameters: A JSON dictionary which should list key value pairs to be passed to the Salstack command to run SLS. These values would correspond to instance specific parameters that a playbook may need to execute an action. In this case, params that will hold the command execution result for DG access in Key: Result code at: org.onap.appc.adapter.saltstack.result.code (On success: This will be 200, this means the command was executed successfully and also configuration change made using the SLS file was also successful) Message at: org.onap.appc.adapter.saltstack.message Both user inputted/auto generated req Id at: org.onap.appc.adapter.saltstack.Id The result code here will be the execution of configuration SLS file on the server. Control the state system on the minion: by specifying Env Params (pillars) and Files. https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html