Coverage for sshkeyshare/keyshare_plugin.py: 100%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

16 statements  

1# ============LICENSE_START==================================================== 

2# org.onap.dcaegen2 

3# ============================================================================= 

4# Copyright (c) 2017,2020 AT&T Intellectual Property. All rights reserved. 

5# ============================================================================= 

6# Licensed under the Apache License, Version 2.0 (the "License"); 

7# you may not use this file except in compliance with the License. 

8# You may obtain a copy of the License at 

9# 

10# http://www.apache.org/licenses/LICENSE-2.0 

11# 

12# Unless required by applicable law or agreed to in writing, software 

13# distributed under the License is distributed on an "AS IS" BASIS, 

14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

15# See the License for the specific language governing permissions and 

16# limitations under the License. 

17# ============LICENSE_END====================================================== 

18 

19import uuid 

20import os 

21from cloudify import ctx 

22from cloudify.decorators import operation 

23 

24@operation(resumable=True) 

25def generate(**kwargs): 

26 """ 

27 Create SSH key pair 

28 """ 

29 tmpdir = '/tmp/{0}'.format(uuid.uuid4().hex) 

30 os.mkdir(tmpdir, 0o700) 

31 os.system('ssh-keygen -t rsa -b 2048 -C "hadoop@cdapcluster" -N "" -f {0}/id_rsa'.format(tmpdir)) 

32 os.system('base64 -w 0 <{0}/id_rsa >{0}/id64'.format(tmpdir)) 

33 with open('{0}/id64'.format(tmpdir), 'r') as f: 

34 k64 = f.read() 

35 with open('{0}/id_rsa.pub'.format(tmpdir), 'r') as f: 

36 pub = f.read() 

37 os.system('rm -rf {0}'.format(tmpdir)) 

38 ctx.instance.runtime_properties['public'] = pub.strip() 

39 ctx.instance.runtime_properties['base64private'] = k64.strip()