You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by ad...@apache.org on 2019/09/11 13:39:12 UTC
[incubator-dlab] branch bil-devops updated: Devops gcp billing.
Added billing_dataset_name.
This is an automated email from the ASF dual-hosted git repository.
adamsd pushed a commit to branch bil-devops
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/bil-devops by this push:
new 1971736 Devops gcp billing. Added billing_dataset_name.
1971736 is described below
commit 197173651cbd474d3114281b8d981acbd7884adc
Author: AdamsDisturber <ad...@gmail.com>
AuthorDate: Wed Sep 11 16:39:01 2019 +0300
Devops gcp billing. Added billing_dataset_name.
---
infrastructure-provisioning/scripts/deploy_dlab.py | 2 ++
.../src/general/lib/os/debian/ssn_lib.py | 11 +++++++----
.../src/general/scripts/gcp/ssn_configure.py | 8 +++++---
.../src/ssn/scripts/configure_billing.py | 1 +
infrastructure-provisioning/src/ssn/scripts/configure_ui.py | 3 ++-
5 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/infrastructure-provisioning/scripts/deploy_dlab.py b/infrastructure-provisioning/scripts/deploy_dlab.py
index 7bd4ea4..d3c321a 100644
--- a/infrastructure-provisioning/scripts/deploy_dlab.py
+++ b/infrastructure-provisioning/scripts/deploy_dlab.py
@@ -126,6 +126,8 @@ parser.add_argument('--ldap_service_password', type=str, default='service-user-p
help='Ldap password for admin user')
parser.add_argument('--tags', type=str, default='line_item_operation,line_item_line_item_description', help='Column name in report file that '
'contains tags')
+parser.add_argument('--billing_dataset_name', type=str, default='', help='Name of GCP dataset (BigQuery service)'
+ ' for billing')
parser.add_argument('--action', required=True, type=str, default='', choices=['build', 'deploy', 'create', 'terminate'],
help='Available options: build, deploy, create, terminate')
args = parser.parse_args()
diff --git a/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py b/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
index a4d24cc..ee09c8a 100644
--- a/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
@@ -175,7 +175,7 @@ def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
locale, region_info, ldap_login, tenant_id,
application_id, hostname, data_lake_name, subscription_id,
validate_permission_scope, dlab_id, usage_date, product,
- usage_type, usage, cost, resource_id, tags, report_path=''):
+ usage_type, usage, cost, resource_id, tags, billing_dataset_name, report_path=''):
try:
if not exists(os.environ['ssn_dlab_path'] + 'tmp/ss_started'):
java_path = sudo("update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'")
@@ -247,7 +247,8 @@ def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
append_result("Unable to upload webapp jars")
sys.exit(1)
if billing_enabled:
- local('scp -i {} /root/scripts/configure_billing.py {}:/tmp/configure_billing.py'.format(keyfile, host_string))
+ local('scp -i {} /root/scripts/configure_billing.py {}:/tmp/configure_billing.py'.format(keyfile,
+ host_string))
params = '--cloud_provider {} ' \
'--infrastructure_tag {} ' \
'--tag_resource_id {} ' \
@@ -270,7 +271,8 @@ def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
'--usage {} ' \
'--cost {} ' \
'--resource_id {} ' \
- '--tags {}'.\
+ '--tags {} ' \
+ '--billing_dataset_name {}'.\
format(cloud_provider,
service_base_name,
tag_resource_id,
@@ -293,7 +295,8 @@ def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
usage,
cost,
resource_id,
- tags)
+ tags,
+ billing_dataset_name)
sudo('python /tmp/configure_billing.py {}'.format(params))
try:
sudo('keytool -genkeypair -alias dlab -keyalg RSA -validity 730 -storepass {1} -keypass {1} \
diff --git a/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py b/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
index e4f7cf5..ef1d18f 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/ssn_configure.py
@@ -43,7 +43,7 @@ if __name__ == "__main__":
pre_defined_vpc = False
pre_defined_subnet = False
pre_defined_firewall = False
- billing_enabled = False
+ billing_enabled = True
ssn_conf = dict()
ssn_conf['service_base_name'] = os.environ['conf_service_base_name'] = replace_multi_symbols(
@@ -260,10 +260,12 @@ if __name__ == "__main__":
"conf_os_family": os.environ['conf_os_family'],
"conf_key_dir": os.environ['conf_key_dir']
}
- params = "--hostname {} --keyfile {} --dlab_path {} --os_user {} --os_family {} --request_id {} \
+ params = "--hostname {} --keyfile {} --dlab_path {} --os_user {} --os_family {} --billing_enabled {} " \
+ "--request_id {} --billing_dataset_name {} \
--resource {} --service_base_name {} --cloud_provider {} --mongo_parameters '{}'". \
format(instance_hostname, ssn_conf['ssh_key_path'], os.environ['ssn_dlab_path'], ssn_conf['dlab_ssh_user'],
- os.environ['conf_os_family'], os.environ['request_id'], os.environ['conf_resource'],
+ os.environ['conf_os_family'], billing_enabled, os.environ['request_id'],
+ os.environ['billing_dataset_name'], os.environ['conf_resource'],
ssn_conf['service_base_name'], os.environ['conf_cloud_provider'], json.dumps(mongo_parameters))
try:
local("~/scripts/{}.py {}".format('configure_ui', params))
diff --git a/infrastructure-provisioning/src/ssn/scripts/configure_billing.py b/infrastructure-provisioning/src/ssn/scripts/configure_billing.py
index 05fd4f2..121034a 100644
--- a/infrastructure-provisioning/src/ssn/scripts/configure_billing.py
+++ b/infrastructure-provisioning/src/ssn/scripts/configure_billing.py
@@ -57,6 +57,7 @@ parser.add_argument('--usage', type=str, default='', help='Column name in report
parser.add_argument('--cost', type=str, default='', help='Column name in report file that contains cost tag')
parser.add_argument('--resource_id', type=str, default='', help='Column name in report file that contains dlab resource id tag')
parser.add_argument('--tags', type=str, default='', help='Column name in report file that contains tags')
+parser.add_argument('--billing_dataset_name', type=str, default='', help='Name of gcp billing dataset (in big query service')
args = parser.parse_args()
diff --git a/infrastructure-provisioning/src/ssn/scripts/configure_ui.py b/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
index 23b4329..2fbe803 100644
--- a/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
+++ b/infrastructure-provisioning/src/ssn/scripts/configure_ui.py
@@ -43,6 +43,7 @@ parser.add_argument('--os_family', type=str, default='')
parser.add_argument('--request_id', type=str, default='')
parser.add_argument('--resource', type=str, default='')
parser.add_argument('--service_base_name', type=str, default='')
+parser.add_argument('--billing_dataset_name', type=str, default='')
parser.add_argument('--tag_resource_id', type=str, default=None)
parser.add_argument('--billing_tag', type=str, default=None)
parser.add_argument('--account_id', type=str, default=None)
@@ -240,4 +241,4 @@ if __name__ == "__main__":
args.region_info, args.ldap_login, args.tenant_id, args.application_id,
args.hostname, args.datalake_store_name, args.subscription_id, args.validate_permission_scope,
args.dlab_id, args.usage_date, args.product, args.usage_type,
- args.usage, args.cost, args.resource_id, args.tags)
+ args.usage, args.cost, args.resource_id, args.tags, args.billing_dataset_name)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org