########################################################
to = ""
if machine_spec.keys():
- if all(k in machine_spec for k in ['host', 'user']):
- # Enlist an existing machine as a Juju unit
- machine = await model.add_machine(spec='ssh:{}@{}:{}'.format(
- machine_spec['user'],
- machine_spec['host'],
- self.GetPrivateKeyPath(),
- ))
+ if all(k in machine_spec for k in ['hostname', 'username']):
+ # Get the path to the previously generated ssh private key.
+ # Machines we're manually provisioned must have N2VC's public
+ # key injected, so if we don't have a keypair, raise an error.
+ private_key_path = ""
+
+ # Enlist the existing machine in Juju
+ machine = await self.model.add_machine(
+ spec='ssh:{}@{}:{}'.format(
+ specs['host'],
+ specs['user'],
+ private_key_path,
+ )
+ )
+ # Set the machine id that the deploy below will use.
to = machine.id
+ pass
#######################################
# Get the initial charm configuration #
# #######################################
# # Execute initial config primitive(s) #
# #######################################
- await self.ExecuteInitialPrimitives(
+ uuids = await self.ExecuteInitialPrimitives(
model_name,
application_name,
params,
)
+ return uuids
# primitives = {}
#
params = {}
for parameter in parameters:
param = str(parameter['name'])
+ value = None
# Typecast parameter value, if present
if 'data-type' in parameter:
paramtype = str(parameter['data-type']).lower()
- value = None
if paramtype == "integer":
value = int(parameter['value'])
return config
- @staticmethod
def FormatApplicationName(self, *args):
"""
Generate a Juju-compatible Application name
FormatApplicationName("ping_pong_ns", "ping_vnf", "a")
"""
-
appname = ""
for c in "-".join(list(args)):
if c.isdigit():