Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
vnf-onboarding
OSM Packages
Commits
3da87278
Commit
3da87278
authored
Jul 16, 2020
by
garciadav
Browse files
Add package for nopasswd for k8s/lxd proxy charms with the new op framework
parent
306ef1e2
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
421 additions
and
0 deletions
+421
-0
.gitmodules
.gitmodules
+12
-0
charm-packages/nopasswd_k8s_proxy_charm_ns/icons/osm.png
charm-packages/nopasswd_k8s_proxy_charm_ns/icons/osm.png
+0
-0
charm-packages/nopasswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml
...sswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml
+39
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/actions.yaml
...s/nopasswd_k8s_proxy_charm_vnf/charms/simple/actions.yaml
+54
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/config.yaml
...es/nopasswd_k8s_proxy_charm_vnf/charms/simple/config.yaml
+41
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/install
.../nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/install
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/start
...es/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/start
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/upgrade-charm
...swd_k8s_proxy_charm_vnf/charms/simple/hooks/upgrade-charm
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/lib/charms
...ges/nopasswd_k8s_proxy_charm_vnf/charms/simple/lib/charms
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/lib/ops
...ckages/nopasswd_k8s_proxy_charm_vnf/charms/simple/lib/ops
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/metadata.yaml
.../nopasswd_k8s_proxy_charm_vnf/charms/simple/metadata.yaml
+28
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/charms.osm
...nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/charms.osm
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/operator
...s/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/operator
+1
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/src/charm.py
...s/nopasswd_k8s_proxy_charm_vnf/charms/simple/src/charm.py
+65
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/cloud_init/cloud-config.txt
.../nopasswd_k8s_proxy_charm_vnf/cloud_init/cloud-config.txt
+12
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/icons/osm.png
charm-packages/nopasswd_k8s_proxy_charm_vnf/icons/osm.png
+0
-0
charm-packages/nopasswd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml
...wd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml
+70
-0
charm-packages/nopasswd_proxy_charm_ns/icons/osm.png
charm-packages/nopasswd_proxy_charm_ns/icons/osm.png
+0
-0
charm-packages/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml
...ges/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml
+39
-0
charm-packages/nopasswd_proxy_charm_vnf/charms/simple/actions.yaml
...kages/nopasswd_proxy_charm_vnf/charms/simple/actions.yaml
+54
-0
No files found.
.gitmodules
View file @
3da87278
...
...
@@ -43,3 +43,15 @@
[submodule "charm-packages/ns_relations_provides_vnf/charms/simple_provides/mod/operator"]
path = charm-packages/ns_relations_provides_vnf/charms/simple_provides/mod/operator
url = https://github.com/canonical/operator
[submodule "charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/operator"]
path = charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/operator
url = https://github.com/canonical/operator.git
[submodule "charm-packages/nopasswd_proxy_charm_vnf/charms/simple/mod/operator"]
path = charm-packages/nopasswd_proxy_charm_vnf/charms/simple/mod/operator
url = https://github.com/canonical/operator.git
[submodule "charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/charms.osm"]
path = charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/mod/charms.osm
url = https://github.com/charmed-osm/charms.osm
[submodule "charm-packages/nopasswd_proxy_charm_vnf/charms/simple/mod/charms.osm"]
path = charm-packages/nopasswd_proxy_charm_vnf/charms/simple/mod/charms.osm
url = https://github.com/charmed-osm/charms.osm
charm-packages/nopasswd_k8s_proxy_charm_ns/icons/osm.png
0 → 100644
View file @
3da87278
54.6 KB
charm-packages/nopasswd_k8s_proxy_charm_ns/nopasswd_k8s_proxy_charm_nsd.yaml
0 → 100755
View file @
3da87278
nsd:nsd-catalog:
nsd
:
-
id
:
nopasswd_k8s_proxy_charm-ns
name
:
nopasswd_k8s_proxy_charm-ns
short-name
:
nopasswd_k8s_proxy_charm-ns
description
:
NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
version
:
'
1.0'
logo
:
osm.png
constituent-vnfd
:
-
vnfd-id-ref
:
nopasswd_k8s_proxy_charm-vnf
member-vnf-index
:
'
1'
-
vnfd-id-ref
:
nopasswd_k8s_proxy_charm-vnf
member-vnf-index
:
'
2'
vld
:
-
id
:
mgmtnet
name
:
mgmtnet
short-name
:
mgmtnet
type
:
ELAN
mgmt-network
:
'
true'
vim-network-name
:
osm-ext
vnfd-connection-point-ref
:
-
vnfd-id-ref
:
nopasswd_k8s_proxy_charm-vnf
member-vnf-index-ref
:
'
1'
vnfd-connection-point-ref
:
vnf-mgmt
-
vnfd-id-ref
:
nopasswd_k8s_proxy_charm-vnf
member-vnf-index-ref
:
'
2'
vnfd-connection-point-ref
:
vnf-mgmt
-
id
:
datanet
name
:
datanet
short-name
:
datanet
type
:
ELAN
vnfd-connection-point-ref
:
-
vnfd-id-ref
:
nopasswd_k8s_proxy_charm-vnf
member-vnf-index-ref
:
'
1'
vnfd-connection-point-ref
:
vnf-data
-
vnfd-id-ref
:
nopasswd_k8s_proxy_charm-vnf
member-vnf-index-ref
:
'
2'
vnfd-connection-point-ref
:
vnf-data
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/actions.yaml
0 → 100644
View file @
3da87278
##
# Copyright 2020 Canonical Ltd.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
##
touch
:
description
:
"
Touch
a
file
on
the
VNF."
params
:
filename
:
description
:
"
The
name
of
the
file
to
touch."
type
:
string
default
:
"
"
required
:
-
filename
# Standard OSM functions
start
:
description
:
"
Stop
the
service
on
the
VNF."
stop
:
description
:
"
Stop
the
service
on
the
VNF."
restart
:
description
:
"
Stop
the
service
on
the
VNF."
reboot
:
description
:
"
Reboot
the
VNF
virtual
machine."
upgrade
:
description
:
"
Upgrade
the
software
on
the
VNF."
# Required by charms.osm.sshproxy
run
:
description
:
"
Run
an
arbitrary
command"
params
:
command
:
description
:
"
The
command
to
execute."
type
:
string
default
:
"
"
required
:
-
command
generate-ssh-key
:
description
:
"
Generate
a
new
SSH
keypair
for
this
unit.
This
will
replace
any
existing
previously
generated
keypair."
verify-ssh-credentials
:
description
:
"
Verify
that
this
unit
can
authenticate
with
server
specified
by
ssh-hostname
and
ssh-username."
get-ssh-public-key
:
description
:
"
Get
the
public
SSH
key
for
this
unit."
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/config.yaml
0 → 100644
View file @
3da87278
##
# Copyright 2020 Canonical Ltd.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
##
options
:
ssh-hostname
:
type
:
string
default
:
"
"
description
:
"
The
hostname
or
IP
address
of
the
machine
to"
ssh-username
:
type
:
string
default
:
"
"
description
:
"
The
username
to
login
as."
ssh-password
:
type
:
string
default
:
"
"
description
:
"
The
password
used
to
authenticate."
ssh-public-key
:
type
:
string
default
:
"
"
description
:
"
The
public
key
of
this
unit."
ssh-key-type
:
type
:
string
default
:
"
rsa"
description
:
"
The
type
of
encryption
to
use
for
the
SSH
key."
ssh-key-bits
:
type
:
int
default
:
4096
description
:
"
The
number
of
bits
to
use
for
the
SSH
key."
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/install
0 → 120000
View file @
3da87278
../src/charm.py
\ No newline at end of file
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/start
0 → 120000
View file @
3da87278
../src/charm.py
\ No newline at end of file
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/hooks/upgrade-charm
0 → 120000
View file @
3da87278
../src/charm.py
\ No newline at end of file
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/lib/charms
0 → 120000
View file @
3da87278
../mod/charms.osm/charms/
\ No newline at end of file
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/lib/ops
0 → 120000
View file @
3da87278
../mod/operator/ops/
\ No newline at end of file
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/metadata.yaml
0 → 100644
View file @
3da87278
##
# Copyright 2020 Canonical Ltd.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
##
name
:
simple-k8s-proxy
summary
:
A simple example proxy charm
description
:
|
Simple proxy charm is an example charm used in OSM Hackfests
series
:
-
kubernetes
peers
:
proxypeer
:
interface
:
proxypeer
deployment
:
mode
:
operator
\ No newline at end of file
charms.osm
@
3d517f5e
Subproject commit 3d517f5e42550d0b5c81aa4be20f7679020854d5
operator
@
89b51be8
Subproject commit 89b51be8588a19fcc9c93410707aeb5856dd8d8f
charm-packages/nopasswd_k8s_proxy_charm_vnf/charms/simple/src/charm.py
0 → 100755
View file @
3da87278
#!/usr/bin/env python3
##
# Copyright 2020 Canonical Ltd.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
##
import
sys
sys
.
path
.
append
(
"lib"
)
from
charms.osm.sshproxy
import
SSHProxyCharm
from
ops.main
import
main
class
MySSHProxyCharm
(
SSHProxyCharm
):
def
__init__
(
self
,
framework
,
key
):
super
().
__init__
(
framework
,
key
)
# Listen to charm events
self
.
framework
.
observe
(
self
.
on
.
config_changed
,
self
.
on_config_changed
)
self
.
framework
.
observe
(
self
.
on
.
install
,
self
.
on_install
)
self
.
framework
.
observe
(
self
.
on
.
start
,
self
.
on_start
)
# Listen to the touch action event
self
.
framework
.
observe
(
self
.
on
.
touch_action
,
self
.
on_touch_action
)
def
on_config_changed
(
self
,
event
):
"""Handle changes in configuration"""
super
().
on_config_changed
(
event
)
def
on_install
(
self
,
event
):
"""Called when the charm is being installed"""
super
().
on_install
(
event
)
def
on_start
(
self
,
event
):
"""Called when the charm is being started"""
super
().
on_start
(
event
)
def
on_touch_action
(
self
,
event
):
"""Touch a file."""
if
self
.
model
.
unit
.
is_leader
():
filename
=
event
.
params
[
"filename"
]
proxy
=
self
.
get_ssh_proxy
()
stdout
,
stderr
=
proxy
.
run
(
"touch {}"
.
format
(
filename
))
event
.
set_results
({
"output"
:
stdout
})
else
:
event
.
fail
(
"Unit is not leader"
)
return
if
__name__
==
"__main__"
:
main
(
MySSHProxyCharm
)
charm-packages/nopasswd_k8s_proxy_charm_vnf/cloud_init/cloud-config.txt
0 → 100755
View file @
3da87278
#cloud-config
password: osm4u
chpasswd: { expire: False }
ssh_pwauth: True
write_files:
- content: |
# My new helloworld file
owner: root:root
permissions: '0644'
path: /root/helloworld.txt
charm-packages/nopasswd_k8s_proxy_charm_vnf/icons/osm.png
0 → 100644
View file @
3da87278
54.6 KB
charm-packages/nopasswd_k8s_proxy_charm_vnf/nopasswd_k8s_proxy_charm_vnfd.yaml
0 → 100644
View file @
3da87278
vnfd:vnfd-catalog:
vnfd
:
-
id
:
nopasswd_k8s_proxy_charm-vnf
name
:
nopasswd_k8s_proxy_charm-vnf
short-name
:
nopasswd_k8s_proxy_charm-vnf
version
:
1.0
description
:
A VNF consisting of 1 VDU connected to two external VL, and one for data and another one for management
logo
:
osm.png
connection-point
:
-
id
:
vnf-mgmt
name
:
vnf-mgmt
short-name
:
vnf-mgmt
type
:
VPORT
-
id
:
vnf-data
name
:
vnf-data
short-name
:
vnf-data
type
:
VPORT
mgmt-interface
:
cp
:
vnf-mgmt
vdu
:
-
id
:
mgmtVM
name
:
mgmtVM
image
:
ubuntu18.04
count
:
1
vm-flavor
:
vcpu-count
:
1
memory-mb
:
1024
storage-gb
:
10
interface
:
-
name
:
mgmtVM-eth0
position
:
1
type
:
EXTERNAL
virtual-interface
:
type
:
PARAVIRT
external-connection-point-ref
:
vnf-mgmt
-
name
:
dataVM-xe0
position
:
2
type
:
EXTERNAL
virtual-interface
:
type
:
PARAVIRT
external-connection-point-ref
:
vnf-data
cloud-init-file
:
cloud-config.txt
vnf-configuration
:
juju
:
charm
:
simple
cloud
:
k8s
initial-config-primitive
:
-
seq
:
1
name
:
config
parameter
:
-
name
:
ssh-hostname
value
:
<rw_mgmt_ip>
-
name
:
ssh-username
value
:
ubuntu
-
seq
:
2
name
:
touch
parameter
:
-
name
:
filename
data-type
:
STRING
value
:
'
/home/ubuntu/first-touch'
config-primitive
:
-
name
:
touch
parameter
:
-
name
:
filename
data-type
:
STRING
default-value
:
'
/home/ubuntu/touched'
config-access
:
ssh-access
:
default-user
:
ubuntu
required
:
true
\ No newline at end of file
charm-packages/nopasswd_proxy_charm_ns/icons/osm.png
0 → 100644
View file @
3da87278
54.6 KB
charm-packages/nopasswd_proxy_charm_ns/nopasswd_proxy_charm_nsd.yaml
0 → 100755
View file @
3da87278
nsd:nsd-catalog:
nsd
:
-
id
:
nopasswd_proxy_charm-ns
name
:
nopasswd_proxy_charm-ns
short-name
:
nopasswd_proxy_charm-ns
description
:
NS with 2 VNFs with cloudinit connected by datanet and mgmtnet VLs
version
:
'
1.0'
logo
:
osm.png
constituent-vnfd
:
-
vnfd-id-ref
:
nopasswd_proxy_charm-vnf
member-vnf-index
:
'
1'
-
vnfd-id-ref
:
nopasswd_proxy_charm-vnf
member-vnf-index
:
'
2'
vld
:
-
id
:
mgmtnet
name
:
mgmtnet
short-name
:
mgmtnet
type
:
ELAN
mgmt-network
:
'
true'
vim-network-name
:
osm-ext
vnfd-connection-point-ref
:
-
vnfd-id-ref
:
nopasswd_proxy_charm-vnf
member-vnf-index-ref
:
'
1'
vnfd-connection-point-ref
:
vnf-mgmt
-
vnfd-id-ref
:
nopasswd_proxy_charm-vnf
member-vnf-index-ref
:
'
2'
vnfd-connection-point-ref
:
vnf-mgmt
-
id
:
datanet
name
:
datanet
short-name
:
datanet
type
:
ELAN
vnfd-connection-point-ref
:
-
vnfd-id-ref
:
nopasswd_proxy_charm-vnf
member-vnf-index-ref
:
'
1'
vnfd-connection-point-ref
:
vnf-data
-
vnfd-id-ref
:
nopasswd_proxy_charm-vnf
member-vnf-index-ref
:
'
2'
vnfd-connection-point-ref
:
vnf-data
charm-packages/nopasswd_proxy_charm_vnf/charms/simple/actions.yaml
0 → 100644
View file @
3da87278
##
# Copyright 2020 Canonical Ltd.
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
##
touch
:
description
:
"
Touch
a
file
on
the
VNF."
params
:
filename
:
description
:
"
The
name
of
the
file
to
touch."
type
:
string
default
:
"
"
required
:
-
filename
# Standard OSM functions
start
:
description
:
"
Stop
the
service
on
the
VNF."
stop
:
description
:
"
Stop
the
service
on
the
VNF."
restart
:
description
:
"
Stop
the
service
on
the
VNF."
reboot
:
description
:
"
Reboot
the
VNF
virtual
machine."
upgrade
:
description
:
"
Upgrade
the
software
on
the
VNF."
# Required by charms.osm.sshproxy
run
:
description
:
"
Run
an
arbitrary
command"
params
:
command
:
description
:
"
The
command
to
execute."
type
:
string
default
:
"
"
required
:
-
command
generate-ssh-key
:
description
:
"
Generate
a
new
SSH
keypair
for
this
unit.
This
will
replace
any
existing
previously
generated
keypair."
verify-ssh-credentials
:
description
:
"
Verify
that
this
unit
can
authenticate
with
server
specified
by
ssh-hostname
and
ssh-username."
get-ssh-public-key
:
description
:
"
Get
the
public
SSH
key
for
this
unit."
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment