summaryrefslogtreecommitdiffstats
path: root/.pylintrc
blob: 78f656269c7adb0b3bac17285f759c93e26e5feb (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
[MASTER]

# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=

# Use multiple processes to speed up Pylint.
jobs=1

# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=


[MESSAGES CONTROL]

# --disable=W"
disable=
# "F" Fatal errors that prevent further processing
 import-error,
# "I" Informational noise
 locally-disabled,
# "E" Error for important programming issues (likely bugs)
 access-member-before-definition,
 no-member,
 no-method-argument,
 no-self-argument,
 not-an-iterable,
# "W" Warnings for stylistic problems or minor programming issues
 abstract-method,
 arguments-differ,
 attribute-defined-outside-init,
 bad-builtin,
 bad-indentation,
 dangerous-default-value,
 deprecated-lambda,
 expression-not-assigned,
 fixme,
 global-statement,
 literal-comparison,
 no-init,
 non-parent-init-called,
 not-callable,
 protected-access,
 redefined-builtin,
 redefined-outer-name,
 signature-differs,
 star-args,
 super-init-not-called,
 super-on-old-class,
 unpacking-non-sequence,
 useless-super-delegation,
 nonstandard-exception,
# "C" Coding convention violations
 bad-continuation,
 consider-iterating-dictionary,
 consider-using-enumerate,
 invalid-name,
 len-as-condition,
 misplaced-comparison-constant,
 missing-docstring,
 singleton-comparison,
 superfluous-parens,
 ungrouped-imports,
 wrong-import-order,
# "R" Refactor recommendations
 abstract-class-little-used,
 abstract-class-not-used,
 consider-merging-isinstance,
 consider-using-ternary,
 duplicate-code,
 inconsistent-return-statements,
 interface-not-implemented,
 no-else-return,
 no-self-use,
 redefined-argument-from-local,
 simplifiable-if-statement,
 too-few-public-methods,
 too-many-ancestors,
 too-many-arguments,
 too-many-branches,
 too-many-instance-attributes,
 too-many-lines,
 too-many-locals,
 too-many-nested-blocks,
 too-many-public-methods,
 too-many-return-statements,
 too-many-statements

[BASIC]
# Variable names can be 1 to 31 characters long, with lowercase and underscores
variable-rgx=[a-z_][a-z0-9_]{0,30}$

# Argument names can be 2 to 31 characters long, with lowercase and underscores
argument-rgx=[a-z_][a-z0-9_]{1,30}$

# Method names should be at least 3 characters long
# and be lowercased with underscores
method-rgx=([a-z_][a-z0-9_]{2,}|setUp|tearDown)$

# Module names matching neutron-* are ok (files in bin/)
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$

# Don't require docstrings on tests.
no-docstring-rgx=((__.*__)|([tT]est.*)|setUp|tearDown)$

dummy-variables-rgx=(_+[a-zA-Z0-9]*?$)|dummy|args

[FORMAT]
# Maximum number of characters on a single line.
max-line-length=99

# String used as indentation unit. This is usually "    " (4 spaces) or "\t" (1
# tab).
indent-string='    '


[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
# _ is used by our localization
additional-builtins=_


[CLASSES]
# List of interface methods to ignore, separated by a comma.
ignore-iface-methods=


[TYPECHECK]
# List of module names for which member attributes should not be checked
ignored-modules=six.moves,_MovedItems


[REPORTS]
# Tells whether to display a full report or only the messages
reports=no

# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=colorized

# Python expression which should return a note less than 10 (10 is the highest
# note). You have access to the variables errors warning, statement which
# respectively contain the number of errors / warnings messages and the total
# number of statements analyzed. This is used by the global evaluation report
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)


[MISCELLANEOUS]

# List of note tags to take in consideration, separated by a comma.
notes=FIXME,XXX,TODO
|| [ -z $installer_ip ]; then usage exit 2 fi # Checking if destination path is valid if [ -d $dest_path ]; then error "Please provide the full destination path for the credentials file including the filename" else # Check if we can create the file (e.g. path is correct) touch $dest_path || error "Cannot create the file specified. Check that the path is correct and run the script again." fi ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" # Start fetching the files if [ "$installer_type" == "fuel" ]; then #ip_fuel="10.20.0.2" verify_connectivity $installer_ip # Check if controller is alive (online='True') controller_ip=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ 'fuel node | grep controller | grep True | awk "{print \$10}" | tail -1') &> /dev/null if [ -z $controller_ip ]; then error "The controller $controller_ip is not up. Please check that the POD is correctly deployed." fi info "Fetching rc file from controller $controller_ip..." sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ "scp $ssh_options ${controller_ip}:/root/openrc ." &> /dev/null sshpass -p r00tme scp 2>/dev/null $ssh_options root@${installer_ip}:~/openrc $dest_path &> /dev/null #This file contains the mgmt keystone API, we need the public one for our rc file admin_ip=$(cat $dest_path | grep "OS_AUTH_URL" | sed 's/^.*\=//' | sed "s/^\([\"']\)\(.*\)\1\$/\2/g" | sed s'/\/$//') public_ip=$(sshpass -p r00tme ssh $ssh_options root@${installer_ip} \ "ssh ${controller_ip} 'source openrc; keystone endpoint-list'" \ | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) &> /dev/null #| grep http | head -1 | cut -d '|' -f 4 | sed 's/v1\/.*/v1\//' | sed 's/ //g') &> /dev/null #NOTE: this is super ugly sed 's/v1\/.*/v1\//'OS_AUTH_URL # but sometimes the output of endpoint-list is like this: http://172.30.9.70:8004/v1/%(tenant_id)s elif [ "$installer_type" == "foreman" ]; then #ip_foreman="172.30.10.73" controller="oscontroller1.opnfv.com" verify_connectivity $installer_ip # Check if controller is alive (here is more difficult to get the ip from a command like "fuel node") sshpass -p vagrant ssh $ssh_options root@${installer_ip} \ "sshpass -p Op3nStack ssh $ssh_options root@${controller} 'ls'" &> /dev/null if [ $? -ne 0 ]; then error "The controller ${controller} is not up. Please check that the POD is correctly deployed." fi info "Fetching openrc from a Foreman Controller '${controller}'..." sshpass -p vagrant ssh $ssh_options root@${installer_ip} \ "sshpass -p Op3nStack scp $ssh_options root@${controller}:~/keystonerc_admin ." &> /dev/null sshpass -p vagrant scp $ssh_options root@${installer_ip}:~/keystonerc_admin $dest_path &> /dev/null #This file contains the mgmt keystone API, we need the public one for our rc file admin_ip=$(cat $dest_path | grep "OS_AUTH_URL" | sed 's/^.*\=//' | sed "s/^\([\"']\)\(.*\)\1\$/\2/g" | sed s'/\/$//') public_ip=$(sshpass -p vagrant ssh $ssh_options root@${installer_ip} \ "sshpass -p Op3nStack ssh $ssh_options root@${controller} \ 'source keystonerc_admin;keystone endpoint-list'" \ | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) &> /dev/null elif [ "$installer_type" == "compass" ]; then #ip_compass="10.1.0.12" verify_connectivity $installer_ip # controller_ip='10.1.0.222' controller_ip=$(sshpass -p'root' ssh 2>/dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@10.1.0.12 \ 'mysql -ucompass -pcompass -Dcompass -e"select package_config from cluster;"' \ | awk -F"," '{for(i=1;i<NF;i++)if($i~/\"ha_proxy\": {\"vip\":/)print $i}' \ | grep -oP "\d+.\d+.\d+.\d+") if [ -z $controller_ip ]; then error "The controller $controller_ip is not up. Please check that the POD is correctly deployed." fi info "Fetching rc file from controller $controller_ip..." sshpass -p root ssh 2>/dev/null $ssh_options root@${installer_ip} \ "scp $ssh_options ${controller_ip}:/opt/admin-openrc.sh ." &> /dev/null sshpass -p root scp 2>/dev/null $ssh_options root@${installer_ip}:~/admin-openrc.sh $dest_path &> /dev/null echo 'export OS_REGION_NAME=regionOne' >> $dest_path info "This file contains the mgmt keystone API, we need the public one for our rc file" admin_ip=$(cat $dest_path | grep "OS_AUTH_URL" | sed 's/^.*\=//' | sed "s/^\([\"']\)\(.*\)\1\$/\2/g" | sed s'/\/$//') info "admin_ip: $admin_ip" public_ip=$(sshpass -p root ssh $ssh_options root@${installer_ip} \ "ssh ${controller_ip} 'source /opt/admin-openrc.sh; keystone endpoint-list'" \ | grep $admin_ip | sed 's/ /\n/g' | grep ^http | head -1) info "public_ip: $public_ip" else error "Installer $installer is not supported by this script" fi if [ "$public_ip" == "" ]; then error "Cannot retrieve the public IP from keystone" fi info "Keystone public IP is $public_ip" sed -i "/OS_AUTH_URL/c\export OS_AUTH_URL=\'$public_ip'" $dest_path echo "-------- Credentials: --------" cat $dest_path exit 0