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